예제 #1
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ("interactions", "0007_merge_20200326_1110"),
    ]

    operations = [
        migrations.CreateModel(
            name="WTOCommittee",
            fields=[
                (
                    "id",
                    models.UUIDField(default=uuid.uuid4,
                                     primary_key=True,
                                     serialize=False),
                ),
                ("name", models.CharField(max_length=255)),
            ],
            options={
                "ordering": ("name", ),
            },
        ),
        migrations.CreateModel(
            name="WTOCommitteeGroup",
            fields=[
                (
                    "id",
                    models.UUIDField(default=uuid.uuid4,
                                     primary_key=True,
                                     serialize=False),
                ),
                ("name", models.CharField(max_length=255)),
            ],
            options={
                "ordering": ("name", ),
            },
        ),
        migrations.CreateModel(
            name="WTOProfile",
            fields=[
                (
                    "id",
                    models.UUIDField(default=uuid.uuid4,
                                     primary_key=True,
                                     serialize=False),
                ),
                ("wto_has_been_notified", models.BooleanField()),
                ("wto_should_be_notified", models.NullBooleanField()),
                (
                    "committee_notification_link",
                    models.CharField(blank=True, max_length=255),
                ),
                (
                    "member_states",
                    django.contrib.postgres.fields.ArrayField(
                        base_field=models.UUIDField(),
                        blank=True,
                        default=list,
                        null=True,
                        size=None,
                    ),
                ),
                ("raised_date", models.DateField(null=True)),
                ("case_number", models.CharField(blank=True, max_length=255)),
                (
                    "committee_notification_document",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="committee_notification_wto_profiles",
                        to="interactions.Document",
                    ),
                ),
                (
                    "committee_notified",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="committee_notified_wto_profiles",
                        to="wto.WTOCommittee",
                    ),
                ),
                (
                    "committee_raised_in",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="committee_raised_in_wto_profiles",
                        to="wto.WTOCommittee",
                    ),
                ),
                (
                    "meeting_minutes",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="meeting_minutes_wto_profiles",
                        to="interactions.Document",
                    ),
                ),
            ],
        ),
        migrations.AddField(
            model_name="wtocommittee",
            name="wto_committee_group",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.PROTECT,
                related_name="committees",
                to="wto.WTOCommitteeGroup",
            ),
        ),
        migrations.CreateModel(
            name="HistoricalWTOProfile",
            fields=[
                ("id", models.UUIDField(db_index=True, default=uuid.uuid4)),
                ("wto_has_been_notified", models.BooleanField()),
                ("wto_should_be_notified", models.NullBooleanField()),
                (
                    "committee_notification_link",
                    models.CharField(blank=True, max_length=255),
                ),
                (
                    "member_states",
                    django.contrib.postgres.fields.ArrayField(
                        base_field=models.UUIDField(),
                        blank=True,
                        default=list,
                        null=True,
                        size=None,
                    ),
                ),
                ("raised_date", models.DateField(null=True)),
                ("case_number", models.CharField(blank=True, max_length=255)),
                ("history_id",
                 models.AutoField(primary_key=True, serialize=False)),
                ("history_date", models.DateTimeField()),
                ("history_change_reason",
                 models.CharField(max_length=100, null=True)),
                (
                    "history_type",
                    models.CharField(
                        choices=[("+", "Created"), ("~", "Changed"),
                                 ("-", "Deleted")],
                        max_length=1,
                    ),
                ),
                (
                    "committee_notification_document",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="interactions.Document",
                    ),
                ),
                (
                    "committee_notified",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="wto.WTOCommittee",
                    ),
                ),
                (
                    "committee_raised_in",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="wto.WTOCommittee",
                    ),
                ),
                (
                    "history_user",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "meeting_minutes",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="interactions.Document",
                    ),
                ),
            ],
            options={
                "verbose_name": "historical wto profile",
                "ordering": ("-history_date", "-history_id"),
                "get_latest_by": "history_date",
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('contenttypes', '0002_remove_content_type_name'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('courses', '0010_migrate_partner_data_to_courses'),
        ('catalogue', '0038_coupon_enterprise_id_attribute'),
    ]

    operations = [
        migrations.CreateModel(
            name='HistoricalProduct',
            fields=[
                ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
                ('structure', models.CharField(choices=[(b'standalone', 'Stand-alone product'), (b'parent', 'Parent product'), (b'child', 'Child product')], default=b'standalone', max_length=10, verbose_name='Product structure')),
                ('upc', oscar.models.fields.NullCharField(db_index=True, help_text='Universal Product Code (UPC) is an identifier for a product which is not specific to a particular  supplier. Eg an ISBN for a book.', max_length=64, verbose_name='UPC')),
                ('title', models.CharField(blank=True, max_length=255, verbose_name='Title')),
                ('slug', models.SlugField(max_length=255, verbose_name='Slug')),
                ('description', models.TextField(blank=True, verbose_name='Description')),
                ('rating', models.FloatField(editable=False, null=True, verbose_name='Rating')),
                ('date_created', models.DateTimeField(blank=True, editable=False, verbose_name='Date created')),
                ('date_updated', models.DateTimeField(blank=True, db_index=True, editable=False, verbose_name='Date updated')),
                ('is_discountable', models.BooleanField(default=True, help_text='This flag indicates if this product can be used in an offer or not', verbose_name='Is discountable?')),
                ('expires', models.DateTimeField(blank=True, help_text='Last date/time on which this product can be purchased.', null=True)),
                ('history_id', models.AutoField(primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField()),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
                ('course', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='courses.Course')),
                ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
                ('parent', models.ForeignKey(blank=True, db_constraint=False, help_text="Only choose a parent product if you're creating a child product.  For example if this is a size 4 of a particular t-shirt.  Leave blank if this is a stand-alone product (i.e. there is only one version of this product).", null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='catalogue.Product', verbose_name='Parent product')),
                ('product_class', models.ForeignKey(blank=True, db_constraint=False, help_text='Choose what type of product this is', null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='catalogue.ProductClass', verbose_name='Product type')),
            ],
            options={
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': 'history_date',
                'verbose_name': 'historical Product',
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
        migrations.CreateModel(
            name='HistoricalProductAttributeValue',
            fields=[
                ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
                ('value_text', models.TextField(blank=True, null=True, verbose_name='Text')),
                ('value_integer', models.IntegerField(blank=True, null=True, verbose_name='Integer')),
                ('value_boolean', models.NullBooleanField(verbose_name='Boolean')),
                ('value_float', models.FloatField(blank=True, null=True, verbose_name='Float')),
                ('value_richtext', models.TextField(blank=True, null=True, verbose_name='Richtext')),
                ('value_date', models.DateField(blank=True, null=True, verbose_name='Date')),
                ('value_datetime', models.DateTimeField(blank=True, null=True, verbose_name='DateTime')),
                ('value_file', models.TextField(blank=True, max_length=255, null=True)),
                ('value_image', models.TextField(blank=True, max_length=255, null=True)),
                ('entity_object_id', models.PositiveIntegerField(blank=True, editable=False, null=True)),
                ('history_id', models.AutoField(primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField()),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
                ('attribute', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='catalogue.ProductAttribute', verbose_name='Attribute')),
                ('entity_content_type', models.ForeignKey(blank=True, db_constraint=False, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='contenttypes.ContentType')),
                ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
                ('product', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='catalogue.Product', verbose_name='Product')),
                ('value_option', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='catalogue.AttributeOption', verbose_name='Value option')),
            ],
            options={
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': 'history_date',
                'verbose_name': 'historical Product attribute value',
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
    ]
예제 #3
0
class Migration(migrations.Migration):

    dependencies = [
        ("metadata", "0006_auto_20180903_1349"),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ("barriers", "0010_auto_20180912_1831"),
    ]

    operations = [
        migrations.CreateModel(
            name="HistoricalBarrierCompany",
            fields=[
                (
                    "id",
                    models.IntegerField(auto_created=True,
                                        blank=True,
                                        db_index=True,
                                        verbose_name="ID"),
                ),
                (
                    "created_on",
                    models.DateTimeField(blank=True,
                                         db_index=True,
                                         editable=False,
                                         null=True),
                ),
                (
                    "modified_on",
                    models.DateTimeField(blank=True, editable=False,
                                         null=True),
                ),
                ("history_id",
                 models.AutoField(primary_key=True, serialize=False)),
                ("history_change_reason",
                 models.CharField(max_length=100, null=True)),
                ("history_date", models.DateTimeField()),
                (
                    "history_type",
                    models.CharField(
                        choices=[("+", "Created"), ("~", "Changed"),
                                 ("-", "Deleted")],
                        max_length=1,
                    ),
                ),
                (
                    "barrier",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="barriers.BarrierInstance",
                    ),
                ),
                (
                    "company",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="barriers.DatahubCompany",
                    ),
                ),
                (
                    "created_by",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "history_user",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "modified_by",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={
                "verbose_name": "historical barrier company",
                "ordering": ("-history_date", "-history_id"),
                "get_latest_by": "history_date",
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
        migrations.CreateModel(
            name="HistoricalBarrierContributor",
            fields=[
                (
                    "id",
                    models.IntegerField(auto_created=True,
                                        blank=True,
                                        db_index=True,
                                        verbose_name="ID"),
                ),
                (
                    "created_on",
                    models.DateTimeField(blank=True,
                                         db_index=True,
                                         editable=False,
                                         null=True),
                ),
                (
                    "modified_on",
                    models.DateTimeField(blank=True, editable=False,
                                         null=True),
                ),
                (
                    "kind",
                    models.CharField(
                        choices=[
                            ("INITIATOR", "Initiator"),
                            ("CONTRIBUTOR", "Contributor"),
                            ("LEAD", "Lead"),
                        ],
                        max_length=25,
                    ),
                ),
                ("is_active", models.BooleanField(default=True)),
                ("history_id",
                 models.AutoField(primary_key=True, serialize=False)),
                ("history_change_reason",
                 models.CharField(max_length=100, null=True)),
                ("history_date", models.DateTimeField()),
                (
                    "history_type",
                    models.CharField(
                        choices=[("+", "Created"), ("~", "Changed"),
                                 ("-", "Deleted")],
                        max_length=1,
                    ),
                ),
                (
                    "barrier",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="barriers.BarrierInstance",
                    ),
                ),
                (
                    "contributor",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "created_by",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "history_user",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "modified_by",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={
                "verbose_name": "historical barrier contributor",
                "ordering": ("-history_date", "-history_id"),
                "get_latest_by": "history_date",
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
        migrations.CreateModel(
            name="HistoricalBarrierInstance",
            fields=[
                (
                    "created_on",
                    models.DateTimeField(blank=True,
                                         db_index=True,
                                         editable=False,
                                         null=True),
                ),
                (
                    "modified_on",
                    models.DateTimeField(blank=True, editable=False,
                                         null=True),
                ),
                ("id", models.UUIDField(db_index=True, default=uuid.uuid4)),
                (
                    "problem_status",
                    models.PositiveIntegerField(
                        choices=[
                            (1, "On the border"),
                            (2, "Long term strategic barrier"),
                        ],
                        null=True,
                    ),
                ),
                ("is_resolved", models.NullBooleanField()),
                ("resolved_date", models.DateField(default=None, null=True)),
                ("export_country", models.UUIDField(null=True)),
                ("sectors_affected", models.NullBooleanField()),
                (
                    "sectors",
                    django.contrib.postgres.fields.ArrayField(
                        base_field=models.UUIDField(),
                        blank=True,
                        default=None,
                        null=True,
                        size=None,
                    ),
                ),
                ("product", models.CharField(max_length=255, null=True)),
                (
                    "source",
                    models.CharField(
                        choices=[
                            ("COMPANY", "Company"),
                            ("TRADE", "Trade Association"),
                            ("GOVT", "Government Lead"),
                            ("OTHER", "Other"),
                        ],
                        help_text="chance of success",
                        max_length=25,
                        null=True,
                    ),
                ),
                ("other_source", models.CharField(max_length=255, null=True)),
                ("barrier_title", models.CharField(max_length=255, null=True)),
                ("problem_description", models.TextField(null=True)),
                (
                    "reported_on",
                    models.DateTimeField(blank=True,
                                         db_index=True,
                                         editable=False),
                ),
                (
                    "status",
                    models.PositiveIntegerField(
                        choices=[
                            (0, "Unfinished"),
                            (1, "Screening"),
                            (2, "Open"),
                            (3, "Rejected"),
                            (4, "Resolved"),
                            (5, "Hibernated"),
                            (6, "Archived"),
                        ],
                        default=0,
                        help_text="status of the barrier instance",
                    ),
                ),
                (
                    "status_summary",
                    models.TextField(
                        default=None,
                        help_text="status summary if provided by user",
                        null=True,
                    ),
                ),
                (
                    "status_date",
                    models.DateTimeField(
                        blank=True,
                        editable=False,
                        help_text="date when status action occurred",
                        null=True,
                    ),
                ),
                (
                    "has_legal_infringement",
                    models.PositiveIntegerField(
                        choices=[(1, "Yes"), (2, "No"), (3, "Don't know")],
                        default=None,
                        help_text="Legal obligations infringed",
                        null=True,
                    ),
                ),
                (
                    "wto_infringement",
                    models.NullBooleanField(
                        default=None, help_text="Legal obligations infringed"),
                ),
                (
                    "fta_infringement",
                    models.NullBooleanField(
                        default=None, help_text="Legal obligations infringed"),
                ),
                (
                    "other_infringement",
                    models.NullBooleanField(
                        default=None, help_text="Legal obligations infringed"),
                ),
                (
                    "infringement_summary",
                    models.TextField(default=None,
                                     help_text="Summary of infringments",
                                     null=True),
                ),
                (
                    "political_sensitivities",
                    models.TextField(
                        default=None,
                        help_text="Political sensitivities to be aware of",
                        null=True,
                    ),
                ),
                (
                    "commercial_sensitivities",
                    models.TextField(
                        default=None,
                        help_text=
                        "Commercial or confidentiality sensitivities to be aware of",
                        null=True,
                    ),
                ),
                ("history_id",
                 models.AutoField(primary_key=True, serialize=False)),
                ("history_change_reason",
                 models.CharField(max_length=100, null=True)),
                ("history_date", models.DateTimeField()),
                (
                    "history_type",
                    models.CharField(
                        choices=[("+", "Created"), ("~", "Changed"),
                                 ("-", "Deleted")],
                        max_length=1,
                    ),
                ),
                (
                    "barrier_type",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="metadata.BarrierType",
                    ),
                ),
                (
                    "created_by",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "history_user",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "modified_by",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={
                "verbose_name": "historical barrier instance",
                "ordering": ("-history_date", "-history_id"),
                "get_latest_by": "history_date",
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
        migrations.CreateModel(
            name="HistoricalBarrierInteraction",
            fields=[
                (
                    "id",
                    models.IntegerField(auto_created=True,
                                        blank=True,
                                        db_index=True,
                                        verbose_name="ID"),
                ),
                (
                    "created_on",
                    models.DateTimeField(blank=True,
                                         db_index=True,
                                         editable=False,
                                         null=True),
                ),
                (
                    "modified_on",
                    models.DateTimeField(blank=True, editable=False,
                                         null=True),
                ),
                (
                    "kind",
                    models.CharField(choices=[("COMMENT", "Comment")],
                                     max_length=25),
                ),
                ("text", models.TextField(null=True)),
                ("pinned", models.BooleanField(default=False)),
                ("is_active", models.BooleanField(default=True)),
                ("history_id",
                 models.AutoField(primary_key=True, serialize=False)),
                ("history_change_reason",
                 models.CharField(max_length=100, null=True)),
                ("history_date", models.DateTimeField()),
                (
                    "history_type",
                    models.CharField(
                        choices=[("+", "Created"), ("~", "Changed"),
                                 ("-", "Deleted")],
                        max_length=1,
                    ),
                ),
                (
                    "barrier",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="barriers.BarrierInstance",
                    ),
                ),
                (
                    "created_by",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "history_user",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "modified_by",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={
                "verbose_name": "historical barrier interaction",
                "ordering": ("-history_date", "-history_id"),
                "get_latest_by": "history_date",
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
        migrations.CreateModel(
            name="HistoricalBarrierReportStage",
            fields=[
                (
                    "id",
                    models.IntegerField(auto_created=True,
                                        blank=True,
                                        db_index=True,
                                        verbose_name="ID"),
                ),
                (
                    "created_on",
                    models.DateTimeField(blank=True,
                                         db_index=True,
                                         editable=False,
                                         null=True),
                ),
                (
                    "modified_on",
                    models.DateTimeField(blank=True, editable=False,
                                         null=True),
                ),
                (
                    "status",
                    models.PositiveIntegerField(
                        choices=[
                            (1, "NOT STARTED"),
                            (2, "IN PROGRESS"),
                            (3, "COMPLETED"),
                        ],
                        null=True,
                    ),
                ),
                ("history_id",
                 models.AutoField(primary_key=True, serialize=False)),
                ("history_change_reason",
                 models.CharField(max_length=100, null=True)),
                ("history_date", models.DateTimeField()),
                (
                    "history_type",
                    models.CharField(
                        choices=[("+", "Created"), ("~", "Changed"),
                                 ("-", "Deleted")],
                        max_length=1,
                    ),
                ),
                (
                    "barrier",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="barriers.BarrierInstance",
                    ),
                ),
                (
                    "created_by",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "history_user",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "modified_by",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "stage",
                    models.ForeignKey(
                        blank=True,
                        db_constraint=False,
                        null=True,
                        on_delete=django.db.models.deletion.DO_NOTHING,
                        related_name="+",
                        to="barriers.Stage",
                    ),
                ),
            ],
            options={
                "verbose_name": "historical barrier report stage",
                "ordering": ("-history_date", "-history_id"),
                "get_latest_by": "history_date",
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
    ]