From c16ad60129d4a0cc963c1993d6e9a4d6a45c1387 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 21 May 2015 21:16:39 +0200 Subject: [PATCH] Throw away migration history. This is backwards incompatible! Also, add an initial user in the first migration. --- src/pretix/base/migrations/0001_initial.py | 342 +++++++++--------- .../migrations/0002_auto_20150211_2031.py | 41 --- .../migrations/0003_auto_20150211_2042.py | 24 -- .../migrations/0004_auto_20150211_2330.py | 78 ---- .../migrations/0005_auto_20150212_0901.py | 28 -- .../migrations/0006_auto_20150212_0908.py | 22 -- .../migrations/0007_auto_20150212_0939.py | 22 -- .../base/migrations/0008_quota_locked.py | 20 - .../0009_eventsetting_organizersetting.py | 49 --- .../migrations/0010_auto_20150218_2048.py | 43 --- .../migrations/0011_auto_20150304_1030.py | 49 --- .../0011_remove_event_max_items_per_order.py | 18 - .../migrations/0012_auto_20150304_1038.py | 19 - src/pretix/base/migrations/0013_merge.py | 15 - .../migrations/0014_auto_20150305_2310.py | 24 -- .../migrations/0015_auto_20150308_0953.py | 24 -- .../migrations/0016_auto_20150308_1017.py | 26 -- .../migrations/0017_auto_20150308_1507.py | 19 - .../migrations/0018_auto_20150314_1232.py | 25 -- .../migrations/0019_auto_20150314_1247.py | 26 -- .../migrations/0020_auto_20150319_1044.py | 74 ---- .../migrations/0021_auto_20150320_1622.py | 30 -- .../migrations/0022_auto_20150320_2239.py | 24 -- .../migrations/0023_auto_20150401_0954.py | 38 -- .../migrations/0024_auto_20150401_1239.py | 50 --- src/pretix/base/models.py | 4 +- src/pretix/control/migrations/__init__.py | 0 .../migrations/0001_initial.py | 14 +- 28 files changed, 177 insertions(+), 971 deletions(-) delete mode 100644 src/pretix/base/migrations/0002_auto_20150211_2031.py delete mode 100644 src/pretix/base/migrations/0003_auto_20150211_2042.py delete mode 100644 src/pretix/base/migrations/0004_auto_20150211_2330.py delete mode 100644 src/pretix/base/migrations/0005_auto_20150212_0901.py delete mode 100644 src/pretix/base/migrations/0006_auto_20150212_0908.py delete mode 100644 src/pretix/base/migrations/0007_auto_20150212_0939.py delete mode 100644 src/pretix/base/migrations/0008_quota_locked.py delete mode 100644 src/pretix/base/migrations/0009_eventsetting_organizersetting.py delete mode 100644 src/pretix/base/migrations/0010_auto_20150218_2048.py delete mode 100644 src/pretix/base/migrations/0011_auto_20150304_1030.py delete mode 100644 src/pretix/base/migrations/0011_remove_event_max_items_per_order.py delete mode 100644 src/pretix/base/migrations/0012_auto_20150304_1038.py delete mode 100644 src/pretix/base/migrations/0013_merge.py delete mode 100644 src/pretix/base/migrations/0014_auto_20150305_2310.py delete mode 100644 src/pretix/base/migrations/0015_auto_20150308_0953.py delete mode 100644 src/pretix/base/migrations/0016_auto_20150308_1017.py delete mode 100644 src/pretix/base/migrations/0017_auto_20150308_1507.py delete mode 100644 src/pretix/base/migrations/0018_auto_20150314_1232.py delete mode 100644 src/pretix/base/migrations/0019_auto_20150314_1247.py delete mode 100644 src/pretix/base/migrations/0020_auto_20150319_1044.py delete mode 100644 src/pretix/base/migrations/0021_auto_20150320_1622.py delete mode 100644 src/pretix/base/migrations/0022_auto_20150320_2239.py delete mode 100644 src/pretix/base/migrations/0023_auto_20150401_0954.py delete mode 100644 src/pretix/base/migrations/0024_auto_20150401_1239.py delete mode 100644 src/pretix/control/migrations/__init__.py diff --git a/src/pretix/base/migrations/0001_initial.py b/src/pretix/base/migrations/0001_initial.py index 0ca49bca30..8eeeb7e3ac 100644 --- a/src/pretix/base/migrations/0001_initial.py +++ b/src/pretix/base/migrations/0001_initial.py @@ -1,456 +1,452 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals +from django.contrib.auth.hashers import make_password from django.db import models, migrations +import pretix.base.models +import django.db.models.deletion +import pretix.base.i18n 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 + + +def initial_user(apps, schema_editor): + User = apps.get_model("pretixbase", "User") + user = User(identifier='admin@localhost', email='admin@localhost') + user.is_staff = True + user.is_superuser = True + user.password = make_password('admin') + user.save() class Migration(migrations.Migration): dependencies = [ - ('auth', '0001_initial'), + ('auth', '0006_require_contenttypes_0002'), ] operations = [ migrations.CreateModel( name='User', fields=[ - ('id', models.AutoField(serialize=False, auto_created=True, verbose_name='ID', primary_key=True)), + ('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), - ('last_login', models.DateTimeField(default=django.utils.timezone.now, verbose_name='last login')), + ('last_login', models.DateTimeField(blank=True, verbose_name='last login', null=True)), ('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')), + ('identifier', models.CharField(max_length=255, unique=True)), + ('username', models.CharField(max_length=120, blank=True, help_text='Letters, digits and ./+/-/_ only.', null=True)), + ('email', models.EmailField(max_length=254, blank=True, verbose_name='E-mail', db_index=True, null=True)), + ('givenname', models.CharField(max_length=255, blank=True, verbose_name='Given name', null=True)), + ('familyname', models.CharField(max_length=255, blank=True, verbose_name='Family name', null=True)), ('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')), + ('locale', models.CharField(max_length=50, choices=[('en', 'English'), ('de', 'German')], 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')), + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), + ('identity', models.CharField(max_length=36)), + ('version_start_date', models.DateTimeField()), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), + ('version_birth_date', models.DateTimeField()), + ('price', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='Price')), + ('datetime', models.DateTimeField(verbose_name='Date', auto_now_add=True)), ('expires', models.DateTimeField(verbose_name='Expiration date')), + ('attendee_name', models.CharField(max_length=255, blank=True, verbose_name='Attendee name', help_text='Empty, if this product is not an admission ticket', null=True)), ], options={ 'verbose_name_plural': 'Cart positions', 'verbose_name': 'Cart position', }, - bases=(models.Model,), + bases=(pretix.base.models.ObjectWithAnswers, models.Model), ), migrations.CreateModel( name='Event', fields=[ - ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), ('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')), + ('name', pretix.base.i18n.I18nCharField(max_length=200, verbose_name='Name')), + ('slug', models.SlugField(validators=[django.core.validators.RegexValidator(regex='^[a-zA-Z0-9.-]+$', message='The slug may only contain letters, numbers, dots and dashes.')], 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.', verbose_name='Slug')), + ('currency', models.CharField(max_length=10, default='EUR', 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')), + ('date_to', models.DateTimeField(blank=True, verbose_name='Event end time', null=True)), + ('presale_end', models.DateTimeField(blank=True, verbose_name='End of presale', help_text='No products will be sold after this date.', null=True)), + ('presale_start', models.DateTimeField(blank=True, verbose_name='Start of presale', help_text='No products will be sold before this date.', null=True)), + ('plugins', models.TextField(blank=True, verbose_name='Plugins', null=True)), ], 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)), + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), ('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')), + ('can_change_items', models.BooleanField(default=True, verbose_name='Can change product settings')), + ('can_view_orders', models.BooleanField(default=True, verbose_name='Can view orders')), + ('can_change_orders', models.BooleanField(default=True, verbose_name='Can change orders')), ('event', versions.models.VersionedForeignKey(to='pretixbase.Event')), - ('user', models.ForeignKey(related_name='event_perms', to=settings.AUTH_USER_MODEL)), + ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL, related_name='event_perms')), ], options={ 'verbose_name_plural': 'Event permissions', 'verbose_name': 'Event permission', }, - bases=(models.Model,), + ), + migrations.CreateModel( + name='EventSetting', + fields=[ + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), + ('identity', models.CharField(max_length=36)), + ('version_start_date', models.DateTimeField()), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), + ('version_birth_date', models.DateTimeField()), + ('key', models.CharField(max_length=255)), + ('value', models.TextField()), + ('object', versions.models.VersionedForeignKey(to='pretixbase.Event', related_name='setting_objects')), + ], + options={ + 'abstract': False, + }, ), migrations.CreateModel( name='Item', fields=[ - ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), ('version_birth_date', models.DateTimeField()), - ('name', models.CharField(max_length=255, verbose_name='Item name')), + ('name', pretix.base.i18n.I18nCharField(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')), + ('short_description', pretix.base.i18n.I18nTextField(blank=True, verbose_name='Short description', help_text='This is shown below the product name in lists.', null=True)), + ('long_description', pretix.base.i18n.I18nTextField(blank=True, verbose_name='Long description', null=True)), + ('default_price', models.DecimalField(blank=True, verbose_name='Default price', max_digits=7, decimal_places=2, null=True)), + ('tax_rate', models.DecimalField(blank=True, verbose_name='Taxes included in percent', max_digits=7, decimal_places=2, null=True)), + ('admission', models.BooleanField(default=False, help_text='Whether or not buying this product allows a person to enter your event', verbose_name='Is an admission ticket')), ], options={ - 'verbose_name_plural': 'Items', - 'verbose_name': 'Item', + 'verbose_name_plural': 'Products', + 'verbose_name': 'Product', }, - bases=(models.Model,), ), migrations.CreateModel( name='ItemCategory', fields=[ - ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), ('version_birth_date', models.DateTimeField()), - ('name', models.CharField(max_length=255, verbose_name='Category name')), + ('name', pretix.base.i18n.I18nCharField(max_length=255, verbose_name='Category name')), ('position', models.IntegerField(default=0)), - ('event', versions.models.VersionedForeignKey(related_name='categories', to='pretixbase.Event')), + ('event', versions.models.VersionedForeignKey(to='pretixbase.Event', related_name='categories')), ], options={ - 'verbose_name_plural': 'Item categories', - 'ordering': ('position',), - 'verbose_name': 'Item category', + 'verbose_name_plural': 'Product categories', + 'ordering': ('position', 'id'), + 'verbose_name': 'Product category', }, - bases=(models.Model,), ), migrations.CreateModel( name='ItemVariation', fields=[ - ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), ('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')), + ('default_price', models.DecimalField(blank=True, verbose_name='Default price', max_digits=7, decimal_places=2, null=True)), + ('item', versions.models.VersionedForeignKey(to='pretixbase.Item', related_name='variations')), ], options={ - 'verbose_name_plural': 'Item variations', - 'verbose_name': 'Item variation', + 'verbose_name_plural': 'Product variations', + 'verbose_name': 'Product variation', }, - bases=(models.Model,), ), migrations.CreateModel( name='Order', fields=[ - ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), ('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)), + ('code', models.CharField(max_length=16, verbose_name='Order code')), + ('status', models.CharField(max_length=3, choices=[('n', 'pending'), ('p', 'paid'), ('e', 'expired'), ('c', 'cancelled'), ('r', 'refunded')], verbose_name='Status')), + ('datetime', models.DateTimeField(verbose_name='Date')), ('expires', models.DateTimeField(verbose_name='Expiration date')), - ('payment_date', models.DateTimeField(verbose_name='Payment date')), - ('payment_info', models.TextField(verbose_name='Payment information')), + ('payment_date', models.DateTimeField(blank=True, verbose_name='Payment date', null=True)), + ('payment_provider', models.CharField(max_length=255, blank=True, verbose_name='Payment provider', null=True)), + ('payment_fee', models.DecimalField(decimal_places=2, max_digits=10, default=0, verbose_name='Payment method fee')), + ('payment_info', models.TextField(blank=True, verbose_name='Payment information', null=True)), + ('payment_manual', models.BooleanField(default=False, verbose_name='Payment state was manually modified')), ('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)), + ('event', versions.models.VersionedForeignKey(to='pretixbase.Event', related_name='orders', verbose_name='Event')), + ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL, verbose_name='User', related_name='orders', blank=True, null=True)), ], 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)), + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), + ('identity', models.CharField(max_length=36)), + ('version_start_date', models.DateTimeField()), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), + ('version_birth_date', models.DateTimeField()), ('price', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='Price')), + ('attendee_name', models.CharField(max_length=255, blank=True, verbose_name='Attendee name', help_text='Empty, if this product is not an admission ticket', null=True)), + ('item', versions.models.VersionedForeignKey(to='pretixbase.Item', verbose_name='Item')), + ('order', versions.models.VersionedForeignKey(to='pretixbase.Order', related_name='positions', verbose_name='Order')), + ('variation', versions.models.VersionedForeignKey(to='pretixbase.ItemVariation', verbose_name='Variation', blank=True, null=True)), ], options={ 'verbose_name_plural': 'Order positions', 'verbose_name': 'Order position', }, - bases=(models.Model,), + bases=(pretix.base.models.ObjectWithAnswers, models.Model), ), migrations.CreateModel( name='Organizer', fields=[ - ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), ('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')), + ('slug', models.SlugField(unique=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)), + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), ('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)), + ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL, related_name='organizer_perms')), ], options={ 'verbose_name_plural': 'Organizer permissions', 'verbose_name': 'Organizer permission', }, - bases=(models.Model,), + ), + migrations.CreateModel( + name='OrganizerSetting', + fields=[ + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), + ('identity', models.CharField(max_length=36)), + ('version_start_date', models.DateTimeField()), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), + ('version_birth_date', models.DateTimeField()), + ('key', models.CharField(max_length=255)), + ('value', models.TextField()), + ('object', versions.models.VersionedForeignKey(to='pretixbase.Organizer', related_name='setting_objects')), + ], + options={ + 'abstract': False, + }, ), migrations.CreateModel( name='Property', fields=[ - ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), ('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')), + ('name', pretix.base.i18n.I18nCharField(max_length=250, verbose_name='Property name')), + ('event', versions.models.VersionedForeignKey(to='pretixbase.Event', related_name='properties')), ], options={ - 'verbose_name_plural': 'Item properties', - 'verbose_name': 'Item property', + 'verbose_name_plural': 'Product properties', + 'verbose_name': 'Product property', }, - bases=(models.Model,), ), migrations.CreateModel( name='PropertyValue', fields=[ - ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), ('version_birth_date', models.DateTimeField()), - ('value', models.CharField(max_length=250, verbose_name='Value')), + ('value', pretix.base.i18n.I18nCharField(max_length=250, verbose_name='Value')), ('position', models.IntegerField(default=0)), - ('prop', versions.models.VersionedForeignKey(related_name='values', to='pretixbase.Property')), + ('prop', versions.models.VersionedForeignKey(to='pretixbase.Property', related_name='values')), ], 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)), + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), ('version_birth_date', models.DateTimeField()), - ('question', models.TextField(verbose_name='Question')), + ('question', pretix.base.i18n.I18nTextField(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')), + ('event', versions.models.VersionedForeignKey(to='pretixbase.Event', related_name='questions')), ], 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)), + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), ('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')), + ('cartposition', models.ForeignKey(to='pretixbase.CartPosition', null=True, blank=True, related_name='answers')), + ('orderposition', models.ForeignKey(to='pretixbase.OrderPosition', null=True, blank=True, related_name='answers')), + ('question', versions.models.VersionedForeignKey(to='pretixbase.Question', related_name='answers')), ], options={ 'abstract': False, }, - bases=(models.Model,), ), migrations.CreateModel( name='Quota', fields=[ - ('id', models.CharField(max_length=36, primary_key=True, serialize=False)), + ('id', models.CharField(max_length=36, serialize=False, primary_key=True)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), + ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), ('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')), + ('locked', models.DateTimeField(blank=True, null=True)), + ('event', versions.models.VersionedForeignKey(to='pretixbase.Event', related_name='quotas', 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')), + ('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, + field=models.ManyToManyField(through='pretixbase.OrganizerPermission', to=settings.AUTH_USER_MODEL, related_name='organizers'), ), migrations.AddField( model_name='itemvariation', name='values', - field=versions.models.VersionedManyToManyField(related_name='variations', to='pretixbase.PropertyValue'), - preserve_default=True, + field=versions.models.VersionedManyToManyField(to='pretixbase.PropertyValue', related_name='variations'), ), 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, + field=versions.models.VersionedForeignKey(on_delete=django.db.models.deletion.PROTECT, to='pretixbase.ItemCategory', verbose_name='Category', related_name='items', blank=True, null=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, + field=versions.models.VersionedForeignKey(on_delete=django.db.models.deletion.PROTECT, to='pretixbase.Event', related_name='items', verbose_name='Event'), ), 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, + field=versions.models.VersionedManyToManyField(blank=True, related_name='items', to='pretixbase.Property', 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'), ), 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, + field=versions.models.VersionedManyToManyField(blank=True, related_name='items', to='pretixbase.Question', help_text='The user will be asked to fill in answers for the selected questions', verbose_name='Questions'), ), 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, + field=versions.models.VersionedForeignKey(on_delete=django.db.models.deletion.PROTECT, to='pretixbase.Organizer', related_name='events'), ), migrations.AddField( model_name='event', name='permitted', - field=models.ManyToManyField(through='pretixbase.EventPermission', related_name='events', to=settings.AUTH_USER_MODEL), - preserve_default=True, + field=models.ManyToManyField(through='pretixbase.EventPermission', to=settings.AUTH_USER_MODEL, related_name='events'), ), migrations.AddField( model_name='cartposition', name='event', - field=versions.models.VersionedForeignKey(verbose_name='Event', to='pretixbase.Event'), - preserve_default=True, + field=versions.models.VersionedForeignKey(to='pretixbase.Event', verbose_name='Event'), ), migrations.AddField( model_name='cartposition', name='item', - field=versions.models.VersionedForeignKey(verbose_name='Item', to='pretixbase.Item'), - preserve_default=True, + field=versions.models.VersionedForeignKey(to='pretixbase.Item', verbose_name='Item'), ), 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, + field=models.ForeignKey(to=settings.AUTH_USER_MODEL, verbose_name='User', blank=True, null=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, + field=versions.models.VersionedForeignKey(to='pretixbase.ItemVariation', verbose_name='Variation', blank=True, null=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, + field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='pretixbase.Event', null=True, blank=True, related_name='users'), ), 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, + field=models.ManyToManyField(to='auth.Group', help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', blank=True, related_query_name='user', verbose_name='groups'), ), 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, + field=models.ManyToManyField(to='auth.Permission', help_text='Specific permissions for this user.', related_name='user_set', blank=True, related_query_name='user', verbose_name='user permissions'), ), migrations.AlterUniqueTogether( name='user', unique_together=set([('event', 'username')]), ), + migrations.RunPython(initial_user), ] diff --git a/src/pretix/base/migrations/0002_auto_20150211_2031.py b/src/pretix/base/migrations/0002_auto_20150211_2031.py deleted file mode 100644 index 96a20328c8..0000000000 --- a/src/pretix/base/migrations/0002_auto_20150211_2031.py +++ /dev/null @@ -1,41 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import pretix.base.models -import versions.models - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0001_initial'), - ] - - operations = [ - migrations.AlterModelOptions( - name='itemcategory', - options={'verbose_name_plural': 'Item categories', 'verbose_name': 'Item category', 'ordering': ('position', 'id')}, - ), - migrations.RenameField( - model_name='cartposition', - old_name='total', - new_name='price', - ), - migrations.AlterField( - model_name='event', - name='currency', - field=models.CharField(verbose_name='Default currency', default='EUR', max_length=10), - preserve_default=True, - ), - migrations.AlterField( - model_name='event', - name='locale', - field=models.CharField(verbose_name='Default locale', choices=[('de', 'German'), ('en', 'English')], default='en', max_length=10), - preserve_default=True, - ), - migrations.AlterUniqueTogether( - name='questionanswer', - unique_together=set([]), - ), - ] diff --git a/src/pretix/base/migrations/0003_auto_20150211_2042.py b/src/pretix/base/migrations/0003_auto_20150211_2042.py deleted file mode 100644 index e810ad47f4..0000000000 --- a/src/pretix/base/migrations/0003_auto_20150211_2042.py +++ /dev/null @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import versions.models -import pretix.base.models - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0002_auto_20150211_2031'), - ] - - operations = [ - migrations.RemoveField( - model_name='quota', - name='lock_cache', - ), - migrations.RemoveField( - model_name='quota', - name='order_cache', - ), - ] diff --git a/src/pretix/base/migrations/0004_auto_20150211_2330.py b/src/pretix/base/migrations/0004_auto_20150211_2330.py deleted file mode 100644 index 4a80794879..0000000000 --- a/src/pretix/base/migrations/0004_auto_20150211_2330.py +++ /dev/null @@ -1,78 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -from django.utils.timezone import utc -import versions.models -import datetime -import pretix.base.models - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0003_auto_20150211_2042'), - ] - - operations = [ - migrations.AddField( - model_name='cartposition', - name='identity', - field=models.CharField(default='LEGACY', max_length=36), - preserve_default=False, - ), - migrations.AddField( - model_name='cartposition', - name='version_birth_date', - field=models.DateTimeField(default=datetime.datetime(2015, 2, 11, 23, 30, 3, 234665, tzinfo=utc)), - preserve_default=False, - ), - migrations.AddField( - model_name='cartposition', - name='version_end_date', - field=models.DateTimeField(blank=True, null=True, default=None), - preserve_default=True, - ), - migrations.AddField( - model_name='cartposition', - name='version_start_date', - field=models.DateTimeField(default=datetime.datetime(2015, 2, 11, 23, 30, 3, 234665, tzinfo=utc)), - preserve_default=False, - ), - migrations.AddField( - model_name='orderposition', - name='identity', - field=models.CharField(default='LEGACY', max_length=36), - preserve_default=False, - ), - migrations.AddField( - model_name='orderposition', - name='version_birth_date', - field=models.DateTimeField(default=datetime.datetime(2015, 2, 11, 23, 30, 15, 115790, tzinfo=utc)), - preserve_default=False, - ), - migrations.AddField( - model_name='orderposition', - name='version_end_date', - field=models.DateTimeField(blank=True, null=True, default=None), - preserve_default=True, - ), - migrations.AddField( - model_name='orderposition', - name='version_start_date', - field=models.DateTimeField(default=datetime.datetime(2015, 2, 11, 23, 30, 21, 726769, tzinfo=utc)), - preserve_default=False, - ), - migrations.AlterField( - model_name='cartposition', - name='id', - field=models.CharField(primary_key=True, serialize=False, max_length=36), - preserve_default=True, - ), - migrations.AlterField( - model_name='orderposition', - name='id', - field=models.CharField(primary_key=True, serialize=False, max_length=36), - preserve_default=True, - ), - ] diff --git a/src/pretix/base/migrations/0005_auto_20150212_0901.py b/src/pretix/base/migrations/0005_auto_20150212_0901.py deleted file mode 100644 index a96e77da52..0000000000 --- a/src/pretix/base/migrations/0005_auto_20150212_0901.py +++ /dev/null @@ -1,28 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import pretix.base.models -import versions.models - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0004_auto_20150211_2330'), - ] - - operations = [ - migrations.AlterField( - model_name='order', - name='payment_date', - field=models.DateTimeField(null=True, blank=True, verbose_name='Payment date'), - preserve_default=True, - ), - migrations.AlterField( - model_name='order', - name='payment_info', - field=models.TextField(null=True, blank=True, verbose_name='Payment information'), - preserve_default=True, - ), - ] diff --git a/src/pretix/base/migrations/0006_auto_20150212_0908.py b/src/pretix/base/migrations/0006_auto_20150212_0908.py deleted file mode 100644 index e950628ef4..0000000000 --- a/src/pretix/base/migrations/0006_auto_20150212_0908.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import pretix.base.models -import versions.models - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0005_auto_20150212_0901'), - ] - - operations = [ - migrations.AlterField( - model_name='cartposition', - name='datetime', - field=models.DateTimeField(auto_now_add=True, verbose_name='Date'), - preserve_default=True, - ), - ] diff --git a/src/pretix/base/migrations/0007_auto_20150212_0939.py b/src/pretix/base/migrations/0007_auto_20150212_0939.py deleted file mode 100644 index fa1532b255..0000000000 --- a/src/pretix/base/migrations/0007_auto_20150212_0939.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import versions.models -import pretix.base.models - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0006_auto_20150212_0908'), - ] - - operations = [ - migrations.AddField( - model_name='event', - name='max_items_per_order', - field=models.IntegerField(verbose_name='Maximum number of items per order', default=10), - preserve_default=True, - ), - ] diff --git a/src/pretix/base/migrations/0008_quota_locked.py b/src/pretix/base/migrations/0008_quota_locked.py deleted file mode 100644 index 775d4fa8b9..0000000000 --- a/src/pretix/base/migrations/0008_quota_locked.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0007_auto_20150212_0939'), - ] - - operations = [ - migrations.AddField( - model_name='quota', - name='locked', - field=models.DateTimeField(null=True, blank=True), - preserve_default=True, - ), - ] diff --git a/src/pretix/base/migrations/0009_eventsetting_organizersetting.py b/src/pretix/base/migrations/0009_eventsetting_organizersetting.py deleted file mode 100644 index a735eb3fd1..0000000000 --- a/src/pretix/base/migrations/0009_eventsetting_organizersetting.py +++ /dev/null @@ -1,49 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import versions.models - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0008_quota_locked'), - ] - - operations = [ - migrations.CreateModel( - name='EventSetting', - fields=[ - ('id', models.CharField(primary_key=True, serialize=False, max_length=36)), - ('identity', models.CharField(max_length=36)), - ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), - ('version_birth_date', models.DateTimeField()), - ('key', models.CharField(max_length=255)), - ('value', models.TextField()), - ('event', versions.models.VersionedForeignKey(related_name='setting_objects', to='pretixbase.Event')), - ], - options={ - 'abstract': False, - }, - bases=(models.Model,), - ), - migrations.CreateModel( - name='OrganizerSetting', - fields=[ - ('id', models.CharField(primary_key=True, serialize=False, max_length=36)), - ('identity', models.CharField(max_length=36)), - ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(blank=True, default=None, null=True)), - ('version_birth_date', models.DateTimeField()), - ('key', models.CharField(max_length=255)), - ('value', models.TextField()), - ('organizer', versions.models.VersionedForeignKey(related_name='setting_objects', to='pretixbase.Organizer')), - ], - options={ - 'abstract': False, - }, - bases=(models.Model,), - ), - ] diff --git a/src/pretix/base/migrations/0010_auto_20150218_2048.py b/src/pretix/base/migrations/0010_auto_20150218_2048.py deleted file mode 100644 index 2c60cbf957..0000000000 --- a/src/pretix/base/migrations/0010_auto_20150218_2048.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('auth', '0005_alter_user_last_login_null'), - ('pretixbase', '0009_eventsetting_organizersetting'), - ] - - operations = [ - migrations.RemoveField( - model_name='cartposition', - name='session', - ), - migrations.AlterField( - model_name='user', - name='email', - field=models.EmailField(blank=True, max_length=254, db_index=True, verbose_name='E-mail', null=True), - ), - migrations.RemoveField( - model_name='user', - name='groups', - ), - migrations.AddField( - model_name='user', - name='groups', - field=models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_query_name='user', related_name='user_set', to='auth.Group', verbose_name='groups'), - ), - migrations.AlterField( - model_name='user', - name='last_login', - field=models.DateTimeField(blank=True, verbose_name='last login', null=True), - ), - migrations.AlterField( - model_name='user', - name='username', - field=models.CharField(blank=True, max_length=120, help_text='Letters, digits and ./+/-/_ only.', null=True), - ), - ] diff --git a/src/pretix/base/migrations/0011_auto_20150304_1030.py b/src/pretix/base/migrations/0011_auto_20150304_1030.py deleted file mode 100644 index 8e5f33c20e..0000000000 --- a/src/pretix/base/migrations/0011_auto_20150304_1030.py +++ /dev/null @@ -1,49 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import versions.models - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0010_auto_20150218_2048'), - ] - - operations = [ - migrations.RemoveField( - model_name='orderposition', - name='answers', - ), - migrations.AddField( - model_name='cartposition', - name='attendee_name', - field=models.CharField(max_length=255, blank=True, null=True, verbose_name='Attendee name', help_text='Empty, if this item is not an admission ticket'), - ), - migrations.AddField( - model_name='item', - name='admission', - field=models.BooleanField(verbose_name='Is a admission ticket', default=False, help_text='Whether or not this item allows a person to enter your event'), - ), - migrations.AddField( - model_name='orderposition', - name='attendee_name', - field=models.CharField(max_length=255, blank=True, null=True, verbose_name='Attendee name', help_text='Empty, if this item is not an admission ticket'), - ), - migrations.AlterField( - model_name='questionanswer', - name='cartposition', - field=models.ForeignKey(blank=True, to='pretixbase.CartPosition', null=True, related_name='answers'), - ), - migrations.AlterField( - model_name='questionanswer', - name='orderposition', - field=models.ForeignKey(blank=True, to='pretixbase.OrderPosition', null=True, related_name='answers'), - ), - migrations.AlterField( - model_name='questionanswer', - name='question', - field=versions.models.VersionedForeignKey(related_name='answers', to='pretixbase.Question'), - ), - ] diff --git a/src/pretix/base/migrations/0011_remove_event_max_items_per_order.py b/src/pretix/base/migrations/0011_remove_event_max_items_per_order.py deleted file mode 100644 index 898f55eb91..0000000000 --- a/src/pretix/base/migrations/0011_remove_event_max_items_per_order.py +++ /dev/null @@ -1,18 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0010_auto_20150218_2048'), - ] - - operations = [ - migrations.RemoveField( - model_name='event', - name='max_items_per_order', - ), - ] diff --git a/src/pretix/base/migrations/0012_auto_20150304_1038.py b/src/pretix/base/migrations/0012_auto_20150304_1038.py deleted file mode 100644 index b918ce379c..0000000000 --- a/src/pretix/base/migrations/0012_auto_20150304_1038.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0011_auto_20150304_1030'), - ] - - operations = [ - migrations.AlterField( - model_name='item', - name='admission', - field=models.BooleanField(verbose_name='Is an admission ticket', help_text='Whether or not this item allows a person to enter your event', default=False), - ), - ] diff --git a/src/pretix/base/migrations/0013_merge.py b/src/pretix/base/migrations/0013_merge.py deleted file mode 100644 index 40f921eb9f..0000000000 --- a/src/pretix/base/migrations/0013_merge.py +++ /dev/null @@ -1,15 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0011_remove_event_max_items_per_order'), - ('pretixbase', '0012_auto_20150304_1038'), - ] - - operations = [ - ] diff --git a/src/pretix/base/migrations/0014_auto_20150305_2310.py b/src/pretix/base/migrations/0014_auto_20150305_2310.py deleted file mode 100644 index cab2e01475..0000000000 --- a/src/pretix/base/migrations/0014_auto_20150305_2310.py +++ /dev/null @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0013_merge'), - ] - - operations = [ - migrations.RenameField( - model_name='eventsetting', - old_name='event', - new_name='object', - ), - migrations.RenameField( - model_name='organizersetting', - old_name='organizer', - new_name='object', - ), - ] diff --git a/src/pretix/base/migrations/0015_auto_20150308_0953.py b/src/pretix/base/migrations/0015_auto_20150308_0953.py deleted file mode 100644 index 993c63e277..0000000000 --- a/src/pretix/base/migrations/0015_auto_20150308_0953.py +++ /dev/null @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0014_auto_20150305_2310'), - ] - - operations = [ - migrations.AddField( - model_name='order', - name='payment_provider', - field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Payment provider'), - ), - migrations.AlterField( - model_name='order', - name='datetime', - field=models.DateTimeField(verbose_name='Date'), - ), - ] diff --git a/src/pretix/base/migrations/0016_auto_20150308_1017.py b/src/pretix/base/migrations/0016_auto_20150308_1017.py deleted file mode 100644 index 2967974276..0000000000 --- a/src/pretix/base/migrations/0016_auto_20150308_1017.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0015_auto_20150308_0953'), - ] - - operations = [ - migrations.AddField( - model_name='order', - name='code', - field=models.CharField(max_length=16, verbose_name='Order code', default=''), - preserve_default=False, - ), - migrations.AddField( - model_name='order', - name='payment_fee', - field=models.DecimalField(max_digits=10, verbose_name='Payment method fee', decimal_places=2, default=0), - preserve_default=False, - ), - ] diff --git a/src/pretix/base/migrations/0017_auto_20150308_1507.py b/src/pretix/base/migrations/0017_auto_20150308_1507.py deleted file mode 100644 index 3e8e10ffcc..0000000000 --- a/src/pretix/base/migrations/0017_auto_20150308_1507.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0016_auto_20150308_1017'), - ] - - operations = [ - migrations.AlterField( - model_name='order', - name='payment_fee', - field=models.DecimalField(verbose_name='Payment method fee', default=0, max_digits=10, decimal_places=2), - ), - ] diff --git a/src/pretix/base/migrations/0018_auto_20150314_1232.py b/src/pretix/base/migrations/0018_auto_20150314_1232.py deleted file mode 100644 index e9311f609a..0000000000 --- a/src/pretix/base/migrations/0018_auto_20150314_1232.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import versions.models - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0017_auto_20150308_1507'), - ] - - operations = [ - migrations.AlterField( - model_name='order', - name='status', - field=models.CharField(verbose_name='Status', choices=[('p', 'pending'), ('n', 'paid'), ('e', 'expired'), ('c', 'cancelled'), ('r', 'refunded')], max_length=3), - ), - migrations.AlterField( - model_name='orderposition', - name='order', - field=versions.models.VersionedForeignKey(verbose_name='Order', to='pretixbase.Order', related_name='positions'), - ), - ] diff --git a/src/pretix/base/migrations/0019_auto_20150314_1247.py b/src/pretix/base/migrations/0019_auto_20150314_1247.py deleted file mode 100644 index 9c11f6cd2d..0000000000 --- a/src/pretix/base/migrations/0019_auto_20150314_1247.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import versions.models -from django.conf import settings - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0018_auto_20150314_1232'), - ] - - operations = [ - migrations.AlterField( - model_name='order', - name='event', - field=versions.models.VersionedForeignKey(to='pretixbase.Event', related_name='orders', verbose_name='Event'), - ), - migrations.AlterField( - model_name='order', - name='user', - field=models.ForeignKey(to=settings.AUTH_USER_MODEL, blank=True, related_name='orders', null=True, verbose_name='User'), - ), - ] diff --git a/src/pretix/base/migrations/0020_auto_20150319_1044.py b/src/pretix/base/migrations/0020_auto_20150319_1044.py deleted file mode 100644 index f2c010fd9d..0000000000 --- a/src/pretix/base/migrations/0020_auto_20150319_1044.py +++ /dev/null @@ -1,74 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0019_auto_20150314_1247'), - ] - - operations = [ - migrations.AlterModelOptions( - name='item', - options={'verbose_name': 'Product', 'verbose_name_plural': 'Products'}, - ), - migrations.AlterModelOptions( - name='itemcategory', - options={'ordering': ('position', 'id'), 'verbose_name': 'Product category', 'verbose_name_plural': 'Product categories'}, - ), - migrations.AlterModelOptions( - name='itemvariation', - options={'verbose_name': 'Product variation', 'verbose_name_plural': 'Product variations'}, - ), - migrations.AlterModelOptions( - name='property', - options={'verbose_name': 'Product property', 'verbose_name_plural': 'Product properties'}, - ), - migrations.RemoveField( - model_name='item', - name='deleted', - ), - migrations.AlterField( - model_name='cartposition', - name='attendee_name', - field=models.CharField(null=True, help_text='Empty, if this product is not an admission ticket', verbose_name='Attendee name', max_length=255, blank=True), - ), - migrations.AlterField( - model_name='event', - name='presale_end', - field=models.DateTimeField(null=True, help_text='No products will be sold after this date.', verbose_name='End of presale', blank=True), - ), - migrations.AlterField( - model_name='event', - name='presale_start', - field=models.DateTimeField(null=True, help_text='No products will be sold before this date.', verbose_name='Start of presale', blank=True), - ), - migrations.AlterField( - model_name='eventpermission', - name='can_change_items', - field=models.BooleanField(default=True, verbose_name='Can change product settings'), - ), - migrations.AlterField( - model_name='item', - name='admission', - field=models.BooleanField(default=False, help_text='Whether or not buying this product allows a person to enter your event', verbose_name='Is an admission ticket'), - ), - migrations.AlterField( - model_name='item', - name='short_description', - field=models.TextField(null=True, help_text='This is shown below the product name in lists.', verbose_name='Short description', blank=True), - ), - migrations.AlterField( - model_name='orderposition', - name='attendee_name', - field=models.CharField(null=True, help_text='Empty, if this product is not an admission ticket', verbose_name='Attendee name', max_length=255, blank=True), - ), - migrations.AlterField( - model_name='organizer', - name='slug', - field=models.SlugField(verbose_name='Slug', unique=True), - ), - ] diff --git a/src/pretix/base/migrations/0021_auto_20150320_1622.py b/src/pretix/base/migrations/0021_auto_20150320_1622.py deleted file mode 100644 index 64d4acf42c..0000000000 --- a/src/pretix/base/migrations/0021_auto_20150320_1622.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import django.core.validators - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0020_auto_20150319_1044'), - ] - - operations = [ - migrations.AddField( - model_name='eventpermission', - name='can_change_orders', - field=models.BooleanField(default=True, verbose_name='Can change orders'), - ), - migrations.AddField( - model_name='eventpermission', - name='can_view_orders', - field=models.BooleanField(default=True, verbose_name='Can view orders'), - ), - migrations.AlterField( - model_name='event', - name='slug', - field=models.SlugField(verbose_name='Slug', validators=[django.core.validators.RegexValidator(message='The slug may only contain letters, numbers, dots and dashes.', regex='^[a-zA-Z0-9.-]+$')], 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.'), - ), - ] diff --git a/src/pretix/base/migrations/0022_auto_20150320_2239.py b/src/pretix/base/migrations/0022_auto_20150320_2239.py deleted file mode 100644 index 2acc92a0a7..0000000000 --- a/src/pretix/base/migrations/0022_auto_20150320_2239.py +++ /dev/null @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0021_auto_20150320_1622'), - ] - - operations = [ - migrations.AddField( - model_name='order', - name='payment_manual', - field=models.BooleanField(verbose_name='Payment state was manually modified', default=False), - ), - migrations.AlterField( - model_name='order', - name='status', - field=models.CharField(verbose_name='Status', max_length=3, choices=[('n', 'pending'), ('p', 'paid'), ('e', 'expired'), ('c', 'cancelled'), ('r', 'refunded')]), - ), - ] diff --git a/src/pretix/base/migrations/0023_auto_20150401_0954.py b/src/pretix/base/migrations/0023_auto_20150401_0954.py deleted file mode 100644 index e5fca2a59b..0000000000 --- a/src/pretix/base/migrations/0023_auto_20150401_0954.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0022_auto_20150320_2239'), - ] - - operations = [ - migrations.RemoveField( - model_name='event', - name='locale', - ), - migrations.RemoveField( - model_name='event', - name='payment_term_days', - ), - migrations.RemoveField( - model_name='event', - name='payment_term_last', - ), - migrations.RemoveField( - model_name='event', - name='show_date_to', - ), - migrations.RemoveField( - model_name='event', - name='show_times', - ), - migrations.RemoveField( - model_name='event', - name='timezone', - ), - ] diff --git a/src/pretix/base/migrations/0024_auto_20150401_1239.py b/src/pretix/base/migrations/0024_auto_20150401_1239.py deleted file mode 100644 index d79c6e5d6e..0000000000 --- a/src/pretix/base/migrations/0024_auto_20150401_1239.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import pretix.base.i18n - - -class Migration(migrations.Migration): - - dependencies = [ - ('pretixbase', '0023_auto_20150401_0954'), - ] - - operations = [ - migrations.AlterField( - model_name='event', - name='name', - field=pretix.base.i18n.I18nCharField(max_length=200, verbose_name='Name'), - ), - migrations.AlterField( - model_name='item', - name='long_description', - field=pretix.base.i18n.I18nTextField(null=True, blank=True, verbose_name='Long description'), - ), - migrations.AlterField( - model_name='item', - name='name', - field=pretix.base.i18n.I18nCharField(max_length=255, verbose_name='Item name'), - ), - migrations.AlterField( - model_name='item', - name='short_description', - field=pretix.base.i18n.I18nTextField(null=True, blank=True, verbose_name='Short description', help_text='This is shown below the product name in lists.'), - ), - migrations.AlterField( - model_name='property', - name='name', - field=pretix.base.i18n.I18nCharField(max_length=250, verbose_name='Property name'), - ), - migrations.AlterField( - model_name='propertyvalue', - name='value', - field=pretix.base.i18n.I18nCharField(max_length=250, verbose_name='Value'), - ), - migrations.AlterField( - model_name='question', - name='question', - field=pretix.base.i18n.I18nTextField(verbose_name='Question'), - ), - ] diff --git a/src/pretix/base/models.py b/src/pretix/base/models.py index 2f5fb09db5..ed6100e5fe 100644 --- a/src/pretix/base/models.py +++ b/src/pretix/base/models.py @@ -109,10 +109,10 @@ class UserManager(BaseUserManager): user.save() return user - def create_superuser(self, identifier, username, password=None): + def create_superuser(self, identifier, password=None): if password is None: raise Exception("You must provide a password") - user = self.model(identifier=identifier, username=username) + user = self.model(identifier=identifier, email=identifier) user.is_staff = True user.is_superuser = True user.set_password(password) diff --git a/src/pretix/control/migrations/__init__.py b/src/pretix/control/migrations/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/pretix/plugins/timerestriction/migrations/0001_initial.py b/src/pretix/plugins/timerestriction/migrations/0001_initial.py index 80a125630c..073ce668cb 100644 --- a/src/pretix/plugins/timerestriction/migrations/0001_initial.py +++ b/src/pretix/plugins/timerestriction/migrations/0001_initial.py @@ -16,24 +16,22 @@ class Migration(migrations.Migration): migrations.CreateModel( name='TimeRestriction', fields=[ - ('id', models.CharField(serialize=False, primary_key=True, max_length=36)), + ('id', models.CharField(primary_key=True, serialize=False, max_length=36)), ('identity', models.CharField(max_length=36)), ('version_start_date', models.DateTimeField()), - ('version_end_date', models.DateTimeField(null=True, blank=True, default=None)), + ('version_end_date', models.DateTimeField(blank=True, null=True, default=None)), ('version_birth_date', models.DateTimeField()), ('timeframe_from', models.DateTimeField(verbose_name='Start of time frame')), ('timeframe_to', models.DateTimeField(verbose_name='End of time frame')), - ('price', models.DecimalField(null=True, blank=True, verbose_name='Price in time frame', max_digits=7, decimal_places=2)), + ('price', models.DecimalField(max_digits=7, verbose_name='Price in time frame', decimal_places=2, null=True, blank=True)), ('event', versions.models.VersionedForeignKey(to='pretixbase.Event', related_name='restrictions_timerestriction_timerestriction', verbose_name='Event')), - ('item', versions.models.VersionedForeignKey(to='pretixbase.Item', blank=True, null=True, related_name='restrictions_timerestriction_timerestriction', verbose_name='Item')), - ('variations', pretix.base.models.VariationsField(to='pretixbase.ItemVariation', blank=True, - verbose_name='Variations', related_name='restrictions_timerestriction_timerestriction')), + ('item', versions.models.VersionedForeignKey(to='pretixbase.Item', related_name='restrictions_timerestriction_timerestriction', verbose_name='Item', null=True, blank=True)), + ('variations', pretix.base.models.VariationsField(related_name='restrictions_timerestriction_timerestriction', to='pretixbase.ItemVariation', verbose_name='Variations', blank=True)), ], options={ - 'verbose_name': 'Restriction', 'verbose_name_plural': 'Restrictions', + 'verbose_name': 'Restriction', 'abstract': False, }, - bases=(models.Model,), ), ]