class Migration(migrations.Migration):

    dependencies = [
        ('store', '0001_initial'),
    ]

    operations = [
        migrations.AlterModelOptions(
            name='category',
            options={
                'ordering': ['title'],
                'verbose_name_plural': 'Categories'
            },
        ),
        migrations.AlterField(
            model_name='category',
            name='slug',
            field=models.SlugField(blank=True, max_length=250),
        ),
        migrations.CreateModel(
            name='Product',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=255)),
                ('slug', models.SlugField(max_length=255)),
                ('description', models.TextField()),
                ('price', models.FloatField()),
                ('category',
                 models.ForeignKey(
                     on_delete=django.db.models.deletion.DO_NOTHING,
                     related_name='product',
                     to='store.category')),
            ],
            bases=(apps.core.models.BaseModel, models.Model),
        ),
    ]
Пример #2
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='CosplayPost',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title',
                 models.CharField(blank=True,
                                  max_length=100,
                                  verbose_name='Наименование поста')),
                ('slug', models.SlugField(blank=True, max_length=200)),
                ('description',
                 models.CharField(blank=True,
                                  max_length=9999,
                                  verbose_name='Описание')),
                ('created',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Создан')),
            ],
            options={
                'verbose_name': 'Пост',
                'verbose_name_plural': 'Посты',
                'ordering': ('id', ),
            },
        ),
        migrations.CreateModel(
            name='CosplayRubric',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title',
                 models.CharField(blank=True,
                                  max_length=50,
                                  verbose_name='Наименование темы')),
                ('slug', models.SlugField(blank=True, max_length=200)),
            ],
            options={
                'verbose_name': 'Рубрика',
                'verbose_name_plural': 'Рубрики',
                'ordering': ('id', ),
            },
        ),
        migrations.CreateModel(
            name='Image',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title',
                 models.CharField(blank=True,
                                  max_length=50,
                                  verbose_name='Наименование изображения')),
                ('slug', models.SlugField(blank=True, max_length=200)),
                ('image',
                 easy_thumbnails.fields.ThumbnailerImageField(
                     blank=True,
                     upload_to=apps.core.models.upload_path_image,
                     verbose_name='Изображение')),
                ('created',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Создан')),
                ('likes',
                 models.ManyToManyField(related_name='likes',
                                        to=settings.AUTH_USER_MODEL)),
                ('post',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='core.cosplaypost')),
                ('rubric',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='images',
                                   to='core.cosplayrubric')),
            ],
            options={
                'verbose_name': 'Изображение',
                'verbose_name_plural': 'изображения',
                'ordering': ('id', ),
            },
        ),
        migrations.CreateModel(
            name='Models',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(blank=True,
                                  max_length=30,
                                  verbose_name='Имя')),
                ('image',
                 easy_thumbnails.fields.ThumbnailerImageField(
                     blank=True,
                     upload_to=apps.core.models.upload_path_model_photo,
                     verbose_name='Фото')),
                ('slug', models.SlugField(blank=True, max_length=200)),
                ('created',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Создан')),
                ('stars',
                 models.ManyToManyField(related_name='stars',
                                        to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'Модель',
                'verbose_name_plural': 'Модели',
                'ordering': ('id', ),
            },
        ),
        migrations.CreateModel(
            name='ImageComment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('text',
                 models.CharField(blank=True,
                                  max_length=500,
                                  verbose_name='Текст комментария')),
                ('created',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Создан')),
                ('updated', models.BooleanField(default=False)),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
                ('image',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='comments',
                                   to='core.image')),
            ],
            options={
                'verbose_name': 'Комментарий',
                'verbose_name_plural': 'Комментарии',
                'ordering': ('id', ),
            },
        ),
        migrations.AddField(
            model_name='cosplaypost',
            name='model',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='models',
                to='core.models'),
        ),
        migrations.AddField(
            model_name='cosplaypost',
            name='rubric',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='rubrics',
                to='core.cosplayrubric'),
        ),
    ]
Пример #3
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0012_alter_user_first_name_max_length'),
    ]

    operations = [
        migrations.CreateModel(
            name='BaseUser',
            fields=[
                ('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')),
                ('first_name',
                 models.CharField(blank=True,
                                  max_length=150,
                                  verbose_name='first name')),
                ('last_name',
                 models.CharField(blank=True,
                                  max_length=150,
                                  verbose_name='last name')),
                ('is_staff',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates whether the user can log into this admin site.',
                     verbose_name='staff status')),
                ('is_active',
                 models.BooleanField(
                     default=True,
                     help_text=
                     'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.',
                     verbose_name='active')),
                ('date_joined',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='date joined')),
                ('uuid',
                 apps.core.models.UUIDField(blank=True,
                                            editable=False,
                                            max_length=32,
                                            primary_key=True,
                                            serialize=False,
                                            unique=True)),
                ('created_date',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Created date')),
                ('last_updated_date',
                 models.DateTimeField(auto_now=True,
                                      verbose_name='Last updated date')),
                ('email',
                 models.EmailField(max_length=100, null=True, unique=True)),
                ('username', models.CharField(max_length=100, unique=True)),
                ('user_type',
                 models.CharField(choices=[('normal', 'normal'),
                                           ('admin', 'admin')],
                                  default='normal',
                                  max_length=100)),
                ('slug', models.SlugField(unique=True)),
                ('photo', models.URLField(blank=True, default='', null=True)),
                ('groups',
                 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_name='user_set',
                     related_query_name='user',
                     to='auth.Group',
                     verbose_name='groups')),
                ('user_permissions',
                 models.ManyToManyField(
                     blank=True,
                     help_text='Specific permissions for this user.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Permission',
                     verbose_name='user permissions')),
            ],
            options={
                'verbose_name': 'User',
            },
        ),
        migrations.CreateModel(
            name='BaseUserProfile',
            fields=[
                ('uuid',
                 apps.core.models.UUIDField(blank=True,
                                            editable=False,
                                            max_length=32,
                                            primary_key=True,
                                            serialize=False,
                                            unique=True)),
                ('created_date',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Created date')),
                ('last_updated_date',
                 models.DateTimeField(auto_now=True,
                                      verbose_name='Last updated date')),
                ('fullname',
                 models.CharField(blank=True,
                                  max_length=20,
                                  null=True,
                                  verbose_name='Fullname')),
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'Profile',
            },
        ),
    ]
Пример #4
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Competition',
            fields=[
                ('uuid',
                 apps.core.models.UUIDField(blank=True,
                                            editable=False,
                                            max_length=32,
                                            primary_key=True,
                                            serialize=False,
                                            unique=True)),
                ('created_date',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Created date')),
                ('last_updated_date',
                 models.DateTimeField(auto_now=True,
                                      verbose_name='Last updated date')),
                ('name',
                 models.CharField(default='OyuSec',
                                  max_length=100,
                                  verbose_name='Name')),
                ('description',
                 models.TextField(default='CTF', verbose_name='Description')),
                ('status',
                 models.CharField(choices=[('coming', 'coming'),
                                           ('archive', 'archive'),
                                           ('live', 'live')],
                                  default='coming',
                                  max_length=100,
                                  verbose_name='Status')),
                ('slug', models.SlugField(unique=True)),
                ('photo',
                 models.URLField(
                     blank=True,
                     default=
                     'https://github.com/OyuTech/Utils/blob/main/oyusec/oyusec.png',
                     null=True)),
                ('rule', models.TextField(default='')),
                ('prize', models.TextField()),
                ('location',
                 models.CharField(default='онлайн',
                                  max_length=100,
                                  verbose_name='Location')),
                ('enrollment',
                 models.CharField(choices=[('solo', 'solo'), ('team', 'team')],
                                  default='solo',
                                  max_length=100,
                                  verbose_name='Enrollment')),
                ('start_date', models.DateTimeField(blank=True)),
                ('end_date', models.DateTimeField(blank=True)),
                ('weight',
                 models.FloatField(default=20.0, verbose_name='Weight')),
            ],
            options={
                'verbose_name': 'Competition',
            },
        ),
        migrations.CreateModel(
            name='CompetitionUser',
            fields=[
                ('uuid',
                 apps.core.models.UUIDField(blank=True,
                                            editable=False,
                                            max_length=32,
                                            primary_key=True,
                                            serialize=False,
                                            unique=True)),
                ('created_date',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Created date')),
                ('last_updated_date',
                 models.DateTimeField(auto_now=True,
                                      verbose_name='Last updated date')),
                ('score',
                 models.PositiveIntegerField(default=0.0,
                                             verbose_name='Score')),
                ('rating', models.FloatField(default=0.0,
                                             verbose_name='Rating')),
                ('place',
                 models.PositiveIntegerField(default=0, verbose_name='Place')),
                ('competition',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='competition.competition')),
            ],
            options={
                'verbose_name': 'Competition User',
            },
        ),
    ]
Пример #5
0
class Migration(migrations.Migration):

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('accounts', '0006_permissions_removed'),
    ]

    operations = [
        migrations.CreateModel(
            name='AdditionalField',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('key', models.SlugField()),
                ('type',
                 models.CharField(choices=[('text', 'Text'),
                                           ('textarea', 'Textarea')],
                                  max_length=11)),
                ('text_en', models.CharField(max_length=256)),
                ('text_de', models.CharField(max_length=256)),
                ('help_en',
                 models.TextField(
                     blank=True,
                     help_text=
                     'Enter a help text to be displayed next to the input element',
                     null=True)),
                ('help_de',
                 models.TextField(
                     blank=True,
                     help_text=
                     'Enter a help text to be displayed next to the input element',
                     null=True)),
                ('required', models.BooleanField()),
            ],
            options={
                'ordering': ('key', ),
                'verbose_name': 'Additional field',
                'verbose_name_plural': 'Additional fields',
            },
            bases=(models.Model, apps.core.models.TranslationMixin),
        ),
        migrations.CreateModel(
            name='AdditionalFieldValue',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('value', models.CharField(max_length=256)),
                ('field',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='+',
                                   to='accounts.AdditionalField')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='additional_fields',
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ('user', 'field'),
                'verbose_name': 'Additional field value',
                'verbose_name_plural': 'Additional field values',
            },
        ),
        migrations.DeleteModel(name='DetailKey', ),
        migrations.RemoveField(
            model_name='profile',
            name='user',
        ),
        migrations.DeleteModel(name='Profile', ),
    ]
Пример #6
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('order', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='AssignedProductAttribute',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
            ],
        ),
        migrations.CreateModel(
            name='AssignedVariantAttribute',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
            ],
        ),
        migrations.CreateModel(
            name='Attribute',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('private_metadata',
                 models.JSONField(
                     blank=True,
                     default=dict,
                     encoder=apps.core.utils.json_serializer.CustomJsonEncoder,
                     null=True)),
                ('metadata',
                 models.JSONField(
                     blank=True,
                     default=dict,
                     encoder=apps.core.utils.json_serializer.CustomJsonEncoder,
                     null=True)),
                ('slug', models.SlugField(max_length=250, unique=True)),
                ('name', models.CharField(max_length=255)),
                ('input_type',
                 models.CharField(choices=[('dropdown', 'Dropdown'),
                                           ('multiselect', 'Multi Select')],
                                  default='dropdown',
                                  max_length=50)),
                ('value_required',
                 models.BooleanField(blank=True, default=False)),
                ('is_variant_only',
                 models.BooleanField(blank=True, default=False)),
                ('visible_in_storefront',
                 models.BooleanField(blank=True, default=True)),
                ('filterable_in_storefront',
                 models.BooleanField(blank=True, default=True)),
                ('filterable_in_dashboard',
                 models.BooleanField(blank=True, default=True)),
                ('storefront_search_position',
                 models.IntegerField(blank=True, default=0)),
                ('available_in_grid',
                 models.BooleanField(blank=True, default=True)),
            ],
            options={
                'ordering': ('storefront_search_position', 'slug'),
            },
        ),
        migrations.CreateModel(
            name='AttributeValue',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('sort_order',
                 models.IntegerField(db_index=True, editable=False,
                                     null=True)),
                ('name', models.CharField(max_length=250)),
                ('value',
                 models.CharField(blank=True, default='', max_length=100)),
                ('slug', models.SlugField(max_length=255)),
                ('attribute',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='values',
                                   to='product.attribute')),
            ],
            options={
                'ordering': ('sort_order', 'id'),
                'unique_together': {('slug', 'attribute')},
            },
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('private_metadata',
                 models.JSONField(
                     blank=True,
                     default=dict,
                     encoder=apps.core.utils.json_serializer.CustomJsonEncoder,
                     null=True)),
                ('metadata',
                 models.JSONField(
                     blank=True,
                     default=dict,
                     encoder=apps.core.utils.json_serializer.CustomJsonEncoder,
                     null=True)),
                ('name', models.CharField(max_length=250)),
                ('slug', models.SlugField(max_length=255, unique=True)),
                ('description', models.TextField(blank=True)),
                ('description_json', models.JSONField(blank=True,
                                                      default=dict)),
                ('background_image',
                 versatileimagefield.fields.VersatileImageField(
                     blank=True, null=True, upload_to='category-backgrounds')),
                ('background_image_alt',
                 models.CharField(blank=True, max_length=128)),
                ('lft', models.PositiveIntegerField(editable=False)),
                ('rght', models.PositiveIntegerField(editable=False)),
                ('tree_id',
                 models.PositiveIntegerField(db_index=True, editable=False)),
                ('level', models.PositiveIntegerField(editable=False)),
                ('parent',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='children',
                                   to='product.category')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Collection',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('publication_date', models.DateField(blank=True, null=True)),
                ('is_published', models.BooleanField(default=False)),
                ('private_metadata',
                 models.JSONField(
                     blank=True,
                     default=dict,
                     encoder=apps.core.utils.json_serializer.CustomJsonEncoder,
                     null=True)),
                ('metadata',
                 models.JSONField(
                     blank=True,
                     default=dict,
                     encoder=apps.core.utils.json_serializer.CustomJsonEncoder,
                     null=True)),
                ('name', models.CharField(max_length=250, unique=True)),
                ('slug', models.SlugField(max_length=255, unique=True)),
                ('background_image',
                 versatileimagefield.fields.VersatileImageField(
                     blank=True, null=True,
                     upload_to='collection-backgrounds')),
                ('background_image_alt',
                 models.CharField(blank=True, max_length=128)),
                ('description', models.TextField(blank=True)),
                ('description_json', models.JSONField(blank=True,
                                                      default=dict)),
            ],
            options={
                'ordering': ('slug', ),
            },
        ),
        migrations.CreateModel(
            name='DigitalContent',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('private_metadata',
                 models.JSONField(
                     blank=True,
                     default=dict,
                     encoder=apps.core.utils.json_serializer.CustomJsonEncoder,
                     null=True)),
                ('metadata',
                 models.JSONField(
                     blank=True,
                     default=dict,
                     encoder=apps.core.utils.json_serializer.CustomJsonEncoder,
                     null=True)),
                ('use_default_settings', models.BooleanField(default=True)),
                ('automatic_fulfillment', models.BooleanField(default=False)),
                ('content_type',
                 models.CharField(choices=[('file', 'digital_product')],
                                  default='file',
                                  max_length=128)),
                ('content_file',
                 models.FileField(blank=True, upload_to='digital_contents')),
                ('max_downloads', models.IntegerField(blank=True, null=True)),
                ('url_valid_days', models.IntegerField(blank=True, null=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Product',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('publication_date', models.DateField(blank=True, null=True)),
                ('is_published', models.BooleanField(default=False)),
                ('private_metadata',
                 models.JSONField(
                     blank=True,
                     default=dict,
                     encoder=apps.core.utils.json_serializer.CustomJsonEncoder,
                     null=True)),
                ('metadata',
                 models.JSONField(
                     blank=True,
                     default=dict,
                     encoder=apps.core.utils.json_serializer.CustomJsonEncoder,
                     null=True)),
                ('name', models.CharField(max_length=250)),
                ('slug', models.SlugField(max_length=255, unique=True)),
                ('description', models.TextField(blank=True)),
                ('description_json',
                 apps.core.models.SanitizedJSONField(
                     blank=True,
                     default=dict,
                     sanitizer=draftjs_sanitizer.clean_draft_js)),
                ('price_amount',
                 models.DecimalField(decimal_places=2, max_digits=12)),
                ('minimal_variant_price_amount',
                 models.DecimalField(decimal_places=2, max_digits=12)),
                ('updated_at', models.DateTimeField(auto_now=True, null=True)),
                ('charge_taxes', models.BooleanField(default=True)),
                ('category',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='products',
                     to='product.category')),
            ],
            options={
                'ordering': ('name', ),
                'permissions': (('manage_products', 'Manage products.'), ),
            },
        ),
        migrations.CreateModel(
            name='ProductImage',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('sort_order',
                 models.IntegerField(db_index=True, editable=False,
                                     null=True)),
                ('image',
                 versatileimagefield.fields.VersatileImageField(
                     upload_to='products')),
                ('ppoi',
                 versatileimagefield.fields.PPOIField(default='0.5x0.5',
                                                      editable=False,
                                                      max_length=20)),
                ('alt', models.CharField(blank=True, max_length=128)),
                ('product',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='images',
                                   to='product.product')),
            ],
            options={
                'ordering': ('sort_order', ),
            },
        ),
        migrations.CreateModel(
            name='ProductType',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('private_metadata',
                 models.JSONField(
                     blank=True,
                     default=dict,
                     encoder=apps.core.utils.json_serializer.CustomJsonEncoder,
                     null=True)),
                ('metadata',
                 models.JSONField(
                     blank=True,
                     default=dict,
                     encoder=apps.core.utils.json_serializer.CustomJsonEncoder,
                     null=True)),
                ('name', models.CharField(max_length=250)),
                ('slug', models.SlugField(max_length=255, unique=True)),
                ('has_variants', models.BooleanField(default=True)),
                ('is_shipping_required', models.BooleanField(default=True)),
                ('is_digital', models.BooleanField(default=False)),
            ],
            options={
                'ordering': ('slug', ),
            },
        ),
        migrations.CreateModel(
            name='ProductVariant',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('private_metadata',
                 models.JSONField(
                     blank=True,
                     default=dict,
                     encoder=apps.core.utils.json_serializer.CustomJsonEncoder,
                     null=True)),
                ('metadata',
                 models.JSONField(
                     blank=True,
                     default=dict,
                     encoder=apps.core.utils.json_serializer.CustomJsonEncoder,
                     null=True)),
                ('sku', models.CharField(max_length=255, unique=True)),
                ('name', models.CharField(blank=True, max_length=255)),
                ('price_override_amount',
                 models.DecimalField(blank=True,
                                     decimal_places=2,
                                     max_digits=12,
                                     null=True)),
                ('track_inventory', models.BooleanField(default=True)),
                ('cost_price_amount',
                 models.DecimalField(blank=True,
                                     decimal_places=2,
                                     max_digits=12,
                                     null=True)),
            ],
            options={
                'ordering': ('sku', ),
            },
        ),
        migrations.CreateModel(
            name='VariantImage',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('image',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='variant_images',
                                   to='product.productimage')),
                ('variant',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='variant_images',
                                   to='product.productvariant')),
            ],
        ),
        migrations.AddField(
            model_name='productvariant',
            name='images',
            field=models.ManyToManyField(through='product.VariantImage',
                                         to='product.ProductImage'),
        ),
        migrations.AddField(
            model_name='productvariant',
            name='product',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='variants',
                to='product.product'),
        ),
        migrations.AddField(
            model_name='product',
            name='product_type',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='products',
                to='product.producttype'),
        ),
        migrations.CreateModel(
            name='DigitalContentUrl',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('token', models.UUIDField(editable=False, unique=True)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('download_num', models.IntegerField(default=0)),
                ('content',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='urls',
                                   to='product.digitalcontent')),
                ('line',
                 models.OneToOneField(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='digital_content_url',
                     to='order.orderline')),
            ],
        ),
        migrations.AddField(
            model_name='digitalcontent',
            name='product_variant',
            field=models.OneToOneField(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='digital_content',
                to='product.productvariant'),
        ),
        migrations.CreateModel(
            name='CollectionProduct',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('sort_order',
                 models.IntegerField(db_index=True, editable=False,
                                     null=True)),
                ('collection',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='collectionproduct',
                                   to='product.collection')),
                ('product',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='collectionproduct',
                                   to='product.product')),
            ],
            options={
                'unique_together': {('collection', 'product')},
            },
        ),
        migrations.AddField(
            model_name='collection',
            name='products',
            field=models.ManyToManyField(blank=True,
                                         related_name='collections',
                                         through='product.CollectionProduct',
                                         to='product.Product'),
        ),
        migrations.CreateModel(
            name='AttributeVariant',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('sort_order',
                 models.IntegerField(db_index=True, editable=False,
                                     null=True)),
                ('assigned_variants',
                 models.ManyToManyField(
                     blank=True,
                     related_name='attributesrelated',
                     through='product.AssignedVariantAttribute',
                     to='product.ProductVariant')),
                ('attribute',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='attributevariant',
                                   to='product.attribute')),
                ('product_type',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='attributevariant',
                                   to='product.producttype')),
            ],
            options={
                'ordering': ('sort_order', ),
                'unique_together': {('attribute', 'product_type')},
            },
        ),
        migrations.CreateModel(
            name='AttributeProduct',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('sort_order',
                 models.IntegerField(db_index=True, editable=False,
                                     null=True)),
                ('assigned_products',
                 models.ManyToManyField(
                     blank=True,
                     related_name='attributesrelated',
                     through='product.AssignedProductAttribute',
                     to='product.Product')),
                ('attribute',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='attributeproduct',
                                   to='product.attribute')),
                ('product_type',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='attributeproduct',
                                   to='product.producttype')),
            ],
            options={
                'ordering': ('sort_order', ),
                'unique_together': {('attribute', 'product_type')},
            },
        ),
        migrations.AddField(
            model_name='attribute',
            name='product_types',
            field=models.ManyToManyField(blank=True,
                                         related_name='product_attributes',
                                         through='product.AttributeProduct',
                                         to='product.ProductType'),
        ),
        migrations.AddField(
            model_name='attribute',
            name='product_variant_types',
            field=models.ManyToManyField(blank=True,
                                         related_name='variant_attributes',
                                         through='product.AttributeVariant',
                                         to='product.ProductType'),
        ),
        migrations.AddField(
            model_name='assignedvariantattribute',
            name='assignment',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='variantassignments',
                to='product.attributevariant'),
        ),
        migrations.AddField(
            model_name='assignedvariantattribute',
            name='values',
            field=models.ManyToManyField(to='product.AttributeValue'),
        ),
        migrations.AddField(
            model_name='assignedvariantattribute',
            name='variant',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='attributes',
                to='product.productvariant'),
        ),
        migrations.AddField(
            model_name='assignedproductattribute',
            name='assignment',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='productassignments',
                to='product.attributeproduct'),
        ),
        migrations.AddField(
            model_name='assignedproductattribute',
            name='product',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='attributes',
                to='product.product'),
        ),
        migrations.AddField(
            model_name='assignedproductattribute',
            name='values',
            field=models.ManyToManyField(to='product.AttributeValue'),
        ),
        migrations.CreateModel(
            name='AttributeValueTranslation',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('language_code', models.CharField(max_length=10)),
                ('name', models.CharField(max_length=100)),
                ('attribute_value',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='translations',
                                   to='product.attributevalue')),
            ],
            options={
                'unique_together': {('language_code', 'attribute_value')},
            },
        ),
        migrations.CreateModel(
            name='AttributeTranslation',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('language_code', models.CharField(max_length=10)),
                ('name', models.CharField(max_length=100)),
                ('attribute',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='translations',
                                   to='product.attribute')),
            ],
            options={
                'unique_together': {('language_code', 'attribute')},
            },
        ),
        migrations.AlterUniqueTogether(
            name='assignedvariantattribute',
            unique_together={('variant', 'assignment')},
        ),
        migrations.AlterUniqueTogether(
            name='assignedproductattribute',
            unique_together={('product', 'assignment')},
        ),
    ]
Пример #7
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('data', '0001_initial'),
        ('auth', '0008_alter_user_username_max_length'),
    ]

    operations = [
        migrations.CreateModel(
            name='Pixeler',
            fields=[
                ('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')),
                ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
                ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')),
                ('last_name', models.CharField(blank=True, max_length=30, verbose_name='last name')),
                ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')),
                ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
                ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
                ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('groups', 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_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),
                ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')),
            ],
            options={
                'verbose_name': 'user',
                'verbose_name_plural': 'users',
                'abstract': False,
            },
            managers=[
                ('objects', django.contrib.auth.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Analysis',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('description', models.TextField(blank=True, verbose_name='Description')),
                ('secondary_data', models.FileField(upload_to=apps.core.models.Analysis.secondary_data_upload_to, verbose_name='Secondary data')),
                ('notebook', models.FileField(blank=True, help_text='Upload your Jupiter Notebook or any other document helping to understand your analysis', upload_to=apps.core.models.Analysis.notebook_upload_to, verbose_name='Notebook')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('saved_at', models.DateTimeField(auto_now=True)),
            ],
            options={
                'verbose_name': 'Analysis',
                'verbose_name_plural': 'Analyses',
            },
        ),
        migrations.CreateModel(
            name='Experiment',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('description', models.TextField(blank=True, verbose_name='Description')),
                ('released_at', models.DateField(verbose_name='Release date')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('saved_at', models.DateTimeField(auto_now=True)),
                ('entries', models.ManyToManyField(related_name='experiments', related_query_name='experiment', to='data.Entry')),
            ],
            options={
                'verbose_name': 'Experiment',
                'verbose_name_plural': 'Experiments',
            },
        ),
        migrations.CreateModel(
            name='OmicsArea',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('name', models.CharField(max_length=100, unique=True, verbose_name='Name')),
                ('description', models.TextField(blank=True, verbose_name='Description')),
                ('lft', models.PositiveIntegerField(db_index=True, editable=False)),
                ('rght', models.PositiveIntegerField(db_index=True, editable=False)),
                ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)),
                ('level', models.PositiveIntegerField(db_index=True, editable=False)),
                ('parent', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='core.OmicsArea')),
            ],
            options={
                'verbose_name': 'Omics area',
                'verbose_name_plural': 'Omics areas',
            },
        ),
        migrations.CreateModel(
            name='OmicsUnit',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('status', models.PositiveSmallIntegerField(choices=[(1, 'Dubious'), (2, 'Exists'), (3, 'Invalid'), (4, 'Validated')], default=1, verbose_name='Status')),
                ('reference', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='data.Entry')),
            ],
            options={
                'verbose_name': 'Omics Unit',
                'verbose_name_plural': 'Omics Units',
            },
        ),
        migrations.CreateModel(
            name='OmicsUnitType',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('name', models.CharField(max_length=100, unique=True, verbose_name='Name')),
                ('description', models.TextField(blank=True, verbose_name='Description')),
            ],
            options={
                'verbose_name': 'Omics unit type',
                'verbose_name_plural': 'Omics unit types',
            },
        ),
        migrations.CreateModel(
            name='Pixel',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('value', models.FloatField(help_text='The pixel value', verbose_name='Value')),
                ('quality_score', models.FloatField(blank=True, help_text='Could be a p-value, confidence index, etc.', null=True, verbose_name='Quality score')),
                ('analysis', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pixels', related_query_name='pixel', to='core.Analysis')),
                ('omics_unit', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pixels', related_query_name='pixel', to='core.OmicsUnit')),
            ],
            options={
                'verbose_name': 'Pixel',
                'verbose_name_plural': 'Pixels',
            },
        ),
        migrations.CreateModel(
            name='Species',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('name', models.CharField(max_length=100, unique=True, verbose_name='Name')),
                ('description', models.TextField(blank=True, verbose_name='Description')),
                ('reference', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='species', related_query_name='species', to='data.Entry')),
            ],
            options={
                'verbose_name': 'Species',
                'verbose_name_plural': 'Species',
            },
        ),
        migrations.CreateModel(
            name='Strain',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('name', models.CharField(max_length=100, verbose_name='Name')),
                ('description', models.TextField(blank=True, verbose_name='Description')),
                ('species', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='strains', related_query_name='strain', to='core.Species')),
            ],
            options={
                'verbose_name': 'Strain',
                'verbose_name_plural': 'Strains',
            },
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255, unique=True)),
                ('slug', models.SlugField()),
                ('count', models.IntegerField(default=0, help_text='Internal counter of how many times this tag is in use')),
                ('protected', models.BooleanField(default=False, help_text='Will not be deleted when the count reaches 0')),
            ],
            options={
                'ordering': ('name',),
                'abstract': False,
            },
            bases=(tagulous.models.models.BaseTagModel, models.Model),
        ),
        migrations.AlterUniqueTogether(
            name='tag',
            unique_together=set([('slug',)]),
        ),
        migrations.AddField(
            model_name='omicsunit',
            name='strain',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='omics_units', related_query_name='omics_unit', to='core.Strain'),
        ),
        migrations.AddField(
            model_name='omicsunit',
            name='type',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='omics_units', related_query_name='omics_unit', to='core.OmicsUnitType'),
        ),
        migrations.AddField(
            model_name='experiment',
            name='omics_area',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='experiments', related_query_name='experiment', to='core.OmicsArea'),
        ),
        migrations.AddField(
            model_name='experiment',
            name='tags',
            field=tagulous.models.fields.TagField(_set_tag_meta=True, help_text='Enter a comma-separated tag string', to='core.Tag'),
        ),
        migrations.AddField(
            model_name='analysis',
            name='experiments',
            field=models.ManyToManyField(related_name='analyses', related_query_name='analysis', to='core.Experiment'),
        ),
        migrations.AddField(
            model_name='analysis',
            name='pixeler',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='analyses', related_query_name='analysis', to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='analysis',
            name='tags',
            field=tagulous.models.fields.TagField(_set_tag_meta=True, help_text='Enter a comma-separated tag string', to='core.Tag'),
        ),
        migrations.AlterUniqueTogether(
            name='strain',
            unique_together=set([('name', 'species')]),
        ),
        migrations.AlterUniqueTogether(
            name='omicsunit',
            unique_together=set([('reference', 'strain', 'type')]),
        ),
    ]
Пример #8
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Academy',
            fields=[
                ('uuid',
                 apps.core.models.UUIDField(blank=True,
                                            editable=False,
                                            max_length=32,
                                            primary_key=True,
                                            serialize=False,
                                            unique=True)),
                ('created_date',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Created date')),
                ('last_updated_date',
                 models.DateTimeField(auto_now=True,
                                      verbose_name='Last updated date')),
                ('name',
                 models.CharField(max_length=100,
                                  unique=True,
                                  verbose_name='Name')),
                ('description',
                 models.TextField(default='CTF', verbose_name='Description')),
                ('status',
                 models.CharField(choices=[('coming', 'coming'),
                                           ('archive', 'archive'),
                                           ('live', 'live')],
                                  default='live',
                                  max_length=100,
                                  verbose_name='Status')),
                ('slug', models.SlugField(unique=True)),
                ('photo',
                 models.URLField(
                     blank=True,
                     default=
                     'https://github.com/OyuTech/Utils/blob/main/oyusec/oyusec.png',
                     null=True)),
                ('category',
                 models.CharField(choices=[
                     ('Capture The Flag', 'Capture The Flag'),
                     ('Сүлжээний аюулгүй байдал', 'Сүлжээний аюулгүй байдал'),
                     ('Веб аюулгүй байдал', 'Веб аюулгүй байдал'),
                     ('Аюулгүй кодчилол', 'Аюулгүй кодчилол')
                 ],
                                  default='Capture The Flag',
                                  max_length=100,
                                  verbose_name='Category')),
            ],
            options={
                'verbose_name': 'Academy',
            },
        ),
        migrations.CreateModel(
            name='AcademyUser',
            fields=[
                ('uuid',
                 apps.core.models.UUIDField(blank=True,
                                            editable=False,
                                            max_length=32,
                                            primary_key=True,
                                            serialize=False,
                                            unique=True)),
                ('created_date',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Created date')),
                ('last_updated_date',
                 models.DateTimeField(auto_now=True,
                                      verbose_name='Last updated date')),
            ],
            options={
                'verbose_name': 'Academy User',
            },
        ),
        migrations.CreateModel(
            name='Section',
            fields=[
                ('uuid',
                 apps.core.models.UUIDField(blank=True,
                                            editable=False,
                                            max_length=32,
                                            primary_key=True,
                                            serialize=False,
                                            unique=True)),
                ('created_date',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Created date')),
                ('last_updated_date',
                 models.DateTimeField(auto_now=True,
                                      verbose_name='Last updated date')),
                ('name', models.CharField(max_length=100,
                                          verbose_name='Name')),
                ('content',
                 models.TextField(blank=True,
                                  null=True,
                                  verbose_name='Content')),
                ('question',
                 models.CharField(blank=True,
                                  max_length=100,
                                  null=True,
                                  verbose_name='Question')),
                ('answer',
                 models.CharField(blank=True,
                                  max_length=100,
                                  null=True,
                                  verbose_name='Answer')),
                ('point',
                 models.PositiveIntegerField(default=0, verbose_name='Point')),
                ('hint',
                 models.CharField(blank=True,
                                  max_length=100,
                                  null=True,
                                  verbose_name='Hint')),
            ],
            options={
                'verbose_name': 'Section',
            },
        ),
        migrations.CreateModel(
            name='SectionUser',
            fields=[
                ('uuid',
                 apps.core.models.UUIDField(blank=True,
                                            editable=False,
                                            max_length=32,
                                            primary_key=True,
                                            serialize=False,
                                            unique=True)),
                ('created_date',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Created date')),
                ('last_updated_date',
                 models.DateTimeField(auto_now=True,
                                      verbose_name='Last updated date')),
                ('is_completed', models.BooleanField(default=False)),
                ('section',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='academy.section')),
            ],
            options={
                'verbose_name': 'Section User',
            },
        ),
    ]
Пример #9
0
class Migration(migrations.Migration):
    initial = True

    operations = [
        migrations.CreateModel(
            name='DepositTransaction',
            fields=[
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('dash_address',
                 models.CharField(
                     max_length=35,
                     validators=[apps.core.validators.dash_address_validator
                                 ])),
                ('id',
                 models.UUIDField(default=uuid.uuid4,
                                  editable=False,
                                  primary_key=True,
                                  serialize=False)),
                ('dash_to_transfer',
                 models.DecimalField(decimal_places=8, max_digits=16)),
                ('state',
                 models.PositiveSmallIntegerField(choices=[
                     (1,
                      'Initiated. Send {dash_to_transfer} DASH to {dash_address}'
                      ),
                     (2,
                      'Received {dash_to_transfer} DASH. Waiting for {confirmations_number} confirmations'
                      ),
                     (3,
                      'Confirmed receiving {dash_to_transfer} DASH. Initiated an outgoing transaction'
                      ),
                     (4,
                      'Transaction is processed. Hash of a Ripple transaction is {outgoing_ripple_transaction_hash}'
                      ),
                     (5,
                      'Time expired. Transactions to {dash_address} are no longer tracked'
                      ),
                     (6,
                      'Transaction failed. Please contact our support team'),
                     (7,
                      'The ripple account {ripple_address} does not trust our gateway. Please set a trust line to {gateway_ripple_address}'
                      )
                 ],
                                                  default=1)),
                ('ripple_address',
                 models.CharField(
                     max_length=35,
                     validators=[
                         apps.core.validators.ripple_address_validator
                     ])),
                ('outgoing_ripple_transaction_hash',
                 models.CharField(blank=True, max_length=64)),
            ],
            options={
                'abstract': False,
            },
            bases=(models.Model, apps.core.models.TransactionStates),
        ),
        migrations.CreateModel(
            name='DepositTransactionStateChange',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('datetime', models.DateTimeField(auto_now_add=True)),
                ('current_state', models.CharField(max_length=500)),
                ('transaction',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='state_changes',
                                   to='core.DepositTransaction')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='GatewaySettings',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('gateway_fee_percent',
                 models.DecimalField(
                     decimal_places=2,
                     default=0,
                     max_digits=5,
                     validators=[
                         django.core.validators.MinValueValidator(0),
                         django.core.validators.MaxValueValidator(100)
                     ],
                     verbose_name='Gateway fee (percentage)')),
                ('max_dash_miner_fee',
                 models.DecimalField(
                     decimal_places=8,
                     default=Decimal('0.1'),
                     help_text=
                     'This value is used to calculate amount that is sent in withdrawal transactions. <b>It should be the same as <code>maxtxfee</code> of your Dash node.</b>',
                     max_digits=16,
                     validators=[django.core.validators.MinValueValidator(0)],
                     verbose_name='Dash - maximal miner fee')),
                ('dash_required_confirmations',
                 models.PositiveIntegerField(
                     default=6, verbose_name='Dash - minimal confirmations')),
                ('transaction_expiration_minutes',
                 models.PositiveIntegerField(
                     default=60,
                     verbose_name='Transaction expiration (minutes)')),
            ],
            options={
                'verbose_name': 'Gateway Settings',
            },
        ),
        migrations.CreateModel(
            name='Page',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('slug', models.SlugField(max_length=300, unique=True)),
                ('title', models.CharField(max_length=200,
                                           verbose_name='Title')),
                ('description',
                 models.TextField(blank=True, verbose_name='Description')),
            ],
            options={
                'ordering': ('-title', ),
            },
        ),
        migrations.CreateModel(
            name='RippleWalletCredentials',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('address',
                 models.CharField(
                     max_length=35,
                     validators=[
                         apps.core.validators.ripple_address_validator
                     ],
                     verbose_name='Address')),
                ('secret',
                 encrypted_fields.fields.EncryptedCharField(
                     max_length=29, verbose_name='Secret key')),
            ],
            options={
                'verbose_name': 'Ripple Wallet Credentials',
            },
        ),
        migrations.CreateModel(
            name='WithdrawalTransaction',
            fields=[
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('dash_address',
                 models.CharField(
                     max_length=35,
                     validators=[apps.core.validators.dash_address_validator
                                 ])),
                ('id',
                 models.BigAutoField(primary_key=True,
                                     serialize=False,
                                     verbose_name='ID')),
                ('dash_to_transfer',
                 models.DecimalField(decimal_places=8,
                                     max_digits=16,
                                     validators=[
                                         apps.core.validators.
                                         withdrawal_min_dash_amount_validator
                                     ])),
                ('state',
                 models.PositiveSmallIntegerField(choices=[
                     (1,
                      'Initiated. Send {dash_to_transfer} Dash tokens to {ripple_address} with a destination tag {destination_tag}'
                      ),
                     (3,
                      'Received {dash_to_transfer} Dash tokens. Initiated an outgoing transaction'
                      ),
                     (4,
                      'Transaction is processed. Hash of a Dash transaction is {outgoing_dash_transaction_hash}'
                      ),
                     (5,
                      'Time expired. Transactions with the destination tag {destination_tag} are no longer tracked'
                      ),
                     (6, 'Transaction failed. Please contact our support team')
                 ],
                                                  default=1)),
                ('outgoing_dash_transaction_hash',
                 models.CharField(blank=True, max_length=64)),
            ],
            options={
                'abstract': False,
            },
            bases=(models.Model, apps.core.models.TransactionStates),
        ),
        migrations.CreateModel(
            name='WithdrawalTransactionStateChange',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('datetime', models.DateTimeField(auto_now_add=True)),
                ('current_state', models.CharField(max_length=500)),
                ('transaction',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='state_changes',
                                   to='core.WithdrawalTransaction')),
            ],
            options={
                'abstract': False,
            },
        ),
    ]