class Migration(migrations.Migration): dependencies = [ ('order', '0018_historicalline_historicalorder'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('refund', '0005_auto_20180628_2011'), ] operations = [ migrations.CreateModel( name='HistoricalRefund', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('created', django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, verbose_name='created')), ('modified', django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified')), ('total_credit_excl_tax', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Total Credit (excl. tax)')), ('currency', models.CharField(default=oscar.core.utils.get_default_currency, max_length=12, verbose_name='Currency')), ('status', models.CharField(choices=[(b'Open', b'Open'), (b'Denied', b'Denied'), (b'Payment Refund Error', b'Payment Refund Error'), (b'Payment Refunded', b'Payment Refunded'), (b'Revocation Error', b'Revocation Error'), (b'Complete', b'Complete')], max_length=255, verbose_name='Status')), ('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)), ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('order', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='order.Order', verbose_name='Order')), ('user', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='User')), ], options={ 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical refund', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalRefundLine', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('created', django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, verbose_name='created')), ('modified', django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified')), ('line_credit_excl_tax', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Line Credit (excl. tax)')), ('quantity', models.PositiveIntegerField(default=1, verbose_name='Quantity')), ('status', models.CharField(choices=[(b'Open', b'Open'), (b'Revocation Error', b'Revocation Error'), (b'Denied', b'Denied'), (b'Complete', b'Complete')], max_length=255, verbose_name='Status')), ('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)), ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('order_line', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='order.Line', verbose_name='Order Line')), ('refund', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='refund.Refund', verbose_name='Refund')), ], options={ 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical refund line', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), ]
class Migration(migrations.Migration): dependencies = [ ('catalogue', '0039_historicalproduct_historicalproductattributevalue'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('partner', '0013_partner_default_site'), ] operations = [ migrations.CreateModel( name='HistoricalStockRecord', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('partner_sku', models.CharField(max_length=128, verbose_name='Partner SKU')), ('price_currency', models.CharField(default=oscar.core.utils.get_default_currency, max_length=12, verbose_name='Currency')), ('price_excl_tax', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Price (excl. tax)')), ('price_retail', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Price (retail)')), ('cost_price', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Cost Price')), ('num_in_stock', models.PositiveIntegerField(blank=True, null=True, verbose_name='Number in stock')), ('num_allocated', models.IntegerField(blank=True, null=True, verbose_name='Number allocated')), ('low_stock_threshold', models.PositiveIntegerField(blank=True, null=True, verbose_name='Low Stock Threshold')), ('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')), ('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)), ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('partner', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='partner.Partner', verbose_name='Partner')), ('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')), ], options={ 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical Stock record', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("auth", "0011_update_proxy_permissions"), ("workstation_configs", "0001_squashed_0008_auto_20201001_0758"), ] operations = [ migrations.CreateModel( name="Workstation", fields=[ ( "id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ("created", models.DateTimeField(auto_now_add=True)), ("modified", models.DateTimeField(auto_now=True)), ( "title", models.CharField(max_length=255, verbose_name="title"), ), ( "description", models.TextField(blank=True, null=True, verbose_name="description"), ), ( "slug", django_extensions.db.fields.AutoSlugField( blank=True, editable=False, populate_from="title", verbose_name="slug", ), ), ( "logo", models.ImageField( storage=grandchallenge.core.storage.PublicS3Storage(), upload_to=grandchallenge.core.storage.get_logo_path, ), ), ( "editors_group", models.OneToOneField( editable=False, on_delete=django.db.models.deletion.CASCADE, related_name="editors_of_workstation", to="auth.group", ), ), ( "users_group", models.OneToOneField( editable=False, on_delete=django.db.models.deletion.CASCADE, related_name="users_of_workstation", to="auth.group", ), ), ( "config", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to="workstation_configs.workstationconfig", ), ), ( "public", models.BooleanField( default=False, help_text= "If True, all logged in users can use this workstation, otherwise, only the users group can use this workstation.", ), ), ], options={ "abstract": False, "ordering": ("created", "title") }, ), migrations.CreateModel( name="WorkstationImage", fields=[ ( "id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ("created", models.DateTimeField(auto_now_add=True)), ("modified", models.DateTimeField(auto_now=True)), ( "staged_image_uuid", models.UUIDField(blank=True, editable=False, null=True), ), ( "image", models.FileField( blank=True, help_text= ".tar.xz archive of the container image produced from the command 'docker save IMAGE | xz -c > IMAGE.tar.xz'. See https://docs.docker.com/engine/reference/commandline/save/", storage=grandchallenge.core.storage.PrivateS3Storage(), upload_to=grandchallenge.components.models. docker_image_path, validators=[ grandchallenge.core.validators.ExtensionValidator( allowed_extensions=( ".tar", ".tar.gz", ".tar.xz", )) ], ), ), ( "image_sha256", models.CharField(editable=False, max_length=71), ), ( "ready", models.BooleanField( default=False, editable=False, help_text="Is this image ready to be used?", ), ), ("status", models.TextField(editable=False)), ("requires_gpu", models.BooleanField(default=False)), ( "requires_gpu_memory_gb", models.PositiveIntegerField(default=4), ), ("requires_memory_gb", models.PositiveIntegerField(default=4)), ( "requires_cpu_cores", models.DecimalField(decimal_places=2, default=Decimal("1.0"), max_digits=4), ), ( "http_port", models.PositiveIntegerField( default=8080, validators=[ django.core.validators.MaxValueValidator(65535) ], ), ), ( "websocket_port", models.PositiveIntegerField( default=4114, validators=[ django.core.validators.MaxValueValidator(65535) ], ), ), ( "initial_path", models.CharField( default="cirrus", max_length=256, validators=[ django.core.validators.RegexValidator( message= "This path is invalid, it must not start with a /", regex="^(?:[^/][^\\s]*)\\Z", ) ], ), ), ( "creator", models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, ), ), ( "workstation", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="workstations.workstation", ), ), ], options={ "abstract": False, "ordering": ("created", "creator") }, ), migrations.CreateModel( name="HistoricalSession", fields=[ ( "id", models.UUIDField(db_index=True, default=uuid.uuid4, editable=False), ), ("created", models.DateTimeField(blank=True, editable=False)), ("modified", models.DateTimeField(blank=True, editable=False)), ( "status", models.PositiveSmallIntegerField( choices=[ (0, "Queued"), (1, "Started"), (2, "Running"), (3, "Failed"), (4, "Stopped"), ], default=0, ), ), ( "maximum_duration", models.DurationField(default=datetime.timedelta( seconds=600)), ), ("user_finished", models.BooleanField(default=False)), ( "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, ), ), ( "creator", 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, ), ), ( "workstation_image", models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="workstations.workstationimage", ), ), ( "region", models.CharField( choices=[ ("af-south-1", "Africa (Cape Town)"), ("ap-east-1", "Asia Pacific (Hong Kong)"), ("ap-northeast-1", "Asia Pacific (Tokyo)"), ("ap-northeast-2", "Asia Pacific (Seoul)"), ("ap-northeast-3", "Asia Pacific (Osaka-Local)"), ("ap-south-1", "Asia Pacific (Mumbai)"), ("ap-southeast-1", "Asia Pacific (Singapore)"), ("ap-southeast-2", "Asia Pacific (Sydney)"), ("ca-central-1", "Canada (Central)"), ("eu-central-1", "Europe (Frankfurt)"), ("eu-north-1", "Europe (Stockholm)"), ("eu-south-1", "Europe (Milan)"), ("eu-west-1", "Europe (Ireland)"), ("eu-west-2", "Europe (London)"), ("eu-west-3", "Europe (Paris)"), ("me-south-1", "Middle East (Bahrain)"), ("sa-east-1", "South America (São Paulo)"), ("us-east-1", "US East (N. Virginia)"), ("us-east-2", "US East (Ohio)"), ("us-west-1", "US West (N. California)"), ("us-west-2", "US West (Oregon)"), ("eu-nl-1", "Netherlands (Nijmegen)"), ("eu-nl-2", "Netherlands (Amsterdam)"), ], default="eu-nl-1", help_text="Which region is this session available in?", max_length=14, ), ), ], options={ "verbose_name": "historical session", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="Session", fields=[ ( "id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ("created", models.DateTimeField(auto_now_add=True)), ("modified", models.DateTimeField(auto_now=True)), ( "status", models.PositiveSmallIntegerField( choices=[ (0, "Queued"), (1, "Started"), (2, "Running"), (3, "Failed"), (4, "Stopped"), ], default=0, ), ), ( "maximum_duration", models.DurationField(default=datetime.timedelta( seconds=600)), ), ("user_finished", models.BooleanField(default=False)), ( "creator", models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, ), ), ( "workstation_image", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="workstations.workstationimage", ), ), ("logs", models.TextField(blank=True, editable=False)), ( "region", models.CharField( choices=[ ("af-south-1", "Africa (Cape Town)"), ("ap-east-1", "Asia Pacific (Hong Kong)"), ("ap-northeast-1", "Asia Pacific (Tokyo)"), ("ap-northeast-2", "Asia Pacific (Seoul)"), ("ap-northeast-3", "Asia Pacific (Osaka-Local)"), ("ap-south-1", "Asia Pacific (Mumbai)"), ("ap-southeast-1", "Asia Pacific (Singapore)"), ("ap-southeast-2", "Asia Pacific (Sydney)"), ("ca-central-1", "Canada (Central)"), ("eu-central-1", "Europe (Frankfurt)"), ("eu-north-1", "Europe (Stockholm)"), ("eu-south-1", "Europe (Milan)"), ("eu-west-1", "Europe (Ireland)"), ("eu-west-2", "Europe (London)"), ("eu-west-3", "Europe (Paris)"), ("me-south-1", "Middle East (Bahrain)"), ("sa-east-1", "South America (São Paulo)"), ("us-east-1", "US East (N. Virginia)"), ("us-east-2", "US East (Ohio)"), ("us-west-1", "US West (N. California)"), ("us-west-2", "US West (Oregon)"), ("eu-nl-1", "Netherlands (Nijmegen)"), ("eu-nl-2", "Netherlands (Amsterdam)"), ], default="eu-nl-1", help_text="Which region is this session available in?", max_length=14, ), ), ("ping_times", models.JSONField(default=None, null=True)), ], options={ "abstract": False, "ordering": ("created", "creator") }, ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("sites", "0002_alter_domain_unique"), ("meta_subject", "0001_initial"), ] operations = [ migrations.RemoveField(model_name="historicalpatienthistory", name="abdominal_tenderness"), migrations.RemoveField(model_name="historicalpatienthistory", name="dia_blood_pressure"), migrations.RemoveField(model_name="historicalpatienthistory", name="has_abdominal_tenderness"), migrations.RemoveField(model_name="historicalpatienthistory", name="has_enlarged_liver"), migrations.RemoveField(model_name="historicalpatienthistory", name="heart_rate"), migrations.RemoveField(model_name="historicalpatienthistory", name="irregular_heartbeat"), migrations.RemoveField(model_name="historicalpatienthistory", name="is_heartbeat_regular"), migrations.RemoveField(model_name="historicalpatienthistory", name="jaundice"), migrations.RemoveField(model_name="historicalpatienthistory", name="peripheral_oedema"), migrations.RemoveField(model_name="historicalpatienthistory", name="respiratory_rate"), migrations.RemoveField(model_name="historicalpatienthistory", name="sys_blood_pressure"), migrations.RemoveField(model_name="historicalpatienthistory", name="temperature"), migrations.RemoveField(model_name="historicalpatienthistory", name="waist_circumference"), migrations.RemoveField(model_name="historicalpatienthistory", name="weight"), migrations.RemoveField(model_name="patienthistory", name="abdominal_tenderness"), migrations.RemoveField(model_name="patienthistory", name="dia_blood_pressure"), migrations.RemoveField(model_name="patienthistory", name="has_abdominal_tenderness"), migrations.RemoveField(model_name="patienthistory", name="has_enlarged_liver"), migrations.RemoveField(model_name="patienthistory", name="heart_rate"), migrations.RemoveField(model_name="patienthistory", name="irregular_heartbeat"), migrations.RemoveField(model_name="patienthistory", name="is_heartbeat_regular"), migrations.RemoveField(model_name="patienthistory", name="jaundice"), migrations.RemoveField(model_name="patienthistory", name="peripheral_oedema"), migrations.RemoveField(model_name="patienthistory", name="respiratory_rate"), migrations.RemoveField(model_name="patienthistory", name="sys_blood_pressure"), migrations.RemoveField(model_name="patienthistory", name="temperature"), migrations.RemoveField(model_name="patienthistory", name="waist_circumference"), migrations.RemoveField(model_name="patienthistory", name="weight"), migrations.AddField( model_name="followupvitals", name="oxygen_saturation", field=models.IntegerField( editable=False, help_text="%", null=True, validators=[ django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(999), ], verbose_name="Oxygen saturation:", ), ), migrations.AddField( model_name="historicalfollowupvitals", name="oxygen_saturation", field=models.IntegerField( editable=False, help_text="%", null=True, validators=[ django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(999), ], verbose_name="Oxygen saturation:", ), ), migrations.AlterField( model_name="followupvitals", name="respiratory_rate", field=models.IntegerField( editable=False, help_text="breaths/min", null=True, validators=[ django.core.validators.MinValueValidator(6), django.core.validators.MaxValueValidator(50), ], verbose_name="Respiratory rate:", ), ), migrations.AlterField( model_name="historicalfollowupvitals", name="respiratory_rate", field=models.IntegerField( editable=False, help_text="breaths/min", null=True, validators=[ django.core.validators.MinValueValidator(6), django.core.validators.MaxValueValidator(50), ], verbose_name="Respiratory rate:", ), ), migrations.CreateModel( name="PhysicalExam", fields=[ ( "revision", django_revision.revision_field.RevisionField( blank=True, editable=False, help_text= "System field. Git repository tag:branch:commit.", max_length=75, null=True, verbose_name="Revision", ), ), ( "created", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin. utcnow, ), ), ( "modified", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin. utcnow, ), ), ( "user_created", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user created", ), ), ( "user_modified", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user modified", ), ), ( "hostname_created", models.CharField( blank=True, default=_socket.gethostname, help_text="System field. (modified on create only)", max_length=60, ), ), ( "hostname_modified", django_audit_fields.fields.hostname_modification_field. HostnameModificationField( blank=True, help_text="System field. (modified on every save)", max_length=50, ), ), ("device_created", models.CharField(blank=True, max_length=10)), ("device_modified", models.CharField(blank=True, max_length=10)), ( "id", django_audit_fields.fields.uuid_auto_field.UUIDAutoField( blank=True, editable=False, help_text="System auto field. UUID primary key.", primary_key=True, serialize=False, ), ), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "report_datetime", models.DateTimeField( default=edc_utils.date.get_utcnow, help_text= "If reporting today, use today's date/time, otherwise use the date/time this information was reported.", validators=[ edc_protocol.validators. datetime_not_before_study_start, edc_model.validators.date.datetime_not_future, ], verbose_name="Report Date", ), ), ( "weight", models.DecimalField( decimal_places=1, help_text="kg", max_digits=4, validators=[ django.core.validators.MinValueValidator(20), django.core.validators.MaxValueValidator(150), ], verbose_name="Weight:", ), ), ( "sys_blood_pressure", models.IntegerField( help_text="in mm. format SYS, e.g. 120", validators=[ django.core.validators.MinValueValidator(50), django.core.validators.MaxValueValidator(220), ], verbose_name="Blood pressure: systolic", ), ), ( "dia_blood_pressure", models.IntegerField( help_text="in Hg. format DIA, e.g. 80", validators=[ django.core.validators.MinValueValidator(20), django.core.validators.MaxValueValidator(150), ], verbose_name="Blood pressure: diastolic", ), ), ( "heart_rate", models.IntegerField( help_text="BPM", validators=[ django.core.validators.MinValueValidator(30), django.core.validators.MaxValueValidator(200), ], verbose_name="Heart rate:", ), ), ( "respiratory_rate", models.IntegerField( editable=False, help_text="breaths/min", null=True, validators=[ django.core.validators.MinValueValidator(6), django.core.validators.MaxValueValidator(50), ], verbose_name="Respiratory rate:", ), ), ( "oxygen_saturation", models.IntegerField( editable=False, help_text="%", null=True, validators=[ django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(999), ], verbose_name="Oxygen saturation:", ), ), ( "temperature", models.DecimalField( decimal_places=1, help_text="in degrees Celcius", max_digits=3, validators=[ django.core.validators.MinValueValidator(30), django.core.validators.MaxValueValidator(45), ], verbose_name="Temperature:", ), ), ( "is_heartbeat_regular", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Is the heart beat regular?", ), ), ( "irregular_heartbeat", models.TextField( blank=True, null=True, verbose_name= "If the heartbeat is NOT regular, please describe", ), ), ( "waist_circumference", models.DecimalField( decimal_places=1, help_text="in centimeters", max_digits=5, validators=[ django.core.validators.MinValueValidator(50.0), django.core.validators.MaxValueValidator(175.0), ], verbose_name="Waist circumference", ), ), ( "jaundice", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Jaundice", ), ), ( "peripheral_oedema", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Presence of peripheral oedema", ), ), ( "has_abdominal_tenderness", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Abdominal tenderness on palpation", ), ), ( "abdominal_tenderness", models.TextField( blank=True, null=True, verbose_name= "If YES, abdominal tenderness, please describe", ), ), ( "has_enlarged_liver", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Enlarged liver on palpation", ), ), ( "site", models.ForeignKey( editable=False, null=True, on_delete=django.db.models.deletion.PROTECT, to="sites.Site", ), ), ( "subject_visit", models.OneToOneField( on_delete=django.db.models.deletion.PROTECT, to="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "Patient History", "verbose_name_plural": "Patient History", "abstract": False, }, managers=[ ("on_site", django.contrib.sites.managers.CurrentSiteManager()), ("objects", edc_visit_tracking.managers.CrfModelManager()), ], ), migrations.CreateModel( name="HistoricalPhysicalExam", fields=[ ( "revision", django_revision.revision_field.RevisionField( blank=True, editable=False, help_text= "System field. Git repository tag:branch:commit.", max_length=75, null=True, verbose_name="Revision", ), ), ( "created", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin. utcnow, ), ), ( "modified", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin. utcnow, ), ), ( "user_created", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user created", ), ), ( "user_modified", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user modified", ), ), ( "hostname_created", models.CharField( blank=True, default=_socket.gethostname, help_text="System field. (modified on create only)", max_length=60, ), ), ( "hostname_modified", django_audit_fields.fields.hostname_modification_field. HostnameModificationField( blank=True, help_text="System field. (modified on every save)", max_length=50, ), ), ("device_created", models.CharField(blank=True, max_length=10)), ("device_modified", models.CharField(blank=True, max_length=10)), ( "id", django_audit_fields.fields.uuid_auto_field.UUIDAutoField( blank=True, db_index=True, editable=False, help_text="System auto field. UUID primary key.", ), ), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "report_datetime", models.DateTimeField( default=edc_utils.date.get_utcnow, help_text= "If reporting today, use today's date/time, otherwise use the date/time this information was reported.", validators=[ edc_protocol.validators. datetime_not_before_study_start, edc_model.validators.date.datetime_not_future, ], verbose_name="Report Date", ), ), ( "history_id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ( "weight", models.DecimalField( decimal_places=1, help_text="kg", max_digits=4, validators=[ django.core.validators.MinValueValidator(20), django.core.validators.MaxValueValidator(150), ], verbose_name="Weight:", ), ), ( "sys_blood_pressure", models.IntegerField( help_text="in mm. format SYS, e.g. 120", validators=[ django.core.validators.MinValueValidator(50), django.core.validators.MaxValueValidator(220), ], verbose_name="Blood pressure: systolic", ), ), ( "dia_blood_pressure", models.IntegerField( help_text="in Hg. format DIA, e.g. 80", validators=[ django.core.validators.MinValueValidator(20), django.core.validators.MaxValueValidator(150), ], verbose_name="Blood pressure: diastolic", ), ), ( "heart_rate", models.IntegerField( help_text="BPM", validators=[ django.core.validators.MinValueValidator(30), django.core.validators.MaxValueValidator(200), ], verbose_name="Heart rate:", ), ), ( "respiratory_rate", models.IntegerField( editable=False, help_text="breaths/min", null=True, validators=[ django.core.validators.MinValueValidator(6), django.core.validators.MaxValueValidator(50), ], verbose_name="Respiratory rate:", ), ), ( "oxygen_saturation", models.IntegerField( editable=False, help_text="%", null=True, validators=[ django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(999), ], verbose_name="Oxygen saturation:", ), ), ( "temperature", models.DecimalField( decimal_places=1, help_text="in degrees Celcius", max_digits=3, validators=[ django.core.validators.MinValueValidator(30), django.core.validators.MaxValueValidator(45), ], verbose_name="Temperature:", ), ), ( "is_heartbeat_regular", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Is the heart beat regular?", ), ), ( "irregular_heartbeat", models.TextField( blank=True, null=True, verbose_name= "If the heartbeat is NOT regular, please describe", ), ), ( "waist_circumference", models.DecimalField( decimal_places=1, help_text="in centimeters", max_digits=5, validators=[ django.core.validators.MinValueValidator(50.0), django.core.validators.MaxValueValidator(175.0), ], verbose_name="Waist circumference", ), ), ( "jaundice", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Jaundice", ), ), ( "peripheral_oedema", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Presence of peripheral oedema", ), ), ( "has_abdominal_tenderness", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Abdominal tenderness on palpation", ), ), ( "abdominal_tenderness", models.TextField( blank=True, null=True, verbose_name= "If YES, abdominal tenderness, please describe", ), ), ( "has_enlarged_liver", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Enlarged liver on palpation", ), ), ("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, ), ), ( "history_user", models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="+", to=settings.AUTH_USER_MODEL, ), ), ( "site", models.ForeignKey( blank=True, db_constraint=False, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="sites.Site", ), ), ( "subject_visit", models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "historical Patient History", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.AddIndex( model_name="physicalexam", index=models.Index( fields=["subject_visit", "site", "id"], name="meta_subjec_subject_7da1da_idx", ), ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('permits', '0004_insert_workflow_status'), ] operations = [ migrations.CreateModel( name='HistoricalWorksObjectPropertyValue', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('value', django.contrib.postgres.fields.jsonb.JSONField()), ('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)), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('property', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='permits.WorksObjectProperty', verbose_name='caractéristique')), ('works_object_type_choice', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='permits.WorksObjectTypeChoice', verbose_name='objet des travaux')), ], options={ 'verbose_name': 'historical works object property value', 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalPermitRequestValidation', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('validation_status', models.IntegerField(choices=[(0, 'En attente'), (1, 'Approuvé'), (2, 'Refusé')], default=0, verbose_name='Statut de validation')), ('comment_before', models.TextField(blank=True, verbose_name='Commentaires (avant)')), ('comment_during', models.TextField(blank=True, verbose_name='Commentaires (pendant)')), ('comment_after', models.TextField(blank=True, verbose_name='Commentaires (après)')), ('validated_at', models.DateTimeField(null=True, verbose_name='Validé le')), ('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)), ('department', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='permits.PermitDepartment')), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('permit_request', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='permits.PermitRequest')), ('validated_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 3.5 Consultation de la validation par le service', 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalPermitRequestGeoTime', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('starts_at', models.DateTimeField(verbose_name='Date planifiée de début')), ('ends_at', models.DateTimeField(verbose_name='Date planifiée de fin')), ('comment', models.CharField(blank=True, max_length=1024, verbose_name='Commentaire')), ('external_link', models.URLField(blank=True, verbose_name='Lien externe')), ('geom', django.contrib.gis.db.models.fields.GeometryCollectionField( null=True, srid=2056, verbose_name='Localisation')), ('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)), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('permit_request', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='permits.PermitRequest')), ], options={ 'verbose_name': "historical 3.3 Consultation de l'agenda et de la géométrie", 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalPermitRequest', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('status', models.PositiveSmallIntegerField(choices=[ (0, 'Brouillon'), (1, 'Envoyée, en attente de traitement'), (4, 'Demande de compléments'), (3, 'En traitement'), (5, 'En validation'), (2, 'Approuvée'), (6, 'Refusée'), (7, 'Annonce réceptionnée') ], default=0, verbose_name='état')), ('created_at', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date de création')), ('validated_at', models.DateTimeField(null=True, verbose_name='date de validation')), ('printed_at', models.DateTimeField(null=True, verbose_name="date d'impression")), ('printed_by', models.CharField(blank=True, max_length=255, verbose_name='imprimé par')), ('printed_file', models.TextField(blank=True, max_length=100, null=True, verbose_name='Permis imprimé')), ('archeology_status', models.PositiveSmallIntegerField( choices=[(0, 'Non pertinent'), (1, 'Inconnu'), (2, 'Pas fouillé'), (3, 'Partiellement fouillé'), (4, 'Déjà fouillé')], default=0, verbose_name='Statut archéologique')), ('intersected_geometries', models.CharField( max_length=1024, null=True, verbose_name='Entités géométriques concernées')), ('price', models.DecimalField(blank=True, decimal_places=2, max_digits=7, null=True, verbose_name='Émolument')), ('exemption', models.TextField(blank=True, verbose_name='Dérogation')), ('opposition', models.TextField(blank=True, verbose_name='Opposition')), ('comment', models.TextField(blank=True, verbose_name='Analyse du service pilote')), ('validation_pdf', models.TextField( max_length=100, validators=[ django.core.validators.FileExtensionValidator( allowed_extensions=['pdf']) ], verbose_name='pdf de validation')), ('creditor_type', models.PositiveSmallIntegerField( blank=True, choices=[ (0, 'Autres'), (2, 'Propriétaire'), (3, 'Entreprise'), (4, "Maître d'ouvrage"), (1, "Requérant si différent de l'auteur de la demande"), (5, 'Sécurité'), (6, 'Association') ], null=True, verbose_name='Destinaire de la facture')), ('is_public', models.BooleanField(default=False, verbose_name='Publier')), ('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)), ('administrative_entity', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='permits.PermitAdministrativeEntity', verbose_name='commune')), ('author', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='permits.PermitAuthor', verbose_name='auteur')), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'historical 3.1 Consultation de la demande', 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalPermitAuthor', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('company_name', models.CharField(blank=True, max_length=100, verbose_name='Raison Sociale')), ('vat_number', models.CharField( blank=True, max_length=19, validators=[ django.core.validators.RegexValidator( message= "Le code d'entreprise doit être de type CHE-123.456.789 (TVA) et vous pouvez le trouver sur le registe fédéral des entreprises https://www.uid.admin.ch/search.aspx", regex='^(CHE-)+\\d{3}\\.\\d{3}\\.\\d{3}(\\sTVA)?$' ) ], verbose_name='Numéro TVA')), ('address', models.CharField(max_length=100, verbose_name='Rue')), ('zipcode', models.PositiveIntegerField(validators=[ django.core.validators.MinValueValidator(1000), django.core.validators.MaxValueValidator(9999) ], verbose_name='NPA')), ('city', models.CharField(max_length=100, verbose_name='Ville')), ('phone_first', models.CharField( max_length=20, validators=[ django.core.validators.RegexValidator( message= 'Seuls les chiffres et les espaces sont autorisés.', regex= '^(((\\+41)\\s?)|(0))?(\\d{2})\\s?(\\d{3})\\s?(\\d{2})\\s?(\\d{2})$' ) ], verbose_name='Téléphone principal')), ('phone_second', models.CharField( blank=True, max_length=20, validators=[ django.core.validators.RegexValidator( message= 'Seuls les chiffres et les espaces sont autorisés.', regex= '^(((\\+41)\\s?)|(0))?(\\d{2})\\s?(\\d{3})\\s?(\\d{2})\\s?(\\d{2})$' ) ], verbose_name='Téléphone secondaire')), ('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)), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('user', 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 3.2 Consultation de l'auteur", 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalPermitActor', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('first_name', models.CharField(max_length=150, verbose_name='Prénom')), ('last_name', models.CharField(max_length=100, verbose_name='Nom')), ('company_name', models.CharField(max_length=100, verbose_name='Entreprise')), ('vat_number', models.CharField(blank=True, max_length=19, verbose_name='Numéro TVA')), ('address', models.CharField(max_length=100, verbose_name='Adresse')), ('zipcode', models.PositiveIntegerField(verbose_name='NPA')), ('city', models.CharField(max_length=100, verbose_name='Ville')), ('phone', models.CharField(max_length=20, verbose_name='Téléphone')), ('email', models.EmailField(max_length=254, verbose_name='Email')), ('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)), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'historical Contact', 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('adserver', '0054_add_payout_status_dates'), ] operations = [ migrations.CreateModel( name='HistoricalPublisherPayout', fields=[ ('created', django_extensions.db.fields.CreationDateTimeField( auto_now_add=True, verbose_name='created')), ('modified', django_extensions.db.fields.ModificationDateTimeField( auto_now=True, verbose_name='modified')), ('id', models.UUIDField(db_index=True, default=uuid.uuid4, editable=False)), ('amount', models.DecimalField(decimal_places=2, default=0, max_digits=8, verbose_name='Amount')), ('date', models.DateTimeField(verbose_name='Payout date')), ('method', models.CharField(blank=True, choices=[ ('stripe', 'Stripe (Bank transfer, debit card)'), ('paypal', 'PayPal'), ('opencollective', 'Open Collective'), ('other', 'Other') ], default=None, max_length=100, null=True)), ('note', models.TextField( blank=True, help_text='A publisher-visible note about the payout', null=True, verbose_name='Note')), ('attachment', models.TextField( blank=True, help_text= 'A publisher-visible attachment such as a receipt', max_length=255, null=True, verbose_name='Attachment')), ('start_date', models.DateField(help_text='First day of paid period', null=True, verbose_name='Start Date')), ('end_date', models.DateField(help_text='Last day of paid period', null=True, verbose_name='End Date')), ('status', models.CharField(choices=[('pending', 'Pending'), ('hold', 'On hold'), ('emailed', 'Email sent'), ('paid', 'Payment sent')], default='pending', help_text='Status of this payout', max_length=50)), ('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)), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('publisher', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='adserver.Publisher')), ], options={ 'verbose_name': 'historical publisher payout', 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalPublisherGroup', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('created', django_extensions.db.fields.CreationDateTimeField( auto_now_add=True, verbose_name='created')), ('modified', django_extensions.db.fields.ModificationDateTimeField( auto_now=True, verbose_name='modified')), ('name', models.CharField(help_text='Visible to advertisers', max_length=200, verbose_name='Name')), ('slug', models.SlugField(max_length=200, verbose_name='Publisher group slug')), ('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)), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'historical publisher group', 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalPublisher', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('created', django_extensions.db.fields.CreationDateTimeField( auto_now_add=True, verbose_name='created')), ('modified', django_extensions.db.fields.ModificationDateTimeField( auto_now=True, verbose_name='modified')), ('name', models.CharField(max_length=200, verbose_name='Name')), ('slug', models.SlugField(max_length=200, verbose_name='Publisher Slug')), ('revenue_share_percentage', models.FloatField( default=70.0, help_text= 'Percentage of advertising revenue shared with this publisher', validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100) ])), ('default_keywords', models.CharField( blank=True, default='', help_text= 'A CSV of default keywords for this property. Used for targeting.', max_length=250, verbose_name='Default keywords')), ('unauthed_ad_decisions', models.BooleanField( default=True, help_text= 'Whether this publisher allows unauthenticated ad decision API requests (eg. JSONP)' )), ('allow_paid_campaigns', models.BooleanField(default=False, verbose_name='Allow paid campaigns')), ('allow_affiliate_campaigns', models.BooleanField( default=False, verbose_name='Allow affiliate campaigns')), ('allow_community_campaigns', models.BooleanField( default=True, help_text= 'These are unpaid campaigns that support non-profit projects in our community. Shown only when no paid ads are available', verbose_name='Allow community campaigns')), ('allow_house_campaigns', models.BooleanField( default=True, help_text= 'These are ads for EthicalAds itself. Shown only when no paid ads are available.', verbose_name='Allow house campaigns')), ('payout_method', models.CharField(blank=True, choices=[ ('stripe', 'Stripe (Bank transfer, debit card)'), ('paypal', 'PayPal'), ('opencollective', 'Open Collective'), ('other', 'Other') ], default=None, max_length=100, null=True)), ('stripe_connected_account_id', models.CharField(blank=True, default=None, max_length=200, null=True, verbose_name='Stripe connected account ID')), ('open_collective_name', models.CharField(blank=True, default=None, max_length=200, null=True, verbose_name='Open Collective name')), ('paypal_email', models.EmailField(blank=True, default=None, max_length=254, null=True, verbose_name='PayPal email address')), ('record_views', models.BooleanField( default=False, help_text= 'Record each ad view from this publisher to the database') ), ('record_placements', models.BooleanField( default=False, help_text='Record placement impressions for this publisher' )), ('render_pixel', models.BooleanField( default=False, help_text= 'Render ethical-pixel in ad templates. This is needed for users not using the ad client.' )), ('sampled_ctr', models.FloatField( default=0.0, help_text= 'A periodically calculated CTR from a sample of ads on this publisher.' )), ('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)), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'historical publisher', 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalFlight', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('created', django_extensions.db.fields.CreationDateTimeField( auto_now_add=True, verbose_name='created')), ('modified', django_extensions.db.fields.ModificationDateTimeField( auto_now=True, verbose_name='modified')), ('name', models.CharField(max_length=200, verbose_name='Name')), ('slug', models.SlugField(max_length=200, verbose_name='Flight Slug')), ('start_date', models.DateField( db_index=True, default=datetime.date.today, help_text='This ad will not be shown before this date', verbose_name='Start Date')), ('end_date', models.DateField( default=adserver.models.default_flight_end_date, help_text= 'The target end date for the ad (it may go after this date)', verbose_name='End Date')), ('live', models.BooleanField(default=False, verbose_name='Live')), ('priority_multiplier', models.IntegerField( default=1, help_text= "Multiplies chance of showing this flight's ads [1,1000000]", validators=[ django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(1000000) ], verbose_name='Priority Multiplier')), ('cpc', models.DecimalField(decimal_places=2, default=0, max_digits=5, verbose_name='Cost Per Click')), ('sold_clicks', models.PositiveIntegerField(default=0, verbose_name='Sold Clicks')), ('cpm', models.DecimalField(decimal_places=2, default=0, max_digits=5, verbose_name='Cost Per 1k Impressions')), ('sold_impressions', models.PositiveIntegerField(default=0, verbose_name='Sold Impressions')), ('targeting_parameters', jsonfield.fields.JSONField( blank=True, null=True, validators=[ adserver.validators.TargetingParametersValidator() ], verbose_name='Targeting parameters')), ('total_views', models.PositiveIntegerField( default=0, help_text='Views across all ads in this flight')), ('total_clicks', models.PositiveIntegerField( default=0, help_text='Clicks across all ads in this flight')), ('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)), ('campaign', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='adserver.Campaign')), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'historical flight', 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalCampaign', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('created', django_extensions.db.fields.CreationDateTimeField( auto_now_add=True, verbose_name='created')), ('modified', django_extensions.db.fields.ModificationDateTimeField( auto_now=True, verbose_name='modified')), ('name', models.CharField(max_length=200, verbose_name='Name')), ('slug', models.SlugField(max_length=200, verbose_name='Campaign Slug')), ('campaign_type', models.CharField( choices=[('paid', 'Paid'), ('affiliate', 'Affiliate'), ('community', 'Community'), ('house', 'House')], default='paid', help_text= 'Most campaigns are paid but ad server admins can configure other lower priority campaign types.', max_length=20, verbose_name='Campaign Type')), ('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)), ('advertiser', models.ForeignKey( blank=True, db_constraint=False, help_text='The advertiser for this campaign.', null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='adserver.Advertiser')), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'historical campaign', 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalAdvertiser', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('created', django_extensions.db.fields.CreationDateTimeField( auto_now_add=True, verbose_name='created')), ('modified', django_extensions.db.fields.ModificationDateTimeField( auto_now=True, verbose_name='modified')), ('name', models.CharField(max_length=200, verbose_name='Name')), ('slug', models.SlugField(max_length=200, verbose_name='Advertiser Slug')), ('stripe_customer_id', models.CharField(blank=True, default=None, max_length=200, null=True, verbose_name='Stripe Customer ID')), ('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)), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'historical advertiser', 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalAdvertisement', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('created', django_extensions.db.fields.CreationDateTimeField( auto_now_add=True, verbose_name='created')), ('modified', django_extensions.db.fields.ModificationDateTimeField( auto_now=True, verbose_name='modified')), ('name', models.CharField(max_length=200, verbose_name='Name')), ('slug', models.SlugField(max_length=200, verbose_name='Slug')), ('text', models.TextField( blank=True, help_text= 'For most ad types, the text should be less than 100 characters.', verbose_name='Text')), ('headline', models.CharField( blank=True, help_text= 'An optional headline at the beginning of the ad usually displayed in bold', max_length=200, null=True)), ('content', models.TextField( blank=True, help_text= 'For most ad types, the combined length of the headline, body, and call to action should be less than 100 characters.', null=True)), ('cta', models.CharField( blank=True, help_text= 'An optional call to action displayed at the end of the ad usually in bold', max_length=200, null=True, verbose_name='Call to action')), ('link', models.URLField( help_text= "URL of your landing page. This may contain UTM parameters so you know the traffic came from us. The publisher will be added in the 'ea-publisher' query parameter.", max_length=255, verbose_name='Link URL')), ('image', models.TextField(blank=True, help_text='Sized according to the ad type', max_length=255, null=True, verbose_name='Image')), ('live', models.BooleanField(default=False, verbose_name='Live')), ('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)), ('ad_type', models.ForeignKey( blank=True, db_constraint=False, default=None, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='adserver.AdType')), ('flight', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='adserver.Flight')), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'historical advertisement', 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalAdType', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('created', django_extensions.db.fields.CreationDateTimeField( auto_now_add=True, verbose_name='created')), ('modified', django_extensions.db.fields.ModificationDateTimeField( auto_now=True, verbose_name='modified')), ('name', models.CharField(max_length=200, verbose_name='Name')), ('slug', models.SlugField(max_length=200, verbose_name='Slug')), ('has_image', models.BooleanField(default=True, verbose_name='Has image?')), ('image_width', models.PositiveIntegerField(blank=True, null=True)), ('image_height', models.PositiveIntegerField(blank=True, null=True)), ('has_text', models.BooleanField(default=True, verbose_name='Has text?')), ('max_text_length', models.PositiveIntegerField( blank=True, help_text='Max length does not include HTML tags', null=True)), ('allowed_html_tags', models.CharField( blank=True, default='a b strong i em code', help_text='Space separated list of allowed HTML tag names', max_length=255, verbose_name='Allowed HTML tags')), ('default_enabled', models.BooleanField( default=False, help_text= 'Whether this ad type should default to checked when advertisers are creating ads' )), ('template', models.TextField( blank=True, help_text= 'Override the template for rendering this ad type', null=True, verbose_name='Ad template')), ('description', models.CharField( blank=True, default='', help_text= 'A short description of the ad type to guide advertisers.', max_length=255)), ('order', models.PositiveSmallIntegerField(default=0)), ('deprecated', models.BooleanField( default=False, help_text= 'Users cannot select deprecated ad types unless an ad is already that type.' )), ('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)), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'historical ad type', 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), ]
class Migration(migrations.Migration): dependencies = [ ("sites", "0002_alter_domain_unique"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("inte_subject", "0020_auto_20200729_2240"), ] operations = [ migrations.CreateModel( name="HistoricalHealthEconomics", fields=[ ( "revision", django_revision.revision_field.RevisionField( blank=True, editable=False, help_text="System field. Git repository tag:branch:commit.", max_length=75, null=True, verbose_name="Revision", ), ), ( "created", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin.utcnow, ), ), ( "modified", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin.utcnow, ), ), ( "user_created", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user created", ), ), ( "user_modified", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user modified", ), ), ( "hostname_created", models.CharField( blank=True, default=_socket.gethostname, help_text="System field. (modified on create only)", max_length=60, ), ), ( "hostname_modified", django_audit_fields.fields.hostname_modification_field.HostnameModificationField( blank=True, help_text="System field. (modified on every save)", max_length=50, ), ), ("device_created", models.CharField(blank=True, max_length=10)), ("device_modified", models.CharField(blank=True, max_length=10)), ( "id", django_audit_fields.fields.uuid_auto_field.UUIDAutoField( blank=True, db_index=True, editable=False, help_text="System auto field. UUID primary key.", ), ), ( "report_datetime", models.DateTimeField( default=edc_utils.date.get_utcnow, help_text="If reporting today, use today's date/time, otherwise use the date/time this information was reported.", validators=[ edc_protocol.validators.datetime_not_before_study_start, edc_model.models.validators.date.datetime_not_future, ], verbose_name="Report Date", ), ), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "history_id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ( "occupation", models.CharField( max_length=50, verbose_name="What is your occupation/profession?", ), ), ( "education_in_years", models.IntegerField( validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(30), ], verbose_name="How many years of education did you compete?", ), ), ( "education_certificate", models.CharField( max_length=50, verbose_name="What is your highest education certificate?", ), ), ( "primary_school", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you go to primary/elementary school?", ), ), ( "primary_school_in_years", models.IntegerField( validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(10), ], verbose_name="If YES, for how many years", ), ), ( "secondary_school", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you go to secondary school?", ), ), ( "secondary_school_in_years", models.IntegerField( blank=True, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(10), ], verbose_name="If YES, for how many years", ), ), ( "higher_education", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you go to higher education?", ), ), ( "higher_education_in_years", models.IntegerField( blank=True, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(10), ], verbose_name="If YES, for how many years", ), ), ( "welfare", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Do you receive any welfare or social service support", ), ), ( "income_per_month", models.IntegerField( help_text="in Shilling", verbose_name="How much do you earn (take home) per month?", ), ), ( "household_income_per_month", models.IntegerField( help_text="in Shilling", verbose_name="What is the total income in your household per month?", ), ), ( "is_highest_earner", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Are you the person who earns the highest income in your household?", ), ), ( "highest_earner", models.CharField( blank=True, max_length=50, null=True, verbose_name="If NO, what is the profession of the person who earns the highest income?", ), ), ( "food_per_month", models.IntegerField( help_text="in Shilling", verbose_name="How much do you/your family spend on food in a month?", ), ), ( "accomodation_per_month", models.IntegerField( help_text="in Shilling", verbose_name="How much do you/your family spend on rent and utilities in a month?", ), ), ( "large_expenditure_year", models.IntegerField( help_text="e.g. furniture, electrical items, cars (in Shilling)", verbose_name="How much have you spent on large items in the last year", ), ), ( "buy_meds_month", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Over the last month, did you get any drugs or have a drug refill?", ), ), ( "diabetic_expenditure_month", models.IntegerField( blank=True, editable=False, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on Diabetic drugs", ), ), ( "diabetic_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], editable=False, max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "hypertensive_expenditure_month", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on Hypertensive drugs", ), ), ( "hypertensive_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "arv_expenditure_month", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on Antiretroviral drugs", ), ), ( "arv_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "meds_other_expenditure_month", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on 'other' drugs", ), ), ( "meds_other_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "expenditure_other_month", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Over the last month, did you spend money on other activities (not drugs) relating to your health?", ), ), ( "expenditure_other_detail", models.TextField( blank=True, null=True, verbose_name="If YES, what was the activity", ), ), ( "expenditure_other", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much was spent on other activities (not drugs) relating to your health?", ), ), ( "expenditure_other_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these activities?", ), ), ( "healthcare_expenditure_month", models.IntegerField( verbose_name="How much in total has been spent on your healthcare in the last month?" ), ), ( "routine_activities", models.CharField( choices=[ ("working", "Working"), ("studying", "Studying"), ("caring_for_children", "Caring for children"), ("OTHER", "Other, please specify"), ], max_length=25, verbose_name="What would you be doing if you had not come to the hospital?", ), ), ( "routine_activities_other", models.CharField( blank=True, max_length=50, null=True, verbose_name="If OTHER, please specify", ), ), ( "off_work_days", models.DecimalField( decimal_places=1, help_text="in days. (1,2,3 etc. If half-day 0.5)", max_digits=4, verbose_name="How much time did you take off work?", ), ), ( "travel_time", models.CharField( help_text="in hours and minutes (format HH:MM)", max_length=5, verbose_name="How long did it take you to reach here?", ), ), ( "hospital_time", models.CharField( help_text="in hours and minutes (format HH:MM)", max_length=5, verbose_name="How much time did you spend at the hospital?", ), ), ( "lost_income", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you lose earnings as a result? ", ), ), ( "lost_income_amount", models.IntegerField( blank=True, null=True, verbose_name="If Yes, how much did you lose?", ), ), ( "childcare", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="Did you ask anyone else, such as your family member, friend to look after your child/children in order to come here?", ), ), ( "childcare_source", models.CharField( choices=[ ("N/A", "Not applicable"), ("working", "Working"), ("studying", "Studying"), ("caring_for_children", "Caring for children"), ("house_maintenance", "House maintenance"), ("nothing", "Nothing"), ("OTHER", "Other, specify"), ], default="N/A", max_length=25, verbose_name="If Yes, what would they have been doing if they had not stayed to look after your child or children?", ), ), ( "childcare_source_timeoff", models.DecimalField( blank=True, decimal_places=1, help_text="in days. (1,2,3 etc. If half-day 0.5)", max_digits=4, null=True, verbose_name="How much time did a family member, friend take off work to look after your child or children?", ), ), ( "transport_old", models.CharField( choices=[ ("bus", "Bus"), ("train", "Train"), ("ambulance", "Ambulance"), ("private_taxi", "Private taxi"), ("own_bicycle", "Own bicycle"), ("hired_motorbike", "Hired motorbike"), ("own_car", "Own car"), ("own_motorbike", "Own motorbike"), ("hired_bicycle", "Hired bicycle"), ("foot", "Foot"), ("OTHER", "Other, specify"), ], max_length=25, verbose_name="Which form of transport did you take to get to the hospital today?", ), ), ( "transport_cost", models.IntegerField( help_text="in Shilling", verbose_name="How much did you spend on transport in total?", ), ), ( "transport_barter", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you sell anything to pay for your visit today?", ), ), ( "transport_borrow", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you take any loans to pay for your visit?", ), ), ( "health_insurance", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Do you have private healthcare insurance?", ), ), ( "health_insurance_pay", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If Yes, how much do you pay towards your contributions to healthcare insurance every month?", ), ), ("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, ), ), ( "history_user", models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="+", to=settings.AUTH_USER_MODEL, ), ), ( "site", models.ForeignKey( blank=True, db_constraint=False, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="sites.Site", ), ), ( "subject_visit", models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="inte_subject.SubjectVisit", ), ), ], options={ "verbose_name": "historical Health Economics", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="HealthEconomics", fields=[ ( "revision", django_revision.revision_field.RevisionField( blank=True, editable=False, help_text="System field. Git repository tag:branch:commit.", max_length=75, null=True, verbose_name="Revision", ), ), ( "created", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin.utcnow, ), ), ( "modified", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin.utcnow, ), ), ( "user_created", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user created", ), ), ( "user_modified", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user modified", ), ), ( "hostname_created", models.CharField( blank=True, default=_socket.gethostname, help_text="System field. (modified on create only)", max_length=60, ), ), ( "hostname_modified", django_audit_fields.fields.hostname_modification_field.HostnameModificationField( blank=True, help_text="System field. (modified on every save)", max_length=50, ), ), ("device_created", models.CharField(blank=True, max_length=10)), ("device_modified", models.CharField(blank=True, max_length=10)), ( "id", django_audit_fields.fields.uuid_auto_field.UUIDAutoField( blank=True, editable=False, help_text="System auto field. UUID primary key.", primary_key=True, serialize=False, ), ), ( "report_datetime", models.DateTimeField( default=edc_utils.date.get_utcnow, help_text="If reporting today, use today's date/time, otherwise use the date/time this information was reported.", validators=[ edc_protocol.validators.datetime_not_before_study_start, edc_model.models.validators.date.datetime_not_future, ], verbose_name="Report Date", ), ), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "occupation", models.CharField( max_length=50, verbose_name="What is your occupation/profession?", ), ), ( "education_in_years", models.IntegerField( validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(30), ], verbose_name="How many years of education did you compete?", ), ), ( "education_certificate", models.CharField( max_length=50, verbose_name="What is your highest education certificate?", ), ), ( "primary_school", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you go to primary/elementary school?", ), ), ( "primary_school_in_years", models.IntegerField( validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(10), ], verbose_name="If YES, for how many years", ), ), ( "secondary_school", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you go to secondary school?", ), ), ( "secondary_school_in_years", models.IntegerField( blank=True, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(10), ], verbose_name="If YES, for how many years", ), ), ( "higher_education", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you go to higher education?", ), ), ( "higher_education_in_years", models.IntegerField( blank=True, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(10), ], verbose_name="If YES, for how many years", ), ), ( "welfare", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Do you receive any welfare or social service support", ), ), ( "income_per_month", models.IntegerField( help_text="in Shilling", verbose_name="How much do you earn (take home) per month?", ), ), ( "household_income_per_month", models.IntegerField( help_text="in Shilling", verbose_name="What is the total income in your household per month?", ), ), ( "is_highest_earner", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Are you the person who earns the highest income in your household?", ), ), ( "highest_earner", models.CharField( blank=True, max_length=50, null=True, verbose_name="If NO, what is the profession of the person who earns the highest income?", ), ), ( "food_per_month", models.IntegerField( help_text="in Shilling", verbose_name="How much do you/your family spend on food in a month?", ), ), ( "accomodation_per_month", models.IntegerField( help_text="in Shilling", verbose_name="How much do you/your family spend on rent and utilities in a month?", ), ), ( "large_expenditure_year", models.IntegerField( help_text="e.g. furniture, electrical items, cars (in Shilling)", verbose_name="How much have you spent on large items in the last year", ), ), ( "buy_meds_month", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Over the last month, did you get any drugs or have a drug refill?", ), ), ( "diabetic_expenditure_month", models.IntegerField( blank=True, editable=False, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on Diabetic drugs", ), ), ( "diabetic_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], editable=False, max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "hypertensive_expenditure_month", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on Hypertensive drugs", ), ), ( "hypertensive_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "arv_expenditure_month", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on Antiretroviral drugs", ), ), ( "arv_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "meds_other_expenditure_month", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much did you spend on 'other' drugs", ), ), ( "meds_other_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these drugs", ), ), ( "expenditure_other_month", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Over the last month, did you spend money on other activities (not drugs) relating to your health?", ), ), ( "expenditure_other_detail", models.TextField( blank=True, null=True, verbose_name="If YES, what was the activity", ), ), ( "expenditure_other", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If YES, how much was spent on other activities (not drugs) relating to your health?", ), ), ( "expenditure_other_payee", models.CharField( choices=[ ("own_cash", "Own cash"), ("insurance", "Insurance"), ("relative", "Relative of others paying"), ("free", "Free drugs from the pharmacy"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="If YES, how did you pay or who paid for these activities?", ), ), ( "healthcare_expenditure_month", models.IntegerField( verbose_name="How much in total has been spent on your healthcare in the last month?" ), ), ( "routine_activities", models.CharField( choices=[ ("working", "Working"), ("studying", "Studying"), ("caring_for_children", "Caring for children"), ("OTHER", "Other, please specify"), ], max_length=25, verbose_name="What would you be doing if you had not come to the hospital?", ), ), ( "routine_activities_other", models.CharField( blank=True, max_length=50, null=True, verbose_name="If OTHER, please specify", ), ), ( "off_work_days", models.DecimalField( decimal_places=1, help_text="in days. (1,2,3 etc. If half-day 0.5)", max_digits=4, verbose_name="How much time did you take off work?", ), ), ( "travel_time", models.CharField( help_text="in hours and minutes (format HH:MM)", max_length=5, verbose_name="How long did it take you to reach here?", ), ), ( "hospital_time", models.CharField( help_text="in hours and minutes (format HH:MM)", max_length=5, verbose_name="How much time did you spend at the hospital?", ), ), ( "lost_income", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you lose earnings as a result? ", ), ), ( "lost_income_amount", models.IntegerField( blank=True, null=True, verbose_name="If Yes, how much did you lose?", ), ), ( "childcare", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], max_length=15, verbose_name="Did you ask anyone else, such as your family member, friend to look after your child/children in order to come here?", ), ), ( "childcare_source", models.CharField( choices=[ ("N/A", "Not applicable"), ("working", "Working"), ("studying", "Studying"), ("caring_for_children", "Caring for children"), ("house_maintenance", "House maintenance"), ("nothing", "Nothing"), ("OTHER", "Other, specify"), ], default="N/A", max_length=25, verbose_name="If Yes, what would they have been doing if they had not stayed to look after your child or children?", ), ), ( "childcare_source_timeoff", models.DecimalField( blank=True, decimal_places=1, help_text="in days. (1,2,3 etc. If half-day 0.5)", max_digits=4, null=True, verbose_name="How much time did a family member, friend take off work to look after your child or children?", ), ), ( "transport_old", models.CharField( choices=[ ("bus", "Bus"), ("train", "Train"), ("ambulance", "Ambulance"), ("private_taxi", "Private taxi"), ("own_bicycle", "Own bicycle"), ("hired_motorbike", "Hired motorbike"), ("own_car", "Own car"), ("own_motorbike", "Own motorbike"), ("hired_bicycle", "Hired bicycle"), ("foot", "Foot"), ("OTHER", "Other, specify"), ], max_length=25, verbose_name="Which form of transport did you take to get to the hospital today?", ), ), ( "transport_cost", models.IntegerField( help_text="in Shilling", verbose_name="How much did you spend on transport in total?", ), ), ( "transport_barter", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you sell anything to pay for your visit today?", ), ), ( "transport_borrow", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Did you take any loans to pay for your visit?", ), ), ( "health_insurance", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Do you have private healthcare insurance?", ), ), ( "health_insurance_pay", models.IntegerField( blank=True, help_text="in Shilling", null=True, verbose_name="If Yes, how much do you pay towards your contributions to healthcare insurance every month?", ), ), ( "site", models.ForeignKey( editable=False, null=True, on_delete=django.db.models.deletion.PROTECT, related_name="+", to="sites.Site", ), ), ( "subject_visit", models.OneToOneField( on_delete=django.db.models.deletion.PROTECT, to="inte_subject.SubjectVisit", ), ), ], options={ "verbose_name": "Health Economics", "verbose_name_plural": "Health Economics", "ordering": ("-modified", "-created"), "get_latest_by": "modified", "abstract": False, "default_permissions": ( "add", "change", "delete", "view", "export", "import", ), }, managers=[ ("on_site", django.contrib.sites.managers.CurrentSiteManager()), ("objects", edc_visit_tracking.managers.CrfModelManager()), ], ), migrations.AddIndex( model_name="healtheconomics", index=models.Index( fields=["subject_visit", "site", "id"], name="inte_subjec_subject_db3803_idx", ), ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("shopify_sync", "0010_auto_20200819_1929"), ] operations = [ migrations.CreateModel( name="HistoricalVariant", fields=[ ("id", models.BigIntegerField(db_index=True)), ("admin_graphql_api_id", models.CharField(max_length=80)), ("created_at", models.DateTimeField(null=True)), ("updated_at", models.DateTimeField(null=True)), ("barcode", models.CharField(max_length=255, null=True)), ( "compare_at_price", models.DecimalField(decimal_places=2, max_digits=10, null=True), ), ( "fulfillment_service", models.CharField(default="manual", max_length=32), ), ("grams", models.IntegerField()), ( "inventory_management", models.CharField(default="blank", max_length=32, null=True), ), ( "inventory_policy", models.CharField(default="deny", max_length=32, null=True), ), ("inventory_quantity", models.IntegerField(null=True)), ("option1", models.CharField(max_length=255, null=True)), ("option2", models.CharField(max_length=255, null=True)), ("option3", models.CharField(max_length=255, null=True)), ("position", models.IntegerField(default=1, null=True)), ("price", models.DecimalField(decimal_places=2, max_digits=10)), ("requires_shipping", models.BooleanField(default=True)), ("sku", models.CharField(max_length=255, null=True)), ("taxable", models.BooleanField(default=True)), ("title", models.CharField(blank=True, max_length=255, 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, ), ), ( "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="shopify_sync.product", ), ), ( "session", models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="shopify_sync.session", ), ), ], options={ "verbose_name": "historical variant", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="HistoricalProduct", fields=[ ("id", models.BigIntegerField(db_index=True)), ("admin_graphql_api_id", models.CharField(max_length=80)), ("created_at", models.DateTimeField(null=True)), ("updated_at", models.DateTimeField(null=True)), ("body_html", models.TextField(default="", null=True)), ("handle", models.CharField(db_index=True, max_length=255)), ("product_type", models.CharField(db_index=True, max_length=255)), ("published_at", models.DateTimeField(null=True)), ("published_scope", models.CharField(default="global", max_length=64)), ("tags", models.CharField(blank=True, max_length=255)), ("template_suffix", models.CharField(max_length=255, null=True)), ("title", models.CharField(db_index=True, max_length=255)), ("vendor", models.CharField(db_index=True, max_length=255, 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, ), ), ( "history_user", models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="+", to=settings.AUTH_USER_MODEL, ), ), ( "session", models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="shopify_sync.session", ), ), ], options={ "verbose_name": "historical product", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), ]
class Migration(migrations.Migration): dependencies = [ ("edc_action_item", "0024_auto_20191024_1000"), ("sites", "0002_alter_domain_unique"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("meta_subject", "0013_auto_20200119_0013"), ] operations = [ migrations.CreateModel( name="HistoricalBloodResultsLipid", fields=[ ( "revision", django_revision.revision_field.RevisionField( blank=True, editable=False, help_text= "System field. Git repository tag:branch:commit.", max_length=75, null=True, verbose_name="Revision", ), ), ( "created", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin. utcnow, ), ), ( "modified", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin. utcnow, ), ), ( "user_created", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user created", ), ), ( "user_modified", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user modified", ), ), ( "hostname_created", models.CharField( blank=True, default=_socket.gethostname, help_text="System field. (modified on create only)", max_length=60, ), ), ( "hostname_modified", django_audit_fields.fields.hostname_modification_field. HostnameModificationField( blank=True, help_text="System field. (modified on every save)", max_length=50, ), ), ("device_created", models.CharField(blank=True, max_length=10)), ("device_modified", models.CharField(blank=True, max_length=10)), ( "id", django_audit_fields.fields.uuid_auto_field.UUIDAutoField( blank=True, db_index=True, editable=False, help_text="System auto field. UUID primary key.", ), ), ("tracking_identifier", models.CharField(db_index=True, max_length=30)), ("action_identifier", models.CharField(db_index=True, max_length=50)), ( "parent_action_identifier", models.CharField( help_text= "action identifier that links to parent reference model instance.", max_length=30, null=True, ), ), ( "related_action_identifier", models.CharField( help_text= "action identifier that links to related reference model instance.", max_length=30, null=True, ), ), ("action_item_reason", models.TextField(editable=False, null=True)), ( "history_id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "report_datetime", models.DateTimeField( default=edc_utils.date.get_utcnow, help_text= "If reporting today, use today's date/time, otherwise use the date/time this information was reported.", validators=[ edc_protocol.validators. datetime_not_before_study_start, edc_model.validators.date.datetime_not_future, ], verbose_name="Report Date", ), ), ( "results_abnormal", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Are any of the above results abnormal?", ), ), ( "results_reportable", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], help_text= "If YES, this value will open Adverse Event Form.<br/><br/>Note: On Day 1 only abnormal bloods should not be reported as adverseevents.", max_length=25, verbose_name= "If any results are abnormal, are results within grade III or above?", ), ), ("summary", models.TextField(blank=True, null=True)), ( "lipid_assay_datetime", models.DateTimeField( blank=True, null=True, validators=[ edc_model.validators.date.datetime_not_future ], verbose_name="Result Report Date and Time", ), ), ( "ldl", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(999), ], verbose_name="LDL", ), ), ( "ldl_units", models.CharField( blank=True, choices=[("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="units", ), ), ( "ldl_abnormal", models.CharField( blank=True, choices=[("Yes", "Yes"), ("No", "No")], max_length=25, null=True, verbose_name="abnormal", ), ), ( "ldl_reportable", models.CharField( blank=True, choices=[ ("N/A", "Not applicable"), ("3", "Yes, grade 3"), ("4", "Yes, grade 4"), ("No", "Not reportable"), ("Already reported", "Already reported"), ("present_at_baseline", "Present at baseline"), ], max_length=25, null=True, verbose_name="reportable", ), ), ( "hdl", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(999), ], verbose_name="HDL", ), ), ( "hdl_units", models.CharField( blank=True, choices=[("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="units", ), ), ( "hdl_abnormal", models.CharField( blank=True, choices=[("Yes", "Yes"), ("No", "No")], max_length=25, null=True, verbose_name="abnormal", ), ), ( "hdl_reportable", models.CharField( blank=True, choices=[ ("N/A", "Not applicable"), ("3", "Yes, grade 3"), ("4", "Yes, grade 4"), ("No", "Not reportable"), ("Already reported", "Already reported"), ("present_at_baseline", "Present at baseline"), ], max_length=25, null=True, verbose_name="reportable", ), ), ( "trig", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(999), ], verbose_name="Triglycerides", ), ), ( "trig_units", models.CharField( blank=True, choices=[("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="units", ), ), ( "trig_abnormal", models.CharField( blank=True, choices=[("Yes", "Yes"), ("No", "No")], max_length=25, null=True, verbose_name="abnormal", ), ), ( "trig_reportable", models.CharField( blank=True, choices=[ ("N/A", "Not applicable"), ("3", "Yes, grade 3"), ("4", "Yes, grade 4"), ("No", "Not reportable"), ("Already reported", "Already reported"), ("present_at_baseline", "Present at baseline"), ], max_length=25, null=True, verbose_name="reportable", ), ), ("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, ), ), ( "action_item", models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="edc_action_item.ActionItem", ), ), ( "history_user", models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="+", to=settings.AUTH_USER_MODEL, ), ), ( "lipid_requisition", models.ForeignKey( blank=True, db_constraint=False, help_text= "Start typing the requisition identifier or select one from this visit", null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="meta_subject.SubjectRequisition", verbose_name="Requisition", ), ), ( "parent_action_item", models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="edc_action_item.ActionItem", ), ), ( "related_action_item", models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="edc_action_item.ActionItem", ), ), ( "site", models.ForeignKey( blank=True, db_constraint=False, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="sites.Site", ), ), ( "subject_visit", models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "historical Blood Result: LIPID", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="BloodResultsLipid", fields=[ ( "revision", django_revision.revision_field.RevisionField( blank=True, editable=False, help_text= "System field. Git repository tag:branch:commit.", max_length=75, null=True, verbose_name="Revision", ), ), ( "created", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin. utcnow, ), ), ( "modified", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin. utcnow, ), ), ( "user_created", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user created", ), ), ( "user_modified", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user modified", ), ), ( "hostname_created", models.CharField( blank=True, default=_socket.gethostname, help_text="System field. (modified on create only)", max_length=60, ), ), ( "hostname_modified", django_audit_fields.fields.hostname_modification_field. HostnameModificationField( blank=True, help_text="System field. (modified on every save)", max_length=50, ), ), ("device_created", models.CharField(blank=True, max_length=10)), ("device_modified", models.CharField(blank=True, max_length=10)), ( "id", django_audit_fields.fields.uuid_auto_field.UUIDAutoField( blank=True, editable=False, help_text="System auto field. UUID primary key.", primary_key=True, serialize=False, ), ), ("tracking_identifier", models.CharField(max_length=30, unique=True)), ("action_identifier", models.CharField(max_length=50, unique=True)), ( "parent_action_identifier", models.CharField( help_text= "action identifier that links to parent reference model instance.", max_length=30, null=True, ), ), ( "related_action_identifier", models.CharField( help_text= "action identifier that links to related reference model instance.", max_length=30, null=True, ), ), ("action_item_reason", models.TextField(editable=False, null=True)), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "report_datetime", models.DateTimeField( default=edc_utils.date.get_utcnow, help_text= "If reporting today, use today's date/time, otherwise use the date/time this information was reported.", validators=[ edc_protocol.validators. datetime_not_before_study_start, edc_model.validators.date.datetime_not_future, ], verbose_name="Report Date", ), ), ( "results_abnormal", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=25, verbose_name="Are any of the above results abnormal?", ), ), ( "results_reportable", models.CharField( choices=[ ("Yes", "Yes"), ("No", "No"), ("N/A", "Not applicable"), ], help_text= "If YES, this value will open Adverse Event Form.<br/><br/>Note: On Day 1 only abnormal bloods should not be reported as adverseevents.", max_length=25, verbose_name= "If any results are abnormal, are results within grade III or above?", ), ), ("summary", models.TextField(blank=True, null=True)), ( "lipid_assay_datetime", models.DateTimeField( blank=True, null=True, validators=[ edc_model.validators.date.datetime_not_future ], verbose_name="Result Report Date and Time", ), ), ( "ldl", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(999), ], verbose_name="LDL", ), ), ( "ldl_units", models.CharField( blank=True, choices=[("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="units", ), ), ( "ldl_abnormal", models.CharField( blank=True, choices=[("Yes", "Yes"), ("No", "No")], max_length=25, null=True, verbose_name="abnormal", ), ), ( "ldl_reportable", models.CharField( blank=True, choices=[ ("N/A", "Not applicable"), ("3", "Yes, grade 3"), ("4", "Yes, grade 4"), ("No", "Not reportable"), ("Already reported", "Already reported"), ("present_at_baseline", "Present at baseline"), ], max_length=25, null=True, verbose_name="reportable", ), ), ( "hdl", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(999), ], verbose_name="HDL", ), ), ( "hdl_units", models.CharField( blank=True, choices=[("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="units", ), ), ( "hdl_abnormal", models.CharField( blank=True, choices=[("Yes", "Yes"), ("No", "No")], max_length=25, null=True, verbose_name="abnormal", ), ), ( "hdl_reportable", models.CharField( blank=True, choices=[ ("N/A", "Not applicable"), ("3", "Yes, grade 3"), ("4", "Yes, grade 4"), ("No", "Not reportable"), ("Already reported", "Already reported"), ("present_at_baseline", "Present at baseline"), ], max_length=25, null=True, verbose_name="reportable", ), ), ( "trig", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(999), ], verbose_name="Triglycerides", ), ), ( "trig_units", models.CharField( blank=True, choices=[("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="units", ), ), ( "trig_abnormal", models.CharField( blank=True, choices=[("Yes", "Yes"), ("No", "No")], max_length=25, null=True, verbose_name="abnormal", ), ), ( "trig_reportable", models.CharField( blank=True, choices=[ ("N/A", "Not applicable"), ("3", "Yes, grade 3"), ("4", "Yes, grade 4"), ("No", "Not reportable"), ("Already reported", "Already reported"), ("present_at_baseline", "Present at baseline"), ], max_length=25, null=True, verbose_name="reportable", ), ), ( "action_item", models.ForeignKey( null=True, on_delete=django.db.models.deletion.PROTECT, to="edc_action_item.ActionItem", ), ), ( "lipid_requisition", models.ForeignKey( blank=True, help_text= "Start typing the requisition identifier or select one from this visit", null=True, on_delete=django.db.models.deletion.PROTECT, related_name="lipid", to="meta_subject.SubjectRequisition", verbose_name="Requisition", ), ), ( "parent_action_item", models.ForeignKey( null=True, on_delete=django.db.models.deletion.PROTECT, related_name="+", to="edc_action_item.ActionItem", ), ), ( "related_action_item", models.ForeignKey( null=True, on_delete=django.db.models.deletion.PROTECT, related_name="+", to="edc_action_item.ActionItem", ), ), ( "site", models.ForeignKey( editable=False, null=True, on_delete=django.db.models.deletion.PROTECT, related_name="+", to="sites.Site", ), ), ( "subject_visit", models.OneToOneField( on_delete=django.db.models.deletion.PROTECT, to="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "Blood Result: LIPID", "verbose_name_plural": "Blood Results: LIPID", "abstract": False, }, managers=[ ("on_site", edc_visit_tracking.managers.CurrentSiteManager()), ("objects", edc_visit_tracking.managers.CrfModelManager()), ], ), migrations.AddIndex( model_name="bloodresultslipid", index=models.Index( fields=["subject_visit", "site", "id"], name="meta_subjec_subject_c41a0b_idx", ), ), ]
class Migration(migrations.Migration): dependencies = [ ("sites", "0002_alter_domain_unique"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("meta_subject", "0037_auto_20200517_0207"), ] operations = [ migrations.AlterField( model_name="historicalmissedvisit", name="contact_attempts_count", field=models.IntegerField( blank=True, help_text="Not including pre-appointment reminders", null=True, validators=[django.core.validators.MinValueValidator(1)], verbose_name= "Number of attempts made to contact participant since the expected appointment date", ), ), migrations.AlterField( model_name="historicalmissedvisit", name="contact_attempts_explained", field=models.TextField( blank=True, null=True, verbose_name= "If contact not made and less than 3 attempts, please explain", ), ), migrations.AlterField( model_name="missedvisit", name="contact_attempts_count", field=models.IntegerField( blank=True, help_text="Not including pre-appointment reminders", null=True, validators=[django.core.validators.MinValueValidator(1)], verbose_name= "Number of attempts made to contact participant since the expected appointment date", ), ), migrations.AlterField( model_name="missedvisit", name="contact_attempts_explained", field=models.TextField( blank=True, null=True, verbose_name= "If contact not made and less than 3 attempts, please explain", ), ), migrations.CreateModel( name="HistoricalGlucose", fields=[ ( "revision", django_revision.revision_field.RevisionField( blank=True, editable=False, help_text= "System field. Git repository tag:branch:commit.", max_length=75, null=True, verbose_name="Revision", ), ), ( "created", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin. utcnow, ), ), ( "modified", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin. utcnow, ), ), ( "user_created", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user created", ), ), ( "user_modified", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user modified", ), ), ( "hostname_created", models.CharField( blank=True, default=_socket.gethostname, help_text="System field. (modified on create only)", max_length=60, ), ), ( "hostname_modified", django_audit_fields.fields.hostname_modification_field. HostnameModificationField( blank=True, help_text="System field. (modified on every save)", max_length=50, ), ), ("device_created", models.CharField(blank=True, max_length=10)), ("device_modified", models.CharField(blank=True, max_length=10)), ( "id", django_audit_fields.fields.uuid_auto_field.UUIDAutoField( blank=True, db_index=True, editable=False, help_text="System auto field. UUID primary key.", ), ), ( "report_datetime", models.DateTimeField( default=edc_utils.date.get_utcnow, help_text= "If reporting today, use today's date/time, otherwise use the date/time this information was reported.", validators=[ edc_protocol.validators. datetime_not_before_study_start, edc_model.validators.date.datetime_not_future, ], verbose_name="Report Date", ), ), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "history_id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ( "fasted", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, null=True, verbose_name="Has the participant fasted?", ), ), ( "fasted_duration_str", models.CharField( blank=True, help_text= "Duration of fast. Format is `HHhMMm`. For example 1h23m, 12h7m, etc", max_length=8, null=True, validators=[ django.core.validators.RegexValidator( "^([0-9]{1,3}h([0-5]?[0-9]m)?)$", message= "Invalid format. Expected something like 1h20m, 11h5m, etc", ) ], verbose_name= "How long have they fasted in hours and/or minutes?", ), ), ( "fasted_duration_minutes", models.IntegerField(help_text="system calculated value", null=True), ), ( "fasting_glucose", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, verbose_name="Fasting glucose <u>level</u>", ), ), ( "fasting_glucose_quantifier", models.CharField( choices=[ ("=", "="), (">", ">"), (">=", ">="), ("<", "<"), ("<=", "<="), ], default="=", max_length=10, ), ), ( "fasting_glucose_units", models.CharField( blank=True, choices=[("mg/dL", "mg/dL"), ("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="Units (fasting glucose)", ), ), ( "fasting_glucose_datetime", models.DateTimeField( blank=True, null=True, verbose_name= "<u>Time</u> fasting glucose <u>level</u> measured", ), ), ( "ogtt_base_datetime", models.DateTimeField( blank=True, help_text="(glucose solution given)", null=True, verbose_name= "<u>Time</u> oral glucose solution was given", ), ), ( "ogtt_two_hr", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, verbose_name= "Blood glucose <u>level</u> 2-hours after oral glucose solution given", ), ), ( "ogtt_two_hr_quantifier", models.CharField( choices=[ ("=", "="), (">", ">"), (">=", ">="), ("<", "<"), ("<=", "<="), ], default="=", max_length=10, ), ), ( "ogtt_two_hr_units", models.CharField( blank=True, choices=[("mg/dL", "mg/dL"), ("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="Units (Blood glucose 2hrs after...)", ), ), ( "ogtt_two_hr_datetime", models.DateTimeField( blank=True, help_text="(2 hours after glucose solution given)", null=True, verbose_name= "<u>Time</u> blood glucose measured 2-hours after oral glucose solution given", ), ), ( "ifg_performed", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Was the IFG test performed?", ), ), ( "ifg_not_performed_reason", models.CharField( blank=True, max_length=150, null=True, verbose_name="If NO, provide reason", ), ), ( "ogtt_performed", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Was the OGTT test performed?", ), ), ( "ogtt_not_performed_reason", models.CharField( blank=True, max_length=150, null=True, verbose_name="If NO, provide reason", ), ), ("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, ), ), ( "history_user", models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="+", to=settings.AUTH_USER_MODEL, ), ), ( "site", models.ForeignKey( blank=True, db_constraint=False, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="sites.Site", ), ), ( "subject_visit", models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "historical Glucose (IFG, OGTT)", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="Glucose", fields=[ ( "revision", django_revision.revision_field.RevisionField( blank=True, editable=False, help_text= "System field. Git repository tag:branch:commit.", max_length=75, null=True, verbose_name="Revision", ), ), ( "created", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin. utcnow, ), ), ( "modified", models.DateTimeField( blank=True, default=django_audit_fields.models.audit_model_mixin. utcnow, ), ), ( "user_created", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user created", ), ), ( "user_modified", django_audit_fields.fields.userfield.UserField( blank=True, help_text="Updated by admin.save_model", max_length=50, verbose_name="user modified", ), ), ( "hostname_created", models.CharField( blank=True, default=_socket.gethostname, help_text="System field. (modified on create only)", max_length=60, ), ), ( "hostname_modified", django_audit_fields.fields.hostname_modification_field. HostnameModificationField( blank=True, help_text="System field. (modified on every save)", max_length=50, ), ), ("device_created", models.CharField(blank=True, max_length=10)), ("device_modified", models.CharField(blank=True, max_length=10)), ( "id", django_audit_fields.fields.uuid_auto_field.UUIDAutoField( blank=True, editable=False, help_text="System auto field. UUID primary key.", primary_key=True, serialize=False, ), ), ( "report_datetime", models.DateTimeField( default=edc_utils.date.get_utcnow, help_text= "If reporting today, use today's date/time, otherwise use the date/time this information was reported.", validators=[ edc_protocol.validators. datetime_not_before_study_start, edc_model.validators.date.datetime_not_future, ], verbose_name="Report Date", ), ), ( "consent_model", models.CharField(editable=False, max_length=50, null=True), ), ( "consent_version", models.CharField(editable=False, max_length=10, null=True), ), ( "fasted", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, null=True, verbose_name="Has the participant fasted?", ), ), ( "fasted_duration_str", models.CharField( blank=True, help_text= "Duration of fast. Format is `HHhMMm`. For example 1h23m, 12h7m, etc", max_length=8, null=True, validators=[ django.core.validators.RegexValidator( "^([0-9]{1,3}h([0-5]?[0-9]m)?)$", message= "Invalid format. Expected something like 1h20m, 11h5m, etc", ) ], verbose_name= "How long have they fasted in hours and/or minutes?", ), ), ( "fasted_duration_minutes", models.IntegerField(help_text="system calculated value", null=True), ), ( "fasting_glucose", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, verbose_name="Fasting glucose <u>level</u>", ), ), ( "fasting_glucose_quantifier", models.CharField( choices=[ ("=", "="), (">", ">"), (">=", ">="), ("<", "<"), ("<=", "<="), ], default="=", max_length=10, ), ), ( "fasting_glucose_units", models.CharField( blank=True, choices=[("mg/dL", "mg/dL"), ("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="Units (fasting glucose)", ), ), ( "fasting_glucose_datetime", models.DateTimeField( blank=True, null=True, verbose_name= "<u>Time</u> fasting glucose <u>level</u> measured", ), ), ( "ogtt_base_datetime", models.DateTimeField( blank=True, help_text="(glucose solution given)", null=True, verbose_name= "<u>Time</u> oral glucose solution was given", ), ), ( "ogtt_two_hr", models.DecimalField( blank=True, decimal_places=2, max_digits=8, null=True, verbose_name= "Blood glucose <u>level</u> 2-hours after oral glucose solution given", ), ), ( "ogtt_two_hr_quantifier", models.CharField( choices=[ ("=", "="), (">", ">"), (">=", ">="), ("<", "<"), ("<=", "<="), ], default="=", max_length=10, ), ), ( "ogtt_two_hr_units", models.CharField( blank=True, choices=[("mg/dL", "mg/dL"), ("mmol/L", "mmol/L")], max_length=15, null=True, verbose_name="Units (Blood glucose 2hrs after...)", ), ), ( "ogtt_two_hr_datetime", models.DateTimeField( blank=True, help_text="(2 hours after glucose solution given)", null=True, verbose_name= "<u>Time</u> blood glucose measured 2-hours after oral glucose solution given", ), ), ( "ifg_performed", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Was the IFG test performed?", ), ), ( "ifg_not_performed_reason", models.CharField( blank=True, max_length=150, null=True, verbose_name="If NO, provide reason", ), ), ( "ogtt_performed", models.CharField( choices=[("Yes", "Yes"), ("No", "No")], max_length=15, verbose_name="Was the OGTT test performed?", ), ), ( "ogtt_not_performed_reason", models.CharField( blank=True, max_length=150, null=True, verbose_name="If NO, provide reason", ), ), ( "site", models.ForeignKey( editable=False, null=True, on_delete=django.db.models.deletion.PROTECT, related_name="+", to="sites.Site", ), ), ( "subject_visit", models.OneToOneField( on_delete=django.db.models.deletion.PROTECT, to="meta_subject.SubjectVisit", ), ), ], options={ "verbose_name": "Glucose (IFG, OGTT)", "verbose_name_plural": "Glucose (IFG, OGTT)", "abstract": False, "default_permissions": ( "add", "change", "delete", "view", "export", "import", ), }, managers=[ ("on_site", django.contrib.sites.managers.CurrentSiteManager()), ("objects", edc_visit_tracking.managers.CrfModelManager()), ], ), migrations.AddIndex( model_name="glucose", index=models.Index( fields=["subject_visit", "site", "id"], name="meta_subjec_subject_35e440_idx", ), ), ]
class Migration(migrations.Migration): dependencies = [ ('catalogue', '0039_historicalproduct_historicalproductattributevalue'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('basket', '0011_add_email_basket_attribute_type'), ('sites', '0002_alter_domain_unique'), ('partner', '0014_historicalstockrecord'), ('order', '0017_order_partner'), ] operations = [ migrations.CreateModel( name='HistoricalLine', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('partner_name', models.CharField(blank=True, max_length=128, verbose_name='Partner name')), ('partner_sku', models.CharField(max_length=128, verbose_name='Partner SKU')), ('partner_line_reference', models.CharField( blank=True, help_text= 'This is the item number that the partner uses within their system', max_length=128, verbose_name='Partner reference')), ('partner_line_notes', models.TextField(blank=True, verbose_name='Partner Notes')), ('title', models.CharField(max_length=255, verbose_name='Title')), ('upc', models.CharField(blank=True, max_length=128, null=True, verbose_name='UPC')), ('quantity', models.PositiveIntegerField(default=1, verbose_name='Quantity')), ('line_price_incl_tax', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Price (inc. tax)')), ('line_price_excl_tax', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Price (excl. tax)')), ('line_price_before_discounts_incl_tax', models.DecimalField( decimal_places=2, max_digits=12, verbose_name='Price before discounts (inc. tax)')), ('line_price_before_discounts_excl_tax', models.DecimalField( decimal_places=2, max_digits=12, verbose_name='Price before discounts (excl. tax)')), ('unit_cost_price', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Unit Cost Price')), ('unit_price_incl_tax', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Unit Price (inc. tax)')), ('unit_price_excl_tax', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Unit Price (excl. tax)')), ('unit_retail_price', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Unit Retail Price')), ('status', models.CharField(blank=True, max_length=255, verbose_name='Status')), ('est_dispatch_date', models.DateField(blank=True, null=True, verbose_name='Estimated Dispatch Date')), ('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)), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('order', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='order.Order', verbose_name='Order')), ('partner', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='partner.Partner', verbose_name='Partner')), ('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')), ('stockrecord', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='partner.StockRecord', verbose_name='Stock record')), ], options={ 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical Order Line', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalOrder', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('number', models.CharField(db_index=True, max_length=128, verbose_name='Order number')), ('currency', models.CharField( default=oscar.core.utils.get_default_currency, max_length=12, verbose_name='Currency')), ('total_incl_tax', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Order total (inc. tax)')), ('total_excl_tax', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Order total (excl. tax)')), ('shipping_incl_tax', models.DecimalField( decimal_places=2, default=0, max_digits=12, verbose_name='Shipping charge (inc. tax)')), ('shipping_excl_tax', models.DecimalField( decimal_places=2, default=0, max_digits=12, verbose_name='Shipping charge (excl. tax)')), ('shipping_method', models.CharField(blank=True, max_length=128, verbose_name='Shipping method')), ('shipping_code', models.CharField(blank=True, default=b'', max_length=128)), ('status', models.CharField(blank=True, max_length=100, verbose_name='Status')), ('guest_email', models.EmailField(blank=True, max_length=254, verbose_name='Guest email address')), ('date_placed', models.DateTimeField(db_index=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)), ('basket', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='basket.Basket', verbose_name='Basket')), ('billing_address', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='order.BillingAddress', verbose_name='Billing Address')), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('partner', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='partner.Partner')), ('shipping_address', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='order.ShippingAddress', verbose_name='Shipping Address')), ('site', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='sites.Site', verbose_name='Site')), ('user', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='User')), ], options={ 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical Order', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("datasets", "0021_historicalcitycouncilattendancelist"), ] operations = [ migrations.CreateModel( name="HistoricalCityCouncilRevenue", fields=[ ( "id", models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name="ID"), ), ( "created_at", models.DateTimeField(blank=True, editable=False, verbose_name="Criado em"), ), ( "updated_at", models.DateTimeField(blank=True, editable=False, verbose_name="Atualizado em"), ), ("crawled_at", models.DateTimeField(verbose_name="Coletado em")), ("crawled_from", models.URLField(verbose_name="Fonte")), ( "notes", models.TextField(blank=True, null=True, verbose_name="Anotações"), ), ( "external_code", models.CharField(db_index=True, max_length=10, verbose_name="Código externo"), ), ( "budget_unit", models.PositiveIntegerField( default=101, verbose_name="Unidade gestora"), ), ( "published_at", models.DateField(db_index=True, null=True, verbose_name="Publicado em"), ), ( "registered_at", models.DateField(db_index=True, null=True, verbose_name="Registrado em"), ), ( "revenue_type", models.CharField( choices=[ ("orcamentaria", "Orçamentária"), ("nao_orcamentaria", "Não-orçamentária"), ("transferencia", "Transferência"), ], db_index=True, max_length=20, verbose_name="Tipo da receita", ), ), ( "modality", models.CharField(blank=True, max_length=60, null=True, verbose_name="Modalidade"), ), ("description", models.TextField(verbose_name="Descrição")), ( "value", models.DecimalField(decimal_places=2, max_digits=10, verbose_name="Valor"), ), ( "resource", models.CharField( blank=True, default="prefeitura", max_length=200, null=True, verbose_name="Fonte", ), ), ( "legal_status", models.CharField( blank=True, db_index=True, max_length=200, null=True, verbose_name="Natureza", ), ), ( "destination", models.CharField(blank=True, max_length=200, null=True, verbose_name="Destinação"), ), ( "excluded", models.BooleanField(default=False, verbose_name="Excluído?"), ), ("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, ), ), ( "history_user", models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="+", to=settings.AUTH_USER_MODEL, ), ), ], options={ "verbose_name": "historical Câmara de Vereadores - Receita", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="HistoricalCityCouncilExpense", fields=[ ( "id", models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name="ID"), ), ( "created_at", models.DateTimeField(blank=True, editable=False, verbose_name="Criado em"), ), ( "updated_at", models.DateTimeField(blank=True, editable=False, verbose_name="Atualizado em"), ), ("crawled_at", models.DateTimeField(verbose_name="Coletado em")), ("crawled_from", models.URLField(verbose_name="Fonte")), ( "notes", models.TextField(blank=True, null=True, verbose_name="Anotações"), ), ( "published_at", models.DateField( blank=True, db_index=True, null=True, verbose_name="Publicado em", ), ), ( "phase", models.CharField( choices=[ ("empenho", "Empenho"), ("liquidacao", "Liquidação"), ("pagamento", "Pagamento"), ], db_index=True, max_length=20, verbose_name="Fase", ), ), ( "phase_code", models.CharField( blank=True, db_index=True, max_length=20, null=True, verbose_name="Código da fase", ), ), ( "company_or_person", models.TextField( blank=True, db_index=True, null=True, verbose_name="Empresa ou pessoa", ), ), ( "value", models.DecimalField(decimal_places=2, max_digits=10, verbose_name="Valor"), ), ( "number", models.CharField( blank=True, db_index=True, max_length=50, null=True, verbose_name="Número", ), ), ( "document", models.CharField( blank=True, db_index=True, max_length=50, null=True, verbose_name="CNPJ ou CPF", ), ), ("date", models.DateField(db_index=True, verbose_name="Data")), ( "process_number", models.CharField( blank=True, db_index=True, max_length=50, null=True, verbose_name="Número do processo", ), ), ( "summary", models.TextField(blank=True, db_index=True, null=True, verbose_name="Descrição"), ), ( "legal_status", models.CharField( blank=True, db_index=True, max_length=200, null=True, verbose_name="Natureza", ), ), ( "function", models.CharField( blank=True, db_index=True, max_length=50, null=True, verbose_name="Função", ), ), ( "subfunction", models.CharField( blank=True, db_index=True, max_length=50, null=True, verbose_name="Subfunção", ), ), ( "resource", models.CharField( blank=True, db_index=True, max_length=200, null=True, verbose_name="Fonte", ), ), ( "subgroup", models.CharField( blank=True, db_index=True, max_length=100, null=True, verbose_name="Subgrupos", ), ), ( "group", models.CharField( blank=True, db_index=True, max_length=100, null=True, verbose_name="Grupo", ), ), ( "budget_unit", models.PositiveIntegerField( default=101, verbose_name="Unidade orçamentária"), ), ( "modality", models.CharField( blank=True, choices=[ ("convenio", "Convênio"), ("tomada_de_precos", "Tomada de Preço"), ("pregao", "Pregão"), ("inexigibilidade", "Inexigibilidade"), ("convite", "Convite"), ("concorrencia", "Concorrência"), ("dispensa", "Dispensa"), ("isento", "Isento"), ], db_index=True, max_length=50, null=True, verbose_name="Modalidade", ), ), ( "excluded", models.BooleanField(default=False, verbose_name="Excluído?"), ), ( "external_file_code", models.CharField( blank=True, db_index=True, max_length=50, null=True, verbose_name="Código do arquivo (externo)", ), ), ( "external_file_line", models.CharField( blank=True, db_index=True, max_length=50, null=True, verbose_name="Linha do arquivo (externo)", ), ), ("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, ), ), ( "history_user", models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="+", to=settings.AUTH_USER_MODEL, ), ), ], options={ "verbose_name": "historical Câmara de Vereadores - Despesa", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="HistoricalCityCouncilContract", fields=[ ( "id", models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name="ID"), ), ( "created_at", models.DateTimeField(blank=True, editable=False, verbose_name="Criado em"), ), ( "updated_at", models.DateTimeField(blank=True, editable=False, verbose_name="Atualizado em"), ), ("crawled_at", models.DateTimeField(verbose_name="Coletado em")), ("crawled_from", models.URLField(verbose_name="Fonte")), ( "notes", models.TextField(blank=True, null=True, verbose_name="Anotações"), ), ( "external_code", models.PositiveIntegerField(db_index=True, verbose_name="Código externo"), ), ( "description", models.TextField(blank=True, db_index=True, null=True, verbose_name="Descrição"), ), ( "details", models.TextField( blank=True, db_index=True, null=True, verbose_name="Objeto do contrato", ), ), ( "company_or_person_document", models.CharField( blank=True, db_index=True, max_length=50, null=True, verbose_name="CNPJ ou CPF", ), ), ( "company_or_person", models.TextField( blank=True, db_index=True, null=True, verbose_name="Empresa ou pessoa", ), ), ( "value", models.DecimalField(decimal_places=2, max_digits=10, verbose_name="Valor"), ), ( "start_date", models.DateField(db_index=True, verbose_name="Data de início"), ), ( "end_date", models.DateField(db_index=True, verbose_name="Data final"), ), ( "excluded", models.BooleanField(default=False, verbose_name="Excluído?"), ), ("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, ), ), ( "history_user", models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="+", to=settings.AUTH_USER_MODEL, ), ), ], options={ "verbose_name": "historical Câmara de Vereadores - Contrato", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="HistoricalCityCouncilBid", fields=[ ( "id", models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name="ID"), ), ( "created_at", models.DateTimeField(blank=True, editable=False, verbose_name="Criado em"), ), ( "updated_at", models.DateTimeField(blank=True, editable=False, verbose_name="Atualizado em"), ), ("crawled_at", models.DateTimeField(verbose_name="Coletado em")), ("crawled_from", models.URLField(verbose_name="Fonte")), ( "notes", models.TextField(blank=True, null=True, verbose_name="Anotações"), ), ( "external_code", models.CharField(db_index=True, max_length=10, verbose_name="Código externo"), ), ( "modality", models.CharField( blank=True, choices=[ ("tomada_de_precos", "Tomada de Preço"), ("pregao_presencial", "Pregão Presencial"), ("pregao_eletronico", "Pregão Eletrônico"), ("leilao", "Leilão"), ("inexigibilidade", "Inexigibilidade"), ("dispensada", "Dispensada"), ("convite", "Convite"), ("concurso", "Concurso"), ("concorrencia", "Concorrência"), ("chamada_publica", "Chamada Pública"), ], db_index=True, max_length=60, null=True, verbose_name="Modalidade", ), ), ( "code", models.CharField(db_index=True, max_length=15, verbose_name="Código da licitação"), ), ( "code_type", models.CharField( db_index=True, max_length=15, verbose_name="Código do tipo da licitação", ), ), ( "description", models.TextField(db_index=True, verbose_name="Descrição (objeto)"), ), ( "session_at", models.DateTimeField(db_index=True, null=True, verbose_name="Sessão Data / Horário"), ), ( "excluded", models.BooleanField(default=False, verbose_name="Excluído?"), ), ("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, ), ), ( "history_user", models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="+", to=settings.AUTH_USER_MODEL, ), ), ], options={ "verbose_name": "historical Câmara de Vereadores - Licitação", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), ]
class Migration(migrations.Migration): dependencies = [ ('catalogue', '0039_historicalproduct_historicalproductattributevalue'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('voucher', '0006_auto_20181205_1017'), ('sites', '0002_alter_domain_unique'), ('partner', '0014_historicalstockrecord'), ('offer', '0023_offerassignmentemailattempt'), ] operations = [ migrations.CreateModel( name='HistoricalBenefit', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('type', models.CharField( blank=True, choices= [(b'Percentage', "Discount is a percentage off of the product's value"), (b'Absolute', "Discount is a fixed amount off of the product's value" ), (b'Multibuy', 'Discount is to give the cheapest product for free'), (b'Fixed price', 'Get the products that meet the condition for a fixed price' ), (b'Shipping absolute', 'Discount is a fixed amount of the shipping cost'), (b'Shipping fixed price', 'Get shipping for a fixed price'), (b'Shipping percentage', 'Discount is a percentage off of the shipping cost')], max_length=128, verbose_name='Type')), ('value', oscar.models.fields.PositiveDecimalField( blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Value')), ('max_affected_items', models.PositiveIntegerField( blank=True, help_text= 'Set this to prevent the discount consuming all items within the range that are in the basket.', null=True, verbose_name='Max Affected Items')), ('proxy_class', oscar.models.fields.NullCharField( default=None, max_length=255, verbose_name='Custom class')), ('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)), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('range', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='offer.Range', verbose_name='Range')), ], options={ 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical Benefit', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalCondition', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('type', models.CharField( blank=True, choices= [(b'Count', 'Depends on number of items in basket that are in condition range' ), (b'Value', 'Depends on value of items in basket that are in condition range' ), (b'Coverage', 'Needs to contain a set number of DISTINCT items from the condition range' )], max_length=128, verbose_name='Type')), ('value', oscar.models.fields.PositiveDecimalField( blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Value')), ('proxy_class', oscar.models.fields.NullCharField( default=None, max_length=255, verbose_name='Custom class')), ('enterprise_customer_uuid', models.UUIDField(blank=True, null=True, verbose_name='EnterpriseCustomer UUID')), ('enterprise_customer_name', models.CharField(blank=True, max_length=255, null=True, verbose_name='EnterpriseCustomer Name')), ('enterprise_customer_catalog_uuid', models.UUIDField( blank=True, null=True, verbose_name='EnterpriseCustomerCatalog UUID')), ('program_uuid', models.UUIDField(blank=True, null=True, verbose_name='Program UUID')), ('journal_bundle_uuid', models.UUIDField(blank=True, null=True, verbose_name='JournalBundle UUID')), ('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)), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('range', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='offer.Range', verbose_name='Range')), ], options={ 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical Condition', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalConditionalOffer', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('name', models.CharField( db_index=True, help_text="This is displayed within the customer's basket", max_length=128, verbose_name='Name')), ('description', models.TextField( blank=True, help_text='This is displayed on the offer browsing page', verbose_name='Description')), ('offer_type', models.CharField(choices=[ (b'Site', 'Site offer - available to all users'), (b'Voucher', 'Voucher offer - only available after entering the appropriate voucher code' ), (b'User', 'User offer - available to certain types of user'), (b'Session', 'Session offer - temporary offer, available for a user for the duration of their session' ) ], default=b'Site', max_length=128, verbose_name='Type')), ('status', models.CharField(default=b'Open', max_length=64, verbose_name='Status')), ('priority', models.IntegerField( default=0, help_text='The highest priority offers are applied first', verbose_name='Priority')), ('start_datetime', models.DateTimeField( blank=True, help_text= 'Offers are active from the start date. Leave this empty if the offer has no start date.', null=True, verbose_name='Start date')), ('end_datetime', models.DateTimeField( blank=True, help_text= 'Offers are active until the end date. Leave this empty if the offer has no expiry date.', null=True, verbose_name='End date')), ('max_global_applications', models.PositiveIntegerField( blank=True, help_text= 'The number of times this offer can be used before it is unavailable', null=True, verbose_name='Max global applications')), ('max_user_applications', models.PositiveIntegerField( blank=True, help_text= 'The number of times a single user can use this offer', null=True, verbose_name='Max user applications')), ('max_basket_applications', models.PositiveIntegerField( blank=True, help_text= 'The number of times this offer can be applied to a basket (and order)', null=True, verbose_name='Max basket applications')), ('max_discount', models.DecimalField( blank=True, decimal_places=2, help_text= 'When an offer has given more discount to orders than this threshold, then the offer becomes unavailable', max_digits=12, null=True, verbose_name='Max discount')), ('total_discount', models.DecimalField(decimal_places=2, default=Decimal('0.00'), max_digits=12, verbose_name='Total Discount')), ('num_applications', models.PositiveIntegerField( default=0, verbose_name='Number of applications')), ('num_orders', models.PositiveIntegerField(default=0, verbose_name='Number of Orders')), ('redirect_url', oscar.models.fields.ExtendedURLField( blank=True, verbose_name='URL redirect (optional)')), ('date_created', models.DateTimeField(blank=True, editable=False, verbose_name='Date Created')), ('email_domains', models.CharField(blank=True, max_length=255, 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)), ('benefit', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='offer.Benefit', verbose_name='Benefit')), ('condition', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='offer.Condition', verbose_name='Condition')), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('partner', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='partner.Partner')), ('site', models.ForeignKey( blank=True, db_constraint=False, default=None, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='sites.Site', verbose_name='Site')), ], options={ 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical Conditional offer', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalOfferAssignment', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('created', django_extensions.db.fields.CreationDateTimeField( auto_now_add=True, verbose_name='created')), ('modified', django_extensions.db.fields.ModificationDateTimeField( auto_now=True, verbose_name='modified')), ('code', models.CharField(max_length=128)), ('user_email', models.EmailField(max_length=254)), ('status', models.CharField(choices=[ (b'EMAIL_PENDING', 'Email to user pending.'), (b'ASSIGNED', 'Code successfully assigned to user.'), (b'REDEEMED', 'Code has been redeemed by user.'), (b'EMAIL_BOUNCED', 'Email to user bounced.'), (b'REVOKED', 'Code has been revoked for this user.') ], default=b'EMAIL_PENDING', 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)), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('offer', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='offer.ConditionalOffer')), ('voucher_application', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='voucher.VoucherApplication')), ], options={ 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical offer assignment', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalRange', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('name', models.CharField(db_index=True, max_length=128, verbose_name='Name')), ('description', models.TextField(blank=True)), ('is_public', models.BooleanField( default=False, help_text='Public ranges have a customer-facing page', verbose_name='Is public?')), ('includes_all_products', models.BooleanField(default=False, verbose_name='Includes all products?')), ('proxy_class', oscar.models.fields.NullCharField( db_index=True, default=None, max_length=255, verbose_name='Custom class')), ('date_created', models.DateTimeField(blank=True, editable=False, verbose_name='Date Created')), ('catalog_query', models.TextField(blank=True, null=True)), ('course_catalog', models.PositiveIntegerField( blank=True, help_text='Course Catalog ID from the Discovery Service.', null=True)), ('enterprise_customer', models.UUIDField( blank=True, help_text= 'UUID for an EnterpriseCustomer from the Enterprise Service.', null=True)), ('enterprise_customer_catalog', models.UUIDField( blank=True, help_text= 'UUID for an EnterpriseCustomerCatalog from the Enterprise Service.', null=True)), ('course_seat_types', models.CharField(blank=True, max_length=255, null=True, validators=[ ecommerce.extensions.offer.models. validate_credit_seat_type ])), ('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)), ('catalog', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='catalogue.Catalog')), ('history_user', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical Range', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalRangeProduct', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('display_order', models.IntegerField(default=0)), ('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)), ('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')), ('range', models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='offer.Range')), ], options={ 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical range product', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("tests", "0014_auto_20200327_1152"), ] operations = [ migrations.CreateModel( name="HistoricalModelTest", fields=[ ( "id", models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name="ID"), ), ("char_field", models.CharField(max_length=255, verbose_name="Char")), ("text_field", models.TextField(blank=True, null=True)), ("integer_field", models.IntegerField()), ("float_field", models.FloatField()), ("decimal_field", models.DecimalField(decimal_places=4, max_digits=7)), ("percent_field", models.FloatField()), ("datetime_field", models.DateTimeField(verbose_name="DateTime")), ("datetime_field1", models.DateTimeField(verbose_name="DateTime 1")), ("date_field", models.DateField()), ("time_field", models.TimeField()), ("boolean_field", models.BooleanField()), ( "choice_field", models.CharField(choices=[("a", "A"), ("b", "B")], default="a", max_length=64), ), ( "status_field", django_fsm.FSMField( choices=[ ("status1", "Status1"), ("status2", "Status2"), ("status3", "Status3"), ], default="status1", max_length=50, verbose_name="Status", ), ), ("image_field", models.TextField(max_length=100, null=True)), ("file_field", models.TextField(max_length=100, 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, ), ), ( "history_user", models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="+", to=settings.AUTH_USER_MODEL, ), ), ], options={ "verbose_name": "historical Test Model", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), ]
class Migration(migrations.Migration): initial = True dependencies = [migrations.swappable_dependency(settings.AUTH_USER_MODEL)] operations = [ migrations.CreateModel( name="HistoricalSession", fields=[ ( "id", models.UUIDField(db_index=True, default=uuid.uuid4, editable=False), ), ("created", models.DateTimeField(blank=True, editable=False)), ("modified", models.DateTimeField(blank=True, editable=False)), ( "status", models.PositiveSmallIntegerField( choices=[ (0, "Queued"), (1, "Started"), (2, "Running"), (3, "Failed"), (4, "Stopped"), ], default=0, ), ), ( "maximum_duration", models.DurationField(default=datetime.timedelta(0, 600)), ), ("user_finished", models.BooleanField(default=False)), ( "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, ), ), ( "creator", 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, ), ), ], options={ "verbose_name": "historical session", "ordering": ("-history_date", "-history_id"), "get_latest_by": "history_date", }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name="Session", fields=[ ( "id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ("created", models.DateTimeField(auto_now_add=True)), ("modified", models.DateTimeField(auto_now=True)), ( "status", models.PositiveSmallIntegerField( choices=[ (0, "Queued"), (1, "Started"), (2, "Running"), (3, "Failed"), (4, "Stopped"), ], default=0, ), ), ( "maximum_duration", models.DurationField(default=datetime.timedelta(0, 600)), ), ("user_finished", models.BooleanField(default=False)), ( "creator", models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, ), ), ], options={"abstract": False}, ), migrations.CreateModel( name="Workstation", fields=[ ( "id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ("created", models.DateTimeField(auto_now_add=True)), ("modified", models.DateTimeField(auto_now=True)), ( "title", models.CharField(max_length=255, verbose_name="title"), ), ( "description", models.TextField(blank=True, null=True, verbose_name="description"), ), ( "slug", django_extensions.db.fields.AutoSlugField( blank=True, editable=False, populate_from="title", verbose_name="slug", ), ), ( "logo", models.ImageField(upload_to=grandchallenge.challenges. models.get_logo_path), ), ], options={"abstract": False}, ), migrations.CreateModel( name="WorkstationImage", fields=[ ( "id", models.UUIDField( default=uuid.uuid4, editable=False, primary_key=True, serialize=False, ), ), ("created", models.DateTimeField(auto_now_add=True)), ("modified", models.DateTimeField(auto_now=True)), ( "staged_image_uuid", models.UUIDField(blank=True, editable=False, null=True), ), ( "image", models.FileField( blank=True, help_text= ".tar.gz archive of the container image produced from the command 'docker save IMAGE | gzip -c > IMAGE.tar.gz'. See https://docs.docker.com/engine/reference/commandline/save/", storage=grandchallenge.core.storage.PrivateS3Storage(), upload_to=grandchallenge.components.models. docker_image_path, validators=[ grandchallenge.core.validators.ExtensionValidator( allowed_extensions=(".tar", ".tar.gz")) ], ), ), ( "image_sha256", models.CharField(editable=False, max_length=71), ), ( "ready", models.BooleanField( default=False, editable=False, help_text="Is this image ready to be used?", ), ), ("status", models.TextField(editable=False)), ("requires_gpu", models.BooleanField(default=False)), ( "requires_gpu_memory_gb", models.PositiveIntegerField(default=4), ), ("requires_memory_gb", models.PositiveIntegerField(default=4)), ( "requires_cpu_cores", models.DecimalField(decimal_places=2, default=Decimal("1.0"), max_digits=4), ), ( "http_port", models.PositiveIntegerField( default=8080, validators=[ django.core.validators.MaxValueValidator(65535) ], ), ), ( "websocket_port", models.PositiveIntegerField( default=4114, validators=[ django.core.validators.MaxValueValidator(65535) ], ), ), ( "initial_path", models.CharField( blank=True, default="Applications/GrandChallengeViewer/index.html", max_length=256, validators=[ django.core.validators.RegexValidator( message= "This path is invalid, it must not start with a /", regex="^(?:[^/][^\\s]*)\\Z", ) ], ), ), ( "creator", models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, ), ), ( "workstation", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="workstations.Workstation", ), ), ], options={"abstract": False}, ), migrations.AddField( model_name="session", name="workstation_image", field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="workstations.WorkstationImage", ), ), migrations.AddField( model_name="historicalsession", name="workstation_image", field=models.ForeignKey( blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="workstations.WorkstationImage", ), ), ]