# -*- coding: utf-8 -*-
# Generated by Django 1.9.12 on 2017-06-22 15:39
from __future__ import unicode_literals

import Lunchbreak.fields
import Lunchbreak.mixins
import datetime
import dirtyfields.dirtyfields
from django.conf import settings
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import lunch.config


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('password', models.CharField(max_length=128, verbose_name='password')),
                ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
                ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
                ('name', models.CharField(help_text='Naam.', max_length=191, verbose_name='naam')),
                ('email', models.EmailField(blank=True, help_text='E-mailadres.', max_length=254, null=True, verbose_name='e-mailadres')),
                ('enabled', models.BooleanField(default=True, help_text='Ingeschakeld.', verbose_name='ingeschakeld')),
                ('is_staff', models.BooleanField(default=False, help_text='Lunchbreak werknemer, dit geeft toegang tot het controle paneel.', verbose_name='Lunchbreak werknemer')),
            ],
            options={
                'verbose_name': 'gebruiker',
                'verbose_name_plural': 'gebruikers',
            },
        ),
        migrations.CreateModel(
            name='Address',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('country', models.CharField(help_text='Land.', max_length=191, verbose_name='land')),
                ('province', models.CharField(help_text='Provincie.', max_length=191, verbose_name='provincie')),
                ('city', models.CharField(help_text='Stad.', max_length=191, verbose_name='stad')),
                ('postcode', models.CharField(help_text='Postcode.', max_length=20, verbose_name='postcode')),
                ('street', models.CharField(help_text='Straat.', max_length=191, verbose_name='straat')),
                ('number', models.CharField(help_text='Straatnummer.', max_length=10, verbose_name='straatnummer')),
                ('latitude', Lunchbreak.fields.RoundingDecimalField(decimal_places=7, help_text='Breedtegraad.', max_digits=10, verbose_name='breedtegraad')),
                ('longitude', Lunchbreak.fields.RoundingDecimalField(decimal_places=7, help_text='Lengtegraad.', max_digits=10, verbose_name='lengtegraad')),
                ('deleted', models.BooleanField(default=False, help_text='Duid aan of het item wacht om verwijderd te worden. Het wordt pas verwijderd wanneer er geen actieve bestellingen meer zijn met dit adres.', verbose_name='verwijderd')),
            ],
            options={
                'verbose_name': 'adres',
                'verbose_name_plural': 'adressen',
            },
            bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin),
        ),
        migrations.CreateModel(
            name='Group',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(help_text='Naam.', max_length=191, verbose_name='naam')),
                ('description', models.TextField(blank=True)),
                ('email', models.EmailField(help_text='E-mailadres gebruikt voor informatie naartoe te sturen.', max_length=254, verbose_name='e-mailadres')),
                ('delivery', models.BooleanField(default=False, help_text='Bestellingen worden geleverd.', verbose_name='levering')),
                ('payment_online_only', models.BooleanField(default=False, help_text='Enkel online betalingen zijn toegestaan.', verbose_name='enkel online betalen')),
                ('deadline', models.TimeField(default=datetime.time(12, 0), help_text='Deadline voor het plaatsen van bestellingen elke dag.', verbose_name='deadline bestelling')),
                ('delay', models.DurationField(default=datetime.timedelta(0, 1800), help_text='Geschatte vertraging na plaatsen bestelling.', verbose_name='geschatte vertraging')),
                ('discount', Lunchbreak.fields.RoundingDecimalField(decimal_places=2, default=0, help_text='Korting bij het plaatsen van een bestelling.', max_digits=5, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100)], verbose_name='korting')),
                ('admin_token', models.CharField(default=lunch.config.random_token, max_length=64)),
                ('join_token', models.CharField(default=lunch.config.random_token, max_length=64)),
            ],
            options={
                'verbose_name': 'groep',
                'verbose_name_plural': 'groepen',
            },
        ),
        migrations.CreateModel(
            name='GroupOrder',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(help_text='Datum van groepsbestelling.', verbose_name='datum')),
                ('status', Lunchbreak.fields.StatusSignalField(choices=[(0, 'Geplaatst'), (1, 'Afgewezen'), (2, 'Ontvangen'), (3, 'Aan begonnen'), (4, 'Ligt klaar'), (5, 'Voltooid'), (6, 'Niet opgehaald')], default=0, help_text='Status.', verbose_name='status')),
            ],
            options={
                'verbose_name': 'groepsbestelling',
                'verbose_name_plural': 'groepsbestellingen',
            },
            bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin),
        ),
        migrations.CreateModel(
            name='Heart',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('added', models.DateTimeField(auto_now_add=True, help_text='Datum waarop deze persoon deze winkel "geheart" heeft.', verbose_name='toegevoegd')),
            ],
            options={
                'verbose_name': 'hart',
                'verbose_name_plural': 'hartjes',
            },
        ),
        migrations.CreateModel(
            name='Order',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('placed', models.DateTimeField(default=django.utils.timezone.now, help_text='Tijdstip waarop de bestelling werd geplaatst.', verbose_name='tijd van plaatsing')),
                ('receipt', models.DateTimeField(help_text='Tijd van afhalen of levering.', verbose_name='tijd afgave')),
                ('status', Lunchbreak.fields.StatusSignalField(choices=[(0, 'Geplaatst'), (1, 'Afgewezen'), (2, 'Ontvangen'), (3, 'Aan begonnen'), (4, 'Ligt klaar'), (5, 'Voltooid'), (6, 'Niet opgehaald')], default=0, help_text='Status.', verbose_name='status')),
                ('total', Lunchbreak.fields.MoneyField(default=0, help_text='Totale prijs inclusief korting.', verbose_name='totale prijs')),
                ('total_confirmed', Lunchbreak.fields.MoneyField(blank=True, default=None, help_text='Totale prijs na correctie van de winkel indien een afgewogen hoeveelheid licht afwijkt van de bestelde hoeveelheid. Dit is al inclusief het kortingspercentage.', null=True, verbose_name='totale gecorrigeerde prijs')),
                ('discount', Lunchbreak.fields.RoundingDecimalField(decimal_places=2, default=0, help_text='Korting gegeven op deze bestelling.', max_digits=5, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100)], verbose_name='korting')),
                ('description', models.TextField(blank=True, help_text='Bv: extra extra mayonaise graag!', verbose_name='opmerking bij de bestelling')),
                ('payment_method', models.IntegerField(choices=[(0, 'Betalen in winkel'), (1, 'Online (veilig via GoCardless)'), (2, 'Online (veilig via Payconiq)')], default=0, help_text='Betalingswijze.', verbose_name='betalingswijze')),
            ],
            options={
                'verbose_name': 'bestelling',
                'verbose_name_plural': 'bestellingen',
            },
            bases=(Lunchbreak.mixins.CleanModelMixin, models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin),
        ),
        migrations.CreateModel(
            name='OrderedFood',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('amount', Lunchbreak.fields.RoundingDecimalField(decimal_places=3, default=1, help_text='Hoeveelheid.', max_digits=7, verbose_name='hoeveelheid')),
                ('cost', Lunchbreak.fields.CostField(help_text='Kostprijs.', verbose_name='kostprijs')),
                ('object_id', models.PositiveIntegerField()),
                ('is_original', models.BooleanField(default=False, help_text='Bestelde etenswaren zijn identiek aan het origineel als er geen ingrediënten toegevoegd of afgetrokken werden.', verbose_name='identiek aan origineel')),
                ('comment', models.TextField(blank=True, help_text='Commentaar.', verbose_name='commentaar')),
                ('status', Lunchbreak.fields.StatusSignalField(choices=[(0, 'Oké'), (1, 'Uit voorraad')], default=0, help_text='Status.', verbose_name='status')),
                ('total', Lunchbreak.fields.MoneyField(default=0, help_text='Totale prijs exclusief korting.', verbose_name='totale prijs')),
            ],
            options={
                'verbose_name': 'besteld etenswaar',
                'verbose_name_plural': 'bestelde etenswaren',
            },
            bases=(Lunchbreak.mixins.CleanModelMixin, models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin),
        ),
        migrations.CreateModel(
            name='PaymentLink',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
            ],
            options={
                'verbose_name': 'betalingskoppeling',
                'verbose_name_plural': 'betalingskoppelingen',
            },
        ),
        migrations.CreateModel(
            name='TemporaryOrder',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
            ],
            options={
                'verbose_name': 'tijdelijke bestelling',
                'verbose_name_plural': 'tijdelijke bestellingen',
            },
            bases=(Lunchbreak.mixins.CleanModelMixin, models.Model),
        ),
        migrations.CreateModel(
            name='UserToken',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('service', models.IntegerField(choices=[(0, 'GCM'), (1, 'APNS'), (2, 'Inactive')], default=2, verbose_name='Notification service')),
                ('registration_id', models.TextField(blank=True, verbose_name='Registration ID')),
                ('device', models.CharField(help_text='Naam van het apparaat.', max_length=191, verbose_name='apparaat')),
                ('identifier', models.CharField(help_text='Identificatie code die toegang geeft tot Lunchbreak.', max_length=191, verbose_name='identificatie')),
                ('user', models.ForeignKey(help_text='Gebruiker.', on_delete=django.db.models.deletion.CASCADE, related_name='tokens', to=settings.AUTH_USER_MODEL, verbose_name='gebruiker')),
            ],
            options={
                'verbose_name': 'gebruikerstoken',
                'verbose_name_plural': 'gebruikerstokens',
            },
            bases=(Lunchbreak.mixins.CleanModelMixin, models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin),
        ),
    ]
