# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models, migrations import versions.models import django.core.validators from django.conf import settings import django.db.models.deletion import django.utils.timezone import pretix.base.models class Migration(migrations.Migration): dependencies = [ ('auth', '0001_initial'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(serialize=False, auto_created=True, verbose_name='ID', primary_key=True)), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(default=django.utils.timezone.now, 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')), ('identifier', models.CharField(unique=True, max_length=255)), ('username', models.CharField(max_length=120, blank=True, null=True, help_text='Letters, digits and @/./+/-/_ only.')), ('email', models.EmailField(null=True, max_length=75, blank=True, db_index=True, verbose_name='E-mail')), ('givenname', models.CharField(max_length=255, blank=True, null=True, verbose_name='Given name')), ('familyname', models.CharField(max_length=255, blank=True, null=True, verbose_name='Family name')), ('is_active', models.BooleanField(default=True, verbose_name='Is active')), ('is_staff', models.BooleanField(default=False, verbose_name='Is site admin')), ('date_joined', models.DateTimeField(verbose_name='Date joined', auto_now_add=True)), ('locale', models.CharField(max_length=50, choices=[('de', 'German'), ('en', 'English')], default='en', verbose_name='Language')), ('timezone', models.CharField(max_length=100, default='UTC', verbose_name='Timezone')), ], options={ 'verbose_name_plural': 'Users', 'verbose_name': 'User', }, bases=(models.Model,), ), migrations.CreateModel( name='CartPosition', fields=[ ('id', models.AutoField(serialize=False, auto_created=True, verbose_name='ID', primary_key=True)), ('session', models.CharField(max_length=255, blank=True, null=True, verbose_name='Session key')), ('total', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='Price')), ('datetime', models.DateTimeField(verbose_name='Date')), ('expires', models.DateTimeField(verbose_name='Expiration date')), ], options={ 'verbose_name_plural': 'Cart positions', 'verbose_name': 'Cart position', }, bases=(models.Model,), ), migrations.CreateModel( name='Event', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), ('version_birth_date', models.DateTimeField()), ('name', models.CharField(max_length=200, verbose_name='Name')), ('slug', models.CharField(max_length=50, db_index=True, validators=[django.core.validators.RegexValidator(regex='^[a-zA-Z0-9.-]+$', message='The slug may only contain letters, numbers, dots and dashes.')], verbose_name='Slug', help_text='Should be short, only contain lowercase letters and numbers, and must be unique among your events. This is being used in addresses and bank transfer references.')), ('locale', models.CharField(max_length=10, choices=[('de', 'German'), ('en', 'English')], verbose_name='Default locale')), ('timezone', models.CharField(max_length=100, default='UTC', verbose_name='Default timezone')), ('currency', models.CharField(max_length=10, verbose_name='Default currency')), ('date_from', models.DateTimeField(verbose_name='Event start time')), ('date_to', models.DateTimeField(blank=True, null=True, verbose_name='Event end time')), ('show_date_to', models.BooleanField(default=True, help_text="If disabled, only event's start date will be displayed to the public.", verbose_name='Show event end date')), ('show_times', models.BooleanField(default=True, help_text="If disabled, the event's start and end date will be displayed without the time of day.", verbose_name='Show dates with time')), ('presale_end', models.DateTimeField(blank=True, null=True, help_text='No items will be sold after this date.', verbose_name='End of presale')), ('presale_start', models.DateTimeField(blank=True, null=True, help_text='No items will be sold before this date.', verbose_name='Start of presale')), ('payment_term_days', models.PositiveIntegerField(default=14, help_text='The number of days after placing an order the user has to pay to preserve his reservation.', verbose_name='Payment term in days')), ('payment_term_last', models.DateTimeField(blank=True, null=True, help_text='The last date any payments are accepted. This has precedence over the number of days configured above.', verbose_name='Last date of payments')), ('plugins', models.TextField(blank=True, null=True, verbose_name='Plugins')), ], options={ 'verbose_name_plural': 'Events', 'ordering': ('date_from', 'name'), 'verbose_name': 'Event', }, bases=(models.Model,), ), migrations.CreateModel( name='EventPermission', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), ('version_birth_date', models.DateTimeField()), ('can_change_settings', models.BooleanField(default=True, verbose_name='Can change event settings')), ('can_change_items', models.BooleanField(default=True, verbose_name='Can change item settings')), ('event', versions.models.VersionedForeignKey(to='pretixbase.Event')), ('user', models.ForeignKey(related_name='event_perms', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name_plural': 'Event permissions', 'verbose_name': 'Event permission', }, bases=(models.Model,), ), migrations.CreateModel( name='Item', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), ('version_birth_date', models.DateTimeField()), ('name', models.CharField(max_length=255, verbose_name='Item name')), ('active', models.BooleanField(default=True, verbose_name='Active')), ('deleted', models.BooleanField(default=False)), ('short_description', models.TextField(blank=True, null=True, help_text='This is shown below the item name in lists.', verbose_name='Short description')), ('long_description', models.TextField(blank=True, null=True, verbose_name='Long description')), ('default_price', models.DecimalField(decimal_places=2, max_digits=7, blank=True, null=True, verbose_name='Default price')), ('tax_rate', models.DecimalField(decimal_places=2, max_digits=7, blank=True, null=True, verbose_name='Taxes included in percent')), ], options={ 'verbose_name_plural': 'Items', 'verbose_name': 'Item', }, bases=(models.Model,), ), migrations.CreateModel( name='ItemCategory', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), ('version_birth_date', models.DateTimeField()), ('name', models.CharField(max_length=255, verbose_name='Category name')), ('position', models.IntegerField(default=0)), ('event', versions.models.VersionedForeignKey(related_name='categories', to='pretixbase.Event')), ], options={ 'verbose_name_plural': 'Item categories', 'ordering': ('position',), 'verbose_name': 'Item category', }, bases=(models.Model,), ), migrations.CreateModel( name='ItemVariation', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), ('version_birth_date', models.DateTimeField()), ('active', models.BooleanField(default=True, verbose_name='Active')), ('default_price', models.DecimalField(decimal_places=2, max_digits=7, blank=True, null=True, verbose_name='Default price')), ('item', versions.models.VersionedForeignKey(related_name='variations', to='pretixbase.Item')), ], options={ 'verbose_name_plural': 'Item variations', 'verbose_name': 'Item variation', }, bases=(models.Model,), ), migrations.CreateModel( name='Order', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), ('version_birth_date', models.DateTimeField()), ('status', models.CharField(max_length=3, choices=[('p', 'pending'), ('n', 'paid'), ('e', 'expired'), ('c', 'cancelled')], verbose_name='Status')), ('datetime', models.DateTimeField(verbose_name='Date', auto_now_add=True)), ('expires', models.DateTimeField(verbose_name='Expiration date')), ('payment_date', models.DateTimeField(verbose_name='Payment date')), ('payment_info', models.TextField(verbose_name='Payment information')), ('total', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='Total amount')), ('event', versions.models.VersionedForeignKey(verbose_name='Event', to='pretixbase.Event')), ('user', models.ForeignKey(null=True, verbose_name='User', blank=True, to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name_plural': 'Orders', 'verbose_name': 'Order', }, bases=(models.Model,), ), migrations.CreateModel( name='OrderPosition', fields=[ ('id', models.AutoField(serialize=False, auto_created=True, verbose_name='ID', primary_key=True)), ('price', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='Price')), ], options={ 'verbose_name_plural': 'Order positions', 'verbose_name': 'Order position', }, bases=(models.Model,), ), migrations.CreateModel( name='Organizer', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), ('version_birth_date', models.DateTimeField()), ('name', models.CharField(max_length=200, verbose_name='Name')), ('slug', models.CharField(unique=True, max_length=50, db_index=True, verbose_name='Slug')), ], options={ 'verbose_name_plural': 'Organizers', 'ordering': ('name',), 'verbose_name': 'Organizer', }, bases=(models.Model,), ), migrations.CreateModel( name='OrganizerPermission', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), ('version_birth_date', models.DateTimeField()), ('can_create_events', models.BooleanField(default=True, verbose_name='Can create events')), ('organizer', versions.models.VersionedForeignKey(to='pretixbase.Organizer')), ('user', models.ForeignKey(related_name='organizer_perms', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name_plural': 'Organizer permissions', 'verbose_name': 'Organizer permission', }, bases=(models.Model,), ), migrations.CreateModel( name='Property', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), ('version_birth_date', models.DateTimeField()), ('name', models.CharField(max_length=250, verbose_name='Property name')), ('event', versions.models.VersionedForeignKey(related_name='properties', to='pretixbase.Event')), ], options={ 'verbose_name_plural': 'Item properties', 'verbose_name': 'Item property', }, bases=(models.Model,), ), migrations.CreateModel( name='PropertyValue', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), ('version_birth_date', models.DateTimeField()), ('value', models.CharField(max_length=250, verbose_name='Value')), ('position', models.IntegerField(default=0)), ('prop', versions.models.VersionedForeignKey(related_name='values', to='pretixbase.Property')), ], options={ 'verbose_name_plural': 'Property values', 'ordering': ('position',), 'verbose_name': 'Property value', }, bases=(models.Model,), ), migrations.CreateModel( name='Question', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), ('version_birth_date', models.DateTimeField()), ('question', models.TextField(verbose_name='Question')), ('type', models.CharField(max_length=5, choices=[('N', 'Number'), ('S', 'Text (one line)'), ('T', 'Multiline text'), ('B', 'Yes/No')], verbose_name='Question type')), ('required', models.BooleanField(default=False, verbose_name='Required question')), ('event', versions.models.VersionedForeignKey(related_name='questions', to='pretixbase.Event')), ], options={ 'verbose_name_plural': 'Questions', 'verbose_name': 'Question', }, bases=(models.Model,), ), migrations.CreateModel( name='QuestionAnswer', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), ('version_birth_date', models.DateTimeField()), ('answer', models.TextField()), ('cartposition', models.ForeignKey(null=True, to='pretixbase.CartPosition', blank=True)), ('orderposition', models.ForeignKey(null=True, to='pretixbase.OrderPosition', blank=True)), ('question', versions.models.VersionedForeignKey(to='pretixbase.Question')), ], options={ 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='Quota', fields=[ ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), ('version_birth_date', models.DateTimeField()), ('name', models.CharField(max_length=200, verbose_name='Name')), ('size', models.PositiveIntegerField(verbose_name='Total capacity')), ('event', versions.models.VersionedForeignKey(related_name='quotas', to='pretixbase.Event', verbose_name='Event')), ('items', versions.models.VersionedManyToManyField(blank=True, related_name='quotas', to='pretixbase.Item', verbose_name='Item')), ('lock_cache', models.ManyToManyField(blank=True, to='pretixbase.CartPosition')), ('order_cache', models.ManyToManyField(blank=True, to='pretixbase.OrderPosition')), ('variations', pretix.base.models.VariationsField(blank=True, related_name='quotas', to='pretixbase.ItemVariation', verbose_name='Variations')), ], options={ 'verbose_name_plural': 'Quotas', 'verbose_name': 'Quota', }, bases=(models.Model,), ), migrations.AlterUniqueTogether( name='questionanswer', unique_together=set([('id', 'identity')]), ), migrations.AddField( model_name='organizer', name='permitted', field=models.ManyToManyField(through='pretixbase.OrganizerPermission', related_name='organizers', to=settings.AUTH_USER_MODEL), preserve_default=True, ), migrations.AddField( model_name='orderposition', name='answers', field=versions.models.VersionedManyToManyField(through='pretixbase.QuestionAnswer', to='pretixbase.Question', verbose_name='Answers'), preserve_default=True, ), migrations.AddField( model_name='orderposition', name='item', field=versions.models.VersionedForeignKey(verbose_name='Item', to='pretixbase.Item'), preserve_default=True, ), migrations.AddField( model_name='orderposition', name='order', field=versions.models.VersionedForeignKey(verbose_name='Order', to='pretixbase.Order'), preserve_default=True, ), migrations.AddField( model_name='orderposition', name='variation', field=versions.models.VersionedForeignKey(null=True, verbose_name='Variation', blank=True, to='pretixbase.ItemVariation'), preserve_default=True, ), migrations.AddField( model_name='itemvariation', name='values', field=versions.models.VersionedManyToManyField(related_name='variations', to='pretixbase.PropertyValue'), preserve_default=True, ), migrations.AddField( model_name='item', name='category', field=versions.models.VersionedForeignKey(on_delete=django.db.models.deletion.PROTECT, null=True, related_name='items', verbose_name='Category', blank=True, to='pretixbase.ItemCategory'), preserve_default=True, ), migrations.AddField( model_name='item', name='event', field=versions.models.VersionedForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='items', to='pretixbase.Event', verbose_name='Event'), preserve_default=True, ), migrations.AddField( model_name='item', name='properties', field=versions.models.VersionedManyToManyField(blank=True, related_name='items', help_text="The selected properties will be available for the user to select. After saving this field, move to the 'Variations' tab to configure the details.", verbose_name='Properties', to='pretixbase.Property'), preserve_default=True, ), migrations.AddField( model_name='item', name='questions', field=versions.models.VersionedManyToManyField(blank=True, related_name='items', help_text='The user will be asked to fill in answers for the selected questions', verbose_name='Questions', to='pretixbase.Question'), preserve_default=True, ), migrations.AddField( model_name='event', name='organizer', field=versions.models.VersionedForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='events', to='pretixbase.Organizer'), preserve_default=True, ), migrations.AddField( model_name='event', name='permitted', field=models.ManyToManyField(through='pretixbase.EventPermission', related_name='events', to=settings.AUTH_USER_MODEL), preserve_default=True, ), migrations.AddField( model_name='cartposition', name='event', field=versions.models.VersionedForeignKey(verbose_name='Event', to='pretixbase.Event'), preserve_default=True, ), migrations.AddField( model_name='cartposition', name='item', field=versions.models.VersionedForeignKey(verbose_name='Item', to='pretixbase.Item'), preserve_default=True, ), migrations.AddField( model_name='cartposition', name='user', field=models.ForeignKey(null=True, verbose_name='User', blank=True, to=settings.AUTH_USER_MODEL), preserve_default=True, ), migrations.AddField( model_name='cartposition', name='variation', field=versions.models.VersionedForeignKey(null=True, verbose_name='Variation', blank=True, to='pretixbase.ItemVariation'), preserve_default=True, ), migrations.AddField( model_name='user', name='event', field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, null=True, related_name='users', to='pretixbase.Event', blank=True), preserve_default=True, ), migrations.AddField( model_name='user', name='groups', field=models.ManyToManyField(related_name='user_set', help_text='The groups this user belongs to. A user will get all permissions granted to each of his/her group.', verbose_name='groups', related_query_name='user', blank=True, to='auth.Group'), preserve_default=True, ), migrations.AddField( model_name='user', name='user_permissions', field=models.ManyToManyField(related_name='user_set', help_text='Specific permissions for this user.', verbose_name='user permissions', related_query_name='user', blank=True, to='auth.Permission'), preserve_default=True, ), migrations.AlterUniqueTogether( name='user', unique_together=set([('event', 'username')]), ), ]