Beispiel #1
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Upload',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('password', models.CharField(default=core.models.generate_upload_password, max_length=32)),
                ('file', models.FileField(blank=True, null=True, upload_to='uploads/')),
                ('url', models.URLField(blank=True, null=True)),
                ('successful_attempts', models.IntegerField(default=0)),
                ('failed_attempts', models.IntegerField(default=0)),
                ('expires_at', models.DateTimeField(default=core.models.generate_expiry_datetime)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
            ],
        ),
        migrations.CreateModel(
            name='UserAgent',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('value', models.TextField()),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='last_user_agent', to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
Beispiel #2
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Gig',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=300)),
                ('description', models.TextField()),
                ('url', models.URLField(default='https://www.testvid.com')),
                ('scheduled_time', models.DateTimeField(default=core.models.add_datetime)),
                ('is_active', models.BooleanField()),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.RESTRICT, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Ticket',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('gig', models.ForeignKey(on_delete=django.db.models.deletion.RESTRICT, to='core.gig')),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.RESTRICT, to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
Beispiel #3
0
class Migration(migrations.Migration):

    dependencies = [
        ('core', '0002_auto_20180411_1534'),
    ]

    operations = [
        migrations.CreateModel(
            name='ReviewedLink',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('url', models.URLField(max_length=250)),
                ('created', models.DateTimeField(auto_now_add=True)),
            ],
        ),
        migrations.AlterField(
            model_name='post',
            name='difficulty_level',
            field=models.ForeignKey(default=2,
                                    on_delete='SET_DEFAULT',
                                    to='core.DifficultyLevel'),
        ),
        migrations.AlterField(
            model_name='post',
            name='publish',
            field=models.DateTimeField(default=core.models.default_start_time),
        ),
    ]
Beispiel #4
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=50, null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('modified_at', models.DateTimeField(auto_now=True)),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name_plural': 'categories',
                'ordering': ('-created_at', ),
                'unique_together': {('name', 'user')},
            },
        ),
        migrations.CreateModel(
            name='Site',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('url', models.URLField(verbose_name='Site URL')),
                ('image_path', models.CharField(max_length=300)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('modified_at', models.DateTimeField(auto_now=True)),
                ('deadline',
                 models.DateTimeField(blank=True,
                                      default=core.models.default_date)),
                ('expired', models.BooleanField(default=False)),
                ('category',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='categories',
                                   to='core.Category')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ('-modified_at', ),
                'unique_together': {('user', 'url')},
            },
        ),
    ]
Beispiel #5
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Arching_Tag',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50)),
            ],
        ),
        migrations.CreateModel(
            name='Quote',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('words', models.CharField(max_length=250)),
                ('author', models.CharField(max_length=100)),
            ],
        ),
        migrations.CreateModel(
            name='Tag_Type',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50)),
            ],
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50)),
                ('tag_type', models.ManyToManyField(to='core.Tag_Type')),
            ],
        ),
        migrations.CreateModel(
            name='Organization',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
                ('street', models.CharField(max_length=300)),
                ('city', models.CharField(max_length=100)),
                ('zipcode', models.CharField(max_length=5)),
                ('description', models.CharField(max_length=1000)),
                ('website', models.URLField(max_length=500)),
                ('phone_number', models.CharField(max_length=12)),
                ('email', models.EmailField(max_length=254)),
                ('org_image', models.ImageField(blank=True, null=True, upload_to=core.models.get_image_path)),
                ('contact_phone_number', models.CharField(max_length=12)),
                ('contact_email', models.EmailField(max_length=254)),
                ('contact_image', models.ImageField(blank=True, null=True, upload_to=core.models.get_image_path)),
                ('overall_tags', models.ManyToManyField(to='core.Arching_Tag')),
                ('tags', models.ManyToManyField(to='core.Tag')),
            ],
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('core', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='assignment',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('content_url', models.URLField()),
                ('due_date', models.DateTimeField(default=core.models.return_date_time)),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('client', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'Client',
                'verbose_name_plural': 'clientele',
                'ordering': ['-timestamp', '-updated'],
            },
        ),
        migrations.CreateModel(
            name='clientele',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('business_url', models.URLField()),
                ('business_type', models.CharField(choices=[('Blog', 'blog'), ('Youtube', 'youtube'), ('Local Business', 'local_business'), ('Other', 'other')], default='Blog', max_length=20)),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('client', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'Client',
                'verbose_name_plural': 'clientele',
                'ordering': ['-timestamp', '-updated'],
            },
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('core', '0002_auto_20200423_2105'),
    ]

    operations = [
        migrations.CreateModel(
            name='BotAplication',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(default='Bot App', max_length=160)),
                ('bot_application_url',
                 models.URLField(blank=True,
                                 help_text='Coloca sólo el endpoint',
                                 null=True,
                                 verbose_name='URL del bot')),
                ('vertical_position',
                 models.CharField(choices=[('top', 'Top'),
                                           ('bottom', 'Bottom')],
                                  default='bottom',
                                  max_length=15,
                                  verbose_name='Posición vertical')),
                ('horizontal_position',
                 models.CharField(choices=[('right', 'Right'),
                                           ('left', 'Left')],
                                  default='right',
                                  max_length=15,
                                  verbose_name='Posición Horizontal')),
                ('button_icon',
                 models.ImageField(
                     help_text=
                     'Formatos ico, jpg, png o gif. Relación de aspecto 1:1',
                     upload_to=core.models.bot_custom_upload_to,
                     verbose_name='Ícono')),
                ('width', models.IntegerField(default=350,
                                              verbose_name='Ancho')),
                ('height', models.IntegerField(default=500,
                                               verbose_name='Alto')),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
            ],
            options={
                'verbose_name': 'Bot Application',
                'verbose_name_plural': 'Bot Application',
            },
        ),
    ]
Beispiel #8
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Repo',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=150, verbose_name='name')),
                ('token', models.CharField(blank=True, max_length=150, null=True, verbose_name='token')),
                ('private', models.BooleanField(default=False, verbose_name='private')),
                ('url', models.URLField(max_length=250, verbose_name='url')),
                ('comment', models.CharField(blank=True, max_length=1000, null=True, verbose_name='comment')),
            ],
            options={
                'verbose_name': 'репозиторий',
                'verbose_name_plural': 'репозитории',
            },
        ),
        migrations.CreateModel(
            name='TaskModel',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('lastrunned', models.DateTimeField(editable=False, verbose_name='lastrunned')),
                ('taskname', models.CharField(max_length=50, verbose_name='taskname')),
            ],
            options={
                'verbose_name': 'запуск',
                'verbose_name_plural': 'запуски',
            },
        ),
        migrations.CreateModel(
            name='Backup',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('file', models.FileField(upload_to=core.models.get_file_path, verbose_name='backup')),
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='created')),
                ('repo', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='core.repo')),
                ('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.taskmodel')),
            ],
            options={
                'verbose_name': 'бэкап',
                'verbose_name_plural': 'бэкапы',
            },
        ),
    ]
Beispiel #9
0
class Migration(migrations.Migration):

    dependencies = [
        ('auth', '0009_alter_user_last_name_max_length'),
        ('core', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Activation',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('valid_until', models.DateTimeField(verbose_name='Дата окончания действия ссылки активации')),
                ('url', models.URLField(verbose_name='Ссылка')),
            ],
        ),
        migrations.CreateModel(
            name='Profile',
            fields=[
                ('user_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to=settings.AUTH_USER_MODEL)),
                ('avatar', models.ImageField(blank=True, null=True, upload_to=core.models.get_profile_image_path, verbose_name='Аватар')),
                ('activation', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.Activation', verbose_name='Активация')),
            ],
            options={
                'verbose_name': 'user',
                'verbose_name_plural': 'account',
                'abstract': False,
            },
            bases=('auth.user',),
            managers=[
                ('objects', django.contrib.auth.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='SiteSettings',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('activation_url_preiod', models.SmallIntegerField(default=100, verbose_name='Срок действия ссылки на активацию, ч.')),
                ('default_user_image', models.ImageField(blank=True, null=True, upload_to='', verbose_name='Аватар пользователя по умолчанию')),
            ],
            options={
                'verbose_name': 'Настройки сайта',
            },
        ),
        migrations.DeleteModel(
            name='Person',
        ),
    ]
Beispiel #10
0
class Migration(migrations.Migration):

    dependencies = [
        ('events', '0007_auto_20170129_2041'),
    ]

    operations = [
        migrations.AlterField(
            model_name='sponsoredevent',
            name='abstract',
            field=core.models.EAWTextField(max_length=1000,
                                           verbose_name='abstract'),
        ),
        migrations.AlterField(
            model_name='sponsoredevent',
            name='detailed_description',
            field=models.TextField(blank=True,
                                   verbose_name='detailed description'),
        ),
        migrations.AlterField(
            model_name='sponsoredevent',
            name='python_level',
            field=models.CharField(choices=[('NOVICE', 'Novice'),
                                            ('INTERMEDIATE', 'Intermediate'),
                                            ('EXPERIENCED', 'Experienced')],
                                   max_length=12,
                                   verbose_name='Python level'),
        ),
        migrations.AlterField(
            model_name='sponsoredevent',
            name='recording_policy',
            field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No')],
                                      default=True,
                                      verbose_name='recording policy'),
        ),
        migrations.AlterField(
            model_name='sponsoredevent',
            name='slide_link',
            field=models.URLField(blank=True,
                                  default='',
                                  verbose_name='slide link'),
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Portada',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('image', models.ImageField(blank=True, upload_to=core.models.portada_custom_upload_to, verbose_name='Imagen')),
                ('title', models.CharField(max_length=150, verbose_name='Título')),
                ('subtitle', models.CharField(max_length=150, verbose_name='Subtítulo')),
                ('link', models.URLField(blank=True, verbose_name='Link de la portada')),
                ('link_text', models.CharField(max_length=16, verbose_name='Texto del botón')),
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='Creado')),
                ('updated', models.DateTimeField(auto_now=True, verbose_name='Actualizado')),
            ],
            options={
                'verbose_name': 'Inicio',
                'verbose_name_plural': 'Inicio',
                'ordering': ['-created'],
            },
        ),
        migrations.CreateModel(
            name='Noticia',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=150, verbose_name='Título')),
                ('subtitle', models.CharField(max_length=150, verbose_name='Subtítulo')),
                ('content', models.TextField(verbose_name='Contenido')),
                ('image', models.ImageField(upload_to=core.models.noticias_custom_upload_to, verbose_name='Imagen')),
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='Creado')),
                ('updated', models.DateTimeField(auto_now=True, verbose_name='Actualizado')),
                ('home', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Portada')),
            ],
            options={
                'ordering': ['-created'],
            },
        ),
    ]
Beispiel #12
0
class Migration(migrations.Migration):

    dependencies = [
        ('core', '0012_auto_20180219_2024'),
    ]

    operations = [
        migrations.AlterModelOptions(
            name='sitesettings',
            options={'verbose_name': 'Настройки сайта'},
        ),
        migrations.AlterField(
            model_name='activation',
            name='url',
            field=models.URLField(verbose_name='Ссылка'),
        ),
        migrations.AlterField(
            model_name='activation',
            name='valid_until',
            field=models.DateTimeField(verbose_name='Ссылка активна до'),
        ),
        migrations.AlterField(
            model_name='profile',
            name='activation',
            field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.Activation', verbose_name='Активация'),
        ),
        migrations.AlterField(
            model_name='profile',
            name='avatar',
            field=models.ImageField(blank=True, null=True, upload_to=core.models.get_profile_image_path, verbose_name='Аватар'),
        ),
        migrations.AlterField(
            model_name='sitesettings',
            name='activation_url_preiod',
            field=models.SmallIntegerField(default=100, verbose_name='Время действия ссылки, ч'),
        ),
        migrations.AlterField(
            model_name='sitesettings',
            name='default_user_image',
            field=models.ImageField(blank=True, null=True, upload_to='', verbose_name='Аватар по-умолчанию'),
        ),
    ]
Beispiel #13
0
class Migration(migrations.Migration):

    dependencies = [
        ('sponsors', '0017_merge_20200225_1431'),
    ]

    operations = [
        migrations.CreateModel(
            name='OpenRole',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=100,
                                  verbose_name='open role name')),
                ('description',
                 models.TextField(verbose_name='open role descsription')),
                ('description_zh_hant',
                 models.TextField(null=True,
                                  verbose_name='open role descsription')),
                ('description_en_us',
                 models.TextField(null=True,
                                  verbose_name='open role descsription')),
                ('url',
                 models.URLField(blank=True,
                                 max_length=255,
                                 verbose_name='open role URL')),
                ('sponsor',
                 core.models.BigForeignKey(
                     on_delete=django.db.models.deletion.CASCADE,
                     to='sponsors.Sponsor',
                     verbose_name='sponsor')),
            ],
            options={
                'verbose_name': 'open role',
                'verbose_name_plural': 'open Roles',
            },
        ),
    ]
Beispiel #14
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Url',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('label', models.CharField(help_text='Custom label for url.', max_length=255)),
                ('uid', models.UUIDField(default=core.utils.short_url, editable=False, help_text='Short url identifier.', unique=True)),
                ('url', models.URLField(help_text='Destination url.')),
                ('custom_id', models.CharField(help_text='Custom short url identifier.', max_length=255, unique=True)),
                ('user', models.ForeignKey(on_delete=models.SET(core.models.get_sentinel_user), to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
class Migration(migrations.Migration):

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

    operations = [
        migrations.CreateModel(
            name='safasf',
            fields=[
                ('shorten_hash',
                 models.CharField(
                     default=core.models.get_random_alphanumeric_string,
                     max_length=16,
                     primary_key=True,
                     serialize=False,
                     unique=True)),
                ('target_url', models.URLField(blank=True)),
            ],
        ),
        migrations.DeleteModel(name='url', ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Mail',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('street', models.CharField(max_length=100, verbose_name='Street Address')),
                ('city', models.CharField(max_length=100)),
                ('state', models.CharField(max_length=2)),
                ('zip', models.CharField(max_length=5, verbose_name='ZIP Code')),
            ],
        ),
        migrations.CreateModel(
            name='Registration',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('first_name', models.CharField(max_length=100, verbose_name='First Name')),
                ('last_name', models.CharField(max_length=100, verbose_name='Last Name')),
                ('zip', models.CharField(max_length=5, validators=[core.models.validate_zip], verbose_name='ZIP Code')),
            ],
        ),
        migrations.CreateModel(
            name='Zip',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('zip', models.CharField(max_length=5)),
                ('state', models.CharField(max_length=2)),
                ('mail_only', models.BooleanField()),
                ('link', models.URLField()),
            ],
        ),
    ]
Beispiel #17
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0011_update_proxy_permissions'),
    ]

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('password', models.CharField(max_length=128, verbose_name='password')),
                ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
                ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
                ('email', models.EmailField(max_length=255, unique=True)),
                ('name', models.CharField(max_length=255)),
                ('user_role', models.CharField(blank=True, default='client', max_length=20, null=True)),
                ('is_active', models.BooleanField(default=True)),
                ('is_staff', models.BooleanField(default=False)),
                ('is_user_manager', models.BooleanField(default=False)),
                ('login_attempt_count', models.PositiveSmallIntegerField(default=0)),
                ('is_locked', models.BooleanField(default=False)),
                ('avatar', models.ImageField(blank=True, null=True, upload_to=core.models.avatar_upload_path)),
                ('avatar_url', models.URLField(blank=True, max_length=1024, null=True)),
                ('provider', models.CharField(default='native', max_length=32)),
                ('phone', models.CharField(max_length=32)),
                ('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={
                'abstract': False,
            },
        ),
    ]
Beispiel #18
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0009_alter_user_last_name_max_length'),
    ]

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('password',
                 models.CharField(max_length=128, verbose_name='password')),
                ('last_login',
                 models.DateTimeField(blank=True,
                                      null=True,
                                      verbose_name='last login')),
                ('is_superuser',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates that this user has all permissions without explicitly assigning them.',
                     verbose_name='superuser status')),
                ('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=150,
                                  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')),
                ('user_type',
                 models.PositiveSmallIntegerField(blank=True,
                                                  choices=[(1, 'Trainee'),
                                                           (2,
                                                            'Industry Expert'),
                                                           (4, 'Teacher'),
                                                           (3, 'Moderator'),
                                                           (4, 'SubMentor')],
                                                  null=True)),
                ('is_approved', models.BooleanField(default=False)),
                ('has_paid_subscription', models.BooleanField(default=False)),
                ('date_of_birth', models.DateField(blank=True, null=True)),
                ('bio',
                 models.CharField(
                     blank=True,
                     max_length=2000,
                     null=True,
                     validators=[
                         django.core.validators.MinLengthValidator(100)
                     ])),
                ('profile_picture',
                 models.ImageField(blank=True,
                                   default='default_profile_pic.jpg',
                                   null=True,
                                   upload_to=core.models.profile_media_path)),
                ('signup_completed', models.BooleanField(default=False)),
                ('referral_code',
                 models.CharField(blank=True, max_length=100, null=True)),
            ],
            options={
                'verbose_name': 'user',
                'verbose_name_plural': 'users',
                'abstract': False,
            },
            managers=[
                ('objects', django.contrib.auth.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Answer',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('answer_text', models.TextField(max_length=5000)),
                ('answer_attachment_files',
                 models.FileField(blank=True,
                                  null=True,
                                  upload_to=core.models.answer_media_path)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('answer_accepted', models.BooleanField(default=False)),
            ],
        ),
        migrations.CreateModel(
            name='AnswerChoice',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('answer_choice_text', models.CharField(max_length=100)),
                ('answer_choice_correct', models.BooleanField(default=False)),
            ],
        ),
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('course_name', models.CharField(max_length=100)),
                ('course_picture',
                 models.ImageField(
                     blank=True,
                     default='default_course_pic.jpg',
                     null=True,
                     upload_to=core.models.course_picture_media_path)),
                ('course_about', models.CharField(max_length=5000)),
                ('course_prerequisite',
                 models.CharField(default='None', max_length=5000)),
                ('course_difficulty',
                 models.IntegerField(
                     default=1,
                     validators=[
                         django.core.validators.MinValueValidator(1),
                         django.core.validators.MaxValueValidator(5)
                     ])),
                ('course_progress', models.IntegerField(default=1)),
                ('course_duration',
                 models.DurationField(blank=True, default=0, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='Exam',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('exam_name', models.CharField(max_length=100)),
                ('exam_number',
                 models.IntegerField(
                     blank=True,
                     default=1,
                     null=True,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('exam_file',
                 models.FileField(blank=True,
                                  null=True,
                                  upload_to=core.models.exam_media_path)),
            ],
        ),
        migrations.CreateModel(
            name='ExamSubmission',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('exam_submission_file',
                 models.FileField(
                     blank=True,
                     null=True,
                     upload_to=core.models.exam_submission_media_path)),
                ('exam_score', models.FloatField(default=0)),
                ('exam',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='examsubmissions',
                                   to='core.Exam')),
            ],
        ),
        migrations.CreateModel(
            name='Lesson',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('lesson_name', models.CharField(max_length=100)),
                ('lesson_number',
                 models.IntegerField(
                     blank=True,
                     default=1,
                     null=True,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('lesson_file',
                 models.URLField(default='https://youtu.be/3tgz4EM7ItE')),
                ('is_paid', models.BooleanField(default=False)),
            ],
        ),
        migrations.CreateModel(
            name='Module',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('module_name', models.CharField(max_length=100)),
                ('module_about', models.CharField(max_length=5000)),
                ('module_number',
                 models.IntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('module_progress', models.IntegerField(default=1)),
                ('module_duration', models.DurationField(blank=True,
                                                         null=True)),
                ('course',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='modules',
                                   to='core.Course')),
            ],
        ),
        migrations.CreateModel(
            name='Project',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('project_name', models.CharField(max_length=100)),
                ('project_picture',
                 models.ImageField(
                     blank=True,
                     default='default_project_pic.jpg',
                     null=True,
                     upload_to=core.models.project_picture_media_path)),
                ('project_about', models.CharField(max_length=5000)),
                ('project_prerequisite',
                 models.CharField(default='None', max_length=5000)),
                ('project_difficulty',
                 models.IntegerField(
                     default=1,
                     validators=[
                         django.core.validators.MinValueValidator(1),
                         django.core.validators.MaxValueValidator(5)
                     ])),
                ('project_duration',
                 models.DurationField(blank=True, default=0, null=True)),
                ('project_file',
                 models.FileField(blank=True,
                                  null=True,
                                  upload_to=core.models.project_media_path)),
                ('is_capstone',
                 models.BooleanField(default=False,
                                     verbose_name='Capstone Project')),
            ],
        ),
        migrations.CreateModel(
            name='ProjectSubmission',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('project_submission_file',
                 models.FileField(
                     blank=True,
                     null=True,
                     upload_to=core.models.project_submission_media_path)),
                ('project_score', models.FloatField(default=0)),
                ('project',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='projectsubmissions',
                                   to='core.Project')),
            ],
        ),
        migrations.CreateModel(
            name='Query',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('query_title', models.CharField(max_length=100)),
                ('query_text', models.TextField(max_length=5000)),
                ('query_attachment_files',
                 models.FileField(blank=True,
                                  null=True,
                                  upload_to=core.models.query_media_path)),
                ('query_solved', models.BooleanField(default=False)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('last_active', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'verbose_name_plural': 'Queries',
            },
            bases=(models.Model, hitcount.models.HitCountMixin),
        ),
        migrations.CreateModel(
            name='Question',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('question_type',
                 models.PositiveSmallIntegerField(blank=True,
                                                  choices=[(1, 'IQ'),
                                                           (2,
                                                            'Verbal Ability')],
                                                  null=True)),
                ('question_text', models.CharField(max_length=5000)),
            ],
        ),
        migrations.CreateModel(
            name='Referral_Mentor',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('referral_count',
                 models.PositiveIntegerField(blank=True, default=0,
                                             null=True)),
                ('referral_code',
                 models.CharField(blank=True, max_length=100, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='Referral_SubMentor',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('referral_count',
                 models.PositiveIntegerField(blank=True, default=0,
                                             null=True)),
                ('referral_code',
                 models.CharField(blank=True, max_length=100, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='Referral_Trainee',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('referral_count',
                 models.PositiveIntegerField(blank=True, default=0,
                                             null=True)),
                ('referral_code',
                 models.CharField(blank=True, max_length=100, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='Skill',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('skill_name', models.CharField(max_length=50, unique=True)),
            ],
        ),
        migrations.CreateModel(
            name='subSkill',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('subskill_name', models.CharField(max_length=50,
                                                   unique=True)),
            ],
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('tag_name', models.CharField(max_length=50, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('last_active', models.DateTimeField(auto_now=True)),
            ],
        ),
        migrations.CreateModel(
            name='Test',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('test_type',
                 models.PositiveSmallIntegerField(blank=True,
                                                  choices=[(1, 'IQ'),
                                                           (2,
                                                            'Verbal Ability')],
                                                  null=True)),
                ('test_score', models.IntegerField(default=0)),
                ('test_taken_on_date', models.DateField(auto_now_add=True)),
                ('questions',
                 models.ManyToManyField(blank=True,
                                        related_name='tests',
                                        to='core.Question')),
            ],
        ),
        migrations.CreateModel(
            name='Mentor',
            fields=[
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     primary_key=True,
                     serialize=False,
                     to=settings.AUTH_USER_MODEL)),
                ('score', models.FloatField(blank=True, default=0, null=True)),
                ('mentee_pref_count',
                 models.IntegerField(default=5,
                                     verbose_name='Preferred menteee count')),
                ('refral_count',
                 models.PositiveIntegerField(blank=True, default=0,
                                             null=True)),
                ('referral_code',
                 models.CharField(blank=True, max_length=100, null=True)),
                ('skills',
                 models.ManyToManyField(blank=True,
                                        related_name='skills',
                                        to='core.Skill')),
            ],
        ),
        migrations.CreateModel(
            name='SubMentor',
            fields=[
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     primary_key=True,
                     serialize=False,
                     to=settings.AUTH_USER_MODEL)),
                ('mentee_pref_count',
                 models.IntegerField(default=3,
                                     verbose_name='Preferred mentee count')),
                ('refral_count',
                 models.PositiveIntegerField(blank=True, default=0,
                                             null=True)),
                ('referral_code',
                 models.CharField(blank=True, max_length=100, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='Trainee',
            fields=[
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     primary_key=True,
                     serialize=False,
                     to=settings.AUTH_USER_MODEL)),
                ('score', models.FloatField(blank=True, default=0, null=True)),
                ('academic_score',
                 models.FloatField(blank=True, default=0, null=True)),
                ('personality_h',
                 models.FloatField(blank=True, default=0, null=True)),
                ('personality_e',
                 models.FloatField(blank=True, default=0, null=True)),
                ('personality_x',
                 models.FloatField(blank=True, default=0, null=True)),
                ('personality_a',
                 models.FloatField(blank=True, default=0, null=True)),
                ('personality_c',
                 models.FloatField(blank=True, default=0, null=True)),
                ('personality_o',
                 models.FloatField(blank=True, default=0, null=True)),
                ('iq_score', models.FloatField(blank=True,
                                               default=0,
                                               null=True)),
                ('verbal_ability_score',
                 models.FloatField(blank=True, default=0, null=True)),
                ('course_score',
                 models.FloatField(blank=True, default=0, null=True)),
                ('project_score',
                 models.FloatField(blank=True, default=0, null=True)),
                ('qa_score', models.FloatField(blank=True,
                                               default=0,
                                               null=True)),
                ('refral_count',
                 models.PositiveIntegerField(blank=True, default=0,
                                             null=True)),
                ('referral_code',
                 models.CharField(blank=True, max_length=100, null=True)),
            ],
        ),
        migrations.AddField(
            model_name='test',
            name='user',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='tests',
                to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='query',
            name='query_author',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='queries',
                to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='query',
            name='query_tags',
            field=models.ManyToManyField(blank=True,
                                         related_name='queries',
                                         to='core.Tag'),
        ),
        migrations.AddField(
            model_name='projectsubmission',
            name='user',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='projectsubmissions',
                to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='project',
            name='project_tags',
            field=models.ManyToManyField(blank=True,
                                         related_name='projects',
                                         to='core.Tag'),
        ),
        migrations.AddField(
            model_name='lesson',
            name='module',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='lessons',
                to='core.Module'),
        ),
        migrations.AddField(
            model_name='examsubmission',
            name='user',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='examsubmissions',
                to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='exam',
            name='module',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='exams',
                to='core.Module'),
        ),
        migrations.AddField(
            model_name='course',
            name='course_tags',
            field=models.ManyToManyField(blank=True,
                                         related_name='courses',
                                         to='core.Tag'),
        ),
        migrations.AddField(
            model_name='answerchoice',
            name='question',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='answerchoices',
                to='core.Question'),
        ),
        migrations.AddField(
            model_name='answer',
            name='answer_author',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='answers',
                to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='answer',
            name='query',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='answers',
                to='core.Query'),
        ),
        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_name='user_set',
                related_query_name='user',
                to='auth.Group',
                verbose_name='groups'),
        ),
        migrations.AddField(
            model_name='user',
            name='profile_tags',
            field=models.ManyToManyField(blank=True,
                                         related_name='profiles',
                                         to='core.Tag'),
        ),
        migrations.AddField(
            model_name='user',
            name='user_permissions',
            field=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'),
        ),
        migrations.AddField(
            model_name='trainee',
            name='courses',
            field=models.ManyToManyField(blank=True,
                                         related_name='courses',
                                         to='core.Course'),
        ),
        migrations.AddField(
            model_name='trainee',
            name='mentors',
            field=models.ManyToManyField(blank=True,
                                         related_name='trainees',
                                         to='core.Mentor'),
        ),
        migrations.AddField(
            model_name='trainee',
            name='projects',
            field=models.ManyToManyField(blank=True,
                                         related_name='projects',
                                         to='core.Project'),
        ),
        migrations.AddField(
            model_name='trainee',
            name='submentors',
            field=models.ManyToManyField(blank=True,
                                         related_name='trainees',
                                         to='core.SubMentor'),
        ),
        migrations.AddField(
            model_name='submentor',
            name='subcourses',
            field=models.ManyToManyField(blank=True,
                                         related_name='subcourses',
                                         to='core.Course'),
        ),
        migrations.AddField(
            model_name='submentor',
            name='subprojects',
            field=models.ManyToManyField(blank=True,
                                         related_name='subprojects',
                                         to='core.Project'),
        ),
        migrations.AddField(
            model_name='submentor',
            name='subskills',
            field=models.ManyToManyField(blank=True,
                                         related_name='subskills',
                                         to='core.subSkill'),
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('wagtailcore', '0040_page_draft_title'),
        ('wagtailimages', '0019_delete_filter'),
    ]

    operations = [
        migrations.CreateModel(
            name='TermsAndConditionsPage',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
                ('body',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
            ],
            options={
                'abstract': False,
            },
            bases=(core.models.ExclusivePageMixin, 'wagtailcore.page'),
        ),
        migrations.CreateModel(
            name='ExportReadinessApp',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
            ],
            options={
                'abstract': False,
            },
            bases=(core.models.ExclusivePageMixin, 'wagtailcore.page'),
        ),
        migrations.CreateModel(
            name='PrivacyAndCookiesPage',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
                ('body',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
            ],
            options={
                'abstract': False,
            },
            bases=(core.models.ExclusivePageMixin, 'wagtailcore.page'),
        ),
        migrations.CreateModel(
            name='GetFinancePage',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
                ('breadcrumbs_label', models.CharField(max_length=50)),
                ('banner_content',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
                ('section_one_content',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
                ('section_two_content',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
                ('video_embed', models.CharField(max_length=500)),
                ('section_three_content',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
                ('call_to_action_text', models.CharField(max_length=255)),
                ('call_to_action_url', models.CharField(max_length=500)),
                ('banner_image',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
                ('ukef_logo',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
            ],
            options={
                'abstract': False,
            },
            bases=(core.models.ExclusivePageMixin, 'wagtailcore.page'),
        ),
        migrations.CreateModel(
            name='PerformanceDashboardPage',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
                ('heading', models.CharField(max_length=255)),
                ('description',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
                ('product_link', models.URLField()),
                ('data_title_row_one', models.CharField(max_length=100)),
                ('data_number_row_one', models.CharField(max_length=15)),
                ('data_period_row_one', models.CharField(max_length=100)),
                ('data_description_row_one',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
                ('data_title_row_two', models.CharField(max_length=100)),
                ('data_number_row_two', models.CharField(max_length=15)),
                ('data_period_row_two', models.CharField(max_length=100)),
                ('data_description_row_two',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
                ('data_title_row_three', models.CharField(max_length=100)),
                ('data_number_row_three', models.CharField(max_length=15)),
                ('data_period_row_three', models.CharField(max_length=100)),
                ('data_description_row_three',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
                ('data_title_row_four',
                 models.CharField(blank=True, max_length=100, null=True)),
                ('data_number_row_four',
                 models.CharField(blank=True, max_length=15, null=True)),
                ('data_period_row_four',
                 models.CharField(blank=True, max_length=100, null=True)),
                ('data_description_row_four',
                 core.model_fields.MarkdownField(
                     blank=True,
                     null=True,
                     validators=[core.validators.slug_hyperlinks])),
                ('landing_dashboard', models.BooleanField(default=False)),
                ('guidance_notes',
                 core.model_fields.MarkdownField(
                     blank=True,
                     null=True,
                     validators=[core.validators.slug_hyperlinks])),
            ],
            options={
                'abstract': False,
            },
            bases=('wagtailcore.page', ),
        ),
    ]
Beispiel #20
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Character',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=255, unique=True)),
                ('description', models.TextField(max_length=1024)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('last_updated', models.DateTimeField(auto_now=True)),
            ],
            options={
                'ordering': ('-created', ),
            },
        ),
        migrations.CreateModel(
            name='Game',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('last_updated', models.DateTimeField(auto_now=True)),
                ('name', models.CharField(max_length=80)),
                ('description', models.TextField(max_length=1024)),
                ('users', models.ManyToManyField(to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ('-created', ),
            },
        ),
        migrations.CreateModel(
            name='Level',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=80, unique=True)),
                ('description', models.TextField(max_length=1024)),
                ('script', models.TextField(max_length=10240)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('last_updated', models.DateTimeField(auto_now=True)),
                ('characters',
                 models.ManyToManyField(blank=True, to='core.Character')),
                ('game',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='core.Game')),
            ],
            options={
                'ordering': ('created', ),
            },
        ),
        migrations.CreateModel(
            name='Mechanic',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=255, unique=True)),
                ('description', models.TextField(max_length=1024)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('last_updated', models.DateTimeField(auto_now=True)),
                ('game',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='core.Game')),
            ],
            options={
                'ordering': ('-created', ),
            },
        ),
        migrations.CreateModel(
            name='Media',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=255, unique=True)),
                ('description', models.TextField(max_length=1024)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('last_updated', models.DateTimeField(auto_now=True)),
                ('url', models.URLField(blank=True)),
                ('file',
                 models.FileField(blank=True,
                                  upload_to=core.models.user_directory_path)),
                ('type',
                 models.CharField(choices=[('AUDIO', 'Audio'),
                                           ('VIDEO', 'Video'),
                                           ('PICTURE', 'Picture')],
                                  max_length=30)),
                ('game',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='core.Game')),
            ],
            options={
                'ordering': ('-created', ),
            },
        ),
        migrations.AddField(
            model_name='mechanic',
            name='medias',
            field=models.ManyToManyField(blank=True, to='core.Media'),
        ),
        migrations.AddField(
            model_name='level',
            name='mechanics',
            field=models.ManyToManyField(blank=True, to='core.Mechanic'),
        ),
        migrations.AddField(
            model_name='level',
            name='medias',
            field=models.ManyToManyField(blank=True, to='core.Media'),
        ),
        migrations.AddField(
            model_name='character',
            name='game',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE, to='core.Game'),
        ),
        migrations.AddField(
            model_name='character',
            name='mechanics',
            field=models.ManyToManyField(blank=True, to='core.Mechanic'),
        ),
        migrations.AddField(
            model_name='character',
            name='medias',
            field=models.ManyToManyField(blank=True, to='core.Media'),
        ),
    ]
Beispiel #21
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('password',
                 models.CharField(max_length=128, verbose_name='password')),
                ('last_login',
                 models.DateTimeField(blank=True,
                                      null=True,
                                      verbose_name='last login')),
                ('is_superuser',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates that this user has all permissions without explicitly assigning them.',
                     verbose_name='superuser status')),
                ('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')),
                ('userpic',
                 versatileimagefield.fields.VersatileImageField(
                     blank=True,
                     null=True,
                     upload_to='customer/userpics',
                     verbose_name='profile userpic')),
                ('userpic_ppoi',
                 versatileimagefield.fields.PPOIField(
                     default='0.5x0.5',
                     editable=False,
                     max_length=20,
                     verbose_name='Image PPOI')),
                ('phone',
                 phonenumber_field.modelfields.PhoneNumberField(
                     blank=True,
                     max_length=128,
                     null=True,
                     verbose_name='phone number')),
                ('email',
                 models.EmailField(max_length=254,
                                   unique=True,
                                   verbose_name='email address')),
                ('birth_date',
                 models.DateField(blank=True,
                                  null=True,
                                  verbose_name='birth date')),
                ('country',
                 django_countries.fields.CountryField(blank=True,
                                                      max_length=2,
                                                      null=True)),
                ('state',
                 models.CharField(blank=True,
                                  max_length=300,
                                  null=True,
                                  verbose_name='State/region')),
                ('city',
                 models.CharField(blank=True,
                                  max_length=300,
                                  null=True,
                                  verbose_name='city/village')),
                ('is_email_confirmed',
                 models.BooleanField(default=False,
                                     verbose_name='mail confirmed')),
                ('is_phone_confirmed',
                 models.BooleanField(default=False,
                                     verbose_name='phone confirmed')),
                ('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')),
            ],
            options={
                'verbose_name': 'user',
                'verbose_name_plural': 'users',
                'abstract': False,
            },
            managers=[
                ('objects', core.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Branch',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(help_text='Company name', max_length=300)),
                ('country',
                 django_countries.fields.CountryField(max_length=2)),
                ('state',
                 models.CharField(blank=True, max_length=300, null=True)),
                ('city', models.CharField(blank=True,
                                          max_length=300,
                                          null=True)),
                ('address_1', models.CharField(max_length=300)),
                ('address_2',
                 models.CharField(blank=True, max_length=300, null=True)),
                ('email', models.EmailField(max_length=254)),
                ('phone',
                 phonenumber_field.modelfields.PhoneNumberField(
                     max_length=128)),
                ('description', models.TextField(blank=True, null=True)),
                ('date_added', models.DateTimeField(auto_now_add=True)),
                ('date_modified', models.DateTimeField(auto_now=True)),
            ],
            options={
                'verbose_name': 'Branch',
                'verbose_name_plural': 'Branches',
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=200,
                                  verbose_name='Category name')),
                ('description',
                 models.TextField(blank=True,
                                  null=True,
                                  verbose_name='About this category')),
                ('icon',
                 versatileimagefield.fields.VersatileImageField(
                     blank=True,
                     help_text='Category icon',
                     null=True,
                     upload_to='categories/icons')),
            ],
            options={
                'verbose_name': 'Category',
                'verbose_name_plural': 'Categories',
            },
        ),
        migrations.CreateModel(
            name='Comment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('text', models.TextField()),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
        ),
        migrations.CreateModel(
            name='HTMLWidgetModel',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('text', models.TextField(default='', null=True)),
                ('slug', models.TextField(db_index=True, max_length=200)),
            ],
            options={
                'verbose_name': 'HTML Widget',
                'verbose_name_plural': 'HTML Widgets',
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Organization',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('slug',
                 models.SlugField(blank=True,
                                  verbose_name='Organization url slug')),
                ('logo',
                 versatileimagefield.fields.VersatileImageField(
                     blank=True,
                     help_text='Company logo',
                     null=True,
                     upload_to='company/logo')),
                ('image',
                 versatileimagefield.fields.VersatileImageField(
                     blank=True,
                     help_text='Company page image',
                     null=True,
                     upload_to='company/page')),
                ('name',
                 models.CharField(help_text='Company name', max_length=300)),
                ('inn', models.CharField(max_length=300)),
                ('ogrn', models.CharField(max_length=300)),
                ('url', models.URLField(blank=True, null=True)),
                ('country',
                 django_countries.fields.CountryField(max_length=2)),
                ('state',
                 models.CharField(blank=True, max_length=300, null=True)),
                ('city', models.CharField(blank=True,
                                          max_length=300,
                                          null=True)),
                ('address_1', models.CharField(max_length=300)),
                ('address_2',
                 models.CharField(blank=True, max_length=300, null=True)),
                ('email', models.EmailField(max_length=254)),
                ('phone',
                 phonenumber_field.modelfields.PhoneNumberField(
                     max_length=128)),
                ('description', models.TextField(blank=True, null=True)),
                ('date_added', models.DateTimeField(auto_now_add=True)),
                ('date_modified', models.DateTimeField(auto_now=True)),
                ('is_confirmed', models.PositiveIntegerField(default=0)),
            ],
            options={
                'verbose_name': 'Organization',
                'verbose_name_plural': 'Organizations',
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='OrganizationProduct',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('is_featured',
                 models.BooleanField(default=False,
                                     verbose_name='company featured')),
                ('is_popular',
                 models.BooleanField(default=False,
                                     verbose_name='bestseller')),
                ('rate_up',
                 models.PositiveIntegerField(blank=True,
                                             default=0,
                                             verbose_name='Green bulb')),
                ('rate_down',
                 models.PositiveIntegerField(blank=True,
                                             default=0,
                                             verbose_name='Red bulb')),
                ('rate_broken',
                 models.PositiveIntegerField(blank=True,
                                             default=0,
                                             verbose_name='Broken bulb')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Partnership',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('status',
                 models.PositiveIntegerField(
                     blank=True,
                     choices=[(0, 'Partnership is not confirmed by partner'),
                              (1, 'Partnership is confirmed by partner'),
                              (2, 'Partnership is declined by partner')],
                     default=0)),
                ('date_added', models.DateTimeField(auto_now_add=True)),
                ('date_modified', models.DateTimeField(auto_now=True)),
            ],
            options={
                'verbose_name': 'Partnership',
                'verbose_name_plural': 'Partnerships',
            },
        ),
        migrations.CreateModel(
            name='Rating',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('is_positive', models.BooleanField()),
            ],
            options={
                'verbose_name': 'Rating',
                'verbose_name_plural': 'Ratings',
            },
        ),
        migrations.CreateModel(
            name='Staff',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('position',
                 models.CharField(blank=True,
                                  max_length=40,
                                  null=True,
                                  verbose_name='position')),
                ('is_verified',
                 models.PositiveIntegerField(blank=True, default=0)),
                ('date_added', models.DateTimeField(auto_now_add=True)),
                ('date_modified', models.DateTimeField(auto_now=True)),
            ],
            options={
                'verbose_name': 'Staff',
                'verbose_name_plural': 'Staff',
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Vacancy',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=300,
                                  verbose_name='Vacancy position name')),
                ('description',
                 models.TextField(verbose_name='Extended description')),
                ('date_added', models.DateTimeField(auto_now_add=True)),
                ('date_modified', models.DateTimeField(auto_now=True)),
            ],
            options={
                'verbose_name': 'Vacancy',
                'verbose_name_plural': 'Vacancies',
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='VisitorMessage',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('sender_name',
                 models.CharField(blank=True, max_length=200, null=True)),
                ('email',
                 models.EmailField(help_text='Email to reply',
                                   max_length=254)),
                ('phone',
                 phonenumber_field.modelfields.PhoneNumberField(
                     blank=True,
                     help_text='Phone for callback',
                     max_length=128,
                     null=True)),
                ('text', models.TextField()),
                ('ip',
                 models.CharField(blank=True,
                                  help_text='IP from which message was sent',
                                  max_length=200,
                                  null=True)),
                ('send_to',
                 models.PositiveIntegerField(
                     blank=True,
                     choices=[(0, 'Send to organization page'),
                              (1, 'Send to organization email')],
                     default=0,
                     verbose_name='Kind of submited message')),
                ('is_deleted', models.BooleanField(default=False)),
                ('is_confirmed', models.BooleanField(default=False)),
                ('phone_status',
                 models.PositiveIntegerField(blank=True,
                                             choices=[
                                                 (0, 'Phone is not verified'),
                                                 (1, 'Phone is verified'),
                                                 (2, 'Verification was sent')
                                             ],
                                             default=0)),
                ('email_status',
                 models.PositiveIntegerField(blank=True,
                                             choices=[
                                                 (0, 'Email is not verified'),
                                                 (1, 'Email is verified')
                                             ],
                                             default=0)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('organization',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='core.Organization')),
                ('user',
                 models.ForeignKey(blank=True,
                                   help_text='Authed user id',
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
Beispiel #22
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='SponsoredEvent',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=140,
                                           verbose_name='title')),
                ('category',
                 models.CharField(choices=[
                     ('PRAC', 'Best Practices & Patterns'),
                     ('COM', 'Community'), ('DB', 'Databases'),
                     ('DATA', 'Data Analysis'), ('EDU', 'Education'),
                     ('EMBED', 'Embedded Systems'), ('GAME', 'Gaming'),
                     ('GRAPH', 'Graphics'), ('OTHER', 'Other'),
                     ('CORE', 'Python Core (language, stdlib, etc.)'),
                     ('INTNL', 'Python Internals'),
                     ('LIBS', 'Python Libraries'), ('SCI', 'Science'),
                     ('SEC', 'Security'), ('ADMIN', 'Systems Administration'),
                     ('TEST', 'Testing'), ('WEB', 'Web Frameworks')
                 ],
                                  max_length=5,
                                  verbose_name='category')),
                ('language',
                 models.CharField(choices=[
                     ('ENEN', 'English talk'),
                     ('ZHEN', 'Chinese talk w. English slides'),
                     ('ZHZH', 'Chinese talk w. Chinese slides'),
                     ('TAI', 'Taiwanese Hokkien')
                 ],
                                  max_length=4,
                                  verbose_name='language')),
                ('abstract',
                 core.models.EAWTextField(
                     help_text=
                     'The overview of what the talk is about. If the talk assume some domain knowledge please state it here. If your talk is accepted, this will be displayed on both the website and the handbook. Should be one paragraph.',
                     max_length=1000,
                     verbose_name='abstract')),
                ('python_level',
                 models.CharField(
                     choices=[('NOVICE', 'Novice'),
                              ('INTERMEDIATE', 'Intermediate'),
                              ('EXPERIENCED', 'Experienced')],
                     help_text=
                     'The choice of talk level matters during the review process. More definition of talk level can be found at the <a href="/None/speaking/talk/" target="_blank">How to Propose a Talk</a> page. Note that a proposal won\'t be more likely to be accepted because of being "Novice" level. We may contact you to change the talk level when we find the content is too-hard or too-easy for the target audience.',
                     max_length=12,
                     verbose_name='Python level')),
                ('detailed_description',
                 models.TextField(
                     blank=True,
                     help_text=
                     "Try not be too lengthy to scare away reviewers or potential audience. A comfortable length is less than 2000 characters (or about 1200 Chinese characters). Since most reviewers may not understand the topic as deep as you do, including related links to the talk topic will help reviewers understand the proposal. Edit using <a href='http://daringfireball.net/projects/markdown/basics' target='_blank'>Markdown</a>.",
                     verbose_name='detailed description')),
                ('recording_policy',
                 models.BooleanField(
                     choices=[(True, 'Yes'), (False, 'No')],
                     default=True,
                     help_text=
                     "Whether you agree to give permission to PyCon Taiwan to record, edit, and release audio and video of your presentation. More information can be found at <a href='/None/speaking/recording/' target='_blank'>Recording Release</a> page.",
                     verbose_name='recording policy')),
                ('slide_link',
                 models.URLField(
                     blank=True,
                     default='',
                     help_text=
                     'You can add your slide link near or after the conference day. Not required for review.',
                     verbose_name='slide link')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True,
                                      db_index=True,
                                      verbose_name='created at')),
                ('host',
                 core.models.BigForeignKey(
                     on_delete=django.db.models.deletion.CASCADE,
                     to=settings.AUTH_USER_MODEL,
                     verbose_name='host')),
            ],
            options={
                'verbose_name': 'sponsored event',
                'verbose_name_plural': 'sponsored events',
            },
        ),
    ]
Beispiel #23
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='CustomUser',
            fields=[
                ('id',
                 models.BigAutoField(auto_created=True,
                                     primary_key=True,
                                     serialize=False,
                                     verbose_name='ID')),
                ('password',
                 models.CharField(max_length=128, verbose_name='password')),
                ('last_login',
                 models.DateTimeField(blank=True,
                                      null=True,
                                      verbose_name='last login')),
                ('is_superuser',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates that this user has all permissions without explicitly assigning them.',
                     verbose_name='superuser status')),
                ('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')),
                ('email', models.EmailField(max_length=254, unique=True)),
                ('phone_number', models.CharField(max_length=70)),
                ('email_confirmed', models.BooleanField(default=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', core.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Claim',
            fields=[
                ('id',
                 models.BigAutoField(auto_created=True,
                                     primary_key=True,
                                     serialize=False,
                                     verbose_name='ID')),
                ('date_of_request', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('address', models.CharField(max_length=200)),
                ('description', models.TextField()),
                ('status',
                 models.CharField(choices=[('rejected', 'rejected'),
                                           ('received', 'received'),
                                           ('submitted', 'submitted'),
                                           ('in progress', 'in progress'),
                                           ('completed', 'completed')],
                                  default='received',
                                  max_length=30)),
                ('date_of_review', models.DateTimeField(blank=True,
                                                        null=True)),
                ('date_start_work', models.DateTimeField(blank=True,
                                                         null=True)),
                ('date_end_work', models.DateTimeField(blank=True, null=True)),
                ('latitude', models.CharField(max_length=40)),
                ('longitude', models.CharField(max_length=40)),
                ('minsk_region',
                 models.CharField(choices=[('Московский', 'moskovsky'),
                                           ('Фрунзенский', 'frunzensky'),
                                           ('Центральный', 'central'),
                                           ('Советский', 'sovetsky'),
                                           ('Пермайский', 'pervomaisky'),
                                           ('Партизанский', 'partizansky'),
                                           ('Заводской', 'zavodsky'),
                                           ('Ленинский', 'leninsky'),
                                           ('Октябрьский', 'oktyabrsky')],
                                  max_length=60)),
                ('claim_type',
                 models.CharField(choices=[
                     ('Автомобильные дороги, тротуары', 'roads and sidewalks'),
                     ('Бытовые услуги', 'household services'),
                     ('Водоснабжение', 'water supply'),
                     ('Водоснабжение. Гооячая вода', 'water supply hot water'),
                     ('Водоснабжение. Холодная вода',
                      'water supply cold water'),
                     ('Газоснабжение', 'gas supply'), ('Канализация', 'sewer'),
                     ('Кровельные работы', 'roofing work'),
                     ('Обращение с ТКО', 'municipal solid waste'),
                     ('Общественные места (Парки, скверы)',
                      'public places parks'),
                     ('Общественный транспорт, остановки общественного транспорта',
                      'public transport and stops'),
                     ('Общестроительные работы', 'general construction works'),
                     ('Отопление', 'heating'),
                     ('Работы по ремонту стыков', 'joint repair work'),
                     ('Рекламные и информационные конструкции и объявления',
                      'advertising and info structures'),
                     ('Санитарное состояние и благоустройство территории',
                      'sanitary condition and landscaping'),
                     ('Техническое обслуживание зданий и сооружений',
                      'maintenance of buildings and structures'),
                     ('Техническое обслуживание ЗПУ',
                      'maintenance of shutoff and intercom system'),
                     ('Санитарное состояние многоквартирного дома',
                      'sanitary condition of apartment building'),
                     ('Техническое обслуэивание лифтв',
                      'elevator maintenance'),
                     ('Электроснабжение', 'power supply'), ('Другое', 'other')
                 ],
                                  max_length=250)),
                ('citizen_rate', models.IntegerField(blank=True, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='Comment',
            fields=[
                ('id',
                 models.BigAutoField(auto_created=True,
                                     primary_key=True,
                                     serialize=False,
                                     verbose_name='ID')),
                ('text', models.TextField()),
                ('date_posted', models.DateTimeField(auto_now_add=True)),
                ('is_active', models.BooleanField(default=True)),
                ('claim',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='comments',
                                   to='core.claim')),
                ('user',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='comments',
                     to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Department',
            fields=[
                ('id',
                 models.BigAutoField(auto_created=True,
                                     primary_key=True,
                                     serialize=False,
                                     verbose_name='ID')),
                ('email', models.EmailField(blank=True, max_length=150)),
                ('region',
                 models.CharField(choices=[('Московский', 'moskovsky'),
                                           ('Фрунзенский', 'frunzensky'),
                                           ('Центральный', 'central'),
                                           ('Советский', 'sovetsky'),
                                           ('Пермайский', 'pervomaisky'),
                                           ('Партизанский', 'partizansky'),
                                           ('Заводской', 'zavodsky'),
                                           ('Ленинский', 'leninsky'),
                                           ('Октябрьский', 'oktyabrsky')],
                                  max_length=60)),
                ('name', models.CharField(max_length=200)),
                ('site', models.URLField(blank=True)),
                ('address', models.CharField(blank=True, max_length=250)),
                ('info', models.TextField(blank=True)),
            ],
        ),
        migrations.CreateModel(
            name='ProgressReport',
            fields=[
                ('id',
                 models.BigAutoField(auto_created=True,
                                     primary_key=True,
                                     serialize=False,
                                     verbose_name='ID')),
                ('date_of_report', models.DateTimeField(auto_now_add=True)),
                ('description_of_work', models.TextField()),
                ('date_range',
                 django.contrib.postgres.fields.ranges.DateTimeRangeField()),
                ('status',
                 models.CharField(choices=[('rejected', 'rejected'),
                                           ('received', 'received'),
                                           ('submitted', 'submitted'),
                                           ('in progress', 'in progress'),
                                           ('completed', 'completed')],
                                  max_length=30)),
                ('claim',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='work_progress',
                     to='core.claim')),
            ],
        ),
        migrations.CreateModel(
            name='Citizen',
            fields=[
                ('customuser_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='core.customuser')),
                ('notify_if_status_changed',
                 models.BooleanField(default=False)),
                ('notify_if_comment_added',
                 models.BooleanField(default=False)),
                ('region',
                 models.CharField(choices=[('Московский', 'moskovsky'),
                                           ('Фрунзенский', 'frunzensky'),
                                           ('Центральный', 'central'),
                                           ('Советский', 'sovetsky'),
                                           ('Пермайский', 'pervomaisky'),
                                           ('Партизанский', 'partizansky'),
                                           ('Заводской', 'zavodsky'),
                                           ('Ленинский', 'leninsky'),
                                           ('Октябрьский', 'oktyabrsky')],
                                  max_length=60)),
            ],
            options={
                'verbose_name': 'user',
                'verbose_name_plural': 'users',
                'abstract': False,
            },
            bases=('core.customuser', ),
            managers=[
                ('objects', core.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Operator',
            fields=[
                ('customuser_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='core.customuser')),
            ],
            options={
                'verbose_name': 'user',
                'verbose_name_plural': 'users',
                'abstract': False,
            },
            bases=('core.customuser', ),
            managers=[
                ('objects', core.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='ProgressReportFile',
            fields=[
                ('id',
                 models.BigAutoField(auto_created=True,
                                     primary_key=True,
                                     serialize=False,
                                     verbose_name='ID')),
                ('file_type',
                 models.CharField(choices=[('text', 'text'),
                                           ('audio', 'audio'),
                                           ('video', 'video')],
                                  max_length=10)),
                ('file', models.FileField(upload_to='progress_report_files')),
                ('progress_report',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='report_files',
                                   to='core.progressreport')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='CommentFile',
            fields=[
                ('id',
                 models.BigAutoField(auto_created=True,
                                     primary_key=True,
                                     serialize=False,
                                     verbose_name='ID')),
                ('file_type',
                 models.CharField(choices=[('text', 'text'),
                                           ('audio', 'audio'),
                                           ('video', 'video')],
                                  max_length=10)),
                ('file', models.FileField(upload_to='progress_report_files')),
                ('comment',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='comment_files',
                                   to='core.comment')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='ClaimFile',
            fields=[
                ('id',
                 models.BigAutoField(auto_created=True,
                                     primary_key=True,
                                     serialize=False,
                                     verbose_name='ID')),
                ('file_type',
                 models.CharField(choices=[('text', 'text'),
                                           ('audio', 'audio'),
                                           ('video', 'video')],
                                  max_length=10)),
                ('file', models.FileField(upload_to='progress_report_files')),
                ('claim',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='files',
                                   to='core.claim')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Performer',
            fields=[
                ('customuser_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='core.customuser')),
                ('department',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='workers',
                     to='core.department')),
            ],
            options={
                'verbose_name': 'user',
                'verbose_name_plural': 'users',
                'abstract': False,
            },
            bases=('core.customuser', ),
            managers=[
                ('objects', core.models.UserManager()),
            ],
        ),
        migrations.AddField(
            model_name='claim',
            name='citizen',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='filed_claims',
                to='core.citizen'),
        ),
        migrations.AddField(
            model_name='claim',
            name='operator',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='related_claims',
                to='core.operator'),
        ),
        migrations.AddField(
            model_name='claim',
            name='performer',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='related_claims',
                to='core.performer'),
        ),
        migrations.AddField(
            model_name='citizen',
            name='bookmarked_claims',
            field=models.ManyToManyField(related_name='followers',
                                         to='core.Claim'),
        ),
    ]
class Migration(migrations.Migration):

    replaces = [('great_international', '0001_initial'),
                ('great_international', '0002_auto_20190206_1146'),
                ('great_international',
                 '0003_internationalarticlelistingpage'),
                ('great_international', '0003_auto_20190211_1202'),
                ('great_international', '0004_merge_20190212_1003'),
                ('great_international', '0005_internationalukhqpages'),
                ('great_international', '0006_internationaltopiclandingpage'),
                ('great_international', '0007_auto_20190219_1114'),
                ('great_international', '0008_auto_20190222_1554'),
                ('great_international', '0008_auto_20190222_1230'),
                ('great_international', '0009_merge_20190225_1214'),
                ('great_international', '0010_auto_20190228_0819'),
                ('great_international', '0011_auto_20190228_1051'),
                ('great_international', '0012_internationalsectorpage'),
                ('great_international', '0013_auto_20190301_1227'),
                ('great_international', '0014_auto_20190304_1215'),
                ('great_international', '0015_auto_20190306_1521')]

    initial = True

    dependencies = [
        ('wagtailforms', '0003_capitalizeverbose'),
        ('export_readiness', '0049_auto_20190207_0924'),
        ('wagtailimages', '0021_image_file_hash'),
        ('export_readiness', '0047_allcontactpagespage'),
        ('wagtailcore', '0040_page_draft_title'),
        ('export_readiness', '0050_auto_20190219_1633'),
    ]

    operations = [
        migrations.CreateModel(
            name='GreatInternationalApp',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
                ('service_name',
                 models.CharField(choices=[
                     ('FIND_A_SUPPLIER', 'Find a Supplier'),
                     ('EXPORT_READINESS', 'Export Readiness'),
                     ('INVEST', 'Invest'), ('COMPONENTS', 'Components'),
                     ('GREAT_INTERNATIONAL', 'Great International')
                 ],
                                  db_index=True,
                                  max_length=100,
                                  null=True)),
            ],
            options={
                'abstract': False,
            },
            bases=(core.models.ExclusivePageMixin, 'wagtailcore.page',
                   models.Model),
        ),
        migrations.CreateModel(
            name='InternationalArticlePage',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
                ('service_name',
                 models.CharField(choices=[
                     ('FIND_A_SUPPLIER', 'Find a Supplier'),
                     ('EXPORT_READINESS', 'Export Readiness'),
                     ('INVEST', 'Invest'), ('COMPONENTS', 'Components'),
                     ('GREAT_INTERNATIONAL', 'Great International')
                 ],
                                  db_index=True,
                                  max_length=100,
                                  null=True)),
                ('article_title', models.CharField(max_length=255)),
                ('article_teaser', models.CharField(max_length=255)),
                ('article_body_text',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
                ('article_image',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
                ('related_page_one',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='great_international.InternationalArticlePage')),
                ('related_page_three',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='great_international.InternationalArticlePage')),
                ('related_page_two',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='great_international.InternationalArticlePage')),
            ],
            options={
                'abstract': False,
            },
            bases=('wagtailcore.page', ),
        ),
        migrations.CreateModel(
            name='InternationalHomePage',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
                ('service_name',
                 models.CharField(choices=[
                     ('FIND_A_SUPPLIER', 'Find a Supplier'),
                     ('EXPORT_READINESS', 'Export Readiness'),
                     ('INVEST', 'Invest'), ('COMPONENTS', 'Components'),
                     ('GREAT_INTERNATIONAL', 'Great International')
                 ],
                                  db_index=True,
                                  max_length=100,
                                  null=True)),
                ('tariffs_title', models.CharField(max_length=255)),
                ('tariffs_description',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
                ('tariffs_link', models.URLField()),
                ('news_title', models.CharField(max_length=255)),
                ('tariffs_image',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
            ],
            options={
                'abstract': False,
            },
            bases=(core.models.ExclusivePageMixin, 'wagtailcore.page'),
        ),
        migrations.CreateModel(
            name='InternationalCampaignPage',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
                ('service_name',
                 models.CharField(choices=[
                     ('FIND_A_SUPPLIER', 'Find a Supplier'),
                     ('EXPORT_READINESS', 'Export Readiness'),
                     ('INVEST', 'Invest'), ('COMPONENTS', 'Components'),
                     ('GREAT_INTERNATIONAL', 'Great International')
                 ],
                                  db_index=True,
                                  max_length=100,
                                  null=True)),
                ('campaign_heading', models.CharField(max_length=255)),
                ('section_one_heading', models.CharField(max_length=255)),
                ('section_one_intro',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
                ('selling_point_one_heading',
                 models.CharField(max_length=255)),
                ('selling_point_one_content',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
                ('selling_point_two_heading',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('selling_point_two_content',
                 core.model_fields.MarkdownField(
                     blank=True,
                     null=True,
                     validators=[core.validators.slug_hyperlinks])),
                ('selling_point_three_heading',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('selling_point_three_content',
                 core.model_fields.MarkdownField(
                     blank=True,
                     null=True,
                     validators=[core.validators.slug_hyperlinks])),
                ('section_one_contact_button_url',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('section_one_contact_button_text',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('section_two_heading', models.CharField(max_length=255)),
                ('section_two_intro',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
                ('section_two_contact_button_url',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('section_two_contact_button_text',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('related_content_heading', models.CharField(max_length=255)),
                ('related_content_intro',
                 core.model_fields.MarkdownField(
                     validators=[core.validators.slug_hyperlinks])),
                ('cta_box_message', models.CharField(max_length=255)),
                ('cta_box_button_url', models.CharField(max_length=255)),
                ('cta_box_button_text', models.CharField(max_length=255)),
                ('campaign_hero_image',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
                ('related_page_one',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='great_international.InternationalArticlePage')),
                ('related_page_three',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='great_international.InternationalArticlePage')),
                ('related_page_two',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='great_international.InternationalArticlePage')),
                ('section_one_image',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
                ('section_two_image',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
                ('selling_point_one_icon',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
                ('selling_point_three_icon',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
                ('selling_point_two_icon',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
            ],
            options={
                'abstract': False,
            },
            bases=('wagtailcore.page', ),
        ),
        migrations.CreateModel(
            name='InternationalArticleListingPage',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
                ('service_name',
                 models.CharField(choices=[
                     ('FIND_A_SUPPLIER', 'Find a Supplier'),
                     ('EXPORT_READINESS', 'Export Readiness'),
                     ('INVEST', 'Invest'), ('COMPONENTS', 'Components'),
                     ('GREAT_INTERNATIONAL', 'Great International')
                 ],
                                  db_index=True,
                                  max_length=100,
                                  null=True)),
                ('landing_page_title', models.CharField(max_length=255)),
                ('hero_teaser',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('list_teaser',
                 core.model_fields.MarkdownField(
                     blank=True,
                     null=True,
                     validators=[core.validators.slug_hyperlinks])),
                ('hero_image',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
            ],
            options={
                'abstract': False,
            },
            bases=('wagtailcore.page', ),
        ),
        migrations.CreateModel(
            name='InternationalTopicLandingPage',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
                ('service_name',
                 models.CharField(choices=[
                     ('FIND_A_SUPPLIER', 'Find a Supplier'),
                     ('EXPORT_READINESS', 'Export Readiness'),
                     ('INVEST', 'Invest'), ('COMPONENTS', 'Components'),
                     ('GREAT_INTERNATIONAL', 'Great International')
                 ],
                                  db_index=True,
                                  max_length=100,
                                  null=True)),
                ('landing_page_title', models.CharField(max_length=255)),
                ('hero_teaser',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('hero_image',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
            ],
            options={
                'abstract': False,
            },
            bases=('wagtailcore.page', ),
        ),
        migrations.CreateModel(
            name='InternationalRegionPage',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
                ('service_name',
                 models.CharField(choices=[
                     ('FIND_A_SUPPLIER', 'Find a Supplier'),
                     ('EXPORT_READINESS', 'Export Readiness'),
                     ('INVEST', 'Invest'), ('COMPONENTS', 'Components'),
                     ('GREAT_INTERNATIONAL', 'Great International')
                 ],
                                  db_index=True,
                                  max_length=100,
                                  null=True)),
                ('tags',
                 modelcluster.fields.ParentalManyToManyField(
                     blank=True, to='export_readiness.Tag')),
            ],
            options={
                'abstract': False,
            },
            bases=(core.models.ExclusivePageMixin, 'wagtailcore.page'),
        ),
        migrations.AddField(
            model_name='internationalarticlelistingpage',
            name='tags',
            field=modelcluster.fields.ParentalManyToManyField(
                blank=True, to='export_readiness.Tag'),
        ),
        migrations.AddField(
            model_name='internationalarticlepage',
            name='tags',
            field=modelcluster.fields.ParentalManyToManyField(
                blank=True, to='export_readiness.Tag'),
        ),
        migrations.AddField(
            model_name='internationalcampaignpage',
            name='tags',
            field=modelcluster.fields.ParentalManyToManyField(
                blank=True, to='export_readiness.Tag'),
        ),
        migrations.AddField(
            model_name='internationaltopiclandingpage',
            name='tags',
            field=modelcluster.fields.ParentalManyToManyField(
                blank=True, to='export_readiness.Tag'),
        ),
        migrations.CreateModel(
            name='InternationalLocalisedFolderPage',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
                ('service_name',
                 models.CharField(choices=[
                     ('FIND_A_SUPPLIER', 'Find a Supplier'),
                     ('EXPORT_READINESS', 'Export Readiness'),
                     ('INVEST', 'Invest'), ('COMPONENTS', 'Components'),
                     ('GREAT_INTERNATIONAL', 'Great International')
                 ],
                                  db_index=True,
                                  max_length=100,
                                  null=True)),
            ],
            options={
                'abstract': False,
            },
            bases=('wagtailcore.page', ),
        ),
        migrations.AddField(
            model_name='internationalcampaignpage',
            name='campaign_teaser',
            field=models.CharField(blank=True, max_length=255, null=True),
        ),
        migrations.AddField(
            model_name='internationalhomepage',
            name='related_page_one',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='+',
                to='wagtailcore.Page'),
        ),
        migrations.AddField(
            model_name='internationalhomepage',
            name='related_page_three',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='+',
                to='wagtailcore.Page'),
        ),
        migrations.AddField(
            model_name='internationalhomepage',
            name='related_page_two',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='+',
                to='wagtailcore.Page'),
        ),
        migrations.CreateModel(
            name='InternationalSectorPage',
            fields=[
                ('page_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='wagtailcore.Page')),
                ('service_name',
                 models.CharField(choices=[
                     ('FIND_A_SUPPLIER', 'Find a Supplier'),
                     ('EXPORT_READINESS', 'Export Readiness'),
                     ('INVEST', 'Invest'), ('COMPONENTS', 'Components'),
                     ('GREAT_INTERNATIONAL', 'Great International')
                 ],
                                  db_index=True,
                                  max_length=100,
                                  null=True)),
                ('heading', models.CharField(max_length=255)),
                ('sub_heading', models.CharField(blank=True, max_length=255)),
                ('heading_teaser', models.TextField(blank=True)),
                ('section_one_body',
                 core.model_fields.MarkdownField(
                     null=True,
                     validators=[core.validators.slug_hyperlinks],
                     verbose_name='Bullets markdown')),
                ('statistic_1_number', models.CharField(max_length=255)),
                ('statistic_1_heading', models.CharField(max_length=255)),
                ('statistic_1_smallprint',
                 models.CharField(blank=True, max_length=255)),
                ('statistic_2_number', models.CharField(max_length=255)),
                ('statistic_2_heading', models.CharField(max_length=255)),
                ('statistic_2_smallprint',
                 models.CharField(blank=True, max_length=255)),
                ('statistic_3_number',
                 models.CharField(blank=True, max_length=255)),
                ('statistic_3_heading',
                 models.CharField(blank=True, max_length=255)),
                ('statistic_3_smallprint',
                 models.CharField(blank=True, max_length=255)),
                ('statistic_4_number',
                 models.CharField(blank=True, max_length=255)),
                ('statistic_4_heading',
                 models.CharField(blank=True, max_length=255)),
                ('statistic_4_smallprint',
                 models.CharField(blank=True, max_length=255)),
                ('statistic_5_number',
                 models.CharField(blank=True, max_length=255)),
                ('statistic_5_heading',
                 models.CharField(blank=True, max_length=255)),
                ('statistic_5_smallprint',
                 models.CharField(blank=True, max_length=255)),
                ('statistic_6_number',
                 models.CharField(blank=True, max_length=255)),
                ('statistic_6_heading',
                 models.CharField(blank=True, max_length=255)),
                ('statistic_6_smallprint',
                 models.CharField(blank=True, max_length=255)),
                ('section_two_heading',
                 models.CharField(max_length=255,
                                  verbose_name='Highlights heading')),
                ('section_two_teaser',
                 models.TextField(verbose_name='Highlights teaser')),
                ('section_two_subsection_one_heading',
                 models.CharField(max_length=255,
                                  verbose_name='Highlight 1 heading')),
                ('section_two_subsection_one_body',
                 models.TextField(verbose_name='Highlight 1 body')),
                ('section_two_subsection_two_heading',
                 models.CharField(max_length=255,
                                  verbose_name='Highlight 2 heading')),
                ('section_two_subsection_two_body',
                 models.TextField(verbose_name='Highlight 2 body')),
                ('section_two_subsection_three_heading',
                 models.CharField(max_length=255,
                                  verbose_name='Highlight 3 heading')),
                ('section_two_subsection_three_body',
                 models.TextField(verbose_name='Highlight 3 body')),
                ('case_study_title',
                 models.CharField(blank=True, max_length=255)),
                ('case_study_description',
                 models.CharField(blank=True, max_length=255)),
                ('case_study_cta_text', models.TextField(blank=True)),
                ('section_three_heading',
                 models.CharField(blank=True,
                                  max_length=255,
                                  verbose_name='Fact sheets heading')),
                ('section_three_teaser',
                 models.TextField(blank=True,
                                  verbose_name='Fact sheets teaser')),
                ('section_three_subsection_one_heading',
                 models.CharField(blank=True,
                                  max_length=255,
                                  verbose_name='Fact sheet 1 heading')),
                ('section_three_subsection_one_teaser',
                 models.TextField(blank=True,
                                  verbose_name='Fact sheet 1 teaser')),
                ('section_three_subsection_one_body',
                 core.model_fields.MarkdownField(
                     blank=True,
                     null=True,
                     validators=[core.validators.slug_hyperlinks],
                     verbose_name='Fact sheet 1 body')),
                ('section_three_subsection_two_heading',
                 models.CharField(blank=True,
                                  max_length=255,
                                  verbose_name='Fact sheet 2 heading')),
                ('section_three_subsection_two_teaser',
                 models.TextField(blank=True,
                                  verbose_name='Fact sheet 2 teaser')),
                ('section_three_subsection_two_body',
                 core.model_fields.MarkdownField(
                     blank=True,
                     null=True,
                     validators=[core.validators.slug_hyperlinks],
                     verbose_name='Fact sheet 2 body')),
                ('case_study_image',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
                ('hero_image',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image')),
                ('related_page_one',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailcore.Page')),
                ('related_page_three',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailcore.Page')),
                ('related_page_two',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailcore.Page')),
                ('section_one_image',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image',
                     verbose_name='Bullets image')),
                ('section_two_subsection_one_icon',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image',
                     verbose_name='Highlight 1 icon')),
                ('section_two_subsection_three_icon',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image',
                     verbose_name='Highlight 3 icon')),
                ('section_two_subsection_two_icon',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailimages.Image',
                     verbose_name='Highlight 2 icon')),
                ('case_study_cta_page',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='+',
                     to='wagtailcore.Page')),
                ('tags',
                 modelcluster.fields.ParentalManyToManyField(
                     blank=True, to='export_readiness.Tag')),
                ('section_one_image_caption',
                 models.CharField(blank=True,
                                  max_length=255,
                                  verbose_name='Bullets image caption')),
                ('section_one_image_caption_company',
                 models.CharField(
                     blank=True,
                     max_length=255,
                     verbose_name='Bullets image caption — company name')),
            ],
            options={
                'abstract': False,
            },
            bases=('wagtailcore.page', ),
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('wagtailcore', '0059_apply_collection_ordering'),
        ('great_international', '0093_auto_20200414_1626'),
    ]

    operations = [
        migrations.CreateModel(
            name='InvestmentOpportunityListingPage',
            fields=[
                ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')),
                ('service_name', models.CharField(choices=[('FIND_A_SUPPLIER', 'Find a Supplier'), ('EXPORT_READINESS', 'Export Readiness'), ('INVEST', 'Invest'), ('COMPONENTS', 'Components'), ('GREAT_INTERNATIONAL', 'Great International')], db_index=True, max_length=100, null=True)),
                ('uses_tree_based_routing', models.BooleanField(default=False, help_text="Allow this page's URL to be determined by its slug, and the slugs of its ancestors in the page tree.", verbose_name='tree-based routing enabled')),
                ('breadcrumbs_label', models.CharField(max_length=50)),
                ('breadcrumbs_label_en_gb', models.CharField(max_length=50, null=True)),
                ('breadcrumbs_label_de', models.CharField(max_length=50, null=True)),
                ('breadcrumbs_label_ja', models.CharField(max_length=50, null=True)),
                ('breadcrumbs_label_zh_hans', models.CharField(max_length=50, null=True)),
                ('breadcrumbs_label_fr', models.CharField(max_length=50, null=True)),
                ('breadcrumbs_label_es', models.CharField(max_length=50, null=True)),
                ('breadcrumbs_label_pt', models.CharField(max_length=50, null=True)),
                ('breadcrumbs_label_ar', models.CharField(max_length=50, null=True)),
                ('search_results_title', models.CharField(max_length=255)),
                ('search_results_title_en_gb', models.CharField(max_length=255, null=True)),
                ('search_results_title_de', models.CharField(max_length=255, null=True)),
                ('search_results_title_ja', models.CharField(max_length=255, null=True)),
                ('search_results_title_zh_hans', models.CharField(max_length=255, null=True)),
                ('search_results_title_fr', models.CharField(max_length=255, null=True)),
                ('search_results_title_es', models.CharField(max_length=255, null=True)),
                ('search_results_title_pt', models.CharField(max_length=255, null=True)),
                ('search_results_title_ar', models.CharField(max_length=255, null=True)),
                ('hero_text', models.TextField(help_text='Text that appears beneath the page title', max_length=2000)),
                ('hero_text_en_gb', models.TextField(help_text='Text that appears beneath the page title', max_length=2000, null=True)),
                ('hero_text_de', models.TextField(help_text='Text that appears beneath the page title', max_length=2000, null=True)),
                ('hero_text_ja', models.TextField(help_text='Text that appears beneath the page title', max_length=2000, null=True)),
                ('hero_text_zh_hans', models.TextField(help_text='Text that appears beneath the page title', max_length=2000, null=True)),
                ('hero_text_fr', models.TextField(help_text='Text that appears beneath the page title', max_length=2000, null=True)),
                ('hero_text_es', models.TextField(help_text='Text that appears beneath the page title', max_length=2000, null=True)),
                ('hero_text_pt', models.TextField(help_text='Text that appears beneath the page title', max_length=2000, null=True)),
                ('hero_text_ar', models.TextField(help_text='Text that appears beneath the page title', max_length=2000, null=True)),
                ('contact_cta_title', models.CharField(blank=True, max_length=50)),
                ('contact_cta_title_en_gb', models.CharField(blank=True, max_length=50, null=True)),
                ('contact_cta_title_de', models.CharField(blank=True, max_length=50, null=True)),
                ('contact_cta_title_ja', models.CharField(blank=True, max_length=50, null=True)),
                ('contact_cta_title_zh_hans', models.CharField(blank=True, max_length=50, null=True)),
                ('contact_cta_title_fr', models.CharField(blank=True, max_length=50, null=True)),
                ('contact_cta_title_es', models.CharField(blank=True, max_length=50, null=True)),
                ('contact_cta_title_pt', models.CharField(blank=True, max_length=50, null=True)),
                ('contact_cta_title_ar', models.CharField(blank=True, max_length=50, null=True)),
                ('contact_cta_text', models.TextField(blank=True, max_length=1000)),
                ('contact_cta_text_en_gb', models.TextField(blank=True, max_length=1000, null=True)),
                ('contact_cta_text_de', models.TextField(blank=True, max_length=1000, null=True)),
                ('contact_cta_text_ja', models.TextField(blank=True, max_length=1000, null=True)),
                ('contact_cta_text_zh_hans', models.TextField(blank=True, max_length=1000, null=True)),
                ('contact_cta_text_fr', models.TextField(blank=True, max_length=1000, null=True)),
                ('contact_cta_text_es', models.TextField(blank=True, max_length=1000, null=True)),
                ('contact_cta_text_pt', models.TextField(blank=True, max_length=1000, null=True)),
                ('contact_cta_text_ar', models.TextField(blank=True, max_length=1000, null=True)),
                ('contact_cta_link', models.URLField(blank=True)),
                ('contact_cta_link_en_gb', models.URLField(blank=True, null=True)),
                ('contact_cta_link_de', models.URLField(blank=True, null=True)),
                ('contact_cta_link_ja', models.URLField(blank=True, null=True)),
                ('contact_cta_link_zh_hans', models.URLField(blank=True, null=True)),
                ('contact_cta_link_fr', models.URLField(blank=True, null=True)),
                ('contact_cta_link_es', models.URLField(blank=True, null=True)),
                ('contact_cta_link_pt', models.URLField(blank=True, null=True)),
                ('contact_cta_link_ar', models.URLField(blank=True, null=True)),
            ],
            options={
                'abstract': False,
            },
            bases=(core.models.WagtailAdminExclusivePageMixin, 'wagtailcore.page', great_international.panels.investment_atlas.InvestmentOpportunityListingPagePanels),
        ),
        migrations.CreateModel(
            name='InvestmentOpportunityPage',
            fields=[
                ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')),
                ('service_name', models.CharField(choices=[('FIND_A_SUPPLIER', 'Find a Supplier'), ('EXPORT_READINESS', 'Export Readiness'), ('INVEST', 'Invest'), ('COMPONENTS', 'Components'), ('GREAT_INTERNATIONAL', 'Great International')], db_index=True, max_length=100, null=True)),
                ('uses_tree_based_routing', models.BooleanField(default=False, help_text="Allow this page's URL to be determined by its slug, and the slugs of its ancestors in the page tree.", verbose_name='tree-based routing enabled')),
                ('breadcrumbs_label', models.CharField(max_length=50)),
                ('breadcrumbs_label_en_gb', models.CharField(max_length=50, null=True)),
                ('breadcrumbs_label_de', models.CharField(max_length=50, null=True)),
                ('breadcrumbs_label_ja', models.CharField(max_length=50, null=True)),
                ('breadcrumbs_label_zh_hans', models.CharField(max_length=50, null=True)),
                ('breadcrumbs_label_fr', models.CharField(max_length=50, null=True)),
                ('breadcrumbs_label_es', models.CharField(max_length=50, null=True)),
                ('breadcrumbs_label_pt', models.CharField(max_length=50, null=True)),
                ('breadcrumbs_label_ar', models.CharField(max_length=50, null=True)),
                ('priority_weighting', models.DecimalField(decimal_places=2, default='0.0', help_text='For use when auto-ordering results or automatically choosing which to show - an Opportunity with a higher priority weighting will be shown earlier. Max val: 999.99', max_digits=5)),
                ('featured_images', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)),
                ('featured_images_en_gb', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)),
                ('featured_images_de', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)),
                ('featured_images_ja', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)),
                ('featured_images_zh_hans', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)),
                ('featured_images_fr', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)),
                ('featured_images_es', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)),
                ('featured_images_pt', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)),
                ('featured_images_ar', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)),
                ('strapline', models.CharField(help_text='A single sentence which directly brings to the direct opportunity to the fore. 200 chars max.', max_length=200)),
                ('strapline_en_gb', models.CharField(help_text='A single sentence which directly brings to the direct opportunity to the fore. 200 chars max.', max_length=200, null=True)),
                ('strapline_de', models.CharField(help_text='A single sentence which directly brings to the direct opportunity to the fore. 200 chars max.', max_length=200, null=True)),
                ('strapline_ja', models.CharField(help_text='A single sentence which directly brings to the direct opportunity to the fore. 200 chars max.', max_length=200, null=True)),
                ('strapline_zh_hans', models.CharField(help_text='A single sentence which directly brings to the direct opportunity to the fore. 200 chars max.', max_length=200, null=True)),
                ('strapline_fr', models.CharField(help_text='A single sentence which directly brings to the direct opportunity to the fore. 200 chars max.', max_length=200, null=True)),
                ('strapline_es', models.CharField(help_text='A single sentence which directly brings to the direct opportunity to the fore. 200 chars max.', max_length=200, null=True)),
                ('strapline_pt', models.CharField(help_text='A single sentence which directly brings to the direct opportunity to the fore. 200 chars max.', max_length=200, null=True)),
                ('strapline_ar', models.CharField(help_text='A single sentence which directly brings to the direct opportunity to the fore. 200 chars max.', max_length=200, null=True)),
                ('introduction', core.model_fields.MarkdownField(help_text='A single paragraph of 300 characters max including spaces to introduce the opportunity – what is the vision / ambition of the opportunity, timeline and where relevant, procurement method. What type of investor is this suitable for? Where is it and why is that important? Further detail can be provided in the “The Opportunity” section.', max_length=300)),
                ('introduction_en_gb', core.model_fields.MarkdownField(help_text='A single paragraph of 300 characters max including spaces to introduce the opportunity – what is the vision / ambition of the opportunity, timeline and where relevant, procurement method. What type of investor is this suitable for? Where is it and why is that important? Further detail can be provided in the “The Opportunity” section.', max_length=300, null=True)),
                ('introduction_de', core.model_fields.MarkdownField(help_text='A single paragraph of 300 characters max including spaces to introduce the opportunity – what is the vision / ambition of the opportunity, timeline and where relevant, procurement method. What type of investor is this suitable for? Where is it and why is that important? Further detail can be provided in the “The Opportunity” section.', max_length=300, null=True)),
                ('introduction_ja', core.model_fields.MarkdownField(help_text='A single paragraph of 300 characters max including spaces to introduce the opportunity – what is the vision / ambition of the opportunity, timeline and where relevant, procurement method. What type of investor is this suitable for? Where is it and why is that important? Further detail can be provided in the “The Opportunity” section.', max_length=300, null=True)),
                ('introduction_zh_hans', core.model_fields.MarkdownField(help_text='A single paragraph of 300 characters max including spaces to introduce the opportunity – what is the vision / ambition of the opportunity, timeline and where relevant, procurement method. What type of investor is this suitable for? Where is it and why is that important? Further detail can be provided in the “The Opportunity” section.', max_length=300, null=True)),
                ('introduction_fr', core.model_fields.MarkdownField(help_text='A single paragraph of 300 characters max including spaces to introduce the opportunity – what is the vision / ambition of the opportunity, timeline and where relevant, procurement method. What type of investor is this suitable for? Where is it and why is that important? Further detail can be provided in the “The Opportunity” section.', max_length=300, null=True)),
                ('introduction_es', core.model_fields.MarkdownField(help_text='A single paragraph of 300 characters max including spaces to introduce the opportunity – what is the vision / ambition of the opportunity, timeline and where relevant, procurement method. What type of investor is this suitable for? Where is it and why is that important? Further detail can be provided in the “The Opportunity” section.', max_length=300, null=True)),
                ('introduction_pt', core.model_fields.MarkdownField(help_text='A single paragraph of 300 characters max including spaces to introduce the opportunity – what is the vision / ambition of the opportunity, timeline and where relevant, procurement method. What type of investor is this suitable for? Where is it and why is that important? Further detail can be provided in the “The Opportunity” section.', max_length=300, null=True)),
                ('introduction_ar', core.model_fields.MarkdownField(help_text='A single paragraph of 300 characters max including spaces to introduce the opportunity – what is the vision / ambition of the opportunity, timeline and where relevant, procurement method. What type of investor is this suitable for? Where is it and why is that important? Further detail can be provided in the “The Opportunity” section.', max_length=300, null=True)),
                ('opportunity_summary', models.TextField(help_text='Simple summary of the Opportunity, for display on OTHER pages (eg listing pages) which link TO a full page about this opportunity. 300 chars max.', max_length=300)),
                ('opportunity_summary_en_gb', models.TextField(help_text='Simple summary of the Opportunity, for display on OTHER pages (eg listing pages) which link TO a full page about this opportunity. 300 chars max.', max_length=300, null=True)),
                ('opportunity_summary_de', models.TextField(help_text='Simple summary of the Opportunity, for display on OTHER pages (eg listing pages) which link TO a full page about this opportunity. 300 chars max.', max_length=300, null=True)),
                ('opportunity_summary_ja', models.TextField(help_text='Simple summary of the Opportunity, for display on OTHER pages (eg listing pages) which link TO a full page about this opportunity. 300 chars max.', max_length=300, null=True)),
                ('opportunity_summary_zh_hans', models.TextField(help_text='Simple summary of the Opportunity, for display on OTHER pages (eg listing pages) which link TO a full page about this opportunity. 300 chars max.', max_length=300, null=True)),
                ('opportunity_summary_fr', models.TextField(help_text='Simple summary of the Opportunity, for display on OTHER pages (eg listing pages) which link TO a full page about this opportunity. 300 chars max.', max_length=300, null=True)),
                ('opportunity_summary_es', models.TextField(help_text='Simple summary of the Opportunity, for display on OTHER pages (eg listing pages) which link TO a full page about this opportunity. 300 chars max.', max_length=300, null=True)),
                ('opportunity_summary_pt', models.TextField(help_text='Simple summary of the Opportunity, for display on OTHER pages (eg listing pages) which link TO a full page about this opportunity. 300 chars max.', max_length=300, null=True)),
                ('opportunity_summary_ar', models.TextField(help_text='Simple summary of the Opportunity, for display on OTHER pages (eg listing pages) which link TO a full page about this opportunity. 300 chars max.', max_length=300, null=True)),
                ('location', models.CharField(blank=True, help_text='Verbose display name for the location. Geospatial and region data is set in the Location and Relevant Regions tab.', max_length=200)),
                ('location_en_gb', models.CharField(blank=True, help_text='Verbose display name for the location. Geospatial and region data is set in the Location and Relevant Regions tab.', max_length=200, null=True)),
                ('location_de', models.CharField(blank=True, help_text='Verbose display name for the location. Geospatial and region data is set in the Location and Relevant Regions tab.', max_length=200, null=True)),
                ('location_ja', models.CharField(blank=True, help_text='Verbose display name for the location. Geospatial and region data is set in the Location and Relevant Regions tab.', max_length=200, null=True)),
                ('location_zh_hans', models.CharField(blank=True, help_text='Verbose display name for the location. Geospatial and region data is set in the Location and Relevant Regions tab.', max_length=200, null=True)),
                ('location_fr', models.CharField(blank=True, help_text='Verbose display name for the location. Geospatial and region data is set in the Location and Relevant Regions tab.', max_length=200, null=True)),
                ('location_es', models.CharField(blank=True, help_text='Verbose display name for the location. Geospatial and region data is set in the Location and Relevant Regions tab.', max_length=200, null=True)),
                ('location_pt', models.CharField(blank=True, help_text='Verbose display name for the location. Geospatial and region data is set in the Location and Relevant Regions tab.', max_length=200, null=True)),
                ('location_ar', models.CharField(blank=True, help_text='Verbose display name for the location. Geospatial and region data is set in the Location and Relevant Regions tab.', max_length=200, null=True)),
                ('location_coords', models.CharField(blank=True, max_length=200)),
                ('promoter', models.CharField(blank=True, max_length=200)),
                ('promoter_en_gb', models.CharField(blank=True, max_length=200, null=True)),
                ('promoter_de', models.CharField(blank=True, max_length=200, null=True)),
                ('promoter_ja', models.CharField(blank=True, max_length=200, null=True)),
                ('promoter_zh_hans', models.CharField(blank=True, max_length=200, null=True)),
                ('promoter_fr', models.CharField(blank=True, max_length=200, null=True)),
                ('promoter_es', models.CharField(blank=True, max_length=200, null=True)),
                ('promoter_pt', models.CharField(blank=True, max_length=200, null=True)),
                ('promoter_ar', models.CharField(blank=True, max_length=200, null=True)),
                ('scale', models.CharField(blank=True, help_text='Verbose description of investment scale', max_length=255)),
                ('scale_en_gb', models.CharField(blank=True, help_text='Verbose description of investment scale', max_length=255, null=True)),
                ('scale_de', models.CharField(blank=True, help_text='Verbose description of investment scale', max_length=255, null=True)),
                ('scale_ja', models.CharField(blank=True, help_text='Verbose description of investment scale', max_length=255, null=True)),
                ('scale_zh_hans', models.CharField(blank=True, help_text='Verbose description of investment scale', max_length=255, null=True)),
                ('scale_fr', models.CharField(blank=True, help_text='Verbose description of investment scale', max_length=255, null=True)),
                ('scale_es', models.CharField(blank=True, help_text='Verbose description of investment scale', max_length=255, null=True)),
                ('scale_pt', models.CharField(blank=True, help_text='Verbose description of investment scale', max_length=255, null=True)),
                ('scale_ar', models.CharField(blank=True, help_text='Verbose description of investment scale', max_length=255, null=True)),
                ('scale_value', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, null=True, verbose_name='Scale value (in millions)')),
                ('scale_value_en_gb', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, null=True, verbose_name='Scale value (in millions)')),
                ('scale_value_de', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, null=True, verbose_name='Scale value (in millions)')),
                ('scale_value_ja', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, null=True, verbose_name='Scale value (in millions)')),
                ('scale_value_zh_hans', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, null=True, verbose_name='Scale value (in millions)')),
                ('scale_value_fr', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, null=True, verbose_name='Scale value (in millions)')),
                ('scale_value_es', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, null=True, verbose_name='Scale value (in millions)')),
                ('scale_value_pt', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, null=True, verbose_name='Scale value (in millions)')),
                ('scale_value_ar', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, null=True, verbose_name='Scale value (in millions)')),
                ('time_to_investment_decision', models.CharField(blank=True, choices=[('TIME_TO_INVESTMENT_DECISION_0M_6M', '0-6 months'), ('TIME_TO_INVESTMENT_DECISION_6M_12M', '6-12 months'), ('TIME_TO_INVESTMENT_DECISION_1Y_2Y', '1-2 years'), ('TIME_TO_INVESTMENT_DECISION_2Y_PLUS', '2 years +')], max_length=50)),
                ('time_to_investment_decision_en_gb', models.CharField(blank=True, choices=[('TIME_TO_INVESTMENT_DECISION_0M_6M', '0-6 months'), ('TIME_TO_INVESTMENT_DECISION_6M_12M', '6-12 months'), ('TIME_TO_INVESTMENT_DECISION_1Y_2Y', '1-2 years'), ('TIME_TO_INVESTMENT_DECISION_2Y_PLUS', '2 years +')], max_length=50, null=True)),
                ('time_to_investment_decision_de', models.CharField(blank=True, choices=[('TIME_TO_INVESTMENT_DECISION_0M_6M', '0-6 months'), ('TIME_TO_INVESTMENT_DECISION_6M_12M', '6-12 months'), ('TIME_TO_INVESTMENT_DECISION_1Y_2Y', '1-2 years'), ('TIME_TO_INVESTMENT_DECISION_2Y_PLUS', '2 years +')], max_length=50, null=True)),
                ('time_to_investment_decision_ja', models.CharField(blank=True, choices=[('TIME_TO_INVESTMENT_DECISION_0M_6M', '0-6 months'), ('TIME_TO_INVESTMENT_DECISION_6M_12M', '6-12 months'), ('TIME_TO_INVESTMENT_DECISION_1Y_2Y', '1-2 years'), ('TIME_TO_INVESTMENT_DECISION_2Y_PLUS', '2 years +')], max_length=50, null=True)),
                ('time_to_investment_decision_zh_hans', models.CharField(blank=True, choices=[('TIME_TO_INVESTMENT_DECISION_0M_6M', '0-6 months'), ('TIME_TO_INVESTMENT_DECISION_6M_12M', '6-12 months'), ('TIME_TO_INVESTMENT_DECISION_1Y_2Y', '1-2 years'), ('TIME_TO_INVESTMENT_DECISION_2Y_PLUS', '2 years +')], max_length=50, null=True)),
                ('time_to_investment_decision_fr', models.CharField(blank=True, choices=[('TIME_TO_INVESTMENT_DECISION_0M_6M', '0-6 months'), ('TIME_TO_INVESTMENT_DECISION_6M_12M', '6-12 months'), ('TIME_TO_INVESTMENT_DECISION_1Y_2Y', '1-2 years'), ('TIME_TO_INVESTMENT_DECISION_2Y_PLUS', '2 years +')], max_length=50, null=True)),
                ('time_to_investment_decision_es', models.CharField(blank=True, choices=[('TIME_TO_INVESTMENT_DECISION_0M_6M', '0-6 months'), ('TIME_TO_INVESTMENT_DECISION_6M_12M', '6-12 months'), ('TIME_TO_INVESTMENT_DECISION_1Y_2Y', '1-2 years'), ('TIME_TO_INVESTMENT_DECISION_2Y_PLUS', '2 years +')], max_length=50, null=True)),
                ('time_to_investment_decision_pt', models.CharField(blank=True, choices=[('TIME_TO_INVESTMENT_DECISION_0M_6M', '0-6 months'), ('TIME_TO_INVESTMENT_DECISION_6M_12M', '6-12 months'), ('TIME_TO_INVESTMENT_DECISION_1Y_2Y', '1-2 years'), ('TIME_TO_INVESTMENT_DECISION_2Y_PLUS', '2 years +')], max_length=50, null=True)),
                ('time_to_investment_decision_ar', models.CharField(blank=True, choices=[('TIME_TO_INVESTMENT_DECISION_0M_6M', '0-6 months'), ('TIME_TO_INVESTMENT_DECISION_6M_12M', '6-12 months'), ('TIME_TO_INVESTMENT_DECISION_1Y_2Y', '1-2 years'), ('TIME_TO_INVESTMENT_DECISION_2Y_PLUS', '2 years +')], max_length=50, null=True)),
                ('main_content', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:[email protected]', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)),
                ('main_content_en_gb', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:[email protected]', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)),
                ('main_content_de', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:[email protected]', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)),
                ('main_content_ja', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:[email protected]', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)),
                ('main_content_zh_hans', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:[email protected]', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)),
                ('main_content_fr', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:[email protected]', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)),
                ('main_content_es', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:[email protected]', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)),
                ('main_content_pt', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:[email protected]', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)),
                ('main_content_ar', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:[email protected]', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)),
            ],
            options={
                'abstract': False,
            },
            bases=('wagtailcore.page', great_international.panels.investment_atlas.InvestmentOpportunityPagePanels),
        ),
        migrations.CreateModel(
            name='InvestmentType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50)),
            ],
        ),
        migrations.CreateModel(
            name='PlanningStatus',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50)),
            ],
            options={
                'verbose_name_plural': 'Planning Status choices',
            },
        ),
        migrations.CreateModel(
            name='InvestmentOpportunityRelatedSubSectors',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('sort_order', models.IntegerField(blank=True, editable=False, null=True)),
                ('page', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='related_sub_sectors', to='great_international.InvestmentOpportunityPage')),
                ('related_sub_sector', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='great_international.InternationalSubSectorPage')),
            ],
            options={
                'ordering': ['sort_order'],
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='InvestmentOpportunityRelatedSectors',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('sort_order', models.IntegerField(blank=True, editable=False, null=True)),
                ('page', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='related_sectors', to='great_international.InvestmentOpportunityPage')),
                ('related_sector', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='great_international.InternationalSectorPage')),
            ],
            options={
                'ordering': ['sort_order'],
                'abstract': False,
            },
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='investment_type',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.InvestmentType'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='investment_type_ar',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.InvestmentType'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='investment_type_de',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.InvestmentType'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='investment_type_en_gb',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.InvestmentType'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='investment_type_es',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.InvestmentType'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='investment_type_fr',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.InvestmentType'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='investment_type_ja',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.InvestmentType'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='investment_type_pt',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.InvestmentType'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='investment_type_zh_hans',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.InvestmentType'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='planning_status',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.PlanningStatus'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='planning_status_ar',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.PlanningStatus'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='planning_status_de',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.PlanningStatus'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='planning_status_en_gb',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.PlanningStatus'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='planning_status_es',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.PlanningStatus'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='planning_status_fr',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.PlanningStatus'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='planning_status_ja',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.PlanningStatus'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='planning_status_pt',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.PlanningStatus'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='planning_status_zh_hans',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='great_international.PlanningStatus'),
        ),
        migrations.AddField(
            model_name='investmentopportunitypage',
            name='related_regions',
            field=modelcluster.fields.ParentalManyToManyField(blank=True, to='great_international.AboutUkRegionPage'),
        ),
    ]
Beispiel #26
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Movie',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=140)),
                ('plot', models.TextField()),
                ('year', models.PositiveIntegerField()),
                ('rating',
                 models.IntegerField(choices=[
                     (0, 'NR - Not Rated'), (1, 'G - General Audiences'),
                     (2, 'PG - Parental GuidanceSuggested'),
                     (3, 'R - Restricted')
                 ],
                                     default=0)),
                ('runtime', models.PositiveIntegerField()),
                ('website', models.URLField(blank=True)),
            ],
            options={
                'ordering': ('-year', 'title'),
            },
        ),
        migrations.CreateModel(
            name='Person',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('first_name', models.CharField(max_length=140)),
                ('last_name', models.CharField(max_length=140)),
                ('born', models.DateField()),
                ('died', models.DateField(blank=True, null=True)),
            ],
            options={
                'ordering': ('last_name', 'first_name'),
            },
        ),
        migrations.CreateModel(
            name='Role',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=140)),
                ('movie',
                 models.ForeignKey(
                     on_delete=django.db.models.deletion.DO_NOTHING,
                     to='core.Movie')),
                ('person',
                 models.ForeignKey(
                     on_delete=django.db.models.deletion.DO_NOTHING,
                     to='core.Person')),
            ],
            options={
                'unique_together': {('movie', 'person', 'name')},
            },
        ),
        migrations.CreateModel(
            name='MovieImage',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('image',
                 models.ImageField(
                     upload_to=core.models.movie_directory_path_with_uuid)),
                ('uploaded', models.DateTimeField(auto_now=True)),
                ('movie',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='core.Movie')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.AddField(
            model_name='movie',
            name='actors',
            field=models.ManyToManyField(blank=True,
                                         related_name='acting_credits',
                                         through='core.Role',
                                         to='core.Person'),
        ),
        migrations.AddField(
            model_name='movie',
            name='director',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='directed',
                to='core.Person'),
        ),
        migrations.AddField(
            model_name='movie',
            name='writers',
            field=models.ManyToManyField(blank=True,
                                         related_name='writing_credits',
                                         to='core.Person'),
        ),
        migrations.CreateModel(
            name='Vote',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('value',
                 models.SmallIntegerField(choices=[(1, '^'), (-1, '+')])),
                ('voted_on', models.DateTimeField(auto_now=True)),
                ('movie',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='core.Movie')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'unique_together': {('user', 'movie')},
            },
        ),
    ]
Beispiel #27
0
class Migration(migrations.Migration):

    dependencies = [
        ('core', '0011_auto_20180219_1803'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='contacts',
            name='author',
        ),
        migrations.RemoveField(
            model_name='homepage',
            name='author',
        ),
        migrations.AlterModelOptions(
            name='sitesettings',
            options={'verbose_name': 'Site settings'},
        ),
        migrations.AlterField(
            model_name='activation',
            name='url',
            field=models.URLField(verbose_name='Link'),
        ),
        migrations.AlterField(
            model_name='activation',
            name='valid_until',
            field=models.DateTimeField(
                verbose_name='Activation URL valid until'),
        ),
        migrations.AlterField(
            model_name='profile',
            name='activation',
            field=models.OneToOneField(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                to='core.Activation',
                verbose_name='Activation'),
        ),
        migrations.AlterField(
            model_name='profile',
            name='avatar',
            field=models.ImageField(
                blank=True,
                null=True,
                upload_to=core.models.get_profile_image_path,
                verbose_name='Avatar'),
        ),
        migrations.AlterField(
            model_name='sitesettings',
            name='activation_url_preiod',
            field=models.SmallIntegerField(
                default=100, verbose_name='URL activity period, h.'),
        ),
        migrations.AlterField(
            model_name='sitesettings',
            name='default_user_image',
            field=models.ImageField(blank=True,
                                    null=True,
                                    upload_to='',
                                    verbose_name='Default user avatar'),
        ),
        migrations.DeleteModel(name='Contacts', ),
        migrations.DeleteModel(name='Homepage', ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('core', '0035_merge_20180511_0020'),
    ]

    operations = [
        migrations.AlterField(
            model_name='block',
            name='exp_length',
            field=models.FloatField(blank=True, null=True, verbose_name='Exposure length in seconds'),
        ),
        migrations.AlterField(
            model_name='block',
            name='num_observed',
            field=models.IntegerField(blank=True, help_text='No. of scheduler blocks executed', null=True),
        ),
        migrations.AlterField(
            model_name='block',
            name='site',
            field=models.CharField(choices=[('ogg', 'Haleakala'), ('coj', 'Siding Spring'), ('lsc', 'Cerro Tololo'), ('elp', 'McDonald'), ('cpt', 'Sutherland'), ('tfn', 'Tenerife'), ('sbg', 'SBIG cameras'), ('sin', 'Sinistro cameras')], max_length=3),
        ),
        migrations.AlterField(
            model_name='block',
            name='telclass',
            field=models.CharField(choices=[('1m0', '1-meter'), ('2m0', '2-meter'), ('0m4', '0.4-meter')], default='1m0', max_length=3),
        ),
        migrations.AlterField(
            model_name='block',
            name='when_observed',
            field=models.DateTimeField(blank=True, help_text='Date/time of latest frame', null=True),
        ),
        migrations.AlterField(
            model_name='body',
            name='abs_mag',
            field=models.FloatField(blank=True, null=True, verbose_name='H - absolute magnitude'),
        ),
        migrations.AlterField(
            model_name='body',
            name='active',
            field=models.BooleanField(default=False, verbose_name='Actively following?'),
        ),
        migrations.AlterField(
            model_name='body',
            name='arc_length',
            field=models.FloatField(blank=True, null=True, verbose_name='Length of observed arc (days)'),
        ),
        migrations.AlterField(
            model_name='body',
            name='argofperih',
            field=models.FloatField(blank=True, null=True, verbose_name='Arg of perihelion (deg)'),
        ),
        migrations.AlterField(
            model_name='body',
            name='eccentricity',
            field=models.FloatField(blank=True, null=True, verbose_name='Eccentricity'),
        ),
        migrations.AlterField(
            model_name='body',
            name='elements_type',
            field=models.CharField(blank=True, choices=[('MPC_MINOR_PLANET', 'MPC Minor Planet'), ('MPC_COMET', 'MPC Comet')], max_length=16, null=True, verbose_name='Elements type'),
        ),
        migrations.AlterField(
            model_name='body',
            name='epochofel',
            field=models.DateTimeField(blank=True, null=True, verbose_name='Epoch of elements'),
        ),
        migrations.AlterField(
            model_name='body',
            name='epochofperih',
            field=models.DateTimeField(blank=True, help_text='for comets', null=True, verbose_name='Epoch of perihelion'),
        ),
        migrations.AlterField(
            model_name='body',
            name='fast_moving',
            field=models.BooleanField(default=False, verbose_name='Is this object fast?'),
        ),
        migrations.AlterField(
            model_name='body',
            name='longascnode',
            field=models.FloatField(blank=True, null=True, verbose_name='Longitude of Ascending Node (deg)'),
        ),
        migrations.AlterField(
            model_name='body',
            name='meananom',
            field=models.FloatField(blank=True, help_text='for asteroids', null=True, verbose_name='Mean Anomaly (deg)'),
        ),
        migrations.AlterField(
            model_name='body',
            name='meandist',
            field=models.FloatField(blank=True, help_text='for asteroids', null=True, verbose_name='Mean distance (AU)'),
        ),
        migrations.AlterField(
            model_name='body',
            name='name',
            field=models.CharField(blank=True, max_length=15, null=True, verbose_name='Designation'),
        ),
        migrations.AlterField(
            model_name='body',
            name='not_seen',
            field=models.FloatField(blank=True, null=True, verbose_name='Time since last observation (days)'),
        ),
        migrations.AlterField(
            model_name='body',
            name='num_obs',
            field=models.IntegerField(blank=True, null=True, verbose_name='Number of observations'),
        ),
        migrations.AlterField(
            model_name='body',
            name='orbinc',
            field=models.FloatField(blank=True, null=True, verbose_name='Orbital inclination in deg'),
        ),
        migrations.AlterField(
            model_name='body',
            name='origin',
            field=models.CharField(blank=True, choices=[('M', 'Minor Planet Center'), ('N', 'NASA'), ('S', 'Spaceguard'), ('D', 'NEODSYS'), ('G', 'Goldstone'), ('A', 'Arecibo'), ('R', 'Goldstone & Arecibo'), ('L', 'LCOGT'), ('Y', 'Yarkovsky'), ('T', 'Trojan')], default='M', max_length=1, null=True, verbose_name='Where did this target come from?'),
        ),
        migrations.AlterField(
            model_name='body',
            name='perihdist',
            field=models.FloatField(blank=True, help_text='for comets', null=True, verbose_name='Perihelion distance (AU)'),
        ),
        migrations.AlterField(
            model_name='body',
            name='provisional_name',
            field=models.CharField(blank=True, max_length=15, null=True, verbose_name='Provisional MPC designation'),
        ),
        migrations.AlterField(
            model_name='body',
            name='provisional_packed',
            field=models.CharField(blank=True, max_length=7, null=True, verbose_name='MPC name in packed format'),
        ),
        migrations.AlterField(
            model_name='body',
            name='score',
            field=models.IntegerField(blank=True, help_text='NEOCP digest2 score', null=True),
        ),
        migrations.AlterField(
            model_name='body',
            name='slope',
            field=models.FloatField(blank=True, null=True, verbose_name='G - slope parameter'),
        ),
        migrations.AlterField(
            model_name='body',
            name='source_type',
            field=models.CharField(blank=True, choices=[('N', 'NEO'), ('A', 'Asteroid'), ('C', 'Comet'), ('K', 'KBO'), ('E', 'Centaur'), ('T', 'Trojan'), ('U', 'Candidate'), ('X', 'Did not exist'), ('W', 'Was not interesting'), ('D', 'Discovery, non NEO'), ('J', 'Artificial satellite'), ('H', 'Hyperbolic asteroids')], max_length=1, null=True, verbose_name='Type of object'),
        ),
        migrations.AlterField(
            model_name='body',
            name='updated',
            field=models.BooleanField(default=False, verbose_name='Has this object been updated?'),
        ),
        migrations.AlterField(
            model_name='body',
            name='urgency',
            field=models.IntegerField(blank=True, help_text='how urgent is this?', null=True),
        ),
        migrations.AlterField(
            model_name='candidate',
            name='avg_dec',
            field=models.FloatField(verbose_name='Average Observed Dec (degrees)'),
        ),
        migrations.AlterField(
            model_name='candidate',
            name='avg_mag',
            field=models.FloatField(blank=True, null=True, verbose_name='Average Observed Magnitude'),
        ),
        migrations.AlterField(
            model_name='candidate',
            name='avg_midpoint',
            field=models.DateTimeField(verbose_name='Average UTC midpoint'),
        ),
        migrations.AlterField(
            model_name='candidate',
            name='avg_ra',
            field=models.FloatField(verbose_name='Average Observed RA (degrees)'),
        ),
        migrations.AlterField(
            model_name='candidate',
            name='avg_x',
            field=models.FloatField(verbose_name='Average CCD X co-ordinate'),
        ),
        migrations.AlterField(
            model_name='candidate',
            name='avg_y',
            field=models.FloatField(verbose_name='Average CCD Y co-ordinate'),
        ),
        migrations.AlterField(
            model_name='candidate',
            name='cand_id',
            field=models.PositiveIntegerField(verbose_name='Candidate Id'),
        ),
        migrations.AlterField(
            model_name='candidate',
            name='detections',
            field=models.BinaryField(blank=True, null=True, verbose_name='Detections array'),
        ),
        migrations.AlterField(
            model_name='candidate',
            name='score',
            field=models.FloatField(verbose_name='Candidate Score'),
        ),
        migrations.AlterField(
            model_name='candidate',
            name='sky_motion_pa',
            field=models.FloatField(verbose_name='Position angle of motion on the sky (degrees)'),
        ),
        migrations.AlterField(
            model_name='candidate',
            name='speed',
            field=models.FloatField(verbose_name='Speed (degrees/day)'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='aperture_size',
            field=models.FloatField(blank=True, null=True, verbose_name='Size of aperture (arcsec)'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='background',
            field=models.FloatField(verbose_name='Background'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='ellipticity',
            field=models.FloatField(verbose_name='Ellipticity'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='err_obs_dec',
            field=models.FloatField(blank=True, null=True, verbose_name='Error on Observed Dec'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='err_obs_mag',
            field=models.FloatField(blank=True, null=True, verbose_name='Error on Observed Magnitude'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='err_obs_ra',
            field=models.FloatField(blank=True, null=True, verbose_name='Error on Observed RA'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='flags',
            field=models.IntegerField(default=0, help_text='Bitmask of flags', verbose_name='Source flags'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='flux_max',
            field=models.FloatField(blank=True, null=True, verbose_name='Peak flux above background'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='major_axis',
            field=models.FloatField(verbose_name='Ellipse major axis'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='minor_axis',
            field=models.FloatField(verbose_name='Ellipse minor axis'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='obs_dec',
            field=models.FloatField(verbose_name='Observed Dec'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='obs_mag',
            field=models.FloatField(blank=True, null=True, verbose_name='Observed Magnitude'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='obs_ra',
            field=models.FloatField(verbose_name='Observed RA'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='obs_x',
            field=models.FloatField(verbose_name='CCD X co-ordinate'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='obs_y',
            field=models.FloatField(verbose_name='CCD Y co-ordinate'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='position_angle',
            field=models.FloatField(verbose_name='Ellipse position angle'),
        ),
        migrations.AlterField(
            model_name='catalogsources',
            name='threshold',
            field=models.FloatField(blank=True, null=True, verbose_name='Detection threshold above background'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='astrometric_catalog',
            field=models.CharField(default=' ', max_length=40, verbose_name='Astrometric catalog used'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='exptime',
            field=models.FloatField(blank=True, null=True, verbose_name='Exposure time in seconds'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='filename',
            field=models.CharField(blank=True, max_length=50, null=True, verbose_name='FITS filename'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='filter',
            field=models.CharField(default='B', max_length=15, verbose_name='filter class'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='frameid',
            field=models.IntegerField(blank=True, null=True, verbose_name='Archive ID'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='frametype',
            field=models.SmallIntegerField(choices=[(0, 'Single frame'), (1, 'Stack of frames'), (2, 'Non-LCOGT data'), (3, 'Satellite data'), (4, 'Spectrum'), (5, 'FITS LDAC catalog'), (6, 'BANZAI LDAC catalog'), (10, 'ORACDR QL frame'), (11, 'BANZAI QL frame'), (90, 'ORACDR reduced frame'), (91, 'BANZAI reduced frame')], default=0, verbose_name='Frame Type'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='fwhm',
            field=models.FloatField(blank=True, null=True, verbose_name='Full width at half maximum (FWHM; arcsec)'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='instrument',
            field=models.CharField(blank=True, max_length=4, null=True, verbose_name='instrument code'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='midpoint',
            field=models.DateTimeField(verbose_name='UTC date/time of frame midpoint'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='nstars_in_fit',
            field=models.FloatField(blank=True, null=True, verbose_name='No. of stars used in astrometric fit'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='photometric_catalog',
            field=models.CharField(default=' ', max_length=40, verbose_name='Photometric catalog used'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='quality',
            field=models.CharField(blank=True, default=' ', help_text='Comma separated list of frame/condition flags', max_length=40, verbose_name='Frame Quality flags'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='rms_of_fit',
            field=models.FloatField(blank=True, null=True, verbose_name='RMS of astrometric fit (arcsec)'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='sitecode',
            field=models.CharField(max_length=4, verbose_name='MPC site code'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='time_uncertainty',
            field=models.FloatField(blank=True, null=True, verbose_name='Time uncertainty (seconds)'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='wcs',
            field=core.models.WCSField(blank=True, null=True, verbose_name='WCS info'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='zeropoint',
            field=models.FloatField(blank=True, null=True, verbose_name='Frame zeropoint (mag.)'),
        ),
        migrations.AlterField(
            model_name='frame',
            name='zeropoint_err',
            field=models.FloatField(blank=True, null=True, verbose_name='Error on Frame zeropoint (mag.)'),
        ),
        migrations.AlterField(
            model_name='panoptesreport',
            name='classifiers',
            field=models.TextField(blank=True, help_text='Volunteers usernames who found NEOs', null=True),
        ),
        migrations.AlterField(
            model_name='panoptesreport',
            name='subject_id',
            field=models.IntegerField(blank=True, null=True, verbose_name='Subject ID'),
        ),
        migrations.AlterField(
            model_name='panoptesreport',
            name='when_submitted',
            field=models.DateTimeField(blank=True, null=True, verbose_name='Date sent to Zooniverse'),
        ),
        migrations.AlterField(
            model_name='previousspectra',
            name='spec_ir',
            field=models.URLField(blank=True, null=True, verbose_name='IR Spectra Link'),
        ),
        migrations.AlterField(
            model_name='previousspectra',
            name='spec_ref',
            field=models.CharField(blank=True, max_length=10, null=True, verbose_name='Spectra Reference'),
        ),
        migrations.AlterField(
            model_name='previousspectra',
            name='spec_source',
            field=models.CharField(blank=True, choices=[('S', 'SMASS'), ('M', 'MANOS'), ('U', 'Unknown'), ('O', 'Other')], max_length=1, null=True, verbose_name='Source'),
        ),
        migrations.AlterField(
            model_name='previousspectra',
            name='spec_vis',
            field=models.URLField(blank=True, null=True, verbose_name='Visible Spectra Link'),
        ),
        migrations.AlterField(
            model_name='previousspectra',
            name='spec_wav',
            field=models.CharField(blank=True, choices=[('Vis', 'Visible'), ('NIR', 'Near Infrared'), ('Vis+NIR', 'Both Visible and Near IR'), ('NA', 'None Yet.')], max_length=7, null=True, verbose_name='Wavelength'),
        ),
        migrations.AlterField(
            model_name='proposal',
            name='active',
            field=models.BooleanField(default=True, verbose_name='Proposal active?'),
        ),
        migrations.AlterField(
            model_name='proposal',
            name='pi',
            field=models.CharField(default='', help_text='Principal Investigator (PI)', max_length=50, verbose_name='PI'),
        ),
        migrations.AlterField(
            model_name='proposal',
            name='tag',
            field=models.CharField(default='LCOGT', max_length=10),
        ),
        migrations.AlterField(
            model_name='sourcemeasurement',
            name='aperture_size',
            field=models.FloatField(blank=True, null=True, verbose_name='Size of aperture (arcsec)'),
        ),
        migrations.AlterField(
            model_name='sourcemeasurement',
            name='astrometric_catalog',
            field=models.CharField(default=' ', max_length=40, verbose_name='Astrometric catalog used'),
        ),
        migrations.AlterField(
            model_name='sourcemeasurement',
            name='err_obs_dec',
            field=models.FloatField(blank=True, null=True, verbose_name='Error on Observed Dec'),
        ),
        migrations.AlterField(
            model_name='sourcemeasurement',
            name='err_obs_mag',
            field=models.FloatField(blank=True, null=True, verbose_name='Error on Observed Magnitude'),
        ),
        migrations.AlterField(
            model_name='sourcemeasurement',
            name='err_obs_ra',
            field=models.FloatField(blank=True, null=True, verbose_name='Error on Observed RA'),
        ),
        migrations.AlterField(
            model_name='sourcemeasurement',
            name='flags',
            field=models.CharField(blank=True, default=' ', help_text='Comma separated list of frame/condition flags', max_length=40, verbose_name='Frame Quality flags'),
        ),
        migrations.AlterField(
            model_name='sourcemeasurement',
            name='obs_dec',
            field=models.FloatField(blank=True, null=True, verbose_name='Observed Dec'),
        ),
        migrations.AlterField(
            model_name='sourcemeasurement',
            name='obs_mag',
            field=models.FloatField(blank=True, null=True, verbose_name='Observed Magnitude'),
        ),
        migrations.AlterField(
            model_name='sourcemeasurement',
            name='obs_ra',
            field=models.FloatField(blank=True, null=True, verbose_name='Observed RA'),
        ),
        migrations.AlterField(
            model_name='sourcemeasurement',
            name='photometric_catalog',
            field=models.CharField(default=' ', max_length=40, verbose_name='Photometric catalog used'),
        ),
        migrations.AlterField(
            model_name='sourcemeasurement',
            name='snr',
            field=models.FloatField(blank=True, null=True, verbose_name='Size of aperture (arcsec)'),
        ),
        migrations.AlterField(
            model_name='spectralinfo',
            name='tax_notes',
            field=models.CharField(blank=True, max_length=30, null=True, verbose_name='Notes on Taxonomic Classification'),
        ),
        migrations.AlterField(
            model_name='spectralinfo',
            name='tax_reference',
            field=models.CharField(blank=True, choices=[('PDS6', 'Neese, Asteroid Taxonomy V6.0. (2010).'), ('BZ04', 'Binzel, et al. (2004).')], max_length=6, null=True, verbose_name='Reference source for Taxonomic data'),
        ),
        migrations.AlterField(
            model_name='spectralinfo',
            name='tax_scheme',
            field=models.CharField(blank=True, choices=[('T', 'Tholen'), ('Ba', 'Barucci'), ('Td', 'Tedesco'), ('H', 'Howell'), ('S', 'SMASS'), ('B', 'Bus'), ('3T', 'S3OS2_TH'), ('3B', 'S3OS2_BB'), ('BD', 'Bus-DeMeo')], max_length=2, null=True, verbose_name='Taxonomic Scheme'),
        ),
        migrations.AlterField(
            model_name='spectralinfo',
            name='taxonomic_class',
            field=models.CharField(blank=True, max_length=6, null=True, verbose_name='Taxonomic Class'),
        ),
        migrations.AlterField(
            model_name='superblock',
            name='jitter',
            field=models.FloatField(blank=True, null=True, verbose_name='Acceptable deviation before or after strict period (hours)'),
        ),
        migrations.AlterField(
            model_name='superblock',
            name='period',
            field=models.FloatField(blank=True, null=True, verbose_name='Spacing between cadence observations (hours)'),
        ),
        migrations.AlterField(
            model_name='superblock',
            name='rapid_response',
            field=models.BooleanField(default=False, verbose_name='Is this a ToO/Rapid Response observation?'),
        ),
        migrations.AlterField(
            model_name='superblock',
            name='timeused',
            field=models.FloatField(blank=True, null=True, verbose_name='Time used (seconds)'),
        ),
    ]
Beispiel #29
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Scan',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('started_at', models.DateTimeField(blank=True, null=True)),
                ('finished_at', models.DateTimeField(blank=True, null=True)),
                ('name', models.CharField(max_length=255)),
                ('status',
                 models.CharField(choices=[
                     (core.models.Status['COMPLETED'], 'completed'),
                     (core.models.Status['FAILED'], 'failed')
                 ],
                                  max_length=50)),
                ('scanners',
                 django.contrib.postgres.fields.ArrayField(
                     base_field=models.CharField(blank=True,
                                                 max_length=50,
                                                 null=True),
                     size=None)),
                ('severity_counts',
                 django.contrib.postgres.fields.jsonb.JSONField(blank=True,
                                                                null=True)),
            ],
        ),
        migrations.CreateModel(
            name='User',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('username', models.CharField(max_length=255)),
                ('email', models.EmailField(max_length=254)),
                ('first_name', models.CharField(max_length=255)),
                ('last_name', models.CharField(max_length=255)),
            ],
        ),
        migrations.CreateModel(
            name='Vulnerability',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('severity',
                 models.CharField(choices=[
                     (core.models.Severity['INFORMATION'], 'information'),
                     (core.models.Severity['MEDIUM'], 'medium'),
                     (core.models.Severity['HIGH'], 'high'),
                     (core.models.Severity['LOW'], 'low')
                 ],
                                  max_length=50)),
                ('name', models.CharField(max_length=255)),
                ('description', models.TextField()),
                ('solution', models.TextField()),
                ('references',
                 django.contrib.postgres.fields.ArrayField(
                     base_field=models.URLField(blank=True, null=True),
                     size=None)),
                ('cvss_base_score',
                 models.DecimalField(decimal_places=1, max_digits=2)),
                ('scans',
                 models.ForeignKey(
                     on_delete=django.db.models.deletion.DO_NOTHING,
                     related_name='vulnerabilities',
                     to='core.scan')),
            ],
        ),
        migrations.AddField(
            model_name='scan',
            name='requested_by',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name='user',
                to='core.user'),
        ),
        migrations.CreateModel(
            name='Asset',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=255)),
                ('description', models.TextField()),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('scan',
                 models.ForeignKey(
                     on_delete=django.db.models.deletion.DO_NOTHING,
                     related_name='assets_scanned',
                     to='core.scan')),
                ('vulnerability',
                 models.ForeignKey(
                     on_delete=django.db.models.deletion.DO_NOTHING,
                     related_name='affected_assets',
                     to='core.vulnerability')),
            ],
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('learn', '0005_merge_20190311_0756'),
    ]

    operations = [
        migrations.CreateModel(
            name='LiveTraining',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('max_students', models.SmallIntegerField(null=True)),
                ('min_students', models.SmallIntegerField(null=True)),
                ('session_count', models.SmallIntegerField(null=True)),
                ('prerequisites', models.TextField(null=True)),
            ],
        ),
        migrations.AddField(
            model_name='course',
            name='mode',
            field=models.PositiveSmallIntegerField(default=1),
        ),
        migrations.AlterField(
            model_name='course',
            name='difficulty',
            field=models.SmallIntegerField(
                choices=[(1, core.models.DifficultyChoice(1)
                          ), (2, core.models.DifficultyChoice(2)
                              ), (3, core.models.DifficultyChoice(3))]),
        ),
        migrations.AlterField(
            model_name='courseprovider',
            name='logo',
            field=models.ImageField(
                blank=True,
                default=None,
                null=True,
                upload_to=learn.models.CourseProvider.GetLogoFilename),
        ),
        migrations.AlterField(
            model_name='courseprovider',
            name='status',
            field=models.SmallIntegerField(default=1),
        ),
        migrations.AlterField(
            model_name='instructor',
            name='photo',
            field=models.URLField(blank=True, default=None, null=True),
        ),
        migrations.AlterField(
            model_name='instructor',
            name='url',
            field=models.URLField(blank=True, default=None, null=True),
        ),
        migrations.AddField(
            model_name='livetraining',
            name='course',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.PROTECT,
                to='learn.Course'),
        ),
    ]