class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='BooleanProductVote',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('votes', models.IntegerField(default=0)),
                ('attribute',
                 models.CharField(
                     max_length=100,
                     validators=[
                         networkapi.buyersguide.validators.ValueListValidator(
                             valid_values=['confidence'])
                     ])),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='BuyersGuideProductCategory',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('description',
                 models.TextField(
                     blank=True,
                     help_text=
                     'Description of the product category. Max. 300 characters.',
                     max_length=300)),
                ('featured',
                 models.BooleanField(
                     default=False,
                     help_text=
                     "Featured category will appear first on Buyer's Guide site nav"
                 )),
                ('hidden',
                 models.BooleanField(
                     default=False,
                     help_text=
                     "Hidden categories will not appear in the Buyer's Guide site nav at all"
                 )),
                ('slug',
                 models.SlugField(
                     blank=True,
                     help_text=
                     'A URL-friendly version of the product name. This is an auto-generated field.'
                 )),
            ],
            options={
                'verbose_name': 'Buyers Guide Product Category',
                'verbose_name_plural': 'Buyers Guide Product Categories',
            },
        ),
        migrations.CreateModel(
            name='Product',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('draft',
                 models.BooleanField(
                     default=True,
                     help_text=
                     'When checked, this product will only show for CMS-authenticated users'
                 )),
                ('adult_content',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'When checked, product thumbnail will appear blurred as well as have an 18+ badge on it'
                 )),
                ('review_date',
                 models.DateField(help_text='Review date of this product')),
                ('name',
                 models.CharField(blank=True,
                                  help_text='Name of Product',
                                  max_length=100)),
                ('slug',
                 models.CharField(blank=True,
                                  default=None,
                                  editable=False,
                                  help_text='slug used in urls',
                                  max_length=256)),
                ('company',
                 models.CharField(blank=True,
                                  help_text='Name of Company',
                                  max_length=100)),
                ('blurb',
                 models.TextField(blank=True,
                                  help_text='Description of the product',
                                  max_length=5000)),
                ('url',
                 models.URLField(blank=True,
                                 help_text='Link to this product page',
                                 max_length=2048)),
                ('price',
                 models.CharField(blank=True,
                                  help_text='Price',
                                  max_length=100)),
                ('image',
                 models.FileField(blank=True,
                                  help_text='Image representing this product',
                                  max_length=2048,
                                  upload_to=networkapi.buyersguide.pagemodels.
                                  get_product_image_upload_path.
                                  get_product_image_upload_path)),
                ('cloudinary_image',
                 cloudinary.models.CloudinaryField(
                     blank=True,
                     help_text=
                     'Image representing this product - hosted on Cloudinary',
                     max_length=255,
                     verbose_name='image')),
                ('meets_minimum_security_standards',
                 models.BooleanField(
                     help_text=
                     'Does this product meet minimum security standards?',
                     null=True)),
                ('uses_encryption',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does the product use encryption?')),
                ('uses_encryption_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('security_updates',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Security updates?')),
                ('security_updates_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('strong_password',
                 networkapi.buyersguide.fields.ExtendedYesNoField()),
                ('strong_password_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('manage_vulnerabilities',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Manages security vulnerabilities?')),
                ('manage_vulnerabilities_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('privacy_policy',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does this product have a privacy policy?')),
                ('privacy_policy_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('share_data',
                 models.BooleanField(
                     help_text=
                     'Does the maker share data with other companies?',
                     null=True)),
                ('share_data_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('how_does_it_share',
                 models.CharField(
                     blank=True,
                     help_text='How does this product handle data?',
                     max_length=5000)),
                ('user_friendly_privacy_policy',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text=
                     'Does this product have a user-friendly privacy policy?')
                 ),
                ('user_friendly_privacy_policy_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('worst_case',
                 models.CharField(
                     blank=True,
                     help_text=
                     "What's the worst thing that could happen by using this product?",
                     max_length=5000)),
                ('phone_number',
                 models.CharField(blank=True,
                                  help_text='Phone Number',
                                  max_length=100)),
                ('live_chat',
                 models.CharField(blank=True,
                                  help_text='Live Chat',
                                  max_length=100)),
                ('email',
                 models.CharField(blank=True,
                                  help_text='Email',
                                  max_length=100)),
                ('twitter',
                 models.CharField(blank=True,
                                  help_text='Twitter username',
                                  max_length=100)),
                ('product_category',
                 models.ManyToManyField(
                     blank=True,
                     related_name='pniproduct',
                     to='buyersguide.BuyersGuideProductCategory')),
                ('related_products',
                 models.ManyToManyField(blank=True,
                                        related_name='related_pniproduct',
                                        to='buyersguide.Product')),
            ],
            options={
                'ordering': ['id'],
            },
        ),
        migrations.CreateModel(
            name='RangeProductVote',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('votes', models.IntegerField(default=0)),
                ('attribute',
                 models.CharField(
                     max_length=100,
                     validators=[
                         networkapi.buyersguide.validators.ValueListValidator(
                             valid_values=['creepiness'])
                     ])),
                ('average',
                 models.IntegerField(validators=[
                     django.core.validators.MinValueValidator(1),
                     django.core.validators.MaxValueValidator(100)
                 ])),
                ('product',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='range_product_votes',
                                   to='buyersguide.Product')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Update',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('source',
                 models.URLField(help_text='Link to source', max_length=2048)),
                ('title', models.CharField(max_length=256)),
                ('author', models.CharField(blank=True, max_length=256)),
                ('featured',
                 models.BooleanField(
                     default=False,
                     help_text='feature this update at the top of the list?')),
                ('snippet', models.TextField(blank=True, max_length=5000)),
            ],
        ),
        migrations.CreateModel(
            name='GeneralProduct',
            fields=[
                ('product_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='buyersguide.Product')),
                ('camera_device',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does this device have or access a camera?')),
                ('camera_app',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does the app have or access a camera?')),
                ('microphone_device',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does this Device have or access a microphone?')
                 ),
                ('microphone_app',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does this app have or access a microphone?')),
                ('location_device',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does this product access your location?')),
                ('location_app',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does this app access your location?')),
                ('delete_data',
                 models.BooleanField(
                     help_text='Can you request data be deleted?', null=True)),
                ('delete_data_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('parental_controls',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Are there rules for children?', null=True)),
                ('child_rules_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('collects_biometrics',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does this product collect biometric data?')),
                ('collects_biometrics_helptext',
                 models.TextField(blank=True, max_length=5000)),
            ],
            options={
                'abstract': False,
            },
            bases=('buyersguide.product', ),
        ),
        migrations.CreateModel(
            name='SoftwareProduct',
            fields=[
                ('product_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='buyersguide.Product')),
                ('handles_recordings_how',
                 models.TextField(
                     blank=True,
                     help_text='How does this software handle your recordings',
                     max_length=5000)),
                ('recording_alert',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Alerts when calls are being recorded?',
                     null=True)),
                ('recording_alert_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('signup_with_email',
                 models.BooleanField(help_text='Email required to sign up?',
                                     null=True)),
                ('signup_with_phone',
                 models.BooleanField(
                     help_text='Phone number required to sign up?',
                     null=True)),
                ('signup_with_third_party',
                 models.BooleanField(
                     help_text='Third Party account required to sign up?',
                     null=True)),
                ('signup_methods_helptext',
                 models.TextField(
                     blank=True,
                     help_text=
                     'Describe the kind of contact information requirements for signing up for this product',
                     max_length=5000)),
                ('medical_privacy_compliant',
                 models.BooleanField(
                     help_text='Compliant with US medical privacy laws?',
                     null=True)),
                ('medical_privacy_compliant_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('host_controls', models.TextField(blank=True,
                                                   max_length=5000)),
                ('easy_to_learn_and_use',
                 models.BooleanField(
                     help_text='Is it easy to learn & use the features?',
                     null=True)),
                ('easy_to_learn_and_use_helptext',
                 models.TextField(blank=True, max_length=5000)),
            ],
            options={
                'abstract': False,
            },
            bases=('buyersguide.product', ),
        ),
        migrations.CreateModel(
            name='RangeVoteBreakdown',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('count', models.IntegerField(default=0)),
                ('bucket',
                 models.IntegerField(validators=[
                     networkapi.buyersguide.validators.ValueListValidator(
                         valid_values=[0, 1, 2, 3, 4])
                 ])),
                ('product_vote',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='buyersguide.RangeProductVote')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='RangeVote',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('attribute',
                 models.CharField(
                     max_length=100,
                     validators=[
                         networkapi.buyersguide.validators.ValueListValidator(
                             valid_values=['creepiness'])
                     ])),
                ('value',
                 models.IntegerField(validators=[
                     django.core.validators.MinValueValidator(1),
                     django.core.validators.MaxValueValidator(100)
                 ])),
                ('product',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='buyersguide.Product')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='ProductPrivacyPolicyLink',
            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)),
                ('label',
                 models.CharField(
                     help_text='Label for this link on the product page',
                     max_length=500)),
                ('url',
                 models.URLField(blank=True,
                                 help_text='Privacy policy URL',
                                 max_length=2048)),
                ('product',
                 modelcluster.fields.ParentalKey(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='privacy_policy_links',
                     to='buyersguide.Product')),
            ],
            options={
                'verbose_name': 'Buyers Guide Product Privacy Policy link',
                'verbose_name_plural':
                'Buyers Guide Product Privacy Policy links',
            },
        ),
        migrations.AddField(
            model_name='product',
            name='updates',
            field=models.ManyToManyField(blank=True,
                                         related_name='pniproduct',
                                         to='buyersguide.Update'),
        ),
        migrations.CreateModel(
            name='BooleanVoteBreakdown',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('count', models.IntegerField(default=0)),
                ('bucket',
                 models.IntegerField(validators=[
                     networkapi.buyersguide.validators.ValueListValidator(
                         valid_values=[0, 1])
                 ])),
                ('product_vote',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='buyersguide.BooleanProductVote')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='BooleanVote',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('attribute',
                 models.CharField(
                     max_length=100,
                     validators=[
                         networkapi.buyersguide.validators.ValueListValidator(
                             valid_values=['confidence'])
                     ])),
                ('value', models.BooleanField()),
                ('product',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='buyersguide.Product')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.AddField(
            model_name='booleanproductvote',
            name='product',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='boolean_product_votes',
                to='buyersguide.Product'),
        ),
        migrations.RunPython(create_default_categories),
    ]
Пример #2
0
class Migration(migrations.Migration):

    dependencies = [
        ('buyersguide', '0034_auto_20200113_1514'),
    ]

    operations = [
        migrations.CreateModel(
            name='BaseProduct',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('draft',
                 models.BooleanField(
                     default=True,
                     help_text=
                     'When checked, this product will only show for CMS-authenticated users'
                 )),
                ('adult_content',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'When checked, product thumbnail will appear blurred as well as have an 18+ badge on it'
                 )),
                ('review_date',
                 models.DateField(help_text='Review date of this product')),
                ('name',
                 models.CharField(blank=True,
                                  help_text='Name of Product',
                                  max_length=100)),
                ('slug',
                 models.CharField(blank=True,
                                  default=None,
                                  editable=False,
                                  help_text='slug used in urls',
                                  max_length=256)),
                ('company',
                 models.CharField(blank=True,
                                  help_text='Name of Company',
                                  max_length=100)),
                ('blurb',
                 models.TextField(blank=True,
                                  help_text='Description of the product',
                                  max_length=5000)),
                ('url',
                 models.URLField(blank=True,
                                 help_text='Link to this product page',
                                 max_length=2048)),
                ('price',
                 models.CharField(blank=True,
                                  help_text='Price',
                                  max_length=100)),
                ('image',
                 models.FileField(blank=True,
                                  help_text='Image representing this product',
                                  max_length=2048,
                                  upload_to=networkapi.buyersguide.pagemodels.
                                  get_product_image_upload_path.
                                  get_product_image_upload_path)),
                ('cloudinary_image',
                 cloudinary.models.CloudinaryField(
                     blank=True,
                     help_text=
                     'Image representing this product - hosted on Cloudinary',
                     max_length=255,
                     verbose_name='image')),
                ('meets_minimum_security_standards',
                 models.BooleanField(
                     help_text=
                     'Does this product meet minimum security standards?',
                     null=True)),
                ('uses_encryption',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does the product use encryption?')),
                ('uses_encryption_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('security_updates',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Security updates?')),
                ('security_updates_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('strong_password',
                 networkapi.buyersguide.fields.ExtendedYesNoField()),
                ('strong_password_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('manage_vulnerabilities',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Manages security vulnerabilities?')),
                ('manage_vulnerabilities_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('privacy_policy',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does this product have a privacy policy?')),
                ('privacy_policy_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('share_data',
                 models.BooleanField(
                     help_text=
                     'Does the maker share data with other companies?',
                     null=True)),
                ('share_data_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('how_does_it_share',
                 models.CharField(
                     blank=True,
                     help_text='How does this product handle data?',
                     max_length=5000)),
                ('user_friendly_privacy_policy',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text=
                     'Does this product have a user-friendly privacy policy?')
                 ),
                ('user_friendly_privacy_policy_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('worst_case',
                 models.CharField(
                     blank=True,
                     help_text=
                     "What's the worst thing that could happen by using this product?",
                     max_length=5000)),
                ('phone_number',
                 models.CharField(blank=True,
                                  help_text='Phone Number',
                                  max_length=100)),
                ('live_chat',
                 models.CharField(blank=True,
                                  help_text='Live Chat',
                                  max_length=100)),
                ('email',
                 models.CharField(blank=True,
                                  help_text='Email',
                                  max_length=100)),
                ('twitter',
                 models.CharField(blank=True,
                                  help_text='Twitter username',
                                  max_length=100)),
                ('product_category',
                 models.ManyToManyField(
                     blank=True,
                     related_name='pniproduct',
                     to='buyersguide.BuyersGuideProductCategory')),
                ('related_products',
                 models.ManyToManyField(blank=True,
                                        related_name='related_pniproduct',
                                        to='buyersguide.BaseProduct')),
                ('updates',
                 models.ManyToManyField(blank=True,
                                        related_name='pniproduct',
                                        to='buyersguide.Update')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='BaseProductPrivacyPolicyLink',
            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)),
                ('label',
                 models.CharField(
                     help_text='Label for this link on the product page',
                     max_length=500)),
                ('url',
                 models.URLField(blank=True,
                                 help_text='Privacy policy URL',
                                 max_length=2048)),
                ('product',
                 modelcluster.fields.ParentalKey(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='privacy_policy_links',
                     to='buyersguide.BaseProduct')),
            ],
            options={
                'verbose_name': 'Buyers Guide Product Privacy Policy link',
                'verbose_name_plural':
                'Buyers Guide Product Privacy Policy links',
            },
        ),
        migrations.CreateModel(
            name='GeneralProduct',
            fields=[
                ('baseproduct_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='buyersguide.BaseProduct')),
                ('camera_device',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does this device have or access a camera?')),
                ('camera_app',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does the app have or access a camera?')),
                ('microphone_device',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does this Device have or access a microphone?')
                 ),
                ('microphone_app',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does this app have or access a microphone?')),
                ('location_device',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does this product access your location?')),
                ('location_app',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does this app access your location?')),
                ('delete_data',
                 models.BooleanField(
                     help_text='Can you request data be deleted?', null=True)),
                ('delete_data_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('parental_controls',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Are there rules for children?', null=True)),
                ('child_rules_helptext',
                 models.TextField(blank=True, max_length=5000)),
                ('collects_biometrics',
                 networkapi.buyersguide.fields.ExtendedYesNoField(
                     help_text='Does this product collect biometric data?')),
                ('collects_biometrics_helptext',
                 models.TextField(blank=True, max_length=5000)),
            ],
            options={
                'abstract': False,
            },
            bases=('buyersguide.baseproduct', ),
        ),
        migrations.CreateModel(
            name='SoftwareProduct',
            fields=[
                ('baseproduct_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='buyersguide.BaseProduct')),
            ],
            options={
                'abstract': False,
            },
            bases=('buyersguide.baseproduct', ),
        ),
    ]
Пример #3
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Announcement',
            fields=[
                ('announcement_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('title', models.CharField(max_length=31)),
                ('body', models.TextField()),
                ('post_date', models.DateField(auto_now_add=True, null=True)),
            ],
            options={
                'db_table': 'at_announcements',
            },
        ),
        migrations.CreateModel(
            name='Assignment',
            fields=[
                ('assignment_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('assignment_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('title', models.CharField(max_length=31, null=True)),
                ('description', models.TextField(null=True)),
                ('start_date', models.DateField(null=True)),
                ('due_date', models.DateField(null=True)),
                ('worth',
                 models.PositiveSmallIntegerField(
                     choices=[(0, '0 %'), (10, '10 %'), (15, '15 %'),
                              (20, '20 %'), (25, '25 %'), (30, '30 %'),
                              (35, '35 %'), (40, '40 %'), (45, '45 %'),
                              (50, '50 %'), (55, '55 %'), (60, '60 %'),
                              (65, '65 %'), (70, '70 %'), (75, '75 %'),
                              (80, '80 %'), (85, '85 %'), (90, '90 %'),
                              (95, '95 %'), (100, '100 %')],
                     default=0,
                     validators=[
                         django.core.validators.MinValueValidator(0),
                         django.core.validators.MaxValueValidator(100)
                     ])),
            ],
            options={
                'db_table': 'at_assignments',
            },
        ),
        migrations.CreateModel(
            name='AssignmentSubmission',
            fields=[
                ('submission_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('percent', models.FloatField(default=0)),
                ('earned_marks', models.FloatField(default=0)),
                ('total_marks', models.PositiveSmallIntegerField(default=0)),
                ('submission_date',
                 models.DateTimeField(auto_now=True, null=True)),
                ('is_finished', models.BooleanField(default=False)),
                ('assignment',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Assignment')),
                ('student',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Student')),
            ],
            options={
                'db_table': 'at_assignment_submissions',
            },
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(db_index=True, max_length=150)),
                ('slug', models.SlugField(max_length=150, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('image',
                 cloudinary.models.CloudinaryField(blank=True,
                                                   max_length=255,
                                                   null=True,
                                                   verbose_name='image')),
            ],
            options={
                'verbose_name': 'category',
                'verbose_name_plural': 'categories',
                'ordering': ('name', ),
            },
        ),
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=127)),
                ('sub_title', models.CharField(max_length=127)),
                ('description', models.TextField(null=True)),
                ('start_date', models.DateField(null=True)),
                ('finish_date', models.DateField(null=True)),
                ('is_official', models.BooleanField(default=False)),
                ('status', models.PositiveSmallIntegerField(default=0)),
                ('image',
                 cloudinary.models.CloudinaryField(blank=True,
                                                   max_length=255,
                                                   null=True,
                                                   verbose_name='image')),
                ('price',
                 models.DecimalField(blank=True,
                                     decimal_places=2,
                                     default=0.0,
                                     max_digits=7)),
                ('discount_price',
                 models.DecimalField(blank=True,
                                     decimal_places=2,
                                     default=0.0,
                                     max_digits=7)),
                ('category',
                 models.ForeignKey(default='Leadership',
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='courses',
                                   to='registrar.Category')),
                ('students', models.ManyToManyField(to='account.Student')),
                ('teacher',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Teacher')),
            ],
            options={
                'db_table': 'at_courses',
            },
        ),
        migrations.CreateModel(
            name='CourseDiscussionPost',
            fields=[
                ('post_id', models.AutoField(primary_key=True,
                                             serialize=False)),
                ('title', models.CharField(max_length=127)),
                ('text', models.TextField(blank=True, null=True)),
                ('date', models.DateTimeField(auto_now=True, null=True)),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'db_table': 'at_course_discussion_posts',
            },
        ),
        migrations.CreateModel(
            name='CourseDiscussionThread',
            fields=[
                ('thread_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('title', models.CharField(max_length=127)),
                ('text', models.TextField(blank=True, null=True)),
                ('date', models.DateTimeField(auto_now=True, null=True)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
                ('posts',
                 models.ManyToManyField(to='registrar.CourseDiscussionPost')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'db_table': 'at_course_discussion_threads',
            },
        ),
        migrations.CreateModel(
            name='CourseFinalMark',
            fields=[
                ('credit_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('percent',
                 models.FloatField(
                     default=0,
                     validators=[
                         django.core.validators.MinValueValidator(0),
                         django.core.validators.MaxValueValidator(100)
                     ])),
                ('is_public', models.BooleanField(default=False)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
                ('student',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Student')),
            ],
            options={
                'db_table': 'at_course_final_marks',
            },
        ),
        migrations.CreateModel(
            name='CourseSetting',
            fields=[
                ('settings_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('final_exam_percent',
                 models.FloatField(
                     default=50,
                     validators=[
                         django.core.validators.MinValueValidator(0),
                         django.core.validators.MaxValueValidator(100)
                     ])),
                ('course_percent',
                 models.FloatField(
                     default=50,
                     validators=[
                         django.core.validators.MinValueValidator(0),
                         django.core.validators.MaxValueValidator(100)
                     ])),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
            ],
            options={
                'db_table': 'at_course_settings',
            },
        ),
        migrations.CreateModel(
            name='CourseSubmission',
            fields=[
                ('review_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('status', models.PositiveSmallIntegerField(default=2)),
                ('from_submitter', models.TextField(null=True)),
                ('from_reviewer', models.TextField(null=True)),
                ('review_date', models.DateField(auto_now=True, null=True)),
                ('submission_date', models.DateField(auto_now=True,
                                                     null=True)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
            ],
            options={
                'db_table': 'at_course_submissions',
            },
        ),
        migrations.CreateModel(
            name='EssayQuestion',
            fields=[
                ('question_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('question_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('title', models.CharField(default='', max_length=31)),
                ('description', models.TextField(default='')),
                ('marks',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('assignment',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Assignment')),
            ],
            options={
                'db_table': 'at_essay_questions',
            },
        ),
        migrations.CreateModel(
            name='EssaySubmission',
            fields=[
                ('submission_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('file', models.FileField(upload_to='uploads')),
                ('submission_date',
                 models.DateTimeField(auto_now=True, null=True)),
                ('marks',
                 models.FloatField(
                     default=0,
                     validators=[django.core.validators.MinValueValidator(0)
                                 ])),
                ('question',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.EssayQuestion')),
            ],
            options={
                'db_table': 'at_essay_submissions',
            },
        ),
        migrations.CreateModel(
            name='Exam',
            fields=[
                ('exam_id', models.AutoField(primary_key=True,
                                             serialize=False)),
                ('exam_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('title', models.CharField(max_length=31, null=True)),
                ('description', models.TextField(null=True)),
                ('start_date', models.DateField(null=True)),
                ('due_date', models.DateField(null=True)),
                ('worth',
                 models.PositiveSmallIntegerField(
                     choices=[(0, '0 %'), (10, '10 %'), (15, '15 %'),
                              (20, '20 %'), (25, '25 %'), (30, '30 %'),
                              (35, '35 %'), (40, '40 %'), (45, '45 %'),
                              (50, '50 %'), (55, '55 %'), (60, '60 %'),
                              (65, '65 %'), (70, '70 %'), (75, '75 %'),
                              (80, '80 %'), (85, '85 %'), (90, '90 %'),
                              (95, '95 %'), (100, '100 %')],
                     default=0,
                     validators=[
                         django.core.validators.MinValueValidator(0),
                         django.core.validators.MaxValueValidator(100)
                     ])),
                ('is_final', models.BooleanField(default=False)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='exams',
                                   to='registrar.Course')),
            ],
            options={
                'db_table': 'at_exams',
            },
        ),
        migrations.CreateModel(
            name='ExamSubmission',
            fields=[
                ('submission_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('percent', models.FloatField(default=0)),
                ('earned_marks', models.FloatField(default=0)),
                ('total_marks', models.PositiveSmallIntegerField(default=0)),
                ('submission_date', models.DateField(auto_now=True,
                                                     null=True)),
                ('is_finished', models.BooleanField(default=False)),
                ('exam',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Exam')),
                ('student',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Student')),
            ],
            options={
                'db_table': 'at_exam_submissions',
            },
        ),
        migrations.CreateModel(
            name='FileUpload',
            fields=[
                ('upload_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('type', models.PositiveSmallIntegerField(default=0)),
                ('title', models.CharField(max_length=127, null=True)),
                ('description', models.TextField(null=True)),
                ('upload_date', models.DateField(auto_now=True, null=True)),
                ('file',
                 cloudinary.models.CloudinaryField(max_length=255,
                                                   null=True,
                                                   verbose_name='fileupload')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'db_table': 'at_file_uploads',
            },
        ),
        migrations.CreateModel(
            name='Lecture',
            fields=[
                ('lecture_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('lecture_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('week_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('title', models.CharField(default='',
                                           max_length=63,
                                           null=True)),
                ('description', models.TextField(default='', null=True)),
                ('youtube_url', models.URLField(blank=True, null=True)),
                ('vimeo_url', models.URLField(blank=True, null=True)),
                ('bliptv_url', models.URLField(blank=True, null=True)),
                ('preferred_service',
                 models.CharField(choices=[('1', 'YouTube'), ('2', 'Vimeo')],
                                  default='1',
                                  max_length=1)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='lectures',
                                   to='registrar.Course')),
                ('notes', models.ManyToManyField(to='registrar.FileUpload')),
            ],
            options={
                'db_table': 'at_lectures',
            },
        ),
        migrations.CreateModel(
            name='Module',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('module_number',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('module_title', models.CharField(max_length=80)),
                ('module_duration', models.CharField(max_length=191)),
                ('module_description', models.TextField()),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='modules',
                                   to='registrar.Course')),
            ],
            options={
                'db_table': 'at_modules',
            },
        ),
        migrations.CreateModel(
            name='MultipleChoiceQuestion',
            fields=[
                ('question_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('question_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('title',
                 models.CharField(blank=True, default='', max_length=31)),
                ('description', models.TextField(default='')),
                ('a', models.CharField(max_length=255, null=True)),
                ('a_is_correct', models.BooleanField(default=False)),
                ('b', models.CharField(max_length=255, null=True)),
                ('b_is_correct', models.BooleanField(default=False)),
                ('c', models.CharField(blank=True, max_length=255, null=True)),
                ('c_is_correct', models.BooleanField(default=False)),
                ('d', models.CharField(blank=True, max_length=255, null=True)),
                ('d_is_correct', models.BooleanField(default=False)),
                ('e', models.CharField(blank=True, max_length=255, null=True)),
                ('e_is_correct', models.BooleanField(default=False)),
                ('f', models.CharField(blank=True, max_length=255, null=True)),
                ('f_is_correct', models.BooleanField(default=False)),
                ('marks',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('assignment',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Assignment')),
                ('exam',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Exam')),
            ],
            options={
                'db_table': 'at_multiple_choice_questions',
            },
        ),
        migrations.CreateModel(
            name='MultipleChoiceSubmission',
            fields=[
                ('submission_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('a', models.BooleanField(default=False)),
                ('b', models.BooleanField(default=False)),
                ('c', models.BooleanField(default=False)),
                ('d', models.BooleanField(default=False)),
                ('e', models.BooleanField(default=False)),
                ('f', models.BooleanField(default=False)),
                ('marks',
                 models.FloatField(
                     default=0,
                     validators=[django.core.validators.MinValueValidator(0)
                                 ])),
                ('submission_date',
                 models.DateTimeField(auto_now=True, null=True)),
                ('question',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.MultipleChoiceQuestion')),
                ('student',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Student')),
            ],
            options={
                'db_table': 'at_multiple_choice_submissions',
            },
        ),
        migrations.CreateModel(
            name='PeerReview',
            fields=[
                ('review_id',
                 models.AutoField(max_length=11,
                                  primary_key=True,
                                  serialize=False)),
                ('marks',
                 models.PositiveSmallIntegerField(
                     choices=[(0, '0 Star'), (1, '1 Star'), (2, '2 Stars'),
                              (3, '3 Stars'), (4, '4 Stars'), (5, '5 Stars')],
                     default=0,
                     validators=[
                         django.core.validators.MinValueValidator(0),
                         django.core.validators.MaxValueValidator(5)
                     ])),
                ('text', models.TextField(blank=True, null=True)),
                ('date', models.DateTimeField(auto_now=True, null=True)),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'db_table': 'at_peer_reviews',
            },
        ),
        migrations.CreateModel(
            name='Policy',
            fields=[
                ('policy_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('file',
                 cloudinary.models.CloudinaryField(
                     max_length=255, null=True, verbose_name='policyfiles')),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
            ],
            options={
                'db_table': 'at_policys',
            },
        ),
        migrations.CreateModel(
            name='Quick_Overview',
            fields=[
                ('quickoverview_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('description',
                 models.TextField(default='', max_length=60, null=True)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='quickoverview',
                                   to='registrar.Course')),
            ],
            options={
                'db_table': 'at_quickoverview',
            },
        ),
        migrations.CreateModel(
            name='Quiz',
            fields=[
                ('quiz_id', models.AutoField(primary_key=True,
                                             serialize=False)),
                ('quiz_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(0)
                                 ])),
                ('title', models.CharField(max_length=31, null=True)),
                ('description', models.TextField(null=True)),
                ('start_date', models.DateField(null=True)),
                ('due_date', models.DateField(null=True)),
                ('worth',
                 models.PositiveSmallIntegerField(
                     choices=[(0, '0 %'), (10, '10 %'), (15, '15 %'),
                              (20, '20 %'), (25, '25 %'), (30, '30 %'),
                              (35, '35 %'), (40, '40 %'), (45, '45 %'),
                              (50, '50 %'), (55, '55 %'), (60, '60 %'),
                              (65, '65 %'), (70, '70 %'), (75, '75 %'),
                              (80, '80 %'), (85, '85 %'), (90, '90 %'),
                              (95, '95 %'), (100, '100 %')],
                     default=0,
                     validators=[
                         django.core.validators.MinValueValidator(0),
                         django.core.validators.MaxValueValidator(100)
                     ])),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
            ],
            options={
                'db_table': 'at_quizzes',
            },
        ),
        migrations.CreateModel(
            name='QuizSubmission',
            fields=[
                ('submission_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('percent', models.FloatField(default=0)),
                ('earned_marks', models.FloatField(default=0)),
                ('total_marks', models.PositiveSmallIntegerField(default=0)),
                ('submission_date', models.DateField(auto_now=True,
                                                     null=True)),
                ('is_finished', models.BooleanField(default=False)),
                ('quiz',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Quiz')),
                ('student',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Student')),
            ],
            options={
                'db_table': 'at_quiz_submissions',
            },
        ),
        migrations.CreateModel(
            name='ResponseQuestion',
            fields=[
                ('question_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('question_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('title', models.CharField(default='', max_length=31)),
                ('description', models.TextField(default='')),
                ('answer', models.TextField(default='')),
                ('marks',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('assignment',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Assignment')),
                ('exam',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Exam')),
                ('quiz',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Quiz')),
            ],
            options={
                'db_table': 'at_response_questions',
            },
        ),
        migrations.CreateModel(
            name='ResponseSubmission',
            fields=[
                ('submission_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('answer', models.TextField(default='')),
                ('marks',
                 models.FloatField(
                     default=0,
                     validators=[django.core.validators.MinValueValidator(0)
                                 ])),
                ('submission_date',
                 models.DateTimeField(auto_now=True, null=True)),
                ('question',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.ResponseQuestion')),
                ('reviews', models.ManyToManyField(to='registrar.PeerReview')),
                ('student',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Student')),
            ],
            options={
                'db_table': 'at_response_submissions',
            },
        ),
        migrations.CreateModel(
            name='Syllabus',
            fields=[
                ('syllabus_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('file',
                 cloudinary.models.CloudinaryField(
                     max_length=255, null=True, verbose_name='syllabusfiles')),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
            ],
            options={
                'db_table': 'at_syllabus',
            },
        ),
        migrations.CreateModel(
            name='TrueFalseQuestion',
            fields=[
                ('question_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('question_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('title', models.CharField(default='', max_length=31)),
                ('description', models.TextField(default='')),
                ('true_choice', models.CharField(max_length=127, null=True)),
                ('false_choice', models.CharField(max_length=127, null=True)),
                ('answer', models.BooleanField(default=False)),
                ('marks',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('assignment',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Assignment')),
                ('exam',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Exam')),
                ('quiz',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Quiz')),
            ],
            options={
                'db_table': 'at_true_false_questions',
            },
        ),
        migrations.CreateModel(
            name='TrueFalseSubmission',
            fields=[
                ('submission_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('answer', models.BooleanField(default=False)),
                ('submission_date',
                 models.DateTimeField(auto_now=True, null=True)),
                ('marks',
                 models.FloatField(
                     default=0,
                     validators=[django.core.validators.MinValueValidator(0)
                                 ])),
                ('question',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.TrueFalseQuestion')),
                ('student',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Student')),
            ],
            options={
                'db_table': 'at_true_false_submissions',
            },
        ),
        migrations.CreateModel(
            name='Unit',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('unit_number',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('unit_title', models.CharField(max_length=191)),
                ('unit_description', models.TextField()),
                ('module',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='units',
                                   to='registrar.Module')),
            ],
            options={
                'db_table': 'at_units',
            },
        ),
        migrations.AddField(
            model_name='multiplechoicequestion',
            name='quiz',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='registrar.Quiz'),
        ),
        migrations.AddField(
            model_name='essaysubmission',
            name='reviews',
            field=models.ManyToManyField(to='registrar.PeerReview'),
        ),
        migrations.AddField(
            model_name='essaysubmission',
            name='student',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='account.Student'),
        ),
        migrations.AddField(
            model_name='essayquestion',
            name='exam',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='registrar.Exam'),
        ),
        migrations.AddField(
            model_name='essayquestion',
            name='quiz',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='registrar.Quiz'),
        ),
        migrations.AddField(
            model_name='assignment',
            name='course',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='registrar.Course'),
        ),
        migrations.AddField(
            model_name='announcement',
            name='course',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='registrar.Course'),
        ),
    ]
Пример #4
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Announcement',
            fields=[
                ('announcement_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('title', models.CharField(max_length=31)),
                ('body', models.TextField()),
                ('post_date', models.DateField(auto_now_add=True, null=True)),
            ],
            options={
                'db_table': 'at_announcements',
            },
        ),
        migrations.CreateModel(
            name='Assignment',
            fields=[
                ('assignment_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('assignment_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('title', models.CharField(max_length=31, null=True)),
                ('description', models.TextField(null=True)),
                ('start_date', models.DateField(null=True)),
                ('due_date', models.DateField(null=True)),
                ('worth',
                 models.PositiveSmallIntegerField(
                     choices=[(0, '0 %'), (10, '10 %'), (15, '15 %'),
                              (20, '20 %'), (25, '25 %'), (30, '30 %'),
                              (35, '35 %'), (40, '40 %'), (45, '45 %'),
                              (50, '50 %'), (55, '55 %'), (60, '60 %'),
                              (65, '65 %'), (70, '70 %'), (75, '75 %'),
                              (80, '80 %'), (85, '85 %'), (90, '90 %'),
                              (95, '95 %'), (100, '100 %')],
                     default=0,
                     validators=[
                         django.core.validators.MinValueValidator(0),
                         django.core.validators.MaxValueValidator(100)
                     ])),
            ],
            options={
                'db_table': 'at_assignments',
            },
        ),
        migrations.CreateModel(
            name='AssignmentSubmission',
            fields=[
                ('submission_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('percent', models.FloatField(default=0)),
                ('earned_marks', models.FloatField(default=0)),
                ('total_marks', models.PositiveSmallIntegerField(default=0)),
                ('submission_date',
                 models.DateTimeField(auto_now=True, null=True)),
                ('is_finished', models.BooleanField(default=False)),
                ('assignment',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Assignment')),
                ('student',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Student')),
            ],
            options={
                'db_table': 'at_assignment_submissions',
            },
        ),
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=127)),
                ('sub_title', models.CharField(max_length=127)),
                ('category',
                 models.CharField(choices=[
                     ('Aeronautics & Astronautics',
                      'Aeronautics & Astronautics'),
                     ('Anesthesia', 'Anesthesia'),
                     ('Anthropology', 'Anthropology'),
                     ('Applied Physics', 'Applied Physics'),
                     ('Art or Art History', 'Art & Art History'),
                     ('Astrophysics', 'Astrophysics'),
                     ('Biochemistry', 'Biochemistry'),
                     ('Bioengineering', 'Bioengineering'),
                     ('Biology', 'Biology'), ('Business', 'Business'),
                     ('Cardiothoracic Surgery', 'Cardiothoracic Surgery'),
                     ('Chemical and Systems Biology',
                      'Chemical and Systems Biology'),
                     ('Chemical Engineering', 'Chemical Engineering'),
                     ('Chemistry', 'Chemistry'),
                     ('Civil and Environmental Engineering',
                      'Civil and Environmental Engineering'),
                     ('Classics', 'Classics'),
                     ('Communication', 'Communication'),
                     ('Comparative Literature', 'Comparative Literature'),
                     ('Comparative Medicine', 'Comparative Medicine'),
                     ('Computer Science', 'Computer Science'),
                     ('Dermatology', 'Dermatology'),
                     ('Developmental Biology', 'Developmental Biology'),
                     ('East Asian Languages and Cultures',
                      'East Asian Languages and Cultures'),
                     ('Economics', 'Economics'), ('Education', 'Education'),
                     ('Electrical Engineering', 'Electrical Engineering'),
                     ('English', 'English'), ('French', 'French'),
                     ('Genetics', 'Genetics'),
                     ('General Eduction', 'General Education'),
                     ('Geological and Environmental Sciences',
                      'Geological and Environmental Sciences'),
                     ('Geophysics', 'Geophysics'), ('Health', 'Health'),
                     ('History', 'History'),
                     ('Latin American Cultures', 'Latin American Cultures'),
                     ('Law School', 'Law School'),
                     ('Linguistics', 'Linguistics'),
                     ('Management', 'Management'),
                     ('Materials Science', 'Materials Science'),
                     ('Mathematics', 'Mathematics'),
                     ('Mechanical Engineering', 'Mechanical Engineering'),
                     ('Medicine', 'Medicine'),
                     ('Microbiology and Immunology',
                      'Microbiology and Immunology'),
                     ('Molecular and Cellular Physiology',
                      'Molecular and Cellular Physiology'), ('Music', 'Music'),
                     ('Neurobiology', 'Neurobiology'),
                     ('Neurology', 'Neurology'),
                     ('Neurosurgery', 'Neurosurgery'),
                     ('Obstetrics and Gynecology',
                      'Obstetrics and Gynecology'),
                     ('Ophthalmology', 'Ophthalmology'),
                     ('Orthopaedic Surgery', 'Orthopaedic Surgery'),
                     ('Other', 'Other'), ('Otolaryngology', 'Otolaryngology'),
                     ('Pathology', 'Pathology'), ('Pediatrics', 'Pediatrics'),
                     ('Philosophy', 'Philosophy'), ('Physics', 'Physics'),
                     ('Political Science', 'Political Science'),
                     ('Psychiatry', 'Psychiatry'),
                     ('Psychology', 'Psychology'),
                     ('Radiation Oncology', 'Radiation Oncology'),
                     ('Radiology', 'Radiology'),
                     ('Religious Studies', 'Religious Studies'),
                     ('Slavic Languages and Literature',
                      'Slavic Languages and Literature'),
                     ('Sociology', 'Sociology'), ('Statistics', 'Statistics'),
                     ('Surgery', 'Surgery'),
                     ('Theater and Performance Studies',
                      'Theater and Performance Studies'),
                     ('Urology', 'Urology')
                 ],
                                  default='General Education',
                                  max_length=127)),
                ('description', models.TextField(null=True)),
                ('start_date', models.DateField(null=True)),
                ('finish_date', models.DateField(null=True)),
                ('is_official', models.BooleanField(default=False)),
                ('status', models.PositiveSmallIntegerField(default=0)),
                ('image',
                 cloudinary.models.CloudinaryField(blank=True,
                                                   max_length=255,
                                                   null=True,
                                                   verbose_name='image')),
                ('students', models.ManyToManyField(to='account.Student')),
                ('teacher',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Teacher')),
            ],
            options={
                'db_table': 'at_courses',
            },
        ),
        migrations.CreateModel(
            name='CourseDiscussionPost',
            fields=[
                ('post_id', models.AutoField(primary_key=True,
                                             serialize=False)),
                ('title', models.CharField(max_length=127)),
                ('text', models.TextField(blank=True, null=True)),
                ('date', models.DateTimeField(auto_now=True, null=True)),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'db_table': 'at_course_discussion_posts',
            },
        ),
        migrations.CreateModel(
            name='CourseDiscussionThread',
            fields=[
                ('thread_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('title', models.CharField(max_length=127)),
                ('text', models.TextField(blank=True, null=True)),
                ('date', models.DateTimeField(auto_now=True, null=True)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
                ('posts',
                 models.ManyToManyField(to='registrar.CourseDiscussionPost')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'db_table': 'at_course_discussion_threads',
            },
        ),
        migrations.CreateModel(
            name='CourseFinalMark',
            fields=[
                ('credit_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('percent',
                 models.FloatField(
                     default=0,
                     validators=[
                         django.core.validators.MinValueValidator(0),
                         django.core.validators.MaxValueValidator(100)
                     ])),
                ('is_public', models.BooleanField(default=False)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
                ('student',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Student')),
            ],
            options={
                'db_table': 'at_course_final_marks',
            },
        ),
        migrations.CreateModel(
            name='CourseSetting',
            fields=[
                ('settings_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('final_exam_percent',
                 models.FloatField(
                     default=50,
                     validators=[
                         django.core.validators.MinValueValidator(0),
                         django.core.validators.MaxValueValidator(100)
                     ])),
                ('course_percent',
                 models.FloatField(
                     default=50,
                     validators=[
                         django.core.validators.MinValueValidator(0),
                         django.core.validators.MaxValueValidator(100)
                     ])),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
            ],
            options={
                'db_table': 'at_course_settings',
            },
        ),
        migrations.CreateModel(
            name='CourseSubmission',
            fields=[
                ('review_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('status', models.PositiveSmallIntegerField(default=2)),
                ('from_submitter', models.TextField(null=True)),
                ('from_reviewer', models.TextField(null=True)),
                ('review_date', models.DateField(auto_now=True, null=True)),
                ('submission_date', models.DateField(auto_now=True,
                                                     null=True)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
            ],
            options={
                'db_table': 'at_course_submissions',
            },
        ),
        migrations.CreateModel(
            name='EssayQuestion',
            fields=[
                ('question_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('question_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('title', models.CharField(default='', max_length=31)),
                ('description', models.TextField(default='')),
                ('marks',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('assignment',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Assignment')),
            ],
            options={
                'db_table': 'at_essay_questions',
            },
        ),
        migrations.CreateModel(
            name='EssaySubmission',
            fields=[
                ('submission_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('file', models.FileField(upload_to='uploads')),
                ('submission_date',
                 models.DateTimeField(auto_now=True, null=True)),
                ('marks',
                 models.FloatField(
                     default=0,
                     validators=[django.core.validators.MinValueValidator(0)
                                 ])),
                ('question',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.EssayQuestion')),
            ],
            options={
                'db_table': 'at_essay_submissions',
            },
        ),
        migrations.CreateModel(
            name='Exam',
            fields=[
                ('exam_id', models.AutoField(primary_key=True,
                                             serialize=False)),
                ('exam_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('title', models.CharField(max_length=31, null=True)),
                ('description', models.TextField(null=True)),
                ('start_date', models.DateField(null=True)),
                ('due_date', models.DateField(null=True)),
                ('worth',
                 models.PositiveSmallIntegerField(
                     choices=[(0, '0 %'), (10, '10 %'), (15, '15 %'),
                              (20, '20 %'), (25, '25 %'), (30, '30 %'),
                              (35, '35 %'), (40, '40 %'), (45, '45 %'),
                              (50, '50 %'), (55, '55 %'), (60, '60 %'),
                              (65, '65 %'), (70, '70 %'), (75, '75 %'),
                              (80, '80 %'), (85, '85 %'), (90, '90 %'),
                              (95, '95 %'), (100, '100 %')],
                     default=0,
                     validators=[
                         django.core.validators.MinValueValidator(0),
                         django.core.validators.MaxValueValidator(100)
                     ])),
                ('is_final', models.BooleanField(default=False)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
            ],
            options={
                'db_table': 'at_exams',
            },
        ),
        migrations.CreateModel(
            name='ExamSubmission',
            fields=[
                ('submission_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('percent', models.FloatField(default=0)),
                ('earned_marks', models.FloatField(default=0)),
                ('total_marks', models.PositiveSmallIntegerField(default=0)),
                ('submission_date', models.DateField(auto_now=True,
                                                     null=True)),
                ('is_finished', models.BooleanField(default=False)),
                ('exam',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Exam')),
                ('student',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Student')),
            ],
            options={
                'db_table': 'at_exam_submissions',
            },
        ),
        migrations.CreateModel(
            name='FileUpload',
            fields=[
                ('upload_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('type', models.PositiveSmallIntegerField(default=0)),
                ('title', models.CharField(max_length=127, null=True)),
                ('description', models.TextField(null=True)),
                ('upload_date', models.DateField(auto_now=True, null=True)),
                ('file',
                 cloudinary.models.CloudinaryField(max_length=255,
                                                   null=True,
                                                   verbose_name='fileupload')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'db_table': 'at_file_uploads',
            },
        ),
        migrations.CreateModel(
            name='Lecture',
            fields=[
                ('lecture_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('lecture_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('week_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('title', models.CharField(default='',
                                           max_length=63,
                                           null=True)),
                ('description', models.TextField(default='', null=True)),
                ('youtube_url', models.URLField(blank=True, null=True)),
                ('vimeo_url', models.URLField(blank=True, null=True)),
                ('bliptv_url', models.URLField(blank=True, null=True)),
                ('preferred_service',
                 models.CharField(choices=[('1', 'YouTube'), ('2', 'Vimeo')],
                                  default='1',
                                  max_length=1)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
                ('notes', models.ManyToManyField(to='registrar.FileUpload')),
            ],
            options={
                'db_table': 'at_lectures',
            },
        ),
        migrations.CreateModel(
            name='MultipleChoiceQuestion',
            fields=[
                ('question_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('question_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('title',
                 models.CharField(blank=True, default='', max_length=31)),
                ('description', models.TextField(default='')),
                ('a', models.CharField(max_length=255, null=True)),
                ('a_is_correct', models.BooleanField(default=False)),
                ('b', models.CharField(max_length=255, null=True)),
                ('b_is_correct', models.BooleanField(default=False)),
                ('c', models.CharField(blank=True, max_length=255, null=True)),
                ('c_is_correct', models.BooleanField(default=False)),
                ('d', models.CharField(blank=True, max_length=255, null=True)),
                ('d_is_correct', models.BooleanField(default=False)),
                ('e', models.CharField(blank=True, max_length=255, null=True)),
                ('e_is_correct', models.BooleanField(default=False)),
                ('f', models.CharField(blank=True, max_length=255, null=True)),
                ('f_is_correct', models.BooleanField(default=False)),
                ('marks',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('assignment',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Assignment')),
                ('exam',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Exam')),
            ],
            options={
                'db_table': 'at_multiple_choice_questions',
            },
        ),
        migrations.CreateModel(
            name='MultipleChoiceSubmission',
            fields=[
                ('submission_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('a', models.BooleanField(default=False)),
                ('b', models.BooleanField(default=False)),
                ('c', models.BooleanField(default=False)),
                ('d', models.BooleanField(default=False)),
                ('e', models.BooleanField(default=False)),
                ('f', models.BooleanField(default=False)),
                ('marks',
                 models.FloatField(
                     default=0,
                     validators=[django.core.validators.MinValueValidator(0)
                                 ])),
                ('submission_date',
                 models.DateTimeField(auto_now=True, null=True)),
                ('question',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.MultipleChoiceQuestion')),
                ('student',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Student')),
            ],
            options={
                'db_table': 'at_multiple_choice_submissions',
            },
        ),
        migrations.CreateModel(
            name='PeerReview',
            fields=[
                ('review_id',
                 models.AutoField(max_length=11,
                                  primary_key=True,
                                  serialize=False)),
                ('marks',
                 models.PositiveSmallIntegerField(
                     choices=[(0, '0 Star'), (1, '1 Star'), (2, '2 Stars'),
                              (3, '3 Stars'), (4, '4 Stars'), (5, '5 Stars')],
                     default=0,
                     validators=[
                         django.core.validators.MinValueValidator(0),
                         django.core.validators.MaxValueValidator(5)
                     ])),
                ('text', models.TextField(blank=True, null=True)),
                ('date', models.DateTimeField(auto_now=True, null=True)),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'db_table': 'at_peer_reviews',
            },
        ),
        migrations.CreateModel(
            name='Policy',
            fields=[
                ('policy_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('file',
                 cloudinary.models.CloudinaryField(
                     max_length=255, null=True, verbose_name='policyfiles')),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
            ],
            options={
                'db_table': 'at_policys',
            },
        ),
        migrations.CreateModel(
            name='Quiz',
            fields=[
                ('quiz_id', models.AutoField(primary_key=True,
                                             serialize=False)),
                ('quiz_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(0)
                                 ])),
                ('title', models.CharField(max_length=31, null=True)),
                ('description', models.TextField(null=True)),
                ('start_date', models.DateField(null=True)),
                ('due_date', models.DateField(null=True)),
                ('worth',
                 models.PositiveSmallIntegerField(
                     choices=[(0, '0 %'), (10, '10 %'), (15, '15 %'),
                              (20, '20 %'), (25, '25 %'), (30, '30 %'),
                              (35, '35 %'), (40, '40 %'), (45, '45 %'),
                              (50, '50 %'), (55, '55 %'), (60, '60 %'),
                              (65, '65 %'), (70, '70 %'), (75, '75 %'),
                              (80, '80 %'), (85, '85 %'), (90, '90 %'),
                              (95, '95 %'), (100, '100 %')],
                     default=0,
                     validators=[
                         django.core.validators.MinValueValidator(0),
                         django.core.validators.MaxValueValidator(100)
                     ])),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
            ],
            options={
                'db_table': 'at_quizzes',
            },
        ),
        migrations.CreateModel(
            name='QuizSubmission',
            fields=[
                ('submission_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('percent', models.FloatField(default=0)),
                ('earned_marks', models.FloatField(default=0)),
                ('total_marks', models.PositiveSmallIntegerField(default=0)),
                ('submission_date', models.DateField(auto_now=True,
                                                     null=True)),
                ('is_finished', models.BooleanField(default=False)),
                ('quiz',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Quiz')),
                ('student',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Student')),
            ],
            options={
                'db_table': 'at_quiz_submissions',
            },
        ),
        migrations.CreateModel(
            name='ResponseQuestion',
            fields=[
                ('question_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('question_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('title', models.CharField(default='', max_length=31)),
                ('description', models.TextField(default='')),
                ('answer', models.TextField(default='')),
                ('marks',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('assignment',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Assignment')),
                ('exam',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Exam')),
                ('quiz',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Quiz')),
            ],
            options={
                'db_table': 'at_response_questions',
            },
        ),
        migrations.CreateModel(
            name='ResponseSubmission',
            fields=[
                ('submission_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('answer', models.TextField(default='')),
                ('marks',
                 models.FloatField(
                     default=0,
                     validators=[django.core.validators.MinValueValidator(0)
                                 ])),
                ('submission_date',
                 models.DateTimeField(auto_now=True, null=True)),
                ('question',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.ResponseQuestion')),
                ('reviews', models.ManyToManyField(to='registrar.PeerReview')),
                ('student',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Student')),
            ],
            options={
                'db_table': 'at_response_submissions',
            },
        ),
        migrations.CreateModel(
            name='Syllabus',
            fields=[
                ('syllabus_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('file',
                 cloudinary.models.CloudinaryField(
                     max_length=255, null=True, verbose_name='syllabusfiles')),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Course')),
            ],
            options={
                'db_table': 'at_syllabus',
            },
        ),
        migrations.CreateModel(
            name='TrueFalseQuestion',
            fields=[
                ('question_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('question_num',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('title', models.CharField(default='', max_length=31)),
                ('description', models.TextField(default='')),
                ('true_choice', models.CharField(max_length=127, null=True)),
                ('false_choice', models.CharField(max_length=127, null=True)),
                ('answer', models.BooleanField(default=False)),
                ('marks',
                 models.PositiveSmallIntegerField(
                     default=1,
                     validators=[django.core.validators.MinValueValidator(1)
                                 ])),
                ('assignment',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Assignment')),
                ('exam',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Exam')),
                ('quiz',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.Quiz')),
            ],
            options={
                'db_table': 'at_true_false_questions',
            },
        ),
        migrations.CreateModel(
            name='TrueFalseSubmission',
            fields=[
                ('submission_id',
                 models.AutoField(primary_key=True, serialize=False)),
                ('answer', models.BooleanField(default=False)),
                ('submission_date',
                 models.DateTimeField(auto_now=True, null=True)),
                ('marks',
                 models.FloatField(
                     default=0,
                     validators=[django.core.validators.MinValueValidator(0)
                                 ])),
                ('question',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='registrar.TrueFalseQuestion')),
                ('student',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='account.Student')),
            ],
            options={
                'db_table': 'at_true_false_submissions',
            },
        ),
        migrations.AddField(
            model_name='multiplechoicequestion',
            name='quiz',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='registrar.Quiz'),
        ),
        migrations.AddField(
            model_name='essaysubmission',
            name='reviews',
            field=models.ManyToManyField(to='registrar.PeerReview'),
        ),
        migrations.AddField(
            model_name='essaysubmission',
            name='student',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='account.Student'),
        ),
        migrations.AddField(
            model_name='essayquestion',
            name='exam',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='registrar.Exam'),
        ),
        migrations.AddField(
            model_name='essayquestion',
            name='quiz',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='registrar.Quiz'),
        ),
        migrations.AddField(
            model_name='assignment',
            name='course',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='registrar.Course'),
        ),
        migrations.AddField(
            model_name='announcement',
            name='course',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='registrar.Course'),
        ),
    ]
Пример #5
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Faq',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('question',
                 models.CharField(max_length=200, verbose_name='Question')),
                ('response', models.TextField(verbose_name='Reponse')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Galery',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('name',
                 models.CharField(max_length=250,
                                  verbose_name="Nom de l'album")),
                ('slug', models.SlugField(blank=True)),
                ('description',
                 models.TextField(blank=True, verbose_name='Description')),
                ('is_visible',
                 models.BooleanField(default=True,
                                     verbose_name='Visible sur le site ?')),
                ('creator',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'Album',
                'verbose_name_plural': 'Albums',
            },
        ),
        migrations.CreateModel(
            name='PostCategory',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('name', models.CharField(max_length=100, verbose_name='Nom')),
                ('slug', models.SlugField(blank=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='RevueInterface',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('subject', models.TextField(verbose_name='Sujet')),
                ('file',
                 models.FileField(upload_to='',
                                  verbose_name='Joindre un fichier')),
            ],
            options={
                'verbose_name': 'Revue interface',
                'verbose_name_plural': 'Revues interfaces',
            },
        ),
        migrations.CreateModel(
            name='StrategicComity',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('object',
                 models.CharField(max_length=100, verbose_name='Objet')),
                ('content', models.TextField(verbose_name='Message')),
                ('file',
                 models.FileField(blank=True,
                                  upload_to='',
                                  verbose_name='Fichier joint')),
            ],
            options={
                'verbose_name': 'Communiqué Comité Stratégique',
                'verbose_name_plural': 'Communiqué(s) Comité Stratégique',
            },
        ),
        migrations.CreateModel(
            name='Post',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('title',
                 models.CharField(max_length=255,
                                  verbose_name="Titre de l'article")),
                ('slug', models.SlugField(blank=True)),
                ('content',
                 models.TextField(verbose_name="Contenu de l'article")),
                ('image',
                 cloudinary.models.CloudinaryField(
                     blank=True,
                     max_length=255,
                     verbose_name='Image de couverture')),
                ('is_visible',
                 models.BooleanField(default=True,
                                     verbose_name='Visible sur le site ?')),
                ('category',
                 models.ManyToManyField(blank=True,
                                        related_name='posts',
                                        to='com.PostCategory',
                                        verbose_name="Categories d'article")),
                ('creator',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'Article de blog',
                'verbose_name_plural': 'Articles de blog',
            },
        ),
        migrations.CreateModel(
            name='News',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('title',
                 models.CharField(max_length=255,
                                  verbose_name="Titre de l'actualité")),
                ('slug', models.SlugField(blank=True)),
                ('image',
                 cloudinary.models.CloudinaryField(
                     blank=True,
                     max_length=255,
                     verbose_name='Image de couverture')),
                ('content',
                 models.TextField(verbose_name="Contenu de l'article")),
                ('is_visible',
                 models.BooleanField(default=True,
                                     verbose_name='Visible sur le site ?')),
                ('category',
                 models.ManyToManyField(blank=True,
                                        related_name='news',
                                        to='com.PostCategory')),
                ('creator',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'Actualité',
                'verbose_name_plural': 'Actualités',
            },
        ),
        migrations.CreateModel(
            name='GaleryImage',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('image',
                 cloudinary.models.CloudinaryField(max_length=255,
                                                   verbose_name='image')),
                ('galery',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='images',
                                   to='com.Galery',
                                   verbose_name='Album')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Event',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('title', models.CharField(max_length=100,
                                           verbose_name='Titre')),
                ('slug', models.SlugField(blank=True)),
                ('start_date',
                 models.DateField(blank=True, verbose_name='Date de debut')),
                ('end_date',
                 models.DateField(blank=True, verbose_name='Date de fin')),
                ('start_time',
                 models.TimeField(blank=True, verbose_name='Heure de debut')),
                ('end_time',
                 models.TimeField(blank=True, verbose_name='Heure de Fin')),
                ('description',
                 models.TextField(blank=True, verbose_name='Description')),
                ('location',
                 models.CharField(blank=True,
                                  max_length=50,
                                  verbose_name='Lieu')),
                ('location_city',
                 models.CharField(default='Yaoundé',
                                  max_length=50,
                                  verbose_name='Ville')),
                ('expired',
                 models.BooleanField(default=False, verbose_name='Expiré')),
                ('image',
                 cloudinary.models.CloudinaryField(
                     blank=True,
                     max_length=255,
                     null=True,
                     verbose_name='Image de couverture')),
                ('published',
                 models.BooleanField(default=True, verbose_name='Publier')),
                ('creator',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='events',
                                   to=settings.AUTH_USER_MODEL)),
                ('galery',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='com.Galery',
                                   verbose_name='Joindre un album photos')),
                ('registration',
                 models.ManyToManyField(blank=True,
                                        related_name='register_events',
                                        to=settings.AUTH_USER_MODEL,
                                        verbose_name='Inscris')),
            ],
            options={
                'verbose_name': 'Agenda',
                'verbose_name_plural': 'Agendas',
            },
        ),
        migrations.CreateModel(
            name='Document',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('title',
                 models.CharField(blank=True,
                                  max_length=100,
                                  verbose_name='Nom du document')),
                ('file',
                 models.FileField(upload_to='documents/',
                                  verbose_name='Fichier')),
                ('creator',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='Propriétaire')),
            ],
            options={
                'abstract': False,
            },
        ),
    ]
Пример #6
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='About',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('content',
                 models.TextField(verbose_name='Contenu de a propos')),
                ('language',
                 models.CharField(
                     choices=[('en', 'Anglaise'), ('fr', 'Française')],
                     max_length=10,
                     verbose_name='Version de langue du fichier')),
            ],
            options={
                'verbose_name': 'A propos',
                'verbose_name_plural': 'A propos',
            },
        ),
        migrations.CreateModel(
            name='ActionPlan',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('title',
                 models.CharField(
                     blank=True,
                     help_text=
                     'Ce champs est facultatif, à defaut le nom du fichier sera utilisé commme Intitulé',
                     max_length=200,
                     verbose_name='Intitulé ou petite description')),
                ('file',
                 models.FileField(upload_to='',
                                  verbose_name="Fichier du plan d'action")),
                ('file_name', models.CharField(blank=True, max_length=100)),
                ('language',
                 models.CharField(
                     choices=[('en', 'Anglaise'), ('fr', 'Française')],
                     max_length=10,
                     verbose_name='Version de langue du fichier')),
            ],
            options={
                'verbose_name': "Plan d'action",
                'verbose_name_plural': "Plans d'actions",
            },
        ),
        migrations.CreateModel(
            name='AdhesionCondition',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('content',
                 models.TextField(
                     help_text=
                     'Lister les conditions séparées par des virgules(,) exceptée la dernière !',
                     verbose_name="Liste des conditions d'adhésion")),
                ('file',
                 models.FileField(blank=True,
                                  upload_to='',
                                  verbose_name='Joindre un fichier')),
                ('language',
                 models.CharField(choices=[('en', 'Anglaise'),
                                           ('fr', 'Française')],
                                  max_length=3,
                                  verbose_name='Version de langue')),
            ],
            options={
                'verbose_name': "Condition d'adhésion",
                'verbose_name_plural': "Conditions d'adhésion",
            },
        ),
        migrations.CreateModel(
            name='Coord',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('content', tinymce.models.HTMLField(verbose_name='Contenu')),
                ('language',
                 models.CharField(choices=[('en', 'Anglaise'),
                                           ('fr', 'Française')],
                                  max_length=3,
                                  verbose_name='Version de langue')),
            ],
            options={
                'verbose_name': 'Coordonnée',
                'verbose_name_plural': 'Coordonnées',
            },
        ),
        migrations.CreateModel(
            name='Filiere',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('content', tinymce.models.HTMLField(verbose_name='Contenu')),
                ('language',
                 models.CharField(
                     choices=[('en', 'Anglaise'), ('fr', 'Française')],
                     max_length=3,
                     verbose_name='Version de langue du fichier')),
                ('file',
                 models.FileField(blank=True,
                                  upload_to='',
                                  verbose_name='Fichier joint')),
                ('both_fr_en',
                 models.BooleanField(verbose_name='Pour les deux langues ?')),
            ],
            options={
                'verbose_name': 'Filière et Formation',
                'verbose_name_plural': 'Filières et Formations',
            },
        ),
        migrations.CreateModel(
            name='Footer',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('text', models.TextField(verbose_name='Texte')),
            ],
            options={
                'verbose_name': 'Pied de page',
                'verbose_name_plural': 'Pieds de page',
            },
        ),
        migrations.CreateModel(
            name='GeneralAssembly',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('description',
                 models.TextField(verbose_name='Description du contenu')),
                ('date',
                 models.DateField(blank=True,
                                  verbose_name='Assemblée générale du')),
                ('version',
                 models.CharField(
                     blank=True,
                     choices=[('en', 'Anglaise'), ('fr', 'Française')],
                     max_length=3,
                     verbose_name='Version de langue du fichier')),
                ('file',
                 models.FileField(blank=True,
                                  upload_to='',
                                  verbose_name='Fichier joint')),
            ],
            options={
                'verbose_name': 'Assemblée Générale',
                'verbose_name_plural': 'Assemblées Générales',
            },
        ),
        migrations.CreateModel(
            name='InstitutionalPresentation',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('content', tinymce.models.HTMLField(verbose_name='Contenu')),
                ('language',
                 models.CharField(
                     choices=[('en', 'Anglaise'), ('fr', 'Française')],
                     max_length=3,
                     verbose_name='Version de langue du fichier')),
                ('file',
                 models.FileField(blank=True,
                                  upload_to='',
                                  verbose_name='Fichier joint')),
                ('both_fr_en',
                 models.BooleanField(verbose_name='Pour les deux langues ?')),
            ],
            options={
                'verbose_name': 'Présentation institutionelle',
                'verbose_name_plural': 'Présentation institutionelles',
            },
        ),
        migrations.CreateModel(
            name='InternalRegulation',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('content',
                 tinymce.models.HTMLField(blank=True,
                                          verbose_name='Texte régit')),
                ('file',
                 models.FileField(blank=True,
                                  upload_to='',
                                  verbose_name='Joindre le fichier')),
                ('language',
                 models.CharField(
                     choices=[('en', 'Anglaise'), ('fr', 'Française')],
                     max_length=10,
                     verbose_name='Version de langue du fichier')),
            ],
            options={
                'verbose_name': 'Règlement interieur',
                'verbose_name_plural': 'Règlements interieurs',
            },
        ),
        migrations.CreateModel(
            name='SocialNetwork',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('name',
                 models.CharField(max_length=20,
                                  verbose_name='Nom du réseau social')),
                ('type',
                 models.CharField(choices=[('facebook', 'Facebook'),
                                           ('twitter', 'Twitter'),
                                           ('telegram', 'Telegram'),
                                           ('linkedin', 'LinkedIn')],
                                  max_length=10,
                                  verbose_name='Type du réseau')),
                ('accessibility',
                 models.CharField(choices=[('private', 'Membre seulement'),
                                           ('public', 'Public')],
                                  default='public',
                                  max_length=10,
                                  verbose_name='Visibilité')),
                ('link',
                 models.URLField(verbose_name='Lien direct du réseau social')),
            ],
            options={
                'verbose_name': 'Réseau Social',
                'verbose_name_plural': 'Résaux sociaux',
            },
        ),
        migrations.CreateModel(
            name='Status',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('content',
                 tinymce.models.HTMLField(blank=True,
                                          verbose_name='Texte régit')),
                ('file',
                 models.FileField(
                     blank=True,
                     upload_to='',
                     verbose_name='Joindre le fichier de statut')),
                ('language',
                 models.CharField(
                     choices=[('en', 'Anglaise'), ('fr', 'Française')],
                     max_length=10,
                     verbose_name='Version de langue du fichier')),
            ],
            options={
                'verbose_name': "Statut de l'association",
                'verbose_name_plural': "Statuts de l'association",
            },
        ),
        migrations.CreateModel(
            name='StrategicComity',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('full_name',
                 models.CharField(max_length=150, verbose_name='Nom complet')),
                ('title',
                 models.CharField(max_length=180,
                                  verbose_name="Titre à l'ADEN")),
                ('rule',
                 models.CharField(max_length=150,
                                  verbose_name='Fonction ou Role')),
                ('location',
                 models.CharField(max_length=150, verbose_name='Domicile')),
                ('promotion',
                 models.CharField(max_length=80, verbose_name='Promotion')),
                ('photo',
                 cloudinary.models.CloudinaryField(max_length=255,
                                                   verbose_name='Photo')),
                ('grade',
                 models.CharField(choices=[('1', 'Niveau 1'),
                                           ('2', 'Niveau 2'),
                                           ('3', 'Niveau 3')],
                                  max_length=2,
                                  verbose_name='Priorité')),
            ],
            options={
                'verbose_name': 'Comité Stratégique',
                'verbose_name_plural': 'Comités Stratégiques',
            },
        ),
    ]
Пример #7
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=200, unique=True)),
                ('description', models.TextField(blank=True, max_length=500)),
            ],
        ),
        migrations.CreateModel(
            name='Subject',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
                ('image',
                 cloudinary.models.CloudinaryField(blank=True,
                                                   max_length=255,
                                                   null=True,
                                                   verbose_name='image')),
                ('description', models.TextField(blank=True, max_length=500)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='subjects',
                                   to='curriculum.course')),
            ],
        ),
        migrations.CreateModel(
            name='Lesson',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('lesson_id', models.CharField(max_length=100, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('name', models.CharField(max_length=300)),
                ('position',
                 models.PositiveSmallIntegerField(verbose_name='Chapter no.')),
                ('video',
                 models.FileField(
                     blank=True,
                     null=True,
                     upload_to=curriculum.models.save_lesson_files,
                     verbose_name='Video')),
                ('ppt',
                 models.FileField(
                     blank=True,
                     upload_to=curriculum.models.save_lesson_files,
                     verbose_name='Presentation')),
                ('notes',
                 models.FileField(
                     blank=True,
                     upload_to=curriculum.models.save_lesson_files,
                     verbose_name='Notes')),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='curriculum.course')),
                ('created_by',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
                ('subject',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='lessons',
                                   to='curriculum.subject')),
            ],
            options={
                'ordering': ['position'],
            },
        ),
        migrations.CreateModel(
            name='CoursePayment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('order_id',
                 models.CharField(blank=True, max_length=40, null=True)),
                ('paid', models.BooleanField(default=False)),
                ('course',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='curriculum.course')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Comment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('content', models.TextField(max_length=500)),
                ('publish', models.DateTimeField(auto_now_add=True)),
                ('lft', models.PositiveIntegerField(editable=False)),
                ('rght', models.PositiveIntegerField(editable=False)),
                ('tree_id',
                 models.PositiveIntegerField(db_index=True, editable=False)),
                ('level', models.PositiveIntegerField(editable=False)),
                ('author',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
                ('lesson',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='comments',
                                   to='curriculum.lesson')),
                ('parent',
                 mptt.fields.TreeForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='children',
                     to='curriculum.comment')),
            ],
            options={
                'abstract': False,
            },
        ),
    ]
Пример #8
0
class Migration(migrations.Migration):

    dependencies = [
        ('core', '0005_pyale'),
    ]

    operations = [
        migrations.CreateModel(
            name='Letting',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('letting_type', models.CharField(max_length=50)),
                ('letting_start_date', models.DateField()),
                ('letting_end_date', models.DateField()),
                ('deposit', models.CharField(max_length=512)),
                ('deposit_refunded', models.BooleanField(blank=True,
                                                         null=True)),
                ('deposit_refund_date',
                 models.DateTimeField(blank=True, null=True)),
                ('total_letting_cost',
                 models.CharField(
                     help_text='Total Cost for the letting period',
                     max_length=512)),
                ('service_charge', models.CharField(max_length=100)),
                ('payment_schedule',
                 models.CharField(choices=[('Annual', 'annual'),
                                           ('Quarterly', 'quarterly'),
                                           ('Monthly', 'monthly')],
                                  help_text='Monthly, Quarterly or Annually',
                                  max_length=100)),
            ],
        ),
        migrations.CreateModel(
            name='Payment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('payment_reference', models.CharField(max_length=255)),
                ('payment_date', models.DateTimeField()),
            ],
        ),
        migrations.CreateModel(
            name='PaymentSchedule',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('amount_due',
                 models.CharField(
                     help_text=
                     'The amount to be paid per cycle e.g. the amount per month or per quarter',
                     max_length=512)),
                ('payment_status', models.BooleanField()),
                ('payment_date', models.DateTimeField(blank=True, null=True)),
                ('payment_cycle', models.CharField(max_length=100)),
                ('letting',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='core.Letting')),
            ],
        ),
        migrations.CreateModel(
            name='Property',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('category',
                 models.CharField(choices=[('Residential', 'residential'),
                                           ('Commercial', 'commercial')],
                                  max_length=255)),
                ('total_cost', models.CharField(max_length=512)),
                ('description', models.TextField()),
                ('specs',
                 django.contrib.postgres.fields.ArrayField(
                     base_field=models.CharField(max_length=512), size=None)),
                ('title', models.CharField(max_length=512, unique=True)),
            ],
        ),
        migrations.CreateModel(
            name='PropertyImage',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('image',
                 cloudinary.models.CloudinaryField(max_length=255,
                                                   verbose_name='image')),
                ('name', models.CharField(max_length=255, unique=True)),
                ('realty',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='core.Property')),
            ],
        ),
        migrations.CreateModel(
            name='Tenant',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('bio',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='TenantDocument',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('document', models.FileField(upload_to='')),
                ('date_created', models.DateTimeField(auto_now_add=True)),
                ('date_modified', models.DateTimeField(auto_now=True)),
                ('name', models.CharField(max_length=255, unique=True)),
                ('tenant',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='core.Tenant')),
            ],
        ),
        migrations.AddField(
            model_name='payment',
            name='tenant',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE, to='core.Tenant'),
        ),
        migrations.AddField(
            model_name='letting',
            name='realty',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='core.Property'),
        ),
        migrations.AddField(
            model_name='letting',
            name='tenant',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE, to='core.Tenant'),
        ),
    ]
Пример #9
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='MyUser',
            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')),
                ('user_type',
                 models.CharField(choices=[('Job Seeker', 'Job Seeker'),
                                           ('Company', 'Company')],
                                  default='Job Seeker',
                                  max_length=20,
                                  verbose_name='User Type')),
                ('avatar',
                 cloudinary.models.CloudinaryField(blank=True,
                                                   max_length=255,
                                                   null=True,
                                                   verbose_name='User Image')),
                ('email',
                 models.EmailField(max_length=254,
                                   unique=True,
                                   verbose_name='Email Address')),
                ('first_name',
                 models.CharField(blank=True,
                                  max_length=40,
                                  null=True,
                                  verbose_name='First Name')),
                ('last_name',
                 models.CharField(blank=True,
                                  max_length=40,
                                  null=True,
                                  verbose_name='Last Name')),
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False)),
                ('accepting_terms',
                 models.BooleanField(default=False,
                                     verbose_name='Terms & Condition')),
                ('is_superuser',
                 models.BooleanField(default=False,
                                     verbose_name='Super User')),
                ('is_staff',
                 models.BooleanField(default=False, verbose_name='Staff')),
                ('is_active',
                 models.BooleanField(default=False, verbose_name='Status')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Created Date')),
                ('updated_at',
                 models.DateTimeField(auto_now=True,
                                      verbose_name='Updated Date')),
            ],
            options={
                'verbose_name_plural': 'User',
                'verbose_name': 'User',
            },
        ),
        migrations.CreateModel(
            name='AbstractUser',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('avatar',
                 cloudinary.models.CloudinaryField(blank=True,
                                                   max_length=255,
                                                   null=True,
                                                   verbose_name='User Image')),
                ('email',
                 models.EmailField(max_length=254,
                                   unique=True,
                                   verbose_name='Email Address')),
                ('contact_number',
                 models.CharField(max_length=15,
                                  verbose_name='Contact Number')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Created Date')),
                ('updated_at',
                 models.DateTimeField(auto_now=True,
                                      verbose_name='Updated Date')),
            ],
        ),
        migrations.CreateModel(
            name='AppliedJobs',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('reason', models.TextField()),
                ('resume',
                 cloudinary.models.CloudinaryField(blank=True,
                                                   max_length=255,
                                                   null=True)),
                ('status',
                 models.CharField(choices=[('Applied', 'Applied'),
                                           ('Completed', 'Completed')],
                                  default='Applied',
                                  max_length=20,
                                  verbose_name='Applied Job Status')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Created Date')),
                ('updated_at',
                 models.DateTimeField(auto_now=True,
                                      verbose_name='Updated Date')),
            ],
            options={
                'verbose_name_plural': 'Applied Jobs',
                'ordering': ('-updated_at', ),
            },
        ),
        migrations.CreateModel(
            name='Area',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(default='',
                                  max_length=50,
                                  unique=True,
                                  verbose_name='Name')),
                ('is_active', models.BooleanField(default=True)),
                ('created_by',
                 models.CharField(choices=[('AM', 'AM'), ('USER', 'USER')],
                                  default='AM',
                                  max_length=20,
                                  verbose_name='Created By')),
            ],
            options={
                'verbose_name_plural': 'Area',
                'ordering': ('name', ),
            },
        ),
        migrations.CreateModel(
            name='Career',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('email',
                 models.EmailField(max_length=254, verbose_name='User Email')),
                ('first_name',
                 models.CharField(blank=True,
                                  max_length=40,
                                  null=True,
                                  verbose_name='First Name')),
                ('last_name',
                 models.CharField(blank=True,
                                  max_length=40,
                                  null=True,
                                  verbose_name='Last Name')),
                ('message',
                 models.TextField(blank=True,
                                  null=True,
                                  verbose_name='Message')),
                ('mobile_number',
                 models.CharField(blank=True,
                                  max_length=15,
                                  null=True,
                                  verbose_name='Mobile Number')),
                ('resume', models.FileField(blank=True,
                                            null=True,
                                            upload_to='')),
                ('profession',
                 models.CharField(choices=[
                     ('One Time Project', 'One Time Project'),
                     ('On going Project', 'On going Project'),
                     ('To be decided', 'To be decided')
                 ],
                                  default='One Time Project',
                                  max_length=50,
                                  verbose_name='Select Profession')),
            ],
        ),
        migrations.CreateModel(
            name='ContactUs',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('email',
                 models.EmailField(max_length=254, verbose_name='User Email')),
                ('first_name',
                 models.CharField(blank=True,
                                  max_length=40,
                                  null=True,
                                  verbose_name='First Name')),
                ('last_name',
                 models.CharField(blank=True,
                                  max_length=40,
                                  null=True,
                                  verbose_name='Last Name')),
                ('message',
                 models.TextField(blank=True,
                                  null=True,
                                  verbose_name='Message')),
                ('mobile_number',
                 models.CharField(blank=True,
                                  max_length=15,
                                  null=True,
                                  verbose_name='Mobile Number')),
            ],
        ),
        migrations.CreateModel(
            name='Education',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(default='',
                                  max_length=50,
                                  unique=True,
                                  verbose_name='Name')),
                ('is_active', models.BooleanField(default=True)),
                ('created_by',
                 models.CharField(choices=[('AM', 'AM'), ('USER', 'USER')],
                                  default='AM',
                                  max_length=20,
                                  verbose_name='Created By')),
            ],
            options={
                'verbose_name_plural': 'Education',
                'ordering': ('name', ),
            },
        ),
        migrations.CreateModel(
            name='EducationDetails',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('school',
                 models.CharField(max_length=100, verbose_name='School Name')),
                ('degree',
                 models.CharField(max_length=100, verbose_name='Degree Name')),
                ('field_of_study',
                 models.CharField(max_length=100,
                                  verbose_name='Field of Study')),
                ('grade', models.CharField(max_length=100,
                                           verbose_name='Grade')),
                ('activities_socities',
                 models.TextField(verbose_name='Activities and societies')),
                ('from_year',
                 models.CharField(max_length=4, verbose_name='From Year')),
                ('to_year',
                 models.CharField(max_length=4, verbose_name='To Year')),
                ('description', models.TextField(verbose_name='Description')),
            ],
            options={
                'verbose_name_plural': 'Education Details',
            },
        ),
        migrations.CreateModel(
            name='Employment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=100,
                                           verbose_name='Title')),
                ('company',
                 models.CharField(max_length=100, verbose_name='Company')),
                ('location',
                 models.CharField(max_length=100, verbose_name='location')),
                ('from_month',
                 models.CharField(choices=[('1', 'January'), ('2', 'February'),
                                           ('3', 'March'), ('4', 'April'),
                                           ('5', 'May'), ('6', 'June'),
                                           ('7', 'July'), ('8', 'August'),
                                           ('9', 'September'),
                                           ('10', 'October'),
                                           ('11', 'November'),
                                           ('12', 'December')],
                                  max_length=15,
                                  verbose_name='From Month')),
                ('from_year',
                 models.CharField(max_length=4, verbose_name='From Year')),
                ('to_month',
                 models.CharField(choices=[('1', 'January'), ('2', 'February'),
                                           ('3', 'March'), ('4', 'April'),
                                           ('5', 'May'), ('6', 'June'),
                                           ('7', 'July'), ('8', 'August'),
                                           ('9', 'September'),
                                           ('10', 'October'),
                                           ('11', 'November'),
                                           ('12', 'December')],
                                  max_length=15,
                                  verbose_name='To Month')),
                ('to_year',
                 models.CharField(max_length=4, verbose_name='To Year')),
                ('currently', models.BooleanField(default=False)),
                ('description', models.TextField(verbose_name='Description')),
            ],
            options={
                'verbose_name_plural': 'Employment History',
            },
        ),
        migrations.CreateModel(
            name='FavouriteJobs',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('status', models.BooleanField(default=False)),
                ('created_at',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Created Date')),
                ('updated_at',
                 models.DateTimeField(auto_now=True,
                                      verbose_name='Updated Date')),
            ],
            options={
                'verbose_name_plural': 'Favourite Jobs',
                'ordering': ('-updated_at', ),
            },
        ),
        migrations.CreateModel(
            name='Industry',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(default='',
                                  max_length=50,
                                  unique=True,
                                  verbose_name='Name')),
                ('is_active', models.BooleanField(default=True)),
                ('created_by',
                 models.CharField(choices=[('AM', 'AM'), ('USER', 'USER')],
                                  default='AM',
                                  max_length=20,
                                  verbose_name='Created By')),
            ],
            options={
                'verbose_name_plural': 'Industry',
                'ordering': ('name', ),
            },
        ),
        migrations.CreateModel(
            name='JobManagement',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('job_name', models.CharField(max_length=40)),
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False)),
                ('country',
                 django_countries.fields.CountryField(max_length=2)),
                ('description', models.TextField()),
                ('duration',
                 models.CharField(choices=[('0-3', '0-3'), ('3-6', '3-6'),
                                           ('6-12', '6-12'), ('12+', '12+')],
                                  default='0-3',
                                  max_length=10,
                                  verbose_name='Month')),
                ('type_of_project',
                 models.CharField(
                     choices=[('One Time Project', 'One Time Project'),
                              ('On going Project', 'On going Project'),
                              ('To be decided', 'To be decided')],
                     default='One Time Project',
                     max_length=50,
                     verbose_name='What type of project you have?')),
                ('number_of_employees',
                 models.IntegerField(
                     default=0, verbose_name='How much employee you need?')),
                ('payment',
                 models.CharField(choices=[('Pay by Hour', 'Pay by Hour'),
                                           ('Pay by Fixed Price',
                                            'Pay by Fixed Price')],
                                  default='Pay by Hour',
                                  max_length=50,
                                  verbose_name='How would you like to pay?')),
                ('credit',
                 models.CharField(choices=[('$10/HR', '$10/HR'),
                                           ('$20/HR', '$20/HR'),
                                           ('$30/HR', '$30/HR'),
                                           ('others', 'others')],
                                  default='$10/HR',
                                  max_length=30,
                                  verbose_name='Desired Salary')),
                ('is_active', models.BooleanField(default=True)),
                ('created_at',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Created Date')),
                ('area',
                 models.ManyToManyField(related_name='post_job_area',
                                        to='analyticsmaven.Area')),
            ],
            options={
                'verbose_name_plural': 'Job Management',
                'verbose_name': 'Job Details',
                'ordering': ('-created_at', ),
            },
        ),
        migrations.CreateModel(
            name='Language',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('language',
                 models.CharField(blank=True,
                                  max_length=40,
                                  null=True,
                                  verbose_name='Language')),
            ],
        ),
        migrations.CreateModel(
            name='Skills',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(default='',
                                  max_length=50,
                                  unique=True,
                                  verbose_name='Name')),
                ('is_active', models.BooleanField(default=True)),
                ('created_by',
                 models.CharField(choices=[('AM', 'AM'), ('USER', 'USER')],
                                  default='AM',
                                  max_length=20,
                                  verbose_name='Created By')),
            ],
            options={
                'verbose_name_plural': 'Tools & Language',
                'ordering': ('name', ),
            },
        ),
        migrations.CreateModel(
            name='UserLanguageRate',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('rate',
                 models.CharField(default=0,
                                  max_length=1,
                                  verbose_name='Language Rate')),
                ('language',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='language_rate',
                                   to='analyticsmaven.Language')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='user_language',
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='UserSkillRate',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('rate',
                 models.CharField(default=0,
                                  max_length=1,
                                  verbose_name='Skill Rate')),
                ('skill',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='skill',
                                   to='analyticsmaven.Skills')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='user_skill',
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Company',
            fields=[
                ('abstractuser_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='analyticsmaven.AbstractUser')),
                ('company_name',
                 models.CharField(blank=True,
                                  max_length=40,
                                  null=True,
                                  verbose_name='Company Name')),
                ('country',
                 django_countries.fields.CountryField(max_length=2)),
                ('profile_completion', models.IntegerField(default=0)),
                ('industry',
                 models.ManyToManyField(related_name='company_industry',
                                        to='analyticsmaven.Industry')),
                ('language',
                 models.ManyToManyField(related_name='company_language',
                                        to='analyticsmaven.Language')),
                ('tools_and_language',
                 models.ManyToManyField(
                     related_name='company_tools_and_language',
                     to='analyticsmaven.Skills')),
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='company',
                     to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name_plural': 'Company Management',
            },
            bases=('analyticsmaven.abstractuser', ),
        ),
        migrations.CreateModel(
            name='JobSeeker',
            fields=[
                ('abstractuser_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='analyticsmaven.AbstractUser')),
                ('first_name',
                 models.CharField(blank=True,
                                  max_length=40,
                                  null=True,
                                  verbose_name='First Name')),
                ('last_name',
                 models.CharField(blank=True,
                                  max_length=40,
                                  null=True,
                                  verbose_name='Last Name')),
                ('experience_level',
                 models.CharField(blank=True,
                                  choices=[('Expert', 'Expert'),
                                           ('Beginner', 'Beginner'),
                                           ('Average', 'Average')],
                                  max_length=30,
                                  null=True)),
                ('professional_title',
                 models.CharField(default='',
                                  max_length=100,
                                  verbose_name='Professional Title')),
                ('overview',
                 models.CharField(default='',
                                  max_length=100,
                                  verbose_name='Overview')),
                ('week_availability',
                 models.CharField(blank=True,
                                  choices=[('4-8', '4-8 Hrs'),
                                           ('8-16', '8-16 Hrs'),
                                           ('16-30', '16-30 Hrs'),
                                           ('30-48', '30-48 Hrs')],
                                  max_length=10,
                                  null=True,
                                  verbose_name='Availability in Week')),
                ('country',
                 django_countries.fields.CountryField(max_length=2)),
                ('postal_code',
                 models.CharField(blank=True,
                                  max_length=10,
                                  null=True,
                                  verbose_name='Postal Code')),
                ('city',
                 models.CharField(blank=True,
                                  max_length=50,
                                  null=True,
                                  verbose_name='City')),
                ('phone_no',
                 models.CharField(blank=True,
                                  max_length=20,
                                  null=True,
                                  verbose_name='Phone Nubmer')),
                ('timezone',
                 timezone_field.fields.TimeZoneField(blank=True, null=True)),
                ('profile_completion', models.IntegerField(default=0)),
                ('area',
                 models.ManyToManyField(related_name='job_seeker_area',
                                        to='analyticsmaven.Area')),
                ('education',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='job_seeker_education',
                                   to='analyticsmaven.Education')),
                ('industry',
                 models.ManyToManyField(related_name='job_seeker_industry',
                                        to='analyticsmaven.Industry')),
                ('language_known',
                 models.ManyToManyField(related_name='job_seeker_language',
                                        to='analyticsmaven.Language')),
                ('tools_and_language',
                 models.ManyToManyField(
                     related_name='job_seeker_tools_and_language',
                     to='analyticsmaven.Skills')),
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='job_seeker',
                     to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name_plural': 'Job Seeker Management',
            },
            bases=('analyticsmaven.abstractuser', ),
        ),
        migrations.AddField(
            model_name='jobmanagement',
            name='language',
            field=models.ManyToManyField(
                related_name='post_job_language_jobmanagement',
                to='analyticsmaven.Language'),
        ),
        migrations.AddField(
            model_name='jobmanagement',
            name='tools_and_language',
            field=models.ManyToManyField(
                related_name='post_job_tools_and_language_jobmanagement',
                to='analyticsmaven.Skills'),
        ),
        migrations.AddField(
            model_name='favouritejobs',
            name='job',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='favourite_job',
                to='analyticsmaven.JobManagement'),
        ),
        migrations.AddField(
            model_name='favouritejobs',
            name='user',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='favourite_job_user',
                to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='appliedjobs',
            name='job',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='applied_job',
                to='analyticsmaven.JobManagement'),
        ),
        migrations.AddField(
            model_name='appliedjobs',
            name='user',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='applied_user',
                to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='jobmanagement',
            name='company_name',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='company_name_jobmanagement',
                to='analyticsmaven.Company'),
        ),
        migrations.AddField(
            model_name='employment',
            name='seeker',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='job_seeker_employment',
                to='analyticsmaven.JobSeeker'),
        ),
        migrations.AddField(
            model_name='educationdetails',
            name='seeker',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='job_seeker_education',
                to='analyticsmaven.JobSeeker'),
        ),
    ]
Пример #10
0
class Migration(migrations.Migration):

    dependencies = [
        ('API', '0008_auto_20171213_2310'),
    ]

    operations = [
        migrations.AlterModelOptions(
            name='category',
            options={'verbose_name_plural': 'Categories'},
        ),
        migrations.AlterField(
            model_name='asset',
            name='image_link',
            field=cloudinary.models.CloudinaryField(
                blank=True,
                max_length=255,
                null=True,
                validators=[
                    server.API.models.ValidateFileType('jpg', 'jpeg', 'png',
                                                       'bmp', 'gif')
                ]),
        ),
        migrations.AlterField(
            model_name='catalog',
            name='image_link',
            field=cloudinary.models.CloudinaryField(
                blank=True,
                max_length=255,
                null=True,
                validators=[
                    server.API.models.ValidateFileType('jpg', 'jpeg', 'png',
                                                       'bmp', 'gif')
                ]),
        ),
        migrations.AlterField(
            model_name='catalog',
            name='pdf',
            field=models.FileField(
                blank=True,
                null=True,
                upload_to='',
                validators=[server.API.models.ValidateFileType('pdf')]),
        ),
        migrations.AlterField(
            model_name='category',
            name='image_link',
            field=cloudinary.models.CloudinaryField(
                blank=True,
                max_length=255,
                null=True,
                validators=[
                    server.API.models.ValidateFileType('jpg', 'jpeg', 'png',
                                                       'bmp', 'gif')
                ]),
        ),
        migrations.AlterField(
            model_name='product',
            name='image_link',
            field=cloudinary.models.CloudinaryField(
                blank=True,
                max_length=255,
                null=True,
                validators=[
                    server.API.models.ValidateFileType('jpg', 'jpeg', 'png',
                                                       'bmp', 'gif')
                ]),
        ),
    ]
Пример #11
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Carnet',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('title', models.CharField(max_length=100,
                                           verbose_name='Texte')),
                ('file',
                 models.FileField(upload_to='', verbose_name='Fichier joint')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Club',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('photo',
                 cloudinary.models.CloudinaryField(max_length=255,
                                                   verbose_name='Photo')),
                ('content', models.TextField(verbose_name='Contenu')),
                ('file',
                 models.FileField(upload_to='', verbose_name='Fichier joint')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Convention',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('label',
                 models.CharField(max_length=150,
                                  verbose_name='Intitulé de la convention')),
                ('file',
                 models.FileField(upload_to='', verbose_name='Fichier joint')),
            ],
            options={
                'verbose_name': 'Convention',
                'verbose_name_plural': 'Conventions',
            },
        ),
        migrations.CreateModel(
            name='International',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('name',
                 models.CharField(max_length=50,
                                  verbose_name='Nom du groupe international')),
                ('link',
                 models.URLField(
                     verbose_name='Lien vers le groupe international')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='NetworkNews',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('title', models.CharField(max_length=150,
                                           verbose_name='Titre')),
                ('description',
                 models.TextField(blank=True, verbose_name='Description')),
                ('link',
                 models.URLField(blank=True,
                                 verbose_name='Lien de vers le details')),
                ('file',
                 models.FileField(blank=True,
                                  upload_to='',
                                  verbose_name='Fichier')),
            ],
            options={
                'verbose_name': 'News',
                'verbose_name_plural': 'News',
            },
        ),
        migrations.CreateModel(
            name='Nomination',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('photo',
                 cloudinary.models.CloudinaryField(max_length=255,
                                                   verbose_name='Photo')),
                ('title', models.CharField(max_length=100,
                                           verbose_name='Texte')),
                ('file',
                 models.FileField(upload_to='', verbose_name='Fichier joint')),
            ],
            options={
                'verbose_name': 'Nomination',
                'verbose_name_plural': 'Nominations',
            },
        ),
        migrations.CreateModel(
            name='InterGroup',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('name',
                 models.CharField(max_length=100,
                                  verbose_name="Nom de l'association")),
                ('filiere_promo',
                 models.CharField(max_length=100,
                                  verbose_name='Filière(s) - Promotion(s)')),
                ('siege', models.CharField(max_length=100,
                                           verbose_name='Siège')),
                ('contact',
                 models.CharField(max_length=50, verbose_name='Contact')),
                ('members',
                 models.ManyToManyField(blank=True,
                                        related_name='intergroups',
                                        to=settings.AUTH_USER_MODEL,
                                        verbose_name='Membres')),
                ('staff',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='intergroup',
                     to=settings.AUTH_USER_MODEL,
                     verbose_name='Nom du président')),
            ],
            options={
                'verbose_name': 'Groupe international',
                'verbose_name_plural': 'Groupes internationaux',
            },
        ),
        migrations.CreateModel(
            name='Association',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateField(auto_now_add=True,
                                  verbose_name='Date de création')),
                ('updated_at',
                 models.DateField(
                     auto_now=True,
                     verbose_name='Date de la dernière modification')),
                ('name',
                 models.CharField(max_length=100,
                                  verbose_name="Nom de l'association")),
                ('filiere_promo',
                 models.CharField(max_length=100,
                                  verbose_name='Filière(s) - Promotion(s)')),
                ('siege', models.CharField(max_length=100,
                                           verbose_name='Siège')),
                ('contact',
                 models.CharField(max_length=50, verbose_name='Contact')),
                ('members',
                 models.ManyToManyField(blank=True,
                                        related_name='associations',
                                        to=settings.AUTH_USER_MODEL,
                                        verbose_name='Membres')),
                ('staff',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='association',
                     to=settings.AUTH_USER_MODEL,
                     verbose_name='Répresentant')),
            ],
            options={
                'verbose_name': 'Association',
                'verbose_name_plural': 'Associations',
            },
        ),
    ]
Пример #12
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('tags', models.CharField(max_length=100)),
            ],
        ),
        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=40, unique=True)),
                ('first_name', models.CharField(blank=True, max_length=30)),
                ('last_name', models.CharField(blank=True, max_length=30)),
                ('is_active', models.BooleanField(default=True)),
                ('is_staff', models.BooleanField(default=False)),
                ('date_joined',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('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,
            },
        ),
        migrations.CreateModel(
            name='Profile',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('profile_picture',
                 cloudinary.models.CloudinaryField(blank=True,
                                                   max_length=255,
                                                   verbose_name='picture')),
                ('bio', models.CharField(blank=True, max_length=100)),
                ('contacts', models.CharField(blank=True, max_length=30)),
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='InterventionRecord',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=50)),
                ('description', models.TextField(blank=True, null=True)),
                ('time_of_creation', models.DateTimeField(auto_now_add=True)),
                ('time_last_edit', models.DateTimeField(auto_now=True)),
                ('status',
                 models.CharField(blank=True,
                                  choices=[('Under Investigation',
                                            'Under Investigation'),
                                           ('rejected', 'rejected'),
                                           ('resolved', 'resolved')],
                                  max_length=20,
                                  null=True)),
                ('location', models.CharField(blank=True, max_length=50)),
                ('image',
                 models.ImageField(blank=True,
                                   storage=cloudinary_storage.storage.
                                   MediaCloudinaryStorage(),
                                   upload_to='images/interventionimages/')),
                ('videos',
                 models.FileField(
                     blank=True,
                     storage=cloudinary_storage.storage.
                     VideoMediaCloudinaryStorage(),
                     upload_to='videos/',
                     validators=[cloudinary_storage.validators.validate_video
                                 ])),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Flag',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=100)),
                ('description', models.TextField()),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now_add=True)),
                ('latitude',
                 models.DecimalField(decimal_places=6,
                                     default='',
                                     max_digits=9)),
                ('longitude',
                 models.DecimalField(decimal_places=6,
                                     default='',
                                     max_digits=9)),
                ('image',
                 models.ImageField(blank=True,
                                   storage=cloudinary_storage.storage.
                                   MediaCloudinaryStorage(),
                                   upload_to='images/flagimages/')),
                ('videos',
                 models.FileField(
                     blank=True,
                     storage=cloudinary_storage.storage.
                     VideoMediaCloudinaryStorage(),
                     upload_to='videos/',
                     validators=[cloudinary_storage.validators.validate_video
                                 ])),
                ('tags', models.ManyToManyField(to='IReporter.Tag')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name_plural': 'Flags',
            },
        ),
    ]