コード例 #1
0
class Migration(migrations.Migration):

    dependencies = [
        ('activities', '0003_auto_20190425_1824'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='category',
            name='font_awesome',
        ),
        migrations.AlterField(
            model_name='activity',
            name='featured_photo',
            field=sorl.thumbnail.fields.ImageField(
                help_text=
                'This photo will be featured on listings and the topof your activity page.',
                upload_to=activities.models.get_featured_image_filename,
                validators=[activities.validators.validate_image_size],
                verbose_name='featured photo'),
        ),
        migrations.AlterField(
            model_name='tag',
            name='font_awesome',
            field=models.CharField(
                blank=True,
                help_text=
                'This will display an icon next to a tag. Format: <i class="(icon name)"></i>',
                max_length=60,
                verbose_name='tag icon'),
        ),
    ]
コード例 #2
0
class Migration(migrations.Migration):

    dependencies = [
        ('activities', '0015_activitydraft'),
    ]

    operations = [
        migrations.AddField(
            model_name='activity',
            name='flyer',
            field=models.FileField(blank=True, upload_to=activities.models.file_directory_path),
        ),
        migrations.AddField(
            model_name='activity',
            name='organiser',
            field=models.CharField(blank=True, max_length=150),
        ),
        migrations.AddField(
            model_name='activitydraft',
            name='flyer',
            field=models.FileField(blank=True, upload_to=activities.models.file_directory_path),
        ),
        migrations.AddField(
            model_name='activitydraft',
            name='organiser',
            field=models.CharField(blank=True, max_length=150),
        ),
        migrations.AlterField(
            model_name='activity',
            name='description',
            field=models.TextField(blank=True, max_length=150),
        ),
        migrations.AlterField(
            model_name='activitydraft',
            name='description',
            field=models.TextField(blank=True, max_length=150),
        ),
    ]
コード例 #3
0
class Migration(migrations.Migration):

    dependencies = [
        ('activities', '0014_auto_20171206_1944'),
    ]

    operations = [
        migrations.CreateModel(
            name='ActivityDraft',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=150)),
                ('location', models.CharField(blank=True, max_length=150)),
                ('contact_number', models.CharField(blank=True, max_length=15)),
                ('description', models.CharField(blank=True, max_length=150)),
                ('start_date', models.DateField(blank=True)),
                ('end_date', models.DateField(blank=True)),
                ('start_time', models.TimeField(blank=True, default=datetime.datetime.now)),
                ('end_time', models.TimeField(blank=True, default=datetime.datetime.now)),
                ('activity_img', models.ImageField(blank=True, upload_to=activities.models.image_directory_path)),
                ('activity_type', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='activity_drafts', to='activities.ActivityType')),
            ],
        ),
    ]
コード例 #4
0
class Migration(migrations.Migration):

    dependencies = [
        ('activities', '0011_activity_activity_type'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='activity',
            name='created_time',
        ),
        migrations.AddField(
            model_name='activity',
            name='activity_img',
            field=models.ImageField(blank=True, upload_to=activities.models.image_directory_path),
        ),
        migrations.AlterField(
            model_name='activity',
            name='name',
            field=models.CharField(max_length=150),
        ),
    ]
コード例 #5
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('cms', '0022_auto_20180620_1551'),
        ('users', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Activity',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(help_text='Insert a name for your activity', max_length=255, verbose_name='title')),
                ('slug', autoslug.fields.AutoSlugField(always_update=True, editable=False, populate_from='title')),
                ('description', models.TextField(help_text='Describe the activity. (Max. 400 characters)', max_length=400, verbose_name='description')),
                ('highlights', models.TextField(help_text='List what makes this activity unique. (Max. 400 characters) \nPlease insert each highlight per line.', max_length=400, verbose_name='highlights')),
                ('requirements', models.TextField(blank=True, help_text='List all the requirements that you expect from participants. (e.g. age restrictions, required skills etc) \nPlease insert each requirement per line.', max_length=400, verbose_name='requirements')),
                ('address', models.CharField(help_text='Enter a meeting place for the activity', max_length=255, verbose_name='meeting place')),
                ('latitude', models.DecimalField(blank=True, decimal_places=6, default=21.307, max_digits=9, null=True, verbose_name='latitude')),
                ('longitude', models.DecimalField(blank=True, decimal_places=6, default=-157.858, max_digits=9, null=True, verbose_name='longitude')),
                ('price', models.DecimalField(blank=True, decimal_places=2, default=0.0, help_text="Cost of participation.\nIf it's free, then leave it as 0.00 or blank", max_digits=6, validators=[django.core.validators.MinValueValidator(0.0)], verbose_name='price')),
                ('featured_photo', models.ImageField(default='defaults/default_region.jpg', help_text='This photo will be featured on listings and the topof your activity page.', upload_to=activities.models.get_featured_image_filename, verbose_name='featured photo')),
                ('fh_item_id', models.PositiveIntegerField(blank=True, default=None, help_text='This is the FareHarbor item for your activity.', null=True, verbose_name='fareharbor item id')),
                ('status', model_utils.fields.StatusField(choices=[('unapproved', 'unapproved'), ('approved', 'approved')], default='unapproved', max_length=100, no_check_for_status=True)),
                ('approved_time', model_utils.fields.MonitorField(default=django.utils.timezone.now, monitor='status', when={'approved'})),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('modified', models.DateTimeField(auto_now=True)),
                ('is_featured', models.IntegerField(blank=True, default=0, verbose_name='is featured')),
                ('review_count', models.IntegerField(blank=True, default=0, verbose_name='review count')),
            ],
            options={
                'verbose_name': 'activity',
                'verbose_name_plural': 'activities',
            },
        ),
        migrations.CreateModel(
            name='ActivityPhoto',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('file', models.ImageField(upload_to=activities.models.get_photo_image_filename, verbose_name='Photo')),
                ('activity', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='photos', to='activities.Activity')),
            ],
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=60, unique=True, verbose_name='activity category')),
                ('slug', models.SlugField(max_length=20, unique=True)),
                ('font_awesome', models.CharField(blank=True, help_text='This will display an icon next to a tag. Format: fa-(icon name)', max_length=60, verbose_name='category icon')),
            ],
            options={
                'verbose_name': 'category',
                'verbose_name_plural': 'categories',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='FeaturedActivities',
            fields=[
                ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='activities_featuredactivities', serialize=False, to='cms.CMSPlugin')),
                ('number_of_activities', models.IntegerField(default=5, help_text='The maximum number of featured activities to display')),
            ],
            options={
                'abstract': False,
            },
            bases=('cms.cmsplugin',),
        ),
        migrations.CreateModel(
            name='LatestActivities',
            fields=[
                ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='activities_latestactivities', serialize=False, to='cms.CMSPlugin')),
                ('latest_activities', models.IntegerField(default=5, help_text='The maximum number of latest activities to display')),
            ],
            options={
                'abstract': False,
            },
            bases=('cms.cmsplugin',),
        ),
        migrations.CreateModel(
            name='Region',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=60)),
                ('slug', models.SlugField(max_length=20, unique=True)),
            ],
            options={
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=60, unique=True)),
                ('slug', models.SlugField(max_length=20, unique=True)),
                ('font_awesome', models.CharField(blank=True, help_text='This will display an icon next to a tag. Format: fa-(icon name)', max_length=60, verbose_name='tag icon')),
            ],
            options={
                'ordering': ['name'],
            },
        ),
        migrations.AddField(
            model_name='activity',
            name='categories',
            field=models.ManyToManyField(help_text='Select categories the best fits your activity.', to='activities.Category', verbose_name='categories'),
        ),
        migrations.AddField(
            model_name='activity',
            name='host',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='host', to='users.Host'),
        ),
        migrations.AddField(
            model_name='activity',
            name='region',
            field=models.ForeignKey(help_text='Choose a region where you activity will be held.', on_delete=django.db.models.deletion.CASCADE, related_name='activities', related_query_name='activity', to='activities.Region', verbose_name='region'),
        ),
        migrations.AddField(
            model_name='activity',
            name='tags',
            field=models.ManyToManyField(blank=True, help_text='Select tag(s) that best describe your activity.', to='activities.Tag', verbose_name='tags'),
        ),
    ]
コード例 #6
0
class Migration(migrations.Migration):

    dependencies = [
        ('activities', '0019_auto_20171214_1519'),
    ]

    operations = [
        migrations.AddField(
            model_name='activity',
            name='activity_date',
            field=models.DateField(blank=True, null=True),
        ),
        migrations.AddField(
            model_name='activity',
            name='activity_day',
            field=models.CharField(blank=True, choices=[('Monday', 'Monday'), ('Tuesday', 'Tuesday'), ('Wednesday', 'Wednesday'), ('Thursday', 'Thursday'), ('Friday', 'Friday'), ('Saturday', 'Saturday'), ('Sunday', 'Sunday')], default='Monday', max_length=50),
        ),
        migrations.AddField(
            model_name='activity',
            name='term',
            field=models.CharField(blank=True, choices=[('Once', 'Only once'), ('Daily', 'Daily'), ('Weekly', 'Weekly'), ('Fortnightly', 'Fortnightly'), ('Monthly', 'Monthly')], default='Once', max_length=50),
        ),
        migrations.AlterField(
            model_name='activity',
            name='activity_img',
            field=models.ImageField(blank=True, null=True, upload_to=activities.models.image_directory_path),
        ),
        migrations.AlterField(
            model_name='activity',
            name='contact_number',
            field=models.CharField(blank=True, max_length=15, null=True),
        ),
        migrations.AlterField(
            model_name='activity',
            name='description',
            field=models.TextField(blank=True, max_length=150, null=True),
        ),
        migrations.AlterField(
            model_name='activity',
            name='end_date',
            field=models.DateField(blank=True, null=True),
        ),
        migrations.AlterField(
            model_name='activity',
            name='end_time',
            field=models.TimeField(blank=True, default=datetime.datetime.now, null=True),
        ),
        migrations.AlterField(
            model_name='activity',
            name='flyer',
            field=models.FileField(blank=True, null=True, upload_to=activities.models.file_directory_path),
        ),
        migrations.AlterField(
            model_name='activity',
            name='location',
            field=models.CharField(blank=True, max_length=150, null=True),
        ),
        migrations.AlterField(
            model_name='activity',
            name='organiser',
            field=models.CharField(blank=True, max_length=150, null=True),
        ),
        migrations.AlterField(
            model_name='activity',
            name='start_date',
            field=models.DateField(blank=True, null=True),
        ),
        migrations.AlterField(
            model_name='activity',
            name='start_time',
            field=models.TimeField(blank=True, default=datetime.datetime.now, null=True),
        ),
        migrations.AlterField(
            model_name='activitydraft',
            name='activity_img',
            field=models.ImageField(blank=True, null=True, upload_to=activities.models.image_directory_path),
        ),
        migrations.AlterField(
            model_name='activitydraft',
            name='contact_number',
            field=models.CharField(blank=True, max_length=15, null=True),
        ),
        migrations.AlterField(
            model_name='activitydraft',
            name='description',
            field=models.TextField(blank=True, max_length=150, null=True),
        ),
        migrations.AlterField(
            model_name='activitydraft',
            name='end_time',
            field=models.TimeField(blank=True, default=datetime.datetime.now, null=True),
        ),
        migrations.AlterField(
            model_name='activitydraft',
            name='flyer',
            field=models.FileField(blank=True, null=True, upload_to=activities.models.file_directory_path),
        ),
        migrations.AlterField(
            model_name='activitydraft',
            name='location',
            field=models.CharField(blank=True, max_length=150, null=True),
        ),
        migrations.AlterField(
            model_name='activitydraft',
            name='organiser',
            field=models.CharField(blank=True, max_length=150, null=True),
        ),
        migrations.AlterField(
            model_name='activitydraft',
            name='start_time',
            field=models.TimeField(blank=True, default=datetime.datetime.now, null=True),
        ),
    ]
コード例 #7
0
class Migration(migrations.Migration):

    dependencies = [
        ('activities', '0004_auto_20190426_2216'),
    ]

    operations = [
        migrations.AlterField(
            model_name='activity',
            name='categories',
            field=models.ManyToManyField(
                help_text='Select what type(s) of activity you are hosting.',
                to='activities.Category',
                verbose_name='categories'),
        ),
        migrations.AlterField(
            model_name='activity',
            name='description',
            field=models.TextField(help_text='Briefly describe your activity.',
                                   max_length=800,
                                   verbose_name='description'),
        ),
        migrations.AlterField(
            model_name='activity',
            name='featured_photo',
            field=sorl.thumbnail.fields.ImageField(
                help_text=
                'This image will show up on your activity card when browsing.',
                upload_to=activities.models.get_featured_image_filename,
                validators=[activities.validators.validate_image_size],
                verbose_name='featured photo'),
        ),
        migrations.AlterField(
            model_name='activity',
            name='fh_item_id',
            field=models.PositiveIntegerField(
                blank=True,
                default=None,
                help_text=
                'This is the ID number of your FareHarbor item. Leave blank if your activity is free.',
                null=True,
                verbose_name='fareharbor item id'),
        ),
        migrations.AlterField(
            model_name='activity',
            name='host',
            field=models.ForeignKey(
                help_text='The host that is hosting the activity.',
                on_delete=django.db.models.deletion.CASCADE,
                related_name='host',
                to='users.Host'),
        ),
        migrations.AlterField(
            model_name='activity',
            name='price',
            field=models.DecimalField(
                blank=True,
                decimal_places=2,
                default=0.0,
                help_text=
                "Cost for participating. Leave blank or 0 if it's free.",
                max_digits=6,
                validators=[django.core.validators.MinValueValidator(0.0)],
                verbose_name='price'),
        ),
        migrations.AlterField(
            model_name='activity',
            name='region',
            field=models.ForeignKey(
                help_text='Choose a region where your activity takes place.',
                on_delete=django.db.models.deletion.CASCADE,
                related_name='activities',
                related_query_name='activity',
                to='activities.Region',
                verbose_name='region'),
        ),
        migrations.AlterField(
            model_name='activity',
            name='title',
            field=models.CharField(
                help_text=
                'Give a name for your activity that will attract travelers.',
                max_length=255,
                verbose_name='title'),
        ),
    ]
コード例 #8
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Activity',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('featured', models.BooleanField(default=False)),
                ('published', models.BooleanField(default=True)),
                ('release_date', models.DateTimeField()),
                ('embargo_date', models.DateTimeField(blank=True, null=True)),
                ('space', models.BooleanField(default=False)),
                ('earth', models.BooleanField(default=False)),
                ('navigation', models.BooleanField(default=False)),
                ('heritage', models.BooleanField(default=False)),
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False)),
                ('code',
                 models.CharField(
                     help_text=
                     'The 4 digit code that identifies the Activity, in the format "YY##": year, folowed by sequential number.',
                     max_length=4,
                     unique=True)),
                ('doi',
                 models.CharField(
                     blank=True,
                     help_text=
                     'Digital Object Identifier, in the format XXXX/YYYY. See http://www.doi.org/',
                     max_length=50,
                     verbose_name='DOI')),
                ('creation_date',
                 models.DateTimeField(auto_now_add=True, null=True)),
                ('modification_date',
                 models.DateTimeField(auto_now=True, null=True)),
                ('sourcelink_name',
                 models.CharField(blank=True,
                                  max_length=255,
                                  verbose_name='Source Name')),
                ('sourcelink_url',
                 models.URLField(blank=True,
                                 max_length=255,
                                 verbose_name='Source URL')),
                ('affiliation',
                 models.CharField(max_length=255,
                                  verbose_name='Affiliation or organisation')),
                ('email',
                 models.CharField(
                     max_length=64,
                     verbose_name='Email address of corresponding author')),
                ('suitable_group_size',
                 models.IntegerField(verbose_name='Suitable group size')),
                ('max_number_at_once',
                 models.IntegerField(
                     verbose_name='Maximum number of people at once')),
                ('language', models.CharField(max_length=64)),
            ],
            options={
                'verbose_name_plural': 'activities',
                'ordering': ['-code'],
                'abstract': False,
            },
            bases=(parler.models.TranslatableModelMixin, models.Model,
                   search.mixins.SearchModel),
        ),
        migrations.CreateModel(
            name='Collection',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('featured', models.BooleanField(default=False)),
                ('published', models.BooleanField(default=True)),
                ('release_date', models.DateTimeField()),
                ('embargo_date', models.DateTimeField(blank=True, null=True)),
                ('image',
                 sorl.thumbnail.fields.ImageField(blank=True,
                                                  null=True,
                                                  upload_to='collections')),
                ('creation_date',
                 models.DateTimeField(auto_now_add=True, null=True)),
                ('modification_date',
                 models.DateTimeField(auto_now=True, null=True)),
                ('activities',
                 models.ManyToManyField(blank=True,
                                        related_name='collections',
                                        to='activities.Activity')),
            ],
            options={
                'abstract': False,
            },
            bases=(parler.models.TranslatableModelMixin, models.Model),
        ),
        migrations.CreateModel(
            name='JourneyCategory',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('featured', models.BooleanField(default=False)),
                ('published', models.BooleanField(default=True)),
                ('release_date', models.DateTimeField()),
                ('embargo_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'verbose_name': 'journey category',
                'verbose_name_plural': 'journey category',
            },
            bases=(parler.models.TranslatableModelMixin, models.Model),
        ),
        migrations.CreateModel(
            name='JourneyChapter',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('position', models.IntegerField()),
                ('activities',
                 models.ManyToManyField(
                     blank=True,
                     related_name='_journeychapter_activities_+',
                     to='activities.Activity')),
                ('journey',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='activities.JourneyCategory')),
            ],
            options={
                'abstract': False,
            },
            bases=(parler.models.TranslatableModelMixin, models.Model),
        ),
        migrations.CreateModel(
            name='LanguageAttachment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('main_visual',
                 models.BooleanField(
                     default=False,
                     help_text='The main visual is used as the cover image.')),
                ('show',
                 models.BooleanField(default=False,
                                     help_text='Include in attachment list.',
                                     verbose_name='Show')),
                ('position',
                 models.PositiveSmallIntegerField(
                     default=0,
                     help_text=
                     'Used to define the order of attachments in the attachment list.',
                     verbose_name='Position')),
                ('hostmodel',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='activities.Activity')),
            ],
            options={
                'ordering': ['-show', 'position', 'id'],
            },
            bases=(parler.models.TranslatableModelMixin, models.Model),
        ),
        migrations.CreateModel(
            name='Link',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('type',
                 models.IntegerField(choices=[(0, 'Other'), (1, 'Video')],
                                     default=0)),
                ('main', models.BooleanField(default=False)),
                ('show', models.BooleanField(default=True)),
                ('position', models.IntegerField(default=0)),
                ('activity',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='activities.Activity')),
            ],
            options={
                'abstract': False,
            },
            bases=(parler.models.TranslatableModelMixin, models.Model),
        ),
        migrations.CreateModel(
            name='Repository',
            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': 'repositories',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='RepositoryEntry',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('url', models.URLField(max_length=255)),
                ('activity',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='activities.Activity')),
                ('repo',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='activities.Repository')),
            ],
            options={
                'verbose_name_plural': 'repository entries',
                'ordering': ['repo'],
            },
        ),
        migrations.CreateModel(
            name='MetadataOption',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('group',
                 models.CharField(choices=[
                     ('age', 'Age'), ('level', 'Level'), ('time', 'Time'),
                     ('group', 'Group'), ('supervised', 'Supervised'),
                     ('cost', 'Cost per student'), ('location', 'Location'),
                     ('skills', 'Core skills'),
                     ('learning', 'Type(s) of learning activity'),
                     ('content_area_focus', 'Content Area focus'),
                     ('astronomical_scientific_category',
                      'Astronomical Scientific Categories'),
                     ('earth_science_keyword', 'Earth Science keywords'),
                     ('space_science_keyword', 'Space Science keywords')
                 ],
                                  max_length=50)),
                ('code', models.CharField(max_length=50)),
                ('title', models.CharField(max_length=255)),
                ('position', models.PositiveSmallIntegerField(default=0)),
            ],
            options={
                'ordering': ['group', 'position'],
                'unique_together': {('group', 'code')},
            },
        ),
        migrations.CreateModel(
            name='LanguageAttachmentTranslation',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('language_code',
                 models.CharField(db_index=True,
                                  max_length=15,
                                  verbose_name='Language')),
                ('title', models.CharField(blank=True, max_length=255)),
                ('file',
                 models.FileField(
                     blank=True,
                     upload_to=activities.models.get_translated_file_path_step)
                 ),
                ('master',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='translations',
                                   to='activities.LanguageAttachment')),
            ],
            options={
                'abstract': False,
                'default_permissions': (),
            },
            bases=(parler.models.TranslatedFieldsModelMixin, models.Model),
        ),
        migrations.CreateModel(
            name='JourneyCategoryTranslation',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('language_code',
                 models.CharField(db_index=True,
                                  max_length=15,
                                  verbose_name='Language')),
                ('title', models.CharField(max_length=255,
                                           verbose_name='Title')),
                ('description',
                 ckeditor.fields.RichTextField(
                     blank=True,
                     null=True,
                     verbose_name='General introduction')),
                ('master',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='translations',
                                   to='activities.JourneyCategory')),
            ],
            options={
                'abstract': False,
                'default_permissions': (),
            },
            bases=(parler.models.TranslatedFieldsModelMixin, models.Model),
        ),
        migrations.CreateModel(
            name='CollectionTranslation',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('language_code',
                 models.CharField(db_index=True,
                                  max_length=15,
                                  verbose_name='Language')),
                ('title', models.CharField(max_length=255)),
                ('slug',
                 models.SlugField(
                     help_text=
                     'Slug identifies the Collection; it is used as part of the URL.',
                     unique=True)),
                ('description',
                 models.TextField(blank=True,
                                  verbose_name='brief description')),
                ('master',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='translations',
                                   to='activities.Collection')),
            ],
            options={
                'abstract': False,
                'default_permissions': (),
            },
            bases=(parler.models.TranslatedFieldsModelMixin, models.Model),
        ),
        migrations.CreateModel(
            name='AuthorInstitution',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('activity',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='authors',
                                   to='activities.Activity')),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='institutions.Person')),
                ('institution',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='institutions.Institution')),
            ],
        ),
        migrations.CreateModel(
            name='Attachment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(blank=True, max_length=255)),
                ('file',
                 models.FileField(
                     blank=True,
                     upload_to=activities.models.get_file_path_step)),
                ('main_visual',
                 models.BooleanField(
                     default=False,
                     help_text='The main visual is used as the cover image.')),
                ('show',
                 models.BooleanField(default=False,
                                     help_text='Include in attachment list.',
                                     verbose_name='Show')),
                ('position',
                 models.PositiveSmallIntegerField(
                     default=0,
                     help_text=
                     'Used to define the order of attachments in the attachment list.',
                     verbose_name='Position')),
                ('hostmodel',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='activities.Activity')),
            ],
            options={
                'ordering': ['-show', 'position', 'id'],
            },
        ),
        migrations.AddField(
            model_name='activity',
            name='age',
            field=models.ManyToManyField(limit_choices_to={'group': 'age'},
                                         related_name='_activity_age_+',
                                         to='activities.MetadataOption',
                                         verbose_name='Age range'),
        ),
        migrations.AddField(
            model_name='activity',
            name='astronomical_scientific_category',
            field=models.ManyToManyField(
                blank=True,
                limit_choices_to={'group': 'astronomical_categories'},
                related_name='_activity_astronomical_scientific_category_+',
                to='activities.MetadataOption',
                verbose_name='Astronomical Scientific Categories'),
        ),
        migrations.AddField(
            model_name='activity',
            name='content_area_focus',
            field=models.ManyToManyField(
                limit_choices_to={'group': 'content_area_focus'},
                related_name='_activity_content_area_focus_+',
                to='activities.MetadataOption',
                verbose_name='Content Area focus'),
        ),
        migrations.AddField(
            model_name='activity',
            name='cost',
            field=models.ForeignKey(
                limit_choices_to={'group': 'cost'},
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='activities.MetadataOption',
                verbose_name='Cost per student'),
        ),
        migrations.AddField(
            model_name='activity',
            name='country',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='institutions.Location',
                verbose_name='Country(s)'),
        ),
        migrations.AddField(
            model_name='activity',
            name='earth_science_keyword',
            field=models.ManyToManyField(
                blank=True,
                limit_choices_to={'group': 'earth_science'},
                related_name='_activity_earth_science_keyword_+',
                to='activities.MetadataOption',
                verbose_name='Earth Science keywords'),
        ),
        migrations.AddField(
            model_name='activity',
            name='group',
            field=models.ForeignKey(
                limit_choices_to={'group': 'group'},
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='+',
                to='activities.MetadataOption',
                verbose_name='Group or individual activity'),
        ),
        migrations.AddField(
            model_name='activity',
            name='learning',
            field=models.ManyToManyField(
                help_text='Enquiry-based learning model',
                limit_choices_to={'group': 'learning'},
                related_name='_activity_learning_+',
                to='activities.MetadataOption',
                verbose_name='type of learning activity'),
        ),
        migrations.AddField(
            model_name='activity',
            name='level',
            field=models.ManyToManyField(
                help_text='Specify at least one of "Age" and "Level". ',
                limit_choices_to={'group': 'level'},
                related_name='_activity_level_+',
                to='activities.MetadataOption',
                verbose_name='Education level'),
        ),
        migrations.AddField(
            model_name='activity',
            name='location',
            field=models.ForeignKey(
                limit_choices_to={'group': 'location'},
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='+',
                to='activities.MetadataOption'),
        ),
        migrations.AddField(
            model_name='activity',
            name='original_author',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='institutions.Person',
                verbose_name=
                'Original Author of the activity (if not the authors listed above'
            ),
        ),
        migrations.AddField(
            model_name='activity',
            name='other_keyword',
            field=models.ManyToManyField(
                blank=True,
                limit_choices_to={'group': 'other'},
                related_name='_activity_other_keyword_+',
                to='activities.MetadataOption',
                verbose_name='Other'),
        ),
        migrations.AddField(
            model_name='activity',
            name='skills',
            field=models.ManyToManyField(limit_choices_to={'group': 'skills'},
                                         related_name='_activity_skills_+',
                                         to='activities.MetadataOption',
                                         verbose_name='core skills'),
        ),
        migrations.AddField(
            model_name='activity',
            name='space_science_keyword',
            field=models.ManyToManyField(
                blank=True,
                limit_choices_to={'group': 'space_science'},
                related_name='_activity_space_science_keyword_+',
                to='activities.MetadataOption',
                verbose_name='Space Science keywords'),
        ),
        migrations.AddField(
            model_name='activity',
            name='supervised',
            field=models.ForeignKey(
                limit_choices_to={'group': 'supervised'},
                on_delete=django.db.models.deletion.CASCADE,
                related_name='+',
                to='activities.MetadataOption',
                verbose_name='Supervised for safety'),
        ),
        migrations.AddField(
            model_name='activity',
            name='time',
            field=models.ForeignKey(
                limit_choices_to={'group': 'time'},
                on_delete=django.db.models.deletion.CASCADE,
                related_name='+',
                to='activities.MetadataOption'),
        ),
        migrations.CreateModel(
            name='LinkTranslation',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('language_code',
                 models.CharField(db_index=True,
                                  max_length=15,
                                  verbose_name='Language')),
                ('title', models.CharField(blank=True, max_length=64)),
                ('url', models.CharField(max_length=255)),
                ('description', models.CharField(blank=True, max_length=255)),
                ('master',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='translations',
                                   to='activities.Link')),
            ],
            options={
                'unique_together': {('language_code', 'master')},
            },
            bases=(parler.models.TranslatedFieldsModelMixin, models.Model),
        ),
        migrations.CreateModel(
            name='JourneyChapterTranslation',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('language_code',
                 models.CharField(db_index=True,
                                  max_length=15,
                                  verbose_name='Language')),
                ('title',
                 models.CharField(max_length=255,
                                  verbose_name='Chapter title')),
                ('description',
                 models.TextField(blank=True,
                                  verbose_name='Chapter introduction')),
                ('master',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='translations',
                                   to='activities.JourneyChapter')),
            ],
            options={
                'unique_together': {('language_code', 'master')},
            },
            bases=(parler.models.TranslatedFieldsModelMixin, models.Model),
        ),
        migrations.CreateModel(
            name='ActivityTranslation',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('language_code',
                 models.CharField(db_index=True,
                                  max_length=15,
                                  verbose_name='Language')),
                ('slug',
                 autoslug.fields.AutoSlugField(always_update=True,
                                               editable=False,
                                               max_length=200,
                                               populate_from='title')),
                ('title',
                 models.CharField(
                     db_index=True,
                     help_text=
                     'Title is shown in browser window. Use a good informative title, since search engines normally display the title on their result pages.',
                     max_length=255,
                     verbose_name='Activity title')),
                ('teaser',
                 models.TextField(help_text='250 words',
                                  max_length=140,
                                  verbose_name='Abstract')),
                ('theme',
                 models.CharField(help_text='Use top level AVM metadata',
                                  max_length=40)),
                ('keywords',
                 models.TextField(
                     help_text='List of keywords, separated by commas')),
                ('acknowledgement', models.CharField(blank=True,
                                                     max_length=255)),
                ('description',
                 models.TextField(
                     blank=True,
                     help_text='Maximum 2 sentences! Maybe what and how?',
                     verbose_name='brief description')),
                ('goals', models.TextField()),
                ('objectives',
                 models.TextField(verbose_name='Learning Objectives')),
                ('evaluation',
                 models.TextField(
                     help_text=
                     'If the teacher/educator wants to evaluate the impact of the activity, how can she/he do it?'
                 )),
                ('materials',
                 models.TextField(
                     blank=True,
                     help_text=
                     'Please indicate costs and/or suppliers if possible',
                     verbose_name='List of material')),
                ('background',
                 models.TextField(verbose_name='Background Information')),
                ('fulldesc',
                 models.TextField(
                     verbose_name='Full description of the activity')),
                ('curriculum',
                 models.TextField(
                     blank=True,
                     help_text='Please indicate which country',
                     verbose_name='Connection to school curriculum')),
                ('additional_information',
                 models.TextField(
                     blank=True,
                     help_text=
                     'Notes, Tips, Resources, Follow-up, Questions, Safety Requirements, Variations'
                 )),
                ('conclusion', models.TextField()),
                ('alert_message',
                 models.TextField(
                     blank=True,
                     help_text=
                     'Alert message, do display at the top of the activity page'
                 )),
                ('short_desc_material',
                 models.TextField(
                     blank=True,
                     verbose_name='Short description of Suplementary material')
                 ),
                ('further_reading',
                 models.TextField(blank=True,
                                  default='',
                                  verbose_name='Further reading')),
                ('reference',
                 models.TextField(blank=True, verbose_name='References')),
                ('big_idea',
                 models.CharField(blank=True,
                                  max_length=200,
                                  verbose_name='Big Idea of Science')),
                ('spaceawe_authorship',
                 models.TextField(blank=True,
                                  verbose_name='Space Awareness authorship')),
                ('master',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='translations',
                                   to='activities.Activity')),
            ],
            options={
                'unique_together': {('language_code', 'master'),
                                    ('language_code', 'slug')},
            },
            bases=(parler.models.TranslatedFieldsModelMixin, models.Model),
        ),
    ]