diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-05-01 15:35:06 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-07-21 15:07:41 +0200 |
commit | 77cc44d668cd4d58ba1b03fd717cbbacc0688cad (patch) | |
tree | eb0fb1ea1eb53461f387bd57c98862e89b419456 | |
parent | 8f286a74789f5b1a33b88f1d605ad347023a6016 (diff) | |
download | Ishtar-77cc44d668cd4d58ba1b03fd717cbbacc0688cad.tar.bz2 Ishtar-77cc44d668cd4d58ba1b03fd717cbbacc0688cad.zip |
🗃️ database migrations: django 3/4 - timezone
7 files changed, 2210 insertions, 0 deletions
diff --git a/archaeological_context_records/migrations/0123_add_timezone_django_v4.py b/archaeological_context_records/migrations/0123_add_timezone_django_v4.py new file mode 100644 index 000000000..96f58b6ea --- /dev/null +++ b/archaeological_context_records/migrations/0123_add_timezone_django_v4.py @@ -0,0 +1,162 @@ +# Generated by Django 4.2.19 on 2025-05-01 13:29 + +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone +import re + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0264_add_timezone_django_v4'), + ('archaeological_context_records', '0122_cr_ishtar_users'), + ] + + operations = [ + migrations.AlterModelOptions( + name='historicalcontextrecord', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Context Record', 'verbose_name_plural': 'historical Context Record'}, + ), + migrations.AlterField( + model_name='activitytype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='colortype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='contextrecord', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='contextrecord', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='contextrecord', + name='geodata', + field=models.ManyToManyField(blank=True, related_name='related_items_%(app_label)s_%(class)s', to='ishtar_common.geovectordata', verbose_name='Geodata'), + ), + migrations.AlterField( + model_name='contextrecord', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='contextrecord', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='contextrecord', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='contextrecord', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='contextrecord', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='contextrecord', + name='main_geodata', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_%(app_label)s_%(class)s', to='ishtar_common.geovectordata', verbose_name='Main geodata'), + ), + migrations.AlterField( + model_name='datingquality', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='datingtype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='documentationtype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='excavationtechnictype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='history_date', + field=models.DateTimeField(db_index=True), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='identificationtype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='inclusiontype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='recordrelations', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='recordrelations', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='relationtype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='structuretype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='texturetype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='unit', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + ] diff --git a/archaeological_files/migrations/0120_add_timezone_django_v4.py b/archaeological_files/migrations/0120_add_timezone_django_v4.py new file mode 100644 index 000000000..a89358fad --- /dev/null +++ b/archaeological_files/migrations/0120_add_timezone_django_v4.py @@ -0,0 +1,191 @@ +# Generated by Django 4.2.19 on 2025-05-01 13:30 + +import django.core.validators +from django.db import migrations, models +import django.utils.timezone +import re + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0264_add_timezone_django_v4'), + ('archaeological_files', '0119_file_ishtar_users'), + ] + + operations = [ + migrations.AlterModelOptions( + name='historicalfile', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Archaeological file', 'verbose_name_plural': 'historical Archaeological files'}, + ), + migrations.AlterField( + model_name='agreementtype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='developmenttype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='equipmentservicetype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='file', + name='cira_advised', + field=models.BooleanField(blank=True, null=True, verbose_name='Passage en CIRA'), + ), + migrations.AlterField( + model_name='file', + name='classified_area', + field=models.BooleanField(blank=True, null=True, verbose_name='Classified area'), + ), + migrations.AlterField( + model_name='file', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='file', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='file', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='file', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='file', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='file', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='file', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='file', + name='mh_listing', + field=models.BooleanField(blank=True, null=True, verbose_name='Sur Monument Historique inscrit'), + ), + migrations.AlterField( + model_name='file', + name='mh_register', + field=models.BooleanField(blank=True, null=True, verbose_name='Sur Monument Historique classé'), + ), + migrations.AlterField( + model_name='file', + name='protected_area', + field=models.BooleanField(blank=True, null=True, verbose_name='Protected area'), + ), + migrations.AlterField( + model_name='filetype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='genericequipmentservicetype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='historicalfile', + name='cira_advised', + field=models.BooleanField(blank=True, null=True, verbose_name='Passage en CIRA'), + ), + migrations.AlterField( + model_name='historicalfile', + name='classified_area', + field=models.BooleanField(blank=True, null=True, verbose_name='Classified area'), + ), + migrations.AlterField( + model_name='historicalfile', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalfile', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalfile', + name='history_date', + field=models.DateTimeField(db_index=True), + ), + migrations.AlterField( + model_name='historicalfile', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalfile', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalfile', + name='mh_listing', + field=models.BooleanField(blank=True, null=True, verbose_name='Sur Monument Historique inscrit'), + ), + migrations.AlterField( + model_name='historicalfile', + name='mh_register', + field=models.BooleanField(blank=True, null=True, verbose_name='Sur Monument Historique classé'), + ), + migrations.AlterField( + model_name='historicalfile', + name='protected_area', + field=models.BooleanField(blank=True, null=True, verbose_name='Protected area'), + ), + migrations.AlterField( + model_name='job', + name='permanent_contract', + field=models.BooleanField(blank=True, null=True, verbose_name='Permanent contract'), + ), + migrations.AlterField( + model_name='job', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='monitoringjustificationtype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='operationtypeforroyalties', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='permittype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='priceagreement', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='saisinetype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + ] diff --git a/archaeological_finds/migrations/0138_add_timezone_django_v4.py b/archaeological_finds/migrations/0138_add_timezone_django_v4.py new file mode 100644 index 000000000..03e04d0ef --- /dev/null +++ b/archaeological_finds/migrations/0138_add_timezone_django_v4.py @@ -0,0 +1,663 @@ +# Generated by Django 4.2.19 on 2025-05-01 13:32 + +import archaeological_finds.models_treatments +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone +import re + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0264_add_timezone_django_v4'), + ('archaeological_finds', '0137_data_migration_treatment_status_inputstatus'), + ] + + operations = [ + migrations.AlterModelOptions( + name='historicalbasefind', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Base find', 'verbose_name_plural': 'historical Base finds'}, + ), + migrations.AlterModelOptions( + name='historicalexhibition', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Exhibition', 'verbose_name_plural': 'historical Exhibitions'}, + ), + migrations.AlterModelOptions( + name='historicalfind', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Find', 'verbose_name_plural': 'historical Finds'}, + ), + migrations.AlterModelOptions( + name='historicaltreatment', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Treatment', 'verbose_name_plural': 'historical Treatments'}, + ), + migrations.AlterModelOptions( + name='historicaltreatmentfile', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Treatment request', 'verbose_name_plural': 'historical Treatment requests'}, + ), + migrations.AlterModelOptions( + name='treatmentstate', + options={'ordering': ('order', 'label'), 'verbose_name': 'Treatment state type - deprecated', 'verbose_name_plural': 'Treatment state types - deprecated'}, + ), + migrations.AlterField( + model_name='alterationcausetype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='alterationtype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='basefind', + name='cache_complete_id', + field=models.TextField(blank=True, db_index=True, default='', help_text='Cached value - do not edit', verbose_name='Complete ID - cached'), + ), + migrations.AlterField( + model_name='basefind', + name='cache_short_id', + field=models.TextField(blank=True, db_index=True, default='', help_text='Cached value - do not edit', verbose_name='Short ID - cached'), + ), + migrations.AlterField( + model_name='basefind', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='basefind', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='basefind', + name='geodata', + field=models.ManyToManyField(blank=True, related_name='related_items_%(app_label)s_%(class)s', to='ishtar_common.geovectordata', verbose_name='Geodata'), + ), + migrations.AlterField( + model_name='basefind', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='basefind', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='basefind', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='basefind', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='basefind', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='basefind', + name='main_geodata', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_%(app_label)s_%(class)s', to='ishtar_common.geovectordata', verbose_name='Main geodata'), + ), + migrations.AlterField( + model_name='batchtype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='checkedtype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='collectionentrymodetype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='communicabilitytype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='conservatorystate', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='discoverymethod', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='exhibition', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='exhibition', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='exhibition', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='exhibition', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='exhibition', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='exhibition', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='exhibition', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='exhibitiontype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='find', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='find', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='find', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='find', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='find', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='find', + name='is_complete', + field=models.BooleanField(blank=True, null=True, verbose_name='Is complete?'), + ), + migrations.AlterField( + model_name='find', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='find', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='find', + name='mark', + field=models.TextField(blank=True, default='', verbose_name='Mark'), + ), + migrations.AlterField( + model_name='findbasket', + name='shared_with', + field=models.ManyToManyField(blank=True, related_name='shared_%(class)ss', to='ishtar_common.ishtaruser', verbose_name='Shared (read) with'), + ), + migrations.AlterField( + model_name='findbasket', + name='shared_write_with', + field=models.ManyToManyField(blank=True, related_name='shared_write_%(class)ss', to='ishtar_common.ishtaruser', verbose_name='Shared (read/edit) with'), + ), + migrations.AlterField( + model_name='findbasket', + name='user', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)ss', to='ishtar_common.ishtaruser', verbose_name='Owner'), + ), + migrations.AlterField( + model_name='findtreatment', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='findtreatment', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='functionalarea', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='cache_complete_id', + field=models.TextField(blank=True, db_index=True, default='', help_text='Cached value - do not edit', verbose_name='Complete ID - cached'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='cache_short_id', + field=models.TextField(blank=True, db_index=True, default='', help_text='Cached value - do not edit', verbose_name='Short ID - cached'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='history_date', + field=models.DateTimeField(db_index=True), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalexhibition', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalexhibition', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalexhibition', + name='history_date', + field=models.DateTimeField(db_index=True), + ), + migrations.AlterField( + model_name='historicalexhibition', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalexhibition', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalfind', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalfind', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalfind', + name='history_date', + field=models.DateTimeField(db_index=True), + ), + migrations.AlterField( + model_name='historicalfind', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalfind', + name='is_complete', + field=models.BooleanField(blank=True, null=True, verbose_name='Is complete?'), + ), + migrations.AlterField( + model_name='historicalfind', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalfind', + name='mark', + field=models.TextField(blank=True, default='', verbose_name='Mark'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='creation_date', + field=models.DateTimeField(default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='end_date', + field=models.DateField(blank=True, null=True, verbose_name='End date'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='history_date', + field=models.DateTimeField(db_index=True), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='input_status', + field=models.ForeignKey(blank=True, db_constraint=False, default=archaeological_finds.models_treatments.TreatmentInputStatus.get_default, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='archaeological_finds.treatmentinputstatus', verbose_name='Input status'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='person', + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.person', verbose_name='Responsible of the treatment'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='treatment_state', + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='archaeological_finds.treatmentstate', verbose_name='State - deprecated use input_status and treatment_status'), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='end_date', + field=models.DateField(blank=True, null=True, verbose_name='End date'), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='history_date', + field=models.DateTimeField(db_index=True), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='integritytype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='inventoryconformity', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='inventorymarkingpresence', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='markingtype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='materialtype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='materialtypequalitytype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='museumcollection', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='objecttype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='objecttypequalitytype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='originalreproduction', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='property', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='property', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='property', + name='history_date', + field=models.DateTimeField(default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='property', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='property', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='property', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='property', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='property', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='remarkabilitytype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='technicalareatype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='technicalprocesstype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='treatment', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='treatment', + name='creation_date', + field=models.DateTimeField(default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='treatment', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='treatment', + name='end_date', + field=models.DateField(blank=True, null=True, verbose_name='End date'), + ), + migrations.AlterField( + model_name='treatment', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='treatment', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='treatment', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='treatment', + name='input_status', + field=models.ForeignKey(blank=True, default=archaeological_finds.models_treatments.TreatmentInputStatus.get_default, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_finds.treatmentinputstatus', verbose_name='Input status'), + ), + migrations.AlterField( + model_name='treatment', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='treatment', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='treatment', + name='person', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='treatments', to='ishtar_common.person', verbose_name='Responsible of the treatment'), + ), + migrations.AlterField( + model_name='treatment', + name='treatment_state', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='archaeological_finds.treatmentstate', verbose_name='State - deprecated use input_status and treatment_status'), + ), + migrations.AlterField( + model_name='treatmentemergencytype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='treatmentfile', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='treatmentfile', + name='end_date', + field=models.DateField(blank=True, null=True, verbose_name='End date'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='treatmentfile', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='treatmentfiletype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='treatmentinputstatus', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='treatmentstate', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='treatmentstatus', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='treatmenttype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + ] diff --git a/archaeological_operations/migrations/0123_add_timezone_django_v4.py b/archaeological_operations/migrations/0123_add_timezone_django_v4.py new file mode 100644 index 000000000..b73ef94c2 --- /dev/null +++ b/archaeological_operations/migrations/0123_add_timezone_django_v4.py @@ -0,0 +1,460 @@ +# Generated by Django 4.2.19 on 2025-05-01 13:28 + +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone +import re + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0264_add_timezone_django_v4'), + ('archaeological_operations', '0122_admin_act_many_intented_to'), + ] + + operations = [ + migrations.AlterModelOptions( + name='historicaladministrativeact', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Administrative act', 'verbose_name_plural': 'historical Administrative acts'}, + ), + migrations.AlterModelOptions( + name='historicalarchaeologicalsite', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Archaeological site', 'verbose_name_plural': 'historical Archaeological sites'}, + ), + migrations.AlterModelOptions( + name='historicaloperation', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Operation', 'verbose_name_plural': 'historical Operations'}, + ), + migrations.AlterField( + model_name='acttype', + name='intented_to', + field=models.CharField(choices=[('F', 'Archaeological file'), ('O', 'Operation'), ('TF', 'Treatment request'), ('T', 'Treatment')], help_text='Deprecated: do not use', max_length=2, verbose_name='Intended to'), + ), + migrations.AlterField( + model_name='acttype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='administrativeact', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='administrativeact', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='administrativeact', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='administrativeact', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='administrativeact', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='administrativeact', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='administrativeact', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='administrativeact', + name='ref_sra', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Internal reference'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='geodata', + field=models.ManyToManyField(blank=True, related_name='related_items_%(app_label)s_%(class)s', to='ishtar_common.geovectordata', verbose_name='Geodata'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='main_geodata', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_%(app_label)s_%(class)s', to='ishtar_common.geovectordata', verbose_name='Main geodata'), + ), + migrations.AlterField( + model_name='culturalattributiontype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='history_date', + field=models.DateTimeField(db_index=True), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='ref_sra', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Internal reference'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='history_date', + field=models.DateTimeField(db_index=True), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicaloperation', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicaloperation', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicaloperation', + name='documentation_received', + field=models.BooleanField(blank=True, null=True, verbose_name='Documentation provided'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='finds_received', + field=models.BooleanField(blank=True, null=True, verbose_name='Finds provided'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='geoarchaeological_context_prescription', + field=models.BooleanField(blank=True, null=True, verbose_name='Prescription on geoarchaeological context'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='history_date', + field=models.DateTimeField(db_index=True), + ), + migrations.AlterField( + model_name='historicaloperation', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicaloperation', + name='large_area_prescription', + field=models.BooleanField(blank=True, null=True, verbose_name='Prescription on large area'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicaloperation', + name='negative_result', + field=models.BooleanField(blank=True, null=True, verbose_name='Result considered negative'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='zoning_prescription', + field=models.BooleanField(blank=True, null=True, verbose_name='Prescription on zoning'), + ), + migrations.AlterField( + model_name='interpretationleveltype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='natureofsitetype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='operation', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='operation', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='operation', + name='documentation_received', + field=models.BooleanField(blank=True, null=True, verbose_name='Documentation provided'), + ), + migrations.AlterField( + model_name='operation', + name='finds_received', + field=models.BooleanField(blank=True, null=True, verbose_name='Finds provided'), + ), + migrations.AlterField( + model_name='operation', + name='geoarchaeological_context_prescription', + field=models.BooleanField(blank=True, null=True, verbose_name='Prescription on geoarchaeological context'), + ), + migrations.AlterField( + model_name='operation', + name='geodata', + field=models.ManyToManyField(blank=True, related_name='related_items_%(app_label)s_%(class)s', to='ishtar_common.geovectordata', verbose_name='Geodata'), + ), + migrations.AlterField( + model_name='operation', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='operation', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='operation', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='operation', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='operation', + name='large_area_prescription', + field=models.BooleanField(blank=True, null=True, verbose_name='Prescription on large area'), + ), + migrations.AlterField( + model_name='operation', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='operation', + name='main_geodata', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_%(app_label)s_%(class)s', to='ishtar_common.geovectordata', verbose_name='Main geodata'), + ), + migrations.AlterField( + model_name='operation', + name='negative_result', + field=models.BooleanField(blank=True, null=True, verbose_name='Result considered negative'), + ), + migrations.AlterField( + model_name='operation', + name='zoning_prescription', + field=models.BooleanField(blank=True, null=True, verbose_name='Prescription on zoning'), + ), + migrations.AlterField( + model_name='operationtypeold', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='parcel', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='parcel', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='parcel', + name='history_date', + field=models.DateTimeField(default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='parcel', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='parcel', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='parcel', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='parcel', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='parcel', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='parcelowner', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='parcelowner', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='parcelowner', + name='history_date', + field=models.DateTimeField(default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='parcelowner', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='parcelowner', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='parcelowner', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='parcelowner', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='parcelowner', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='period', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='recordqualitytype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='recordrelations', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='recordrelations', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='relationtype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='remaintype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='reportstate', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='sitecurrentstatustype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='sitediscoverystatustype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='sitetype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + ] diff --git a/archaeological_warehouse/migrations/0124_add_timezone_django_v4.py b/archaeological_warehouse/migrations/0124_add_timezone_django_v4.py new file mode 100644 index 000000000..ae0feaed9 --- /dev/null +++ b/archaeological_warehouse/migrations/0124_add_timezone_django_v4.py @@ -0,0 +1,211 @@ +# Generated by Django 4.2.19 on 2025-05-01 13:33 + +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone +import re + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0264_add_timezone_django_v4'), + ('archaeological_warehouse', '0123_warehouse_container_ishtar_users'), + ] + + operations = [ + migrations.AlterModelOptions( + name='historicalcontainer', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Container', 'verbose_name_plural': 'historical Containers'}, + ), + migrations.AlterModelOptions( + name='historicalwarehouse', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Warehouse', 'verbose_name_plural': 'historical Warehouses'}, + ), + migrations.AlterField( + model_name='container', + name='archived', + field=models.BooleanField(blank=True, default=False, null=True), + ), + migrations.AlterField( + model_name='container', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='container', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='container', + name='geodata', + field=models.ManyToManyField(blank=True, related_name='related_items_%(app_label)s_%(class)s', to='ishtar_common.geovectordata', verbose_name='Geodata'), + ), + migrations.AlterField( + model_name='container', + name='history_date_deprecated', + field=models.DateTimeField(default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='container', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='container', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='container', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='container', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='container', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='container', + name='main_geodata', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_%(app_label)s_%(class)s', to='ishtar_common.geovectordata', verbose_name='Main geodata'), + ), + migrations.AlterField( + model_name='container', + name='merge_candidate', + field=models.ManyToManyField(blank=True, to='archaeological_warehouse.container'), + ), + migrations.AlterField( + model_name='container', + name='merge_exclusion', + field=models.ManyToManyField(blank=True, to='archaeological_warehouse.container'), + ), + migrations.AlterField( + model_name='containertype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='historicalcontainer', + name='archived', + field=models.BooleanField(blank=True, default=False, null=True), + ), + migrations.AlterField( + model_name='historicalcontainer', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalcontainer', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalcontainer', + name='history_date', + field=models.DateTimeField(db_index=True), + ), + migrations.AlterField( + model_name='historicalcontainer', + name='history_date_deprecated', + field=models.DateTimeField(default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalcontainer', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalcontainer', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalwarehouse', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalwarehouse', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalwarehouse', + name='history_date', + field=models.DateTimeField(db_index=True), + ), + migrations.AlterField( + model_name='historicalwarehouse', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalwarehouse', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='warehouse', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='warehouse', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='warehouse', + name='geodata', + field=models.ManyToManyField(blank=True, related_name='related_items_%(app_label)s_%(class)s', to='ishtar_common.geovectordata', verbose_name='Geodata'), + ), + migrations.AlterField( + model_name='warehouse', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='warehouse', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='warehouse', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='warehouse', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='warehouse', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='warehouse', + name='main_geodata', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_%(app_label)s_%(class)s', to='ishtar_common.geovectordata', verbose_name='Main geodata'), + ), + migrations.AlterField( + model_name='warehousedivision', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='warehousetype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + ] diff --git a/ishtar_common/migrations/0264_add_timezone_django_v4.py b/ishtar_common/migrations/0264_add_timezone_django_v4.py new file mode 100644 index 000000000..03c206fd0 --- /dev/null +++ b/ishtar_common/migrations/0264_add_timezone_django_v4.py @@ -0,0 +1,459 @@ +# Generated by Django 4.2.19 on 2025-05-01 13:24 + +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone +import re + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0263_media_exporter'), + ] + + operations = [ + migrations.AlterModelOptions( + name='historicaldocument', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Document', 'verbose_name_plural': 'historical Documents'}, + ), + migrations.AlterModelOptions( + name='historicalorganization', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Organization', 'verbose_name_plural': 'historical Organizations'}, + ), + migrations.AlterModelOptions( + name='historicalperson', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Person', 'verbose_name_plural': 'historical Persons'}, + ), + migrations.AlterField( + model_name='administrationtask', + name='creation_date', + field=models.DateTimeField(default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='area', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='authortype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='backgroundtask', + name='creation_date', + field=models.DateTimeField(default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='biographicalnote', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='biographicalnote', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='biographicalnote', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='biographicalnote', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='biographicalnote', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='biographicalnote', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='biographicalnote', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='document', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='document', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='document', + name='duplicate', + field=models.BooleanField(blank=True, null=True, verbose_name='Has a duplicate'), + ), + migrations.AlterField( + model_name='document', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='document', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='document', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='document', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='document', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='documenttag', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='exporttask', + name='creation_date', + field=models.DateTimeField(default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='format', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='gdprlog', + name='date', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='Date'), + ), + migrations.AlterField( + model_name='gdprlog', + name='persons', + field=models.ManyToManyField(blank=True, related_name='logs', to='ishtar_common.gdprperson', verbose_name='Persons'), + ), + migrations.AlterField( + model_name='geobuffertype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='geodatatype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='geoorigintype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='geoprovidertype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='geovectordata', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='geovectordata', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='historicaldocument', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicaldocument', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicaldocument', + name='duplicate', + field=models.BooleanField(blank=True, null=True, verbose_name='Has a duplicate'), + ), + migrations.AlterField( + model_name='historicaldocument', + name='history_date', + field=models.DateTimeField(db_index=True), + ), + migrations.AlterField( + model_name='historicaldocument', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicaldocument', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalorganization', + name='archived', + field=models.BooleanField(blank=True, default=False, null=True), + ), + migrations.AlterField( + model_name='historicalorganization', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalorganization', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalorganization', + name='history_date', + field=models.DateTimeField(db_index=True), + ), + migrations.AlterField( + model_name='historicalorganization', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalorganization', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalperson', + name='archived', + field=models.BooleanField(blank=True, default=False, null=True), + ), + migrations.AlterField( + model_name='historicalperson', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='historicalperson', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalperson', + name='history_date', + field=models.DateTimeField(db_index=True), + ), + migrations.AlterField( + model_name='historicalperson', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='historicalperson', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='importtask', + name='creation_date', + field=models.DateTimeField(default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='language', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='licensetype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='operationtype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='organization', + name='archived', + field=models.BooleanField(blank=True, default=False, null=True), + ), + migrations.AlterField( + model_name='organization', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='organization', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='organization', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='organization', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='organization', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='organization', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='organization', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='organization', + name='merge_candidate', + field=models.ManyToManyField(blank=True, to='ishtar_common.organization'), + ), + migrations.AlterField( + model_name='organization', + name='merge_exclusion', + field=models.ManyToManyField(blank=True, to='ishtar_common.organization'), + ), + migrations.AlterField( + model_name='organizationtype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='person', + name='archived', + field=models.BooleanField(blank=True, default=False, null=True), + ), + migrations.AlterField( + model_name='person', + name='created', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='person', + name='data', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='person', + name='history_m2m', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='person', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='person', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='person', + name='ishtar_users', + field=models.ManyToManyField(blank=True, related_name='%(class)s_associated', to='ishtar_common.ishtaruser'), + ), + migrations.AlterField( + model_name='person', + name='last_modified', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='person', + name='merge_candidate', + field=models.ManyToManyField(blank=True, to='ishtar_common.person'), + ), + migrations.AlterField( + model_name='person', + name='merge_exclusion', + field=models.ManyToManyField(blank=True, to='ishtar_common.person'), + ), + migrations.AlterField( + model_name='persontype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='profiletype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='shootingangle', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='sourcetype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='spatialreferencesystem', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='statscache', + name='updated', + field=models.DateTimeField(default=django.utils.timezone.now), + ), + migrations.AlterField( + model_name='statscache', + name='values', + field=models.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='supporttype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='titletype', + name='txt_idx', + field=models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='town', + name='geodata', + field=models.ManyToManyField(blank=True, related_name='related_items_%(app_label)s_%(class)s', to='ishtar_common.geovectordata', verbose_name='Geodata'), + ), + migrations.AlterField( + model_name='town', + name='imports', + field=models.ManyToManyField(blank=True, related_name='imported_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Created by imports'), + ), + migrations.AlterField( + model_name='town', + name='imports_updated', + field=models.ManyToManyField(blank=True, related_name='import_updated_%(app_label)s_%(class)s', to='ishtar_common.import', verbose_name='Updated by imports'), + ), + migrations.AlterField( + model_name='town', + name='main_geodata', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_%(app_label)s_%(class)s', to='ishtar_common.geovectordata', verbose_name='Main geodata'), + ), + ] diff --git a/ishtar_common/migrations/0265_userrequesttoken_usertoken.py b/ishtar_common/migrations/0265_userrequesttoken_usertoken.py new file mode 100644 index 000000000..6f80a5368 --- /dev/null +++ b/ishtar_common/migrations/0265_userrequesttoken_usertoken.py @@ -0,0 +1,64 @@ +# Generated by Django 4.2.19 on 2025-05-09 08:25 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('auth', '0012_alter_user_first_name_max_length'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('ishtar_common', '0264_add_timezone_django_v4'), + ] + + operations = [ + migrations.CreateModel( + name='UserRequestToken', + fields=[ + ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')), + ('key', models.CharField(max_length=6, unique=True, verbose_name='Key')), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='user_request_token', serialize=False, to=settings.AUTH_USER_MODEL, verbose_name='User')), + ('access_type', models.CharField(choices=[('R', 'GIS - read'), ('W', 'GIS - read/write')], default='R', max_length=1, verbose_name='Access type')), + ('name', models.TextField(verbose_name='Name')), + ('limit_date', models.DateField(blank=True, null=True, verbose_name='Limit date')), + ], + options={ + 'verbose_name': 'API - GIS - Request token', + 'verbose_name_plural': 'API - GIS - Request tokens', + }, + ), + migrations.AlterModelOptions( + name='importertype', + options={'ordering': ('name',), 'permissions': (('view_gis_importer', 'Can export to QGIS'), ('view_own_gis_importer', 'Can export own to QGIS'), ('change_gis_importer', 'Can import from QGIS'), ('change_own_gis_importer', 'Can import own to QGIS')), 'verbose_name': 'Importer - Type', 'verbose_name_plural': 'Importer - Types'}, + ), + migrations.AddField( + model_name='ishtarsiteprofile', + name='gis_connector', + field=models.BooleanField(default=False, verbose_name='GIS connector'), + ), + migrations.AlterField( + model_name='importertype', + name='type', + field=models.CharField(choices=[('tab', 'Table'), ('gis', 'GIS'), ('qgs', 'QGIS')], default='tab', max_length=3, verbose_name='Type'), + ), + migrations.CreateModel( + name='UserToken', + fields=[ + ('key', models.CharField(max_length=40, primary_key=True, serialize=False, verbose_name='Key')), + ('name', models.TextField(verbose_name='Name')), + ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')), + ('access_type', models.CharField(choices=[('R', 'GIS - read'), ('W', 'GIS - read/write')], default='R', max_length=1, verbose_name='Access type')), + ('limit_date', models.DateField(blank=True, null=True, verbose_name='Limit date')), + ('last_ip', models.GenericIPAddressField(blank=True, null=True, verbose_name='Last IP')), + ('last_access', models.DateField(auto_now_add=True, verbose_name='Last access date')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user_token', to=settings.AUTH_USER_MODEL, verbose_name='User')), + ], + options={ + 'verbose_name': 'API - GIS - Token', + 'verbose_name_plural': 'API - GIS - Tokens', + 'ordering': ('user', 'name', 'limit_date'), + }, + ), + ] |