diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-10 12:45:38 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-10 12:45:38 +0200 |
commit | e8db442d6568ead94995bcb9cecc9950878cd456 (patch) | |
tree | 3e526005b577ff15ab187e7f961d45c8443debe5 | |
parent | f28a84102fcea5dffd8618c9253687d57acda035 (diff) | |
download | Ishtar-e8db442d6568ead94995bcb9cecc9950878cd456.tar.bz2 Ishtar-e8db442d6568ead94995bcb9cecc9950878cd456.zip |
Migrations: back to non translated fields description (Django fun)
-rw-r--r-- | archaeological_context_records/migrations/0052_auto_20190910_1242.py | 690 | ||||
-rw-r--r-- | archaeological_files/migrations/0020_auto_20190910_1242.py | 433 | ||||
-rw-r--r-- | archaeological_finds/migrations/0072_auto_20190910_1242.py | 1688 | ||||
-rw-r--r-- | archaeological_operations/migrations/0064_auto_20190910_1241.py | 1312 | ||||
-rw-r--r-- | archaeological_warehouse/migrations/0038_auto_20190910_1242.py | 505 | ||||
-rw-r--r-- | ishtar_common/migrations/0106_auto_20190910_1245.py | 1940 | ||||
-rw-r--r-- | ishtar_common/models.py | 1 | ||||
-rw-r--r-- | ishtar_common/serializers.py | 1 |
8 files changed, 6569 insertions, 1 deletions
diff --git a/archaeological_context_records/migrations/0052_auto_20190910_1242.py b/archaeological_context_records/migrations/0052_auto_20190910_1242.py new file mode 100644 index 000000000..618032350 --- /dev/null +++ b/archaeological_context_records/migrations/0052_auto_20190910_1242.py @@ -0,0 +1,690 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.18 on 2019-09-10 12:42 +from __future__ import unicode_literals + +from django.conf import settings +import django.contrib.gis.db.models.fields +import django.contrib.postgres.search +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import ishtar_common.models +import re + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_context_records', '0051_auto_20190904_1509'), + ] + + operations = [ + migrations.AlterModelOptions( + name='activitytype', + options={'ordering': ('order',), 'verbose_name': 'Activity Type', 'verbose_name_plural': 'Activity Types'}, + ), + migrations.AlterModelOptions( + name='contextrecord', + options={'ordering': ('cached_label',), 'permissions': (('view_contextrecord', 'Can view all Context Records'), ('view_own_contextrecord', 'Can view own Context Record'), ('add_own_contextrecord', 'Can add own Context Record'), ('change_own_contextrecord', 'Can change own Context Record'), ('delete_own_contextrecord', 'Can delete own Context Record')), 'verbose_name': 'Context Record', 'verbose_name_plural': 'Context Record'}, + ), + migrations.AlterModelOptions( + name='dating', + options={'verbose_name': 'Dating', 'verbose_name_plural': 'Datings'}, + ), + migrations.AlterModelOptions( + name='datingquality', + options={'ordering': ('label',), 'verbose_name': 'Dating quality type', 'verbose_name_plural': 'Dating quality types'}, + ), + migrations.AlterModelOptions( + name='datingtype', + options={'ordering': ('label',), 'verbose_name': 'Dating type', 'verbose_name_plural': 'Dating types'}, + ), + migrations.AlterModelOptions( + name='documentationtype', + options={'ordering': ('label',), 'verbose_name': 'Documentation type', 'verbose_name_plural': 'Documentation types'}, + ), + migrations.AlterModelOptions( + name='excavationtechnictype', + options={'ordering': ('label',), 'verbose_name': 'Excavation technique type', 'verbose_name_plural': 'Excavation technique types'}, + ), + migrations.AlterModelOptions( + name='historicalcontextrecord', + options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Context Record'}, + ), + migrations.AlterModelOptions( + name='identificationtype', + options={'ordering': ('order', 'label'), 'verbose_name': 'Identification Type', 'verbose_name_plural': 'Identification Types'}, + ), + migrations.AlterModelOptions( + name='recordrelations', + options={'permissions': [('view_recordrelation', 'Can view all Context record relations')], 'verbose_name': 'Record relation', 'verbose_name_plural': 'Record relations'}, + ), + migrations.AlterModelOptions( + name='relationtype', + options={'ordering': ('order', 'label'), 'verbose_name': 'Relation type', 'verbose_name_plural': 'Relation types'}, + ), + migrations.AlterModelOptions( + name='unit', + options={'ordering': ('order', 'label'), 'verbose_name': 'Context record Type', 'verbose_name_plural': 'Context record Types'}, + ), + migrations.AlterField( + model_name='activitytype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='activitytype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='activitytype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='activitytype', + name='order', + field=models.IntegerField(verbose_name='Order'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='contextrecord', + name='activity', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_context_records.ActivityType', verbose_name='Activity'), + ), + migrations.AlterField( + model_name='contextrecord', + name='archaeological_site', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='context_records', to='archaeological_operations.ArchaeologicalSite', verbose_name='Archaeological site'), + ), + migrations.AlterField( + model_name='contextrecord', + name='auto_external_id', + field=models.BooleanField(default=False, verbose_name='External ID is set automatically'), + ), + migrations.AlterField( + model_name='contextrecord', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='contextrecord', + name='closing_date', + field=models.DateField(blank=True, null=True, verbose_name='Closing date'), + ), + migrations.AlterField( + model_name='contextrecord', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='General comment'), + ), + migrations.AlterField( + model_name='contextrecord', + name='datings_comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment on datings'), + ), + migrations.AlterField( + model_name='contextrecord', + name='depth', + field=models.FloatField(blank=True, null=True, verbose_name='Depth (m)'), + ), + migrations.AlterField( + model_name='contextrecord', + name='depth_of_appearance', + field=models.FloatField(blank=True, null=True, verbose_name='Depth of appearance (m)'), + ), + migrations.AlterField( + model_name='contextrecord', + name='diameter', + field=models.FloatField(blank=True, null=True, verbose_name='Diameter (m)'), + ), + migrations.AlterField( + model_name='contextrecord', + name='estimated_error_x', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for X'), + ), + migrations.AlterField( + model_name='contextrecord', + name='estimated_error_y', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Y'), + ), + migrations.AlterField( + model_name='contextrecord', + name='estimated_error_z', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Z'), + ), + migrations.AlterField( + model_name='contextrecord', + name='excavation_technic', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_context_records.ExcavationTechnicType', verbose_name='Excavation technique'), + ), + migrations.AlterField( + model_name='contextrecord', + name='external_id', + field=models.TextField(blank=True, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='contextrecord', + name='filling', + field=models.TextField(blank=True, null=True, verbose_name='Filling'), + ), + migrations.AlterField( + model_name='contextrecord', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='contextrecord', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='contextrecord', + name='interpretation', + field=models.TextField(blank=True, null=True, verbose_name='Interpretation'), + ), + migrations.AlterField( + model_name='contextrecord', + name='label', + field=models.CharField(max_length=200, verbose_name='ID'), + ), + migrations.AlterField( + model_name='contextrecord', + name='length', + field=models.FloatField(blank=True, null=True, verbose_name='Length (m)'), + ), + migrations.AlterField( + model_name='contextrecord', + name='location', + field=models.TextField(blank=True, help_text='A short description of the location of the context record', null=True, verbose_name='Location'), + ), + migrations.AlterField( + model_name='contextrecord', + name='main_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_image_context_records', to='ishtar_common.Document', verbose_name='Main image'), + ), + migrations.AlterField( + model_name='contextrecord', + name='multi_polygon', + field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon'), + ), + migrations.AlterField( + model_name='contextrecord', + name='multi_polygon_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Multi-polygon source'), + ), + migrations.AlterField( + model_name='contextrecord', + name='multi_polygon_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Multi polygon source item'), + ), + migrations.AlterField( + model_name='contextrecord', + name='opening_date', + field=models.DateField(blank=True, null=True, verbose_name='Opening date'), + ), + migrations.AlterField( + model_name='contextrecord', + name='operation', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='context_record', to='archaeological_operations.Operation', verbose_name='Operation'), + ), + migrations.AlterField( + model_name='contextrecord', + name='parcel', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='context_record', to='archaeological_operations.Parcel', verbose_name='Parcel'), + ), + migrations.AlterField( + model_name='contextrecord', + name='point_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Point source'), + ), + migrations.AlterField( + model_name='contextrecord', + name='point_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Point source item'), + ), + migrations.AlterField( + model_name='contextrecord', + name='relation_image', + field=models.FileField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', null=True, upload_to=ishtar_common.models.get_image_path, verbose_name='Generated relation image (SVG)'), + ), + migrations.AlterField( + model_name='contextrecord', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='contextrecord', + name='spatial_reference_system', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.SpatialReferenceSystem', verbose_name='Spatial Reference System'), + ), + migrations.AlterField( + model_name='contextrecord', + name='taq', + field=models.IntegerField(blank=True, help_text='"Terminus Ante Quem" the context record can\'t have been created after this date', null=True, verbose_name='TAQ'), + ), + migrations.AlterField( + model_name='contextrecord', + name='taq_estimated', + field=models.IntegerField(blank=True, help_text='Estimation of a "Terminus Ante Quem"', null=True, verbose_name='Estimated TAQ'), + ), + migrations.AlterField( + model_name='contextrecord', + name='thickness', + field=models.FloatField(blank=True, null=True, verbose_name='Thickness (m)'), + ), + migrations.AlterField( + model_name='contextrecord', + name='town', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='context_record', to='ishtar_common.Town', verbose_name='Town'), + ), + migrations.AlterField( + model_name='contextrecord', + name='tpq', + field=models.IntegerField(blank=True, help_text='"Terminus Post Quem" the context record can\'t have been created before this date', null=True, verbose_name='TPQ'), + ), + migrations.AlterField( + model_name='contextrecord', + name='tpq_estimated', + field=models.IntegerField(blank=True, help_text='Estimation of a "Terminus Post Quem"', null=True, verbose_name='Estimated TPQ'), + ), + migrations.AlterField( + model_name='contextrecord', + name='unit', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='archaeological_context_records.Unit', verbose_name='Context record type'), + ), + migrations.AlterField( + model_name='contextrecord', + name='width', + field=models.FloatField(blank=True, null=True, verbose_name='Width (m)'), + ), + migrations.AlterField( + model_name='contextrecord', + name='x', + field=models.FloatField(blank=True, null=True, verbose_name='X'), + ), + migrations.AlterField( + model_name='contextrecord', + name='y', + field=models.FloatField(blank=True, null=True, verbose_name='Y'), + ), + migrations.AlterField( + model_name='dating', + name='dating_type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_context_records.DatingType', verbose_name='Dating type'), + ), + migrations.AlterField( + model_name='dating', + name='end_date', + field=models.IntegerField(blank=True, null=True, verbose_name='End date'), + ), + migrations.AlterField( + model_name='dating', + name='period', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='archaeological_operations.Period', verbose_name='Period'), + ), + migrations.AlterField( + model_name='dating', + name='precise_dating', + field=models.TextField(blank=True, null=True, verbose_name='Precise dating'), + ), + migrations.AlterField( + model_name='dating', + name='quality', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_context_records.DatingQuality', verbose_name='Quality'), + ), + migrations.AlterField( + model_name='dating', + name='start_date', + field=models.IntegerField(blank=True, null=True, verbose_name='Start date'), + ), + migrations.AlterField( + model_name='datingquality', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='datingquality', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='datingquality', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='datingtype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='datingtype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='datingtype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='documentationtype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='documentationtype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='documentationtype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='excavationtechnictype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='excavationtechnictype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='excavationtechnictype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='auto_external_id', + field=models.BooleanField(default=False, verbose_name='External ID is set automatically'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='closing_date', + field=models.DateField(blank=True, null=True, verbose_name='Closing date'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='General comment'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='datings_comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment on datings'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='depth', + field=models.FloatField(blank=True, null=True, verbose_name='Depth (m)'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='depth_of_appearance', + field=models.FloatField(blank=True, null=True, verbose_name='Depth of appearance (m)'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='diameter', + field=models.FloatField(blank=True, null=True, verbose_name='Diameter (m)'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='estimated_error_x', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for X'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='estimated_error_y', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Y'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='estimated_error_z', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Z'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='external_id', + field=models.TextField(blank=True, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='filling', + field=models.TextField(blank=True, null=True, verbose_name='Filling'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='interpretation', + field=models.TextField(blank=True, null=True, verbose_name='Interpretation'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='label', + field=models.CharField(max_length=200, verbose_name='ID'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='length', + field=models.FloatField(blank=True, null=True, verbose_name='Length (m)'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='location', + field=models.TextField(blank=True, help_text='A short description of the location of the context record', null=True, verbose_name='Location'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='multi_polygon', + field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='multi_polygon_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Multi-polygon source'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='multi_polygon_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Multi polygon source item'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='opening_date', + field=models.DateField(blank=True, null=True, verbose_name='Opening date'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='point_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Point source'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='point_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Point source item'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='relation_image', + field=models.TextField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=100, null=True, verbose_name='Generated relation image (SVG)'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='taq', + field=models.IntegerField(blank=True, help_text='"Terminus Ante Quem" the context record can\'t have been created after this date', null=True, verbose_name='TAQ'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='taq_estimated', + field=models.IntegerField(blank=True, help_text='Estimation of a "Terminus Ante Quem"', null=True, verbose_name='Estimated TAQ'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='thickness', + field=models.FloatField(blank=True, null=True, verbose_name='Thickness (m)'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='tpq', + field=models.IntegerField(blank=True, help_text='"Terminus Post Quem" the context record can\'t have been created before this date', null=True, verbose_name='TPQ'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='tpq_estimated', + field=models.IntegerField(blank=True, help_text='Estimation of a "Terminus Post Quem"', null=True, verbose_name='Estimated TPQ'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='width', + field=models.FloatField(blank=True, null=True, verbose_name='Width (m)'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='x', + field=models.FloatField(blank=True, null=True, verbose_name='X'), + ), + migrations.AlterField( + model_name='historicalcontextrecord', + name='y', + field=models.FloatField(blank=True, null=True, verbose_name='Y'), + ), + migrations.AlterField( + model_name='identificationtype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='identificationtype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='identificationtype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='identificationtype', + name='order', + field=models.IntegerField(verbose_name='Order'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='relationtype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='relationtype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='relationtype', + name='inverse_relation', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='archaeological_context_records.RelationType', verbose_name='Inverse relation'), + ), + migrations.AlterField( + model_name='relationtype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='relationtype', + name='logical_relation', + field=models.CharField(blank=True, choices=[('above', 'Above'), ('below', 'Below'), ('equal', 'Equal')], max_length=10, null=True, verbose_name='Logical relation'), + ), + migrations.AlterField( + model_name='relationtype', + name='order', + field=models.IntegerField(default=1, verbose_name='Order'), + ), + migrations.AlterField( + model_name='relationtype', + name='symmetrical', + field=models.BooleanField(verbose_name='Symmetrical'), + ), + migrations.AlterField( + model_name='relationtype', + name='tiny_label', + field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Tiny label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='unit', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='unit', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='unit', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='unit', + name='order', + field=models.IntegerField(verbose_name='Order'), + ), + migrations.AlterField( + model_name='unit', + name='parent', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_context_records.Unit', verbose_name='Parent context record type'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + ] diff --git a/archaeological_files/migrations/0020_auto_20190910_1242.py b/archaeological_files/migrations/0020_auto_20190910_1242.py new file mode 100644 index 000000000..f3ba52b86 --- /dev/null +++ b/archaeological_files/migrations/0020_auto_20190910_1242.py @@ -0,0 +1,433 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.18 on 2019-09-10 12:42 +from __future__ import unicode_literals + +import datetime +from django.conf import settings +import django.contrib.postgres.search +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import ishtar_common.utils +import re + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_files', '0019_auto_20190628_1257'), + ] + + operations = [ + migrations.AlterModelOptions( + name='file', + options={'ordering': ('cached_label',), 'permissions': (('view_file', 'Can view all Archaeological files'), ('view_own_file', 'Can view own Archaeological file'), ('add_own_file', 'Can add own Archaeological file'), ('change_own_file', 'Can change own Archaeological file'), ('delete_own_file', 'Can delete own Archaeological file'), ('close_file', 'Can close File')), 'verbose_name': 'Archaeological file', 'verbose_name_plural': 'Archaeological files'}, + ), + migrations.AlterModelOptions( + name='filetype', + options={'ordering': ('label',), 'verbose_name': 'Archaeological file type', 'verbose_name_plural': 'Archaeological file types'}, + ), + migrations.AlterModelOptions( + name='historicalfile', + options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Archaeological file'}, + ), + migrations.AlterModelOptions( + name='permittype', + options={'ordering': ('label',), 'verbose_name': 'Permit type', 'verbose_name_plural': 'Permit types'}, + ), + migrations.AlterField( + model_name='file', + name='address', + field=models.TextField(blank=True, null=True, verbose_name='Main address'), + ), + migrations.AlterField( + model_name='file', + name='auto_external_id', + field=models.BooleanField(default=False, verbose_name='External ID is set automatically'), + ), + migrations.AlterField( + model_name='file', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='file', + name='classified_area', + field=models.NullBooleanField(verbose_name='Classified area'), + ), + migrations.AlterField( + model_name='file', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='file', + name='corporation_general_contractor', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='general_contractor_files', to='ishtar_common.Organization', verbose_name='General contractor organization'), + ), + migrations.AlterField( + model_name='file', + name='creation_date', + field=models.DateField(blank=True, default=datetime.date.today, null=True, verbose_name='Creation date'), + ), + migrations.AlterField( + model_name='file', + name='departments', + field=models.ManyToManyField(blank=True, to='ishtar_common.Department', verbose_name='Departments'), + ), + migrations.AlterField( + model_name='file', + name='end_date', + field=models.DateField(blank=True, null=True, verbose_name='Closing date'), + ), + migrations.AlterField( + model_name='file', + name='external_id', + field=models.CharField(blank=True, max_length=120, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='file', + name='file_type', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='archaeological_files.FileType', verbose_name='File type'), + ), + migrations.AlterField( + model_name='file', + name='general_contractor', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='general_contractor_files', to='ishtar_common.Person', verbose_name='General contractor'), + ), + migrations.AlterField( + model_name='file', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='file', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='file', + name='imported_line', + field=models.TextField(blank=True, null=True, verbose_name='Imported line'), + ), + migrations.AlterField( + model_name='file', + name='in_charge', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='file_responsability', to='ishtar_common.Person', verbose_name='Person in charge'), + ), + migrations.AlterField( + model_name='file', + name='instruction_deadline', + field=models.DateField(blank=True, null=True, verbose_name='Instruction deadline'), + ), + migrations.AlterField( + model_name='file', + name='internal_reference', + field=models.CharField(blank=True, max_length=60, null=True, verbose_name='Internal reference'), + ), + migrations.AlterField( + model_name='file', + name='locality', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Locality'), + ), + migrations.AlterField( + model_name='file', + name='main_town', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='file_main', to='ishtar_common.Town', verbose_name='Main town'), + ), + migrations.AlterField( + model_name='file', + name='name', + field=models.TextField(blank=True, null=True, verbose_name='Name'), + ), + migrations.AlterField( + model_name='file', + name='numeric_reference', + field=models.IntegerField(blank=True, null=True, verbose_name='Numeric reference'), + ), + migrations.AlterField( + model_name='file', + name='organization', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='files', to='ishtar_common.Organization', verbose_name='Organization'), + ), + migrations.AlterField( + model_name='file', + name='permit_reference', + field=models.TextField(blank=True, null=True, verbose_name='Permit reference'), + ), + migrations.AlterField( + model_name='file', + name='permit_type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_files.PermitType', verbose_name='Permit type'), + ), + migrations.AlterField( + model_name='file', + name='planning_service', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='planning_service_files', to='ishtar_common.Organization', verbose_name='Planning service organization'), + ), + migrations.AlterField( + model_name='file', + name='postal_code', + field=models.CharField(blank=True, max_length=10, null=True, verbose_name='Main address - postal code'), + ), + migrations.AlterField( + model_name='file', + name='protected_area', + field=models.NullBooleanField(verbose_name='Protected area'), + ), + migrations.AlterField( + model_name='file', + name='raw_general_contractor', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='General contractor (raw)'), + ), + migrations.AlterField( + model_name='file', + name='raw_town_planning_service', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Planning service (raw)'), + ), + migrations.AlterField( + model_name='file', + name='reception_date', + field=models.DateField(blank=True, null=True, verbose_name='Reception date'), + ), + migrations.AlterField( + model_name='file', + name='related_file', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_files.File', verbose_name='Related file'), + ), + migrations.AlterField( + model_name='file', + name='requested_operation_type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='ishtar_common.OperationType', verbose_name='Requested operation type'), + ), + migrations.AlterField( + model_name='file', + name='research_comment', + field=models.TextField(blank=True, null=True, verbose_name='Research archaeology comment'), + ), + migrations.AlterField( + model_name='file', + name='responsible_town_planning_service', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='responsible_town_planning_service_files', to='ishtar_common.Person', verbose_name='Responsible for planning service'), + ), + migrations.AlterField( + model_name='file', + name='scientist', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='scientist', to='ishtar_common.Person', verbose_name='Scientist in charge'), + ), + migrations.AlterField( + model_name='file', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='file', + name='total_developed_surface', + field=models.FloatField(blank=True, null=True, verbose_name='Total developed surface (m2)'), + ), + migrations.AlterField( + model_name='file', + name='total_surface', + field=models.FloatField(blank=True, null=True, verbose_name='Total surface (m2)'), + ), + migrations.AlterField( + model_name='file', + name='towns', + field=models.ManyToManyField(blank=True, related_name='file', to='ishtar_common.Town', verbose_name='Towns'), + ), + migrations.AlterField( + model_name='file', + name='year', + field=models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year'), + ), + migrations.AlterField( + model_name='filetype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='filetype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='filetype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='historicalfile', + name='address', + field=models.TextField(blank=True, null=True, verbose_name='Main address'), + ), + migrations.AlterField( + model_name='historicalfile', + name='auto_external_id', + field=models.BooleanField(default=False, verbose_name='External ID is set automatically'), + ), + migrations.AlterField( + model_name='historicalfile', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='historicalfile', + name='classified_area', + field=models.NullBooleanField(verbose_name='Classified area'), + ), + migrations.AlterField( + model_name='historicalfile', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='historicalfile', + name='creation_date', + field=models.DateField(blank=True, default=datetime.date.today, null=True, verbose_name='Creation date'), + ), + migrations.AlterField( + model_name='historicalfile', + name='end_date', + field=models.DateField(blank=True, null=True, verbose_name='Closing date'), + ), + migrations.AlterField( + model_name='historicalfile', + name='external_id', + field=models.CharField(blank=True, max_length=120, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='historicalfile', + name='imported_line', + field=models.TextField(blank=True, null=True, verbose_name='Imported line'), + ), + migrations.AlterField( + model_name='historicalfile', + name='instruction_deadline', + field=models.DateField(blank=True, null=True, verbose_name='Instruction deadline'), + ), + migrations.AlterField( + model_name='historicalfile', + name='internal_reference', + field=models.CharField(blank=True, max_length=60, null=True, verbose_name='Internal reference'), + ), + migrations.AlterField( + model_name='historicalfile', + name='locality', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Locality'), + ), + migrations.AlterField( + model_name='historicalfile', + name='name', + field=models.TextField(blank=True, null=True, verbose_name='Name'), + ), + migrations.AlterField( + model_name='historicalfile', + name='numeric_reference', + field=models.IntegerField(blank=True, null=True, verbose_name='Numeric reference'), + ), + migrations.AlterField( + model_name='historicalfile', + name='permit_reference', + field=models.TextField(blank=True, null=True, verbose_name='Permit reference'), + ), + migrations.AlterField( + model_name='historicalfile', + name='postal_code', + field=models.CharField(blank=True, max_length=10, null=True, verbose_name='Main address - postal code'), + ), + migrations.AlterField( + model_name='historicalfile', + name='protected_area', + field=models.NullBooleanField(verbose_name='Protected area'), + ), + migrations.AlterField( + model_name='historicalfile', + name='raw_general_contractor', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='General contractor (raw)'), + ), + migrations.AlterField( + model_name='historicalfile', + name='raw_town_planning_service', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Planning service (raw)'), + ), + migrations.AlterField( + model_name='historicalfile', + name='reception_date', + field=models.DateField(blank=True, null=True, verbose_name='Reception date'), + ), + migrations.AlterField( + model_name='historicalfile', + name='research_comment', + field=models.TextField(blank=True, null=True, verbose_name='Research archaeology comment'), + ), + migrations.AlterField( + model_name='historicalfile', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='historicalfile', + name='total_developed_surface', + field=models.FloatField(blank=True, null=True, verbose_name='Total developed surface (m2)'), + ), + migrations.AlterField( + model_name='historicalfile', + name='total_surface', + field=models.FloatField(blank=True, null=True, verbose_name='Total surface (m2)'), + ), + migrations.AlterField( + model_name='historicalfile', + name='year', + field=models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year'), + ), + migrations.AlterField( + model_name='permittype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='permittype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='permittype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='saisinetype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='saisinetype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='saisinetype', + name='delay', + field=models.IntegerField(default=30, verbose_name='Delay (in days)'), + ), + migrations.AlterField( + model_name='saisinetype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + ] diff --git a/archaeological_finds/migrations/0072_auto_20190910_1242.py b/archaeological_finds/migrations/0072_auto_20190910_1242.py new file mode 100644 index 000000000..61a37f4fc --- /dev/null +++ b/archaeological_finds/migrations/0072_auto_20190910_1242.py @@ -0,0 +1,1688 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.18 on 2019-09-10 12:42 +from __future__ import unicode_literals + +import archaeological_finds.models_treatments +import datetime +from django.conf import settings +import django.contrib.gis.db.models.fields +import django.contrib.postgres.search +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import ishtar_common.utils +import re + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_finds', '0071_findbasket_uuid'), + ] + + operations = [ + migrations.AlterModelOptions( + name='alterationcausetype', + options={'ordering': ('parent__label', 'label'), 'verbose_name': 'Alteration cause type', 'verbose_name_plural': 'Alteration cause types'}, + ), + migrations.AlterModelOptions( + name='alterationtype', + options={'ordering': ('parent__label', 'label'), 'verbose_name': 'Alteration type', 'verbose_name_plural': 'Alteration types'}, + ), + migrations.AlterModelOptions( + name='basefind', + options={'permissions': (('view_basefind', 'Can view all Base finds'), ('view_own_basefind', 'Can view own Base find'), ('add_own_basefind', 'Can add own Base find'), ('change_own_basefind', 'Can change own Base find'), ('delete_own_basefind', 'Can delete own Base find')), 'verbose_name': 'Base find', 'verbose_name_plural': 'Base finds'}, + ), + migrations.AlterModelOptions( + name='batchtype', + options={'ordering': ('order',), 'verbose_name': 'Batch type', 'verbose_name_plural': 'Batch types'}, + ), + migrations.AlterModelOptions( + name='checkedtype', + options={'ordering': ('order',), 'verbose_name': 'Checked type', 'verbose_name_plural': 'Checked types'}, + ), + migrations.AlterModelOptions( + name='communicabilitytype', + options={'ordering': ('parent__label', 'label'), 'verbose_name': 'Communicability type', 'verbose_name_plural': 'Communicability types'}, + ), + migrations.AlterModelOptions( + name='conservatorystate', + options={'ordering': ('order', 'label'), 'verbose_name': 'Conservatory state type', 'verbose_name_plural': 'Conservatory state types'}, + ), + migrations.AlterModelOptions( + name='find', + options={'ordering': ('cached_label',), 'permissions': (('view_find', 'Can view all Finds'), ('view_own_find', 'Can view own Find'), ('add_own_find', 'Can add own Find'), ('change_own_find', 'Can change own Find'), ('delete_own_find', 'Can delete own Find')), 'verbose_name': 'Find', 'verbose_name_plural': 'Finds'}, + ), + migrations.AlterModelOptions( + name='findbasket', + options={'ordering': ('label',), 'permissions': (('view_find', 'Can view all Finds'), ('view_own_find', 'Can view own Find')), 'verbose_name': 'Basket'}, + ), + migrations.AlterModelOptions( + name='historicalbasefind', + options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Base find'}, + ), + migrations.AlterModelOptions( + name='historicalfind', + options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Find'}, + ), + migrations.AlterModelOptions( + name='historicaltreatment', + options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Treatment'}, + ), + migrations.AlterModelOptions( + name='historicaltreatmentfile', + options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Treatment request'}, + ), + migrations.AlterModelOptions( + name='integritytype', + options={'ordering': ('label',), 'verbose_name': 'Integrity / interest type', 'verbose_name_plural': 'Integrity / interest types'}, + ), + migrations.AlterModelOptions( + name='materialtype', + options={'ordering': ('label',), 'verbose_name': 'Material type', 'verbose_name_plural': 'Material types'}, + ), + migrations.AlterModelOptions( + name='materialtypequalitytype', + options={'ordering': ('order',), 'verbose_name': 'Material type quality type', 'verbose_name_plural': 'Material type quality types'}, + ), + migrations.AlterModelOptions( + name='objecttype', + options={'ordering': ('parent__label', 'label'), 'verbose_name': 'Object type', 'verbose_name_plural': 'Object types'}, + ), + migrations.AlterModelOptions( + name='objecttypequalitytype', + options={'ordering': ('order',), 'verbose_name': 'Object type quality type', 'verbose_name_plural': 'Object type quality types'}, + ), + migrations.AlterModelOptions( + name='property', + options={'verbose_name': 'Property', 'verbose_name_plural': 'Properties'}, + ), + migrations.AlterModelOptions( + name='remarkabilitytype', + options={'ordering': ('label',), 'verbose_name': 'Remarkability type', 'verbose_name_plural': 'Remarkability types'}, + ), + migrations.AlterModelOptions( + name='treatment', + options={'ordering': ('-year', '-index', '-start_date'), 'permissions': (('view_treatment', 'Can view all Treatments'), ('view_own_treatment', 'Can view own Treatment'), ('add_own_treatment', 'Can add own Treatment'), ('change_own_treatment', 'Can change own Treatment'), ('delete_own_treatment', 'Can delete own Treatment')), 'verbose_name': 'Treatment', 'verbose_name_plural': 'Treatments'}, + ), + migrations.AlterModelOptions( + name='treatmentemergencytype', + options={'ordering': ('label',), 'verbose_name': 'Treatment emergency type', 'verbose_name_plural': 'Treatment emergency types'}, + ), + migrations.AlterModelOptions( + name='treatmentfile', + options={'ordering': ('cached_label',), 'permissions': (('view_treatmentfile', 'Can view all Treatment requests'), ('view_own_treatmentfile', 'Can view own Treatment request'), ('add_own_treatmentfile', 'Can add own Treatment request'), ('change_own_treatmentfile', 'Can change own Treatment request'), ('delete_own_treatmentfile', 'Can delete own Treatment request')), 'verbose_name': 'Treatment request', 'verbose_name_plural': 'Treatment requests'}, + ), + migrations.AlterModelOptions( + name='treatmentfiletype', + options={'ordering': ('label',), 'verbose_name': 'Treatment request type', 'verbose_name_plural': 'Treatment request types'}, + ), + migrations.AlterModelOptions( + name='treatmentstate', + options={'ordering': ('order', 'label'), 'verbose_name': 'Treatment state type', 'verbose_name_plural': 'Treatment state types'}, + ), + migrations.AlterModelOptions( + name='treatmenttype', + options={'ordering': ('order', 'label'), 'verbose_name': 'Treatment type', 'verbose_name_plural': 'Treatment types'}, + ), + migrations.AlterField( + model_name='alterationcausetype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='alterationcausetype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='alterationcausetype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='alterationtype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='alterationtype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='alterationtype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='basefind', + name='auto_external_id', + field=models.BooleanField(default=False, verbose_name='External ID is set automatically'), + ), + migrations.AlterField( + model_name='basefind', + name='batch', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_finds.BatchType', verbose_name='Batch/object'), + ), + migrations.AlterField( + model_name='basefind', + name='cache_complete_id', + field=models.TextField(blank=True, db_index=True, help_text='Cached value - do not edit', null=True, verbose_name='Complete ID'), + ), + migrations.AlterField( + model_name='basefind', + name='cache_short_id', + field=models.TextField(blank=True, db_index=True, help_text='Cached value - do not edit', null=True, verbose_name='Short ID'), + ), + migrations.AlterField( + model_name='basefind', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='basefind', + name='context_record', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='base_finds', to='archaeological_context_records.ContextRecord', verbose_name='Context Record'), + ), + migrations.AlterField( + model_name='basefind', + name='discovery_date', + field=models.DateField(blank=True, null=True, verbose_name='Discovery date (exact or TPQ)'), + ), + migrations.AlterField( + model_name='basefind', + name='discovery_date_taq', + field=models.DateField(blank=True, null=True, verbose_name='Discovery date (TAQ)'), + ), + migrations.AlterField( + model_name='basefind', + name='estimated_error_x', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for X'), + ), + migrations.AlterField( + model_name='basefind', + name='estimated_error_y', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Y'), + ), + migrations.AlterField( + model_name='basefind', + name='estimated_error_z', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Z'), + ), + migrations.AlterField( + model_name='basefind', + name='excavation_id', + field=models.TextField(blank=True, null=True, verbose_name='Excavation ID'), + ), + migrations.AlterField( + model_name='basefind', + name='external_id', + field=models.TextField(blank=True, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='basefind', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='basefind', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='basefind', + name='label', + field=models.TextField(verbose_name='Free ID'), + ), + migrations.AlterField( + model_name='basefind', + name='line', + field=django.contrib.gis.db.models.fields.LineStringField(blank=True, null=True, srid=4326, verbose_name='Line'), + ), + migrations.AlterField( + model_name='basefind', + name='material_index', + field=models.IntegerField(default=0, verbose_name='Material index'), + ), + migrations.AlterField( + model_name='basefind', + name='multi_polygon', + field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon'), + ), + migrations.AlterField( + model_name='basefind', + name='multi_polygon_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Multi-polygon source'), + ), + migrations.AlterField( + model_name='basefind', + name='multi_polygon_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Multi polygon source item'), + ), + migrations.AlterField( + model_name='basefind', + name='point_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Point source'), + ), + migrations.AlterField( + model_name='basefind', + name='point_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Point source item'), + ), + migrations.AlterField( + model_name='basefind', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='basefind', + name='spatial_reference_system', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.SpatialReferenceSystem', verbose_name='Spatial Reference System'), + ), + migrations.AlterField( + model_name='basefind', + name='special_interest', + field=models.CharField(blank=True, max_length=120, null=True, verbose_name='Special interest'), + ), + migrations.AlterField( + model_name='basefind', + name='topographic_localisation', + field=models.CharField(blank=True, max_length=120, null=True, verbose_name='Point of topographic reference'), + ), + migrations.AlterField( + model_name='basefind', + name='x', + field=models.FloatField(blank=True, null=True, verbose_name='X'), + ), + migrations.AlterField( + model_name='basefind', + name='y', + field=models.FloatField(blank=True, null=True, verbose_name='Y'), + ), + migrations.AlterField( + model_name='batchtype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='batchtype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='batchtype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='batchtype', + name='order', + field=models.IntegerField(default=10, verbose_name='Order'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='checkedtype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='checkedtype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='checkedtype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='checkedtype', + name='order', + field=models.IntegerField(default=10, verbose_name='Order'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='communicabilitytype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='communicabilitytype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='communicabilitytype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='conservatorystate', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='conservatorystate', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='conservatorystate', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='conservatorystate', + name='order', + field=models.IntegerField(default=10, verbose_name='Order'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='find', + name='alteration_causes', + field=models.ManyToManyField(blank=True, related_name='finds', to='archaeological_finds.AlterationCauseType', verbose_name='Alteration cause'), + ), + migrations.AlterField( + model_name='find', + name='alterations', + field=models.ManyToManyField(blank=True, related_name='finds', to='archaeological_finds.AlterationType', verbose_name='Alteration'), + ), + migrations.AlterField( + model_name='find', + name='appraisal_date', + field=models.DateField(blank=True, null=True, verbose_name='Appraisal date'), + ), + migrations.AlterField( + model_name='find', + name='auto_external_id', + field=models.BooleanField(default=False, verbose_name='External ID is set automatically'), + ), + migrations.AlterField( + model_name='find', + name='base_finds', + field=models.ManyToManyField(related_name='find', to='archaeological_finds.BaseFind', verbose_name='Base find'), + ), + migrations.AlterField( + model_name='find', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='find', + name='check_date', + field=models.DateField(default=datetime.date.today, verbose_name='Check date'), + ), + migrations.AlterField( + model_name='find', + name='checked_type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_finds.CheckedType', verbose_name='Check'), + ), + migrations.AlterField( + model_name='find', + name='circumference', + field=models.FloatField(blank=True, null=True, verbose_name='Circumference (cm)'), + ), + migrations.AlterField( + model_name='find', + name='clutter_height', + field=models.FloatField(blank=True, null=True, verbose_name='Clutter - height (cm)'), + ), + migrations.AlterField( + model_name='find', + name='clutter_long_side', + field=models.FloatField(blank=True, null=True, verbose_name='Clutter - long side (cm)'), + ), + migrations.AlterField( + model_name='find', + name='clutter_short_side', + field=models.FloatField(blank=True, null=True, verbose_name='Clutter - short side (cm)'), + ), + migrations.AlterField( + model_name='find', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='find', + name='communicabilities', + field=models.ManyToManyField(blank=True, related_name='find', to='archaeological_finds.CommunicabilityType', verbose_name='Communicability'), + ), + migrations.AlterField( + model_name='find', + name='conservatory_comment', + field=models.TextField(blank=True, null=True, verbose_name='Conservatory comment'), + ), + migrations.AlterField( + model_name='find', + name='conservatory_state', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_finds.ConservatoryState', verbose_name='Conservatory state'), + ), + migrations.AlterField( + model_name='find', + name='container', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='finds', to='archaeological_warehouse.Container', verbose_name='Container'), + ), + migrations.AlterField( + model_name='find', + name='container_ref', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='finds_ref', to='archaeological_warehouse.Container', verbose_name='Reference container'), + ), + migrations.AlterField( + model_name='find', + name='dating_comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment on dating'), + ), + migrations.AlterField( + model_name='find', + name='datings', + field=models.ManyToManyField(related_name='find', to='archaeological_context_records.Dating', verbose_name='Dating'), + ), + migrations.AlterField( + model_name='find', + name='decoration', + field=models.TextField(blank=True, null=True, verbose_name='Decoration'), + ), + migrations.AlterField( + model_name='find', + name='denomination', + field=models.TextField(blank=True, null=True, verbose_name='Denomination'), + ), + migrations.AlterField( + model_name='find', + name='diameter', + field=models.FloatField(blank=True, null=True, verbose_name='Diameter (cm)'), + ), + migrations.AlterField( + model_name='find', + name='dimensions_comment', + field=models.TextField(blank=True, null=True, verbose_name='Dimensions comment'), + ), + migrations.AlterField( + model_name='find', + name='downstream_treatment', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='upstream', to='archaeological_finds.Treatment', verbose_name='Downstream treatment'), + ), + migrations.AlterField( + model_name='find', + name='estimated_value', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated value'), + ), + migrations.AlterField( + model_name='find', + name='external_id', + field=models.TextField(blank=True, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='find', + name='find_number', + field=models.IntegerField(blank=True, null=True, verbose_name='Find number'), + ), + migrations.AlterField( + model_name='find', + name='height', + field=models.FloatField(blank=True, null=True, verbose_name='Height (cm)'), + ), + migrations.AlterField( + model_name='find', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='find', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='find', + name='insurance_value', + field=models.FloatField(blank=True, null=True, verbose_name='Insurance value'), + ), + migrations.AlterField( + model_name='find', + name='integrities', + field=models.ManyToManyField(blank=True, related_name='find', to='archaeological_finds.IntegrityType', verbose_name='Integrity / interest'), + ), + migrations.AlterField( + model_name='find', + name='is_complete', + field=models.NullBooleanField(verbose_name='Is complete?'), + ), + migrations.AlterField( + model_name='find', + name='label', + field=models.TextField(verbose_name='Free ID'), + ), + migrations.AlterField( + model_name='find', + name='length', + field=models.FloatField(blank=True, null=True, verbose_name='Length (cm)'), + ), + migrations.AlterField( + model_name='find', + name='main_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_image_finds', to='ishtar_common.Document', verbose_name='Main image'), + ), + migrations.AlterField( + model_name='find', + name='manufacturing_place', + field=models.TextField(blank=True, null=True, verbose_name='Manufacturing place'), + ), + migrations.AlterField( + model_name='find', + name='mark', + field=models.TextField(blank=True, null=True, verbose_name='Mark'), + ), + migrations.AlterField( + model_name='find', + name='material_comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment on the material'), + ), + migrations.AlterField( + model_name='find', + name='material_type_quality', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='finds', to='archaeological_finds.MaterialTypeQualityType', verbose_name='Material type quality'), + ), + migrations.AlterField( + model_name='find', + name='material_types', + field=models.ManyToManyField(blank=True, related_name='finds', to='archaeological_finds.MaterialType', verbose_name='Material types'), + ), + migrations.AlterField( + model_name='find', + name='min_number_of_individuals', + field=models.IntegerField(blank=True, null=True, verbose_name='Minimum number of individuals (MNI)'), + ), + migrations.AlterField( + model_name='find', + name='museum_id', + field=models.TextField(blank=True, null=True, verbose_name='Museum ID'), + ), + migrations.AlterField( + model_name='find', + name='object_type_quality', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='finds', to='archaeological_finds.ObjectTypeQualityType', verbose_name='Object type quality'), + ), + migrations.AlterField( + model_name='find', + name='object_types', + field=models.ManyToManyField(blank=True, related_name='find', to='archaeological_finds.ObjectType', verbose_name='Object types'), + ), + migrations.AlterField( + model_name='find', + name='order', + field=models.IntegerField(default=1, verbose_name='Order'), + ), + migrations.AlterField( + model_name='find', + name='preservation_to_considers', + field=models.ManyToManyField(blank=True, related_name='finds_recommended', to='archaeological_finds.TreatmentType', verbose_name='Recommended treatments'), + ), + migrations.AlterField( + model_name='find', + name='previous_id', + field=models.TextField(blank=True, null=True, verbose_name='Previous ID'), + ), + migrations.AlterField( + model_name='find', + name='remarkabilities', + field=models.ManyToManyField(blank=True, related_name='find', to='archaeological_finds.RemarkabilityType', verbose_name='Remarkability'), + ), + migrations.AlterField( + model_name='find', + name='seal_number', + field=models.TextField(blank=True, null=True, verbose_name='Seal number'), + ), + migrations.AlterField( + model_name='find', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='find', + name='thickness', + field=models.FloatField(blank=True, null=True, verbose_name='Thickness (cm)'), + ), + migrations.AlterField( + model_name='find', + name='treatment_emergency', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_finds.TreatmentEmergencyType', verbose_name='Treatment emergency'), + ), + migrations.AlterField( + model_name='find', + name='treatments', + field=models.ManyToManyField(blank=True, help_text='Related treatments when no new find is created', related_name='finds', to='archaeological_finds.Treatment', verbose_name='Treatments'), + ), + migrations.AlterField( + model_name='find', + name='upstream_treatment', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='downstream', to='archaeological_finds.Treatment', verbose_name='Upstream treatment'), + ), + migrations.AlterField( + model_name='find', + name='weight', + field=models.FloatField(blank=True, null=True, verbose_name='Weight'), + ), + migrations.AlterField( + model_name='find', + name='weight_unit', + field=models.CharField(blank=True, choices=[('g', 'g'), ('kg', 'kg')], max_length=4, null=True, verbose_name='Weight unit'), + ), + migrations.AlterField( + model_name='find', + name='width', + field=models.FloatField(blank=True, null=True, verbose_name='Width (cm)'), + ), + migrations.AlterField( + model_name='findbasket', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='findbasket', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='findbasket', + name='label', + field=models.CharField(max_length=1000, verbose_name='Label'), + ), + migrations.AlterField( + model_name='findbasket', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='findbasket', + name='shared_with', + field=models.ManyToManyField(blank=True, related_name='shared_findbaskets', 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_findbaskets', to='ishtar_common.IshtarUser', verbose_name='Shared (read/edit) with'), + ), + migrations.AlterField( + model_name='findbasket', + name='slug', + field=models.SlugField(blank=True, null=True, verbose_name='Slug'), + ), + migrations.AlterField( + model_name='findbasket', + name='user', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='findbaskets', to='ishtar_common.IshtarUser', verbose_name='Owner'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='auto_external_id', + field=models.BooleanField(default=False, verbose_name='External ID is set automatically'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='cache_complete_id', + field=models.TextField(blank=True, db_index=True, help_text='Cached value - do not edit', null=True, verbose_name='Complete ID'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='cache_short_id', + field=models.TextField(blank=True, db_index=True, help_text='Cached value - do not edit', null=True, verbose_name='Short ID'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='discovery_date', + field=models.DateField(blank=True, null=True, verbose_name='Discovery date (exact or TPQ)'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='discovery_date_taq', + field=models.DateField(blank=True, null=True, verbose_name='Discovery date (TAQ)'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='estimated_error_x', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for X'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='estimated_error_y', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Y'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='estimated_error_z', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Z'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='excavation_id', + field=models.TextField(blank=True, null=True, verbose_name='Excavation ID'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='external_id', + field=models.TextField(blank=True, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='label', + field=models.TextField(verbose_name='Free ID'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='line', + field=django.contrib.gis.db.models.fields.LineStringField(blank=True, null=True, srid=4326, verbose_name='Line'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='material_index', + field=models.IntegerField(default=0, verbose_name='Material index'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='multi_polygon', + field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='multi_polygon_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Multi-polygon source'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='multi_polygon_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Multi polygon source item'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='point_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Point source'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='point_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Point source item'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='special_interest', + field=models.CharField(blank=True, max_length=120, null=True, verbose_name='Special interest'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='topographic_localisation', + field=models.CharField(blank=True, max_length=120, null=True, verbose_name='Point of topographic reference'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='x', + field=models.FloatField(blank=True, null=True, verbose_name='X'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='y', + field=models.FloatField(blank=True, null=True, verbose_name='Y'), + ), + migrations.AlterField( + model_name='historicalfind', + name='appraisal_date', + field=models.DateField(blank=True, null=True, verbose_name='Appraisal date'), + ), + migrations.AlterField( + model_name='historicalfind', + name='auto_external_id', + field=models.BooleanField(default=False, verbose_name='External ID is set automatically'), + ), + migrations.AlterField( + model_name='historicalfind', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='historicalfind', + name='check_date', + field=models.DateField(default=datetime.date.today, verbose_name='Check date'), + ), + migrations.AlterField( + model_name='historicalfind', + name='circumference', + field=models.FloatField(blank=True, null=True, verbose_name='Circumference (cm)'), + ), + migrations.AlterField( + model_name='historicalfind', + name='clutter_height', + field=models.FloatField(blank=True, null=True, verbose_name='Clutter - height (cm)'), + ), + migrations.AlterField( + model_name='historicalfind', + name='clutter_long_side', + field=models.FloatField(blank=True, null=True, verbose_name='Clutter - long side (cm)'), + ), + migrations.AlterField( + model_name='historicalfind', + name='clutter_short_side', + field=models.FloatField(blank=True, null=True, verbose_name='Clutter - short side (cm)'), + ), + migrations.AlterField( + model_name='historicalfind', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='historicalfind', + name='conservatory_comment', + field=models.TextField(blank=True, null=True, verbose_name='Conservatory comment'), + ), + migrations.AlterField( + model_name='historicalfind', + name='dating_comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment on dating'), + ), + migrations.AlterField( + model_name='historicalfind', + name='decoration', + field=models.TextField(blank=True, null=True, verbose_name='Decoration'), + ), + migrations.AlterField( + model_name='historicalfind', + name='denomination', + field=models.TextField(blank=True, null=True, verbose_name='Denomination'), + ), + migrations.AlterField( + model_name='historicalfind', + name='diameter', + field=models.FloatField(blank=True, null=True, verbose_name='Diameter (cm)'), + ), + migrations.AlterField( + model_name='historicalfind', + name='dimensions_comment', + field=models.TextField(blank=True, null=True, verbose_name='Dimensions comment'), + ), + migrations.AlterField( + model_name='historicalfind', + name='estimated_value', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated value'), + ), + migrations.AlterField( + model_name='historicalfind', + name='external_id', + field=models.TextField(blank=True, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='historicalfind', + name='find_number', + field=models.IntegerField(blank=True, null=True, verbose_name='Find number'), + ), + migrations.AlterField( + model_name='historicalfind', + name='height', + field=models.FloatField(blank=True, null=True, verbose_name='Height (cm)'), + ), + migrations.AlterField( + model_name='historicalfind', + name='insurance_value', + field=models.FloatField(blank=True, null=True, verbose_name='Insurance value'), + ), + migrations.AlterField( + model_name='historicalfind', + name='is_complete', + field=models.NullBooleanField(verbose_name='Is complete?'), + ), + migrations.AlterField( + model_name='historicalfind', + name='label', + field=models.TextField(verbose_name='Free ID'), + ), + migrations.AlterField( + model_name='historicalfind', + name='length', + field=models.FloatField(blank=True, null=True, verbose_name='Length (cm)'), + ), + migrations.AlterField( + model_name='historicalfind', + name='manufacturing_place', + field=models.TextField(blank=True, null=True, verbose_name='Manufacturing place'), + ), + migrations.AlterField( + model_name='historicalfind', + name='mark', + field=models.TextField(blank=True, null=True, verbose_name='Mark'), + ), + migrations.AlterField( + model_name='historicalfind', + name='material_comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment on the material'), + ), + migrations.AlterField( + model_name='historicalfind', + name='min_number_of_individuals', + field=models.IntegerField(blank=True, null=True, verbose_name='Minimum number of individuals (MNI)'), + ), + migrations.AlterField( + model_name='historicalfind', + name='museum_id', + field=models.TextField(blank=True, null=True, verbose_name='Museum ID'), + ), + migrations.AlterField( + model_name='historicalfind', + name='order', + field=models.IntegerField(default=1, verbose_name='Order'), + ), + migrations.AlterField( + model_name='historicalfind', + name='previous_id', + field=models.TextField(blank=True, null=True, verbose_name='Previous ID'), + ), + migrations.AlterField( + model_name='historicalfind', + name='seal_number', + field=models.TextField(blank=True, null=True, verbose_name='Seal number'), + ), + migrations.AlterField( + model_name='historicalfind', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='historicalfind', + name='thickness', + field=models.FloatField(blank=True, null=True, verbose_name='Thickness (cm)'), + ), + migrations.AlterField( + model_name='historicalfind', + name='weight', + field=models.FloatField(blank=True, null=True, verbose_name='Weight'), + ), + migrations.AlterField( + model_name='historicalfind', + name='weight_unit', + field=models.CharField(blank=True, choices=[('g', 'g'), ('kg', 'kg')], max_length=4, null=True, verbose_name='Weight unit'), + ), + migrations.AlterField( + model_name='historicalfind', + name='width', + field=models.FloatField(blank=True, null=True, verbose_name='Width (cm)'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='end_date', + field=models.DateField(blank=True, null=True, verbose_name='Closing date'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='estimated_cost', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated cost'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='executed', + field=models.BooleanField(default=False, verbose_name='Treatment have been executed'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='external_id', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='goal', + field=models.TextField(blank=True, null=True, verbose_name='Goal'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='insurance_cost', + field=models.FloatField(blank=True, null=True, verbose_name='Insurance cost'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='label', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Label'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='other_reference', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Other ref.'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='quoted_cost', + field=models.FloatField(blank=True, null=True, verbose_name='Quoted cost'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='realized_cost', + field=models.FloatField(blank=True, null=True, verbose_name='Realized cost'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='start_date', + field=models.DateField(blank=True, null=True, verbose_name='Start date'), + ), + migrations.AlterField( + model_name='historicaltreatment', + name='year', + field=models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year'), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='creation_date', + field=models.DateField(blank=True, default=datetime.date.today, null=True, verbose_name='Creation date'), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='end_date', + field=models.DateField(blank=True, null=True, verbose_name='Closing date'), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='external_id', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='internal_reference', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Internal reference'), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='name', + field=models.TextField(blank=True, null=True, verbose_name='Name'), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='reception_date', + field=models.DateField(blank=True, null=True, verbose_name='Reception date'), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='historicaltreatmentfile', + name='year', + field=models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year'), + ), + migrations.AlterField( + model_name='integritytype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='integritytype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='integritytype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='materialtype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='materialtype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='materialtype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='materialtype', + name='recommendation', + field=models.TextField(blank=True, null=True, verbose_name='Recommendation'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='materialtypequalitytype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='materialtypequalitytype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='materialtypequalitytype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='materialtypequalitytype', + name='order', + field=models.IntegerField(default=10, verbose_name='Order'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='objecttype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='objecttype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='objecttype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='objecttypequalitytype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='objecttypequalitytype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='objecttypequalitytype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='objecttypequalitytype', + name='order', + field=models.IntegerField(default=10, verbose_name='Order'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='property', + name='administrative_act', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='archaeological_operations.AdministrativeAct', verbose_name='Administrative act'), + ), + migrations.AlterField( + model_name='property', + name='end_date', + field=models.DateField(verbose_name='End date'), + ), + migrations.AlterField( + model_name='property', + name='find', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='archaeological_finds.Find', verbose_name='Find'), + ), + migrations.AlterField( + model_name='property', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='property', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='property', + name='person', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='properties', to='ishtar_common.Person', verbose_name='Person'), + ), + migrations.AlterField( + model_name='property', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='property', + name='start_date', + field=models.DateField(verbose_name='Start date'), + ), + migrations.AlterField( + model_name='remarkabilitytype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='remarkabilitytype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='remarkabilitytype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='treatment', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='treatment', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='treatment', + name='container', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_warehouse.Container', verbose_name='Container'), + ), + migrations.AlterField( + model_name='treatment', + name='end_date', + field=models.DateField(blank=True, null=True, verbose_name='Closing date'), + ), + migrations.AlterField( + model_name='treatment', + name='estimated_cost', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated cost'), + ), + migrations.AlterField( + model_name='treatment', + name='executed', + field=models.BooleanField(default=False, verbose_name='Treatment have been executed'), + ), + migrations.AlterField( + model_name='treatment', + name='external_id', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='treatment', + name='file', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='treatments', to='archaeological_finds.TreatmentFile', verbose_name='Associated request'), + ), + migrations.AlterField( + model_name='treatment', + name='goal', + field=models.TextField(blank=True, null=True, verbose_name='Goal'), + ), + migrations.AlterField( + model_name='treatment', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='treatment', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='treatment', + name='insurance_cost', + field=models.FloatField(blank=True, null=True, verbose_name='Insurance cost'), + ), + migrations.AlterField( + model_name='treatment', + name='label', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Label'), + ), + migrations.AlterField( + model_name='treatment', + name='location', + field=models.ForeignKey(blank=True, help_text='Location where the treatment is done. Target warehouse for a move.', null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_warehouse.Warehouse', verbose_name='Location'), + ), + migrations.AlterField( + model_name='treatment', + name='main_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_image_treatments', to='ishtar_common.Document', verbose_name='Main image'), + ), + migrations.AlterField( + model_name='treatment', + name='organization', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='treatments', to='ishtar_common.Organization', verbose_name='Organization'), + ), + migrations.AlterField( + model_name='treatment', + name='other_reference', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Other ref.'), + ), + 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'), + ), + migrations.AlterField( + model_name='treatment', + name='quoted_cost', + field=models.FloatField(blank=True, null=True, verbose_name='Quoted cost'), + ), + migrations.AlterField( + model_name='treatment', + name='realized_cost', + field=models.FloatField(blank=True, null=True, verbose_name='Realized cost'), + ), + migrations.AlterField( + model_name='treatment', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='treatment', + name='start_date', + field=models.DateField(blank=True, null=True, verbose_name='Start date'), + ), + migrations.AlterField( + model_name='treatment', + name='treatment_state', + field=models.ForeignKey(default=archaeological_finds.models_treatments.TreatmentState.get_default, on_delete=django.db.models.deletion.CASCADE, to='archaeological_finds.TreatmentState', verbose_name='State'), + ), + migrations.AlterField( + model_name='treatment', + name='treatment_types', + field=models.ManyToManyField(to='archaeological_finds.TreatmentType', verbose_name='Treatment type'), + ), + migrations.AlterField( + model_name='treatment', + name='year', + field=models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year'), + ), + migrations.AlterField( + model_name='treatmentemergencytype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='treatmentemergencytype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='treatmentemergencytype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='applicant', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='treatmentfile_applicant', to='ishtar_common.Person', verbose_name='Applicant'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='applicant_organisation', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='treatmentfile_applicant', to='ishtar_common.Organization', verbose_name='Applicant organisation'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='creation_date', + field=models.DateField(blank=True, default=datetime.date.today, null=True, verbose_name='Creation date'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='end_date', + field=models.DateField(blank=True, null=True, verbose_name='Closing date'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='external_id', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='in_charge', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='treatmentfile_responsability', to='ishtar_common.Person', verbose_name='Person in charge'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='internal_reference', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Internal reference'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='main_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_image_treatment_files', to='ishtar_common.Document', verbose_name='Main image'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='name', + field=models.TextField(blank=True, null=True, verbose_name='Name'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='reception_date', + field=models.DateField(blank=True, null=True, verbose_name='Reception date'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='type', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='archaeological_finds.TreatmentFileType', verbose_name='Treatment request type'), + ), + migrations.AlterField( + model_name='treatmentfile', + name='year', + field=models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year'), + ), + migrations.AlterField( + model_name='treatmentfiletype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='treatmentfiletype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='treatmentfiletype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='treatmentstate', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='treatmentstate', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='treatmentstate', + name='executed', + field=models.BooleanField(default=False, verbose_name='Treatment is executed'), + ), + migrations.AlterField( + model_name='treatmentstate', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='treatmentstate', + name='order', + field=models.IntegerField(default=10, verbose_name='Order'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='treatmenttype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='treatmenttype', + name='change_current_location', + field=models.BooleanField(default=False, help_text='The treatment change the current location.', verbose_name='Change current location'), + ), + migrations.AlterField( + model_name='treatmenttype', + name='change_reference_location', + field=models.BooleanField(default=False, help_text='The treatment change the reference location.', verbose_name='Change reference location'), + ), + migrations.AlterField( + model_name='treatmenttype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='treatmenttype', + name='create_new_find', + field=models.BooleanField(default=False, help_text='If True when this treatment is applied a new version of the object will be created.', verbose_name='Create a new find'), + ), + migrations.AlterField( + model_name='treatmenttype', + name='destructive', + field=models.BooleanField(default=False, verbose_name='Destructive'), + ), + migrations.AlterField( + model_name='treatmenttype', + name='downstream_is_many', + field=models.BooleanField(default=False, help_text="Check this if for this treatment from one find you'll get many.", verbose_name='Downstream is many'), + ), + migrations.AlterField( + model_name='treatmenttype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='treatmenttype', + name='order', + field=models.IntegerField(default=10, verbose_name='Order'), + ), + migrations.AlterField( + model_name='treatmenttype', + name='restore_reference_location', + field=models.BooleanField(default=False, help_text='The treatment change restore reference location to the current location.', verbose_name='Restore the reference location'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='treatmenttype', + name='upstream_is_many', + field=models.BooleanField(default=False, help_text="Check this if for this treatment from many finds you'll get one.", verbose_name='Upstream is many'), + ), + migrations.AlterField( + model_name='treatmenttype', + name='virtual', + field=models.BooleanField(verbose_name='Virtual'), + ), + ] diff --git a/archaeological_operations/migrations/0064_auto_20190910_1241.py b/archaeological_operations/migrations/0064_auto_20190910_1241.py new file mode 100644 index 000000000..14a0e402a --- /dev/null +++ b/archaeological_operations/migrations/0064_auto_20190910_1241.py @@ -0,0 +1,1312 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.18 on 2019-09-10 12:41 +from __future__ import unicode_literals + +import datetime +from django.conf import settings +import django.contrib.gis.db.models.fields +import django.contrib.postgres.search +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import ishtar_common.models +import re + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_operations', '0063_parcel_uuid'), + ] + + operations = [ + migrations.AlterModelOptions( + name='acttype', + options={'ordering': ('label',), 'verbose_name': 'Act type', 'verbose_name_plural': 'Act types'}, + ), + migrations.AlterModelOptions( + name='administrativeact', + options={'ordering': ('year', 'signature_date', 'index', 'act_type'), 'permissions': (('view_administrativeact', 'Can view all Administrative acts'), ('view_own_administrativeact', 'Can view own Administrative act'), ('add_own_administrativeact', 'Can add own Administrative act'), ('change_own_administrativeact', 'Can change own Administrative act'), ('delete_own_administrativeact', 'Can delete own Administrative act')), 'verbose_name': 'Administrative act', 'verbose_name_plural': 'Administrative acts'}, + ), + migrations.AlterModelOptions( + name='archaeologicalsite', + options={'permissions': (('view_archaeologicalsite', 'Can view all Archaeological sites'), ('view_own_archaeologicalsite', 'Can view own Archaeological site'), ('add_own_archaeologicalsite', 'Can add own Archaeological site'), ('change_own_archaeologicalsite', 'Can change own Archaeological site'), ('delete_own_archaeologicalsite', 'Can delete own Archaeological site')), 'verbose_name': 'Archaeological site', 'verbose_name_plural': 'Archaeological sites'}, + ), + migrations.AlterModelOptions( + name='historicaladministrativeact', + options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Administrative act'}, + ), + migrations.AlterModelOptions( + name='historicalarchaeologicalsite', + options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Archaeological site'}, + ), + migrations.AlterModelOptions( + name='historicaloperation', + options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Operation'}, + ), + migrations.AlterModelOptions( + name='operation', + options={'ordering': ('cached_label',), 'permissions': (('view_operation', 'Can view all Operations'), ('view_own_operation', 'Can view own Operation'), ('add_own_operation', 'Can add own Operation'), ('change_own_operation', 'Can change own Operation'), ('delete_own_operation', 'Can delete own Operation'), ('close_operation', 'Can close Operation')), 'verbose_name': 'Operation', 'verbose_name_plural': 'Operations'}, + ), + migrations.AlterModelOptions( + name='operationtypeold', + options={'ordering': ['-preventive', 'order', 'label'], 'verbose_name': 'Operation type old', 'verbose_name_plural': 'Operation types old'}, + ), + migrations.AlterModelOptions( + name='parcel', + options={'ordering': ('year', 'section', 'parcel_number'), 'verbose_name': 'Parcel', 'verbose_name_plural': 'Parcels'}, + ), + migrations.AlterModelOptions( + name='parcelowner', + options={'verbose_name': 'Parcel owner', 'verbose_name_plural': 'Parcel owners'}, + ), + migrations.AlterModelOptions( + name='period', + options={'ordering': ('order',), 'verbose_name': 'Type Period', 'verbose_name_plural': 'Types Period'}, + ), + migrations.AlterModelOptions( + name='recordqualitytype', + options={'ordering': ('order',), 'verbose_name': 'Type of record quality', 'verbose_name_plural': 'Types of record quality'}, + ), + migrations.AlterModelOptions( + name='recordrelations', + options={'ordering': ('left_record', 'relation_type'), 'permissions': [('view_operationrelation', 'Can view all Operation relations')], 'verbose_name': 'Operation record relation', 'verbose_name_plural': 'Operation record relations'}, + ), + migrations.AlterModelOptions( + name='relationtype', + options={'ordering': ('order', 'label'), 'verbose_name': 'Operation relation type', 'verbose_name_plural': 'Operation relation types'}, + ), + migrations.AlterModelOptions( + name='remaintype', + options={'ordering': ('label',), 'verbose_name': 'Remain type', 'verbose_name_plural': 'Remain types'}, + ), + migrations.AlterModelOptions( + name='reportstate', + options={'ordering': ('order',), 'verbose_name': 'Type of report state', 'verbose_name_plural': 'Types of report state'}, + ), + migrations.AlterField( + model_name='acttype', + name='associated_template', + field=models.ManyToManyField(blank=True, related_name='acttypes', to='ishtar_common.DocumentTemplate', verbose_name='Associated template'), + ), + migrations.AlterField( + model_name='acttype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='acttype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='acttype', + name='indexed', + field=models.BooleanField(default=False, verbose_name='Indexed'), + ), + migrations.AlterField( + model_name='acttype', + name='intented_to', + field=models.CharField(choices=[('F', 'Archaeological file'), ('O', 'Operation'), ('TF', 'Treatment request'), ('T', 'Treatment')], max_length=2, verbose_name='Intended to'), + ), + migrations.AlterField( + model_name='acttype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='administrativeact', + name='act_object', + field=models.TextField(blank=True, max_length=300, null=True, verbose_name='Object'), + ), + migrations.AlterField( + model_name='administrativeact', + name='act_type', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='archaeological_operations.ActType', verbose_name='Act type'), + ), + migrations.AlterField( + model_name='administrativeact', + name='associated_file', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='administrative_act', to='archaeological_files.File', verbose_name='Archaeological file'), + ), + migrations.AlterField( + model_name='administrativeact', + name='departments_label', + field=models.TextField(blank=True, help_text='Cached values get from associated departments', null=True, verbose_name='Departments'), + ), + migrations.AlterField( + model_name='administrativeact', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='administrativeact', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='administrativeact', + name='in_charge', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='adminact_operation_in_charge', to='ishtar_common.Person', verbose_name='Person in charge of the operation'), + ), + migrations.AlterField( + model_name='administrativeact', + name='operation', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='administrative_act', to='archaeological_operations.Operation', verbose_name='Operation'), + ), + migrations.AlterField( + model_name='administrativeact', + name='operator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='adminact_operator', to='ishtar_common.Organization', verbose_name='Archaeological preventive operator'), + ), + migrations.AlterField( + model_name='administrativeact', + name='scientist', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='adminact_scientist', to='ishtar_common.Person', verbose_name='Scientist in charge'), + ), + migrations.AlterField( + model_name='administrativeact', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='administrativeact', + name='signatory', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='signatory', to='ishtar_common.Person', verbose_name='Signatory'), + ), + migrations.AlterField( + model_name='administrativeact', + name='signature_date', + field=models.DateField(blank=True, null=True, verbose_name='Signature date'), + ), + migrations.AlterField( + model_name='administrativeact', + name='towns_label', + field=models.TextField(blank=True, help_text='Cached values get from associated towns', null=True, verbose_name='Towns'), + ), + migrations.AlterField( + model_name='administrativeact', + name='treatment', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='administrative_act', to='archaeological_finds.Treatment', verbose_name='Treatment'), + ), + migrations.AlterField( + model_name='administrativeact', + name='treatment_file', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='administrative_act', to='archaeological_finds.TreatmentFile', verbose_name='Treatment request'), + ), + migrations.AlterField( + model_name='administrativeact', + name='year', + field=models.IntegerField(blank=True, null=True, verbose_name='Year'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='affmar_number', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='AffMar number'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='collaborators', + field=models.ManyToManyField(blank=True, related_name='site_collaborator', to='ishtar_common.Person', verbose_name='Collaborators'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='discovery_area', + field=models.TextField(blank=True, null=True, verbose_name='Discovery area'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='drassm_number', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='DRASSM number'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='estimated_error_x', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for X'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='estimated_error_y', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Y'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='estimated_error_z', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Z'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='locality_cadastral', + field=models.TextField(blank=True, null=True, verbose_name='Cadastral locality'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='locality_ngi', + field=models.TextField(blank=True, null=True, verbose_name='National Geographic Institute locality'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='main_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_image_sites', to='ishtar_common.Document', verbose_name='Main image'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='multi_polygon', + field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='multi_polygon_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Multi-polygon source'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='multi_polygon_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Multi polygon source item'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='name', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Name'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='oceanographic_service_localisation', + field=models.TextField(blank=True, null=True, verbose_name='Oceanographic service localisation'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='periods', + field=models.ManyToManyField(blank=True, to='archaeological_operations.Period', verbose_name='Periods'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='point_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Point source'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='point_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Point source item'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='reference', + field=models.CharField(max_length=200, unique=True, verbose_name='Reference'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='remains', + field=models.ManyToManyField(blank=True, to='archaeological_operations.RemainType', verbose_name='Remains'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='shipwreck_code', + field=models.TextField(blank=True, null=True, verbose_name='Shipwreck code'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='shipwreck_name', + field=models.TextField(blank=True, null=True, verbose_name='Shipwreck name'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='sinking_date', + field=models.DateField(blank=True, null=True, verbose_name='Sinking date'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='spatial_reference_system', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.SpatialReferenceSystem', verbose_name='Spatial Reference System'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='towns', + field=models.ManyToManyField(blank=True, related_name='sites', to='ishtar_common.Town', verbose_name='Towns'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='x', + field=models.FloatField(blank=True, null=True, verbose_name='X'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='y', + field=models.FloatField(blank=True, null=True, verbose_name='Y'), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='act_object', + field=models.TextField(blank=True, max_length=300, null=True, verbose_name='Object'), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='departments_label', + field=models.TextField(blank=True, help_text='Cached values get from associated departments', null=True, verbose_name='Departments'), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='signature_date', + field=models.DateField(blank=True, null=True, verbose_name='Signature date'), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='towns_label', + field=models.TextField(blank=True, help_text='Cached values get from associated towns', null=True, verbose_name='Towns'), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='year', + field=models.IntegerField(blank=True, null=True, verbose_name='Year'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='affmar_number', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='AffMar number'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='discovery_area', + field=models.TextField(blank=True, null=True, verbose_name='Discovery area'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='drassm_number', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='DRASSM number'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='estimated_error_x', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for X'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='estimated_error_y', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Y'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='estimated_error_z', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Z'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='locality_cadastral', + field=models.TextField(blank=True, null=True, verbose_name='Cadastral locality'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='locality_ngi', + field=models.TextField(blank=True, null=True, verbose_name='National Geographic Institute locality'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='multi_polygon', + field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='multi_polygon_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Multi-polygon source'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='multi_polygon_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Multi polygon source item'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='name', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Name'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='oceanographic_service_localisation', + field=models.TextField(blank=True, null=True, verbose_name='Oceanographic service localisation'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='point_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Point source'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='point_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Point source item'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='reference', + field=models.CharField(db_index=True, max_length=200, verbose_name='Reference'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='shipwreck_code', + field=models.TextField(blank=True, null=True, verbose_name='Shipwreck code'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='shipwreck_name', + field=models.TextField(blank=True, null=True, verbose_name='Shipwreck name'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='sinking_date', + field=models.DateField(blank=True, null=True, verbose_name='Sinking date'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='x', + field=models.FloatField(blank=True, null=True, verbose_name='X'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='y', + field=models.FloatField(blank=True, null=True, verbose_name='Y'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='abstract', + field=models.TextField(blank=True, null=True, verbose_name='Abstract'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='address', + field=models.TextField(blank=True, null=True, verbose_name='Address / Locality'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='cached_label', + field=models.CharField(blank=True, db_index=True, max_length=500, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='common_name', + field=models.TextField(blank=True, null=True, verbose_name='Generic name'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='cost', + field=models.IntegerField(blank=True, null=True, verbose_name='Cost (euros)'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='creation_date', + field=models.DateField(default=datetime.date.today, verbose_name='Creation date'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='documentation_deadline', + field=models.DateField(blank=True, null=True, verbose_name='Deadline for submission of the documentation'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='documentation_received', + field=models.NullBooleanField(verbose_name='Documentation received'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='drassm_code', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='DRASSM code'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='effective_man_days', + field=models.IntegerField(blank=True, null=True, verbose_name='Effective man-days'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='end_date', + field=models.DateField(blank=True, null=True, verbose_name='Closing date'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='estimated_error_x', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for X'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='estimated_error_y', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Y'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='estimated_error_z', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Z'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='excavation_end_date', + field=models.DateField(blank=True, null=True, verbose_name='Excavation end date'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='finds_deadline', + field=models.DateField(blank=True, null=True, verbose_name='Deadline for submission of the finds'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='finds_received', + field=models.NullBooleanField(verbose_name='Finds received'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='geoarchaeological_context_prescription', + field=models.NullBooleanField(verbose_name='Prescription on geoarchaeological context'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='large_area_prescription', + field=models.NullBooleanField(verbose_name='Prescription on large area'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='multi_polygon', + field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='multi_polygon_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Multi-polygon source'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='multi_polygon_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Multi polygon source item'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='name_of_the_protagonist', + field=models.TextField(blank=True, null=True, verbose_name='Name of the protagonist'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='official_report_number', + field=models.TextField(blank=True, null=True, verbose_name='Official report number'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='old_code', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Old code'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='operation_code', + field=models.IntegerField(blank=True, null=True, verbose_name='Numeric reference'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='operator_reference', + field=models.CharField(blank=True, max_length=20, null=True, verbose_name='Operator reference'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='optional_man_days', + field=models.IntegerField(blank=True, null=True, verbose_name='Optional man-days'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='point_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Point source'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='point_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Point source item'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='relation_image', + field=models.TextField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=100, null=True, verbose_name='Generated relation image (SVG)'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='report_delivery_date', + field=models.DateField(blank=True, null=True, verbose_name='Report delivery date'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='scheduled_man_days', + field=models.IntegerField(blank=True, null=True, verbose_name='Scheduled man-days'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='scientific_documentation_comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment about scientific documentation'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='seizure_name', + field=models.TextField(blank=True, null=True, verbose_name='Seizure name'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='start_date', + field=models.DateField(blank=True, null=True, verbose_name='Start date'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='virtual_operation', + field=models.BooleanField(default=False, help_text='If checked, it means that this operation have not been officialy registered.', verbose_name='Virtual operation'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='x', + field=models.FloatField(blank=True, null=True, verbose_name='X'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='y', + field=models.FloatField(blank=True, null=True, verbose_name='Y'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='year', + field=models.IntegerField(blank=True, null=True, verbose_name='Year'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='zoning_prescription', + field=models.NullBooleanField(verbose_name='Prescription on zoning'), + ), + migrations.AlterField( + model_name='operation', + name='abstract', + field=models.TextField(blank=True, null=True, verbose_name='Abstract'), + ), + migrations.AlterField( + model_name='operation', + name='address', + field=models.TextField(blank=True, null=True, verbose_name='Address / Locality'), + ), + migrations.AlterField( + model_name='operation', + name='archaeological_sites', + field=models.ManyToManyField(blank=True, related_name='operations', to='archaeological_operations.ArchaeologicalSite', verbose_name='Archaeological sites'), + ), + migrations.AlterField( + model_name='operation', + name='associated_file', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='operations', to='archaeological_files.File', verbose_name='File'), + ), + migrations.AlterField( + model_name='operation', + name='cached_label', + field=models.CharField(blank=True, db_index=True, max_length=500, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='operation', + name='collaborators', + field=models.ManyToManyField(blank=True, related_name='operation_collaborator', to='ishtar_common.Person', verbose_name='Collaborators'), + ), + migrations.AlterField( + model_name='operation', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='operation', + name='common_name', + field=models.TextField(blank=True, null=True, verbose_name='Generic name'), + ), + migrations.AlterField( + model_name='operation', + name='cost', + field=models.IntegerField(blank=True, null=True, verbose_name='Cost (euros)'), + ), + migrations.AlterField( + model_name='operation', + name='creation_date', + field=models.DateField(default=datetime.date.today, verbose_name='Creation date'), + ), + migrations.AlterField( + model_name='operation', + name='documentation_deadline', + field=models.DateField(blank=True, null=True, verbose_name='Deadline for submission of the documentation'), + ), + migrations.AlterField( + model_name='operation', + name='documentation_received', + field=models.NullBooleanField(verbose_name='Documentation received'), + ), + migrations.AlterField( + model_name='operation', + name='drassm_code', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='DRASSM code'), + ), + migrations.AlterField( + model_name='operation', + name='effective_man_days', + field=models.IntegerField(blank=True, null=True, verbose_name='Effective man-days'), + ), + migrations.AlterField( + model_name='operation', + name='end_date', + field=models.DateField(blank=True, null=True, verbose_name='Closing date'), + ), + migrations.AlterField( + model_name='operation', + name='estimated_error_x', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for X'), + ), + migrations.AlterField( + model_name='operation', + name='estimated_error_y', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Y'), + ), + migrations.AlterField( + model_name='operation', + name='estimated_error_z', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Z'), + ), + migrations.AlterField( + model_name='operation', + name='excavation_end_date', + field=models.DateField(blank=True, null=True, verbose_name='Excavation end date'), + ), + migrations.AlterField( + model_name='operation', + name='finds_deadline', + field=models.DateField(blank=True, null=True, verbose_name='Deadline for submission of the finds'), + ), + migrations.AlterField( + model_name='operation', + name='finds_received', + field=models.NullBooleanField(verbose_name='Finds received'), + ), + migrations.AlterField( + model_name='operation', + name='geoarchaeological_context_prescription', + field=models.NullBooleanField(verbose_name='Prescription on geoarchaeological context'), + ), + migrations.AlterField( + model_name='operation', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='operation', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='operation', + name='in_charge', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='operation_responsability', to='ishtar_common.Person', verbose_name='In charge'), + ), + migrations.AlterField( + model_name='operation', + name='large_area_prescription', + field=models.NullBooleanField(verbose_name='Prescription on large area'), + ), + migrations.AlterField( + model_name='operation', + name='main_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_image_operations', to='ishtar_common.Document', verbose_name='Main image'), + ), + migrations.AlterField( + model_name='operation', + name='multi_polygon', + field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon'), + ), + migrations.AlterField( + model_name='operation', + name='multi_polygon_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Multi-polygon source'), + ), + migrations.AlterField( + model_name='operation', + name='multi_polygon_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Multi polygon source item'), + ), + migrations.AlterField( + model_name='operation', + name='name_of_the_protagonist', + field=models.TextField(blank=True, null=True, verbose_name='Name of the protagonist'), + ), + migrations.AlterField( + model_name='operation', + name='official_report_number', + field=models.TextField(blank=True, null=True, verbose_name='Official report number'), + ), + migrations.AlterField( + model_name='operation', + name='old_code', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Old code'), + ), + migrations.AlterField( + model_name='operation', + name='operation_code', + field=models.IntegerField(blank=True, null=True, verbose_name='Numeric reference'), + ), + migrations.AlterField( + model_name='operation', + name='operation_type', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='ishtar_common.OperationType', verbose_name='Operation type'), + ), + migrations.AlterField( + model_name='operation', + name='operator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='operator', to='ishtar_common.Organization', verbose_name='Operator'), + ), + migrations.AlterField( + model_name='operation', + name='operator_reference', + field=models.CharField(blank=True, max_length=20, null=True, verbose_name='Operator reference'), + ), + migrations.AlterField( + model_name='operation', + name='optional_man_days', + field=models.IntegerField(blank=True, null=True, verbose_name='Optional man-days'), + ), + migrations.AlterField( + model_name='operation', + name='periods', + field=models.ManyToManyField(blank=True, to='archaeological_operations.Period', verbose_name='Periods'), + ), + migrations.AlterField( + model_name='operation', + name='point_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Point source'), + ), + migrations.AlterField( + model_name='operation', + name='point_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Point source item'), + ), + migrations.AlterField( + model_name='operation', + name='record_quality_type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_operations.RecordQualityType', verbose_name='Record quality'), + ), + migrations.AlterField( + model_name='operation', + name='relation_image', + field=models.FileField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', null=True, upload_to=ishtar_common.models.get_image_path, verbose_name='Generated relation image (SVG)'), + ), + migrations.AlterField( + model_name='operation', + name='remains', + field=models.ManyToManyField(blank=True, to='archaeological_operations.RemainType', verbose_name='Remains'), + ), + migrations.AlterField( + model_name='operation', + name='report_delivery_date', + field=models.DateField(blank=True, null=True, verbose_name='Report delivery date'), + ), + migrations.AlterField( + model_name='operation', + name='report_processing', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_operations.ReportState', verbose_name='Report processing'), + ), + migrations.AlterField( + model_name='operation', + name='scheduled_man_days', + field=models.IntegerField(blank=True, null=True, verbose_name='Scheduled man-days'), + ), + migrations.AlterField( + model_name='operation', + name='scientific_documentation_comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment about scientific documentation'), + ), + migrations.AlterField( + model_name='operation', + name='scientist', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='operation_scientist_responsability', to='ishtar_common.Person', verbose_name='In charge scientist'), + ), + migrations.AlterField( + model_name='operation', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='operation', + name='seizure_name', + field=models.TextField(blank=True, null=True, verbose_name='Seizure name'), + ), + migrations.AlterField( + model_name='operation', + name='spatial_reference_system', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.SpatialReferenceSystem', verbose_name='Spatial Reference System'), + ), + migrations.AlterField( + model_name='operation', + name='start_date', + field=models.DateField(blank=True, null=True, verbose_name='Start date'), + ), + migrations.AlterField( + model_name='operation', + name='towns', + field=models.ManyToManyField(related_name='operations', to='ishtar_common.Town', verbose_name='Towns'), + ), + migrations.AlterField( + model_name='operation', + name='virtual_operation', + field=models.BooleanField(default=False, help_text='If checked, it means that this operation have not been officialy registered.', verbose_name='Virtual operation'), + ), + migrations.AlterField( + model_name='operation', + name='x', + field=models.FloatField(blank=True, null=True, verbose_name='X'), + ), + migrations.AlterField( + model_name='operation', + name='y', + field=models.FloatField(blank=True, null=True, verbose_name='Y'), + ), + migrations.AlterField( + model_name='operation', + name='year', + field=models.IntegerField(blank=True, null=True, verbose_name='Year'), + ), + migrations.AlterField( + model_name='operation', + name='zoning_prescription', + field=models.NullBooleanField(verbose_name='Prescription on zoning'), + ), + migrations.AlterField( + model_name='operationtypeold', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='operationtypeold', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='operationtypeold', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='operationtypeold', + name='order', + field=models.IntegerField(default=1, verbose_name='Order'), + ), + migrations.AlterField( + model_name='operationtypeold', + name='preventive', + field=models.BooleanField(default=True, verbose_name='Is preventive'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='parcel', + name='address', + field=models.TextField(blank=True, null=True, verbose_name='Address - Locality'), + ), + migrations.AlterField( + model_name='parcel', + name='associated_file', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='parcels', to='archaeological_files.File', verbose_name='File'), + ), + migrations.AlterField( + model_name='parcel', + name='auto_external_id', + field=models.BooleanField(default=False, verbose_name='External ID is set automatically'), + ), + migrations.AlterField( + model_name='parcel', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='parcel', + name='external_id', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='parcel', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='parcel', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='parcel', + name='operation', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='parcels', to='archaeological_operations.Operation', verbose_name='Operation'), + ), + migrations.AlterField( + model_name='parcel', + name='parcel_number', + field=models.CharField(blank=True, max_length=6, null=True, verbose_name='Parcel number'), + ), + migrations.AlterField( + model_name='parcel', + name='public_domain', + field=models.BooleanField(default=False, verbose_name='Public domain'), + ), + migrations.AlterField( + model_name='parcel', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='parcel', + name='town', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='parcels', to='ishtar_common.Town', verbose_name='Town'), + ), + migrations.AlterField( + model_name='parcel', + name='year', + field=models.IntegerField(blank=True, null=True, verbose_name='Year'), + ), + migrations.AlterField( + model_name='parcelowner', + name='end_date', + field=models.DateField(verbose_name='End date'), + ), + migrations.AlterField( + model_name='parcelowner', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='parcelowner', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='parcelowner', + name='owner', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='parcel_owner', to='ishtar_common.Person', verbose_name='Owner'), + ), + migrations.AlterField( + model_name='parcelowner', + name='parcel', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='owners', to='archaeological_operations.Parcel', verbose_name='Parcel'), + ), + migrations.AlterField( + model_name='parcelowner', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='parcelowner', + name='start_date', + field=models.DateField(verbose_name='Start date'), + ), + migrations.AlterField( + model_name='period', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='period', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='period', + name='end_date', + field=models.IntegerField(blank=True, null=True, verbose_name='End date'), + ), + migrations.AlterField( + model_name='period', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='period', + name='order', + field=models.IntegerField(verbose_name='Order'), + ), + migrations.AlterField( + model_name='period', + name='parent', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_operations.Period', verbose_name='Parent period'), + ), + migrations.AlterField( + model_name='period', + name='start_date', + field=models.IntegerField(blank=True, null=True, verbose_name='Start date'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='recordqualitytype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='recordqualitytype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='recordqualitytype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='recordqualitytype', + name='order', + field=models.IntegerField(verbose_name='Order'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='relationtype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='relationtype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='relationtype', + name='inverse_relation', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='archaeological_operations.RelationType', verbose_name='Inverse relation'), + ), + migrations.AlterField( + model_name='relationtype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='relationtype', + name='logical_relation', + field=models.CharField(blank=True, choices=[('above', 'Above'), ('below', 'Below'), ('equal', 'Equal')], max_length=10, null=True, verbose_name='Logical relation'), + ), + migrations.AlterField( + model_name='relationtype', + name='order', + field=models.IntegerField(default=1, verbose_name='Order'), + ), + migrations.AlterField( + model_name='relationtype', + name='symmetrical', + field=models.BooleanField(verbose_name='Symmetrical'), + ), + migrations.AlterField( + model_name='relationtype', + name='tiny_label', + field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Tiny label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='remaintype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='remaintype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='remaintype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='reportstate', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='reportstate', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='reportstate', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='reportstate', + name='order', + field=models.IntegerField(verbose_name='Order'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + ] diff --git a/archaeological_warehouse/migrations/0038_auto_20190910_1242.py b/archaeological_warehouse/migrations/0038_auto_20190910_1242.py new file mode 100644 index 000000000..8789ac14d --- /dev/null +++ b/archaeological_warehouse/migrations/0038_auto_20190910_1242.py @@ -0,0 +1,505 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.18 on 2019-09-10 12:42 +from __future__ import unicode_literals + +from django.conf import settings +import django.contrib.gis.db.models.fields +import django.contrib.postgres.search +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import re + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_warehouse', '0037_auto_20190628_1257'), + ] + + operations = [ + migrations.AlterModelOptions( + name='container', + options={'ordering': ('cached_label',), 'permissions': (('view_container', 'Can view all Containers'), ('view_own_container', 'Can view own Container'), ('add_own_container', 'Can add own Container'), ('change_own_container', 'Can change own Container'), ('delete_own_container', 'Can delete own Container')), 'verbose_name': 'Container', 'verbose_name_plural': 'Containers'}, + ), + migrations.AlterModelOptions( + name='containerlocalisation', + options={'ordering': ('container', 'division__order'), 'verbose_name': 'Container localisation', 'verbose_name_plural': 'Container localisations'}, + ), + migrations.AlterModelOptions( + name='containertype', + options={'ordering': ('label',), 'verbose_name': 'Container type', 'verbose_name_plural': 'Container types'}, + ), + migrations.AlterModelOptions( + name='warehouse', + options={'permissions': (('view_warehouse', 'Can view all Warehouses'), ('view_own_warehouse', 'Can view own Warehouse'), ('add_own_warehouse', 'Can add own Warehouse'), ('change_own_warehouse', 'Can change own Warehouse'), ('delete_own_warehouse', 'Can delete own Warehouse')), 'verbose_name': 'Warehouse', 'verbose_name_plural': 'Warehouses'}, + ), + migrations.AlterModelOptions( + name='warehousedivision', + options={'verbose_name': 'Warehouse division type', 'verbose_name_plural': 'Warehouse division types'}, + ), + migrations.AlterModelOptions( + name='warehousetype', + options={'ordering': ('label',), 'verbose_name': 'Warehouse type', 'verbose_name_plural': 'Warehouse types'}, + ), + migrations.AlterField( + model_name='collection', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='collection', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='collection', + name='name', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Name'), + ), + migrations.AlterField( + model_name='collection', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='collection', + name='warehouse', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='collections', to='archaeological_warehouse.Warehouse', verbose_name='Warehouse'), + ), + migrations.AlterField( + model_name='container', + name='auto_external_id', + field=models.BooleanField(default=False, verbose_name='External ID is set automatically'), + ), + migrations.AlterField( + model_name='container', + name='cached_division', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached division'), + ), + migrations.AlterField( + model_name='container', + name='cached_location', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached location'), + ), + migrations.AlterField( + model_name='container', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='container', + name='container_type', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='archaeological_warehouse.ContainerType', verbose_name='Container type'), + ), + migrations.AlterField( + model_name='container', + name='estimated_error_x', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for X'), + ), + migrations.AlterField( + model_name='container', + name='estimated_error_y', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Y'), + ), + migrations.AlterField( + model_name='container', + name='estimated_error_z', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Z'), + ), + migrations.AlterField( + model_name='container', + name='external_id', + field=models.TextField(blank=True, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='container', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='container', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='container', + name='location', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='containers', to='archaeological_warehouse.Warehouse', verbose_name='Location (warehouse)'), + ), + migrations.AlterField( + model_name='container', + name='main_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_image_containers', to='ishtar_common.Document', verbose_name='Main image'), + ), + migrations.AlterField( + model_name='container', + name='multi_polygon', + field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon'), + ), + migrations.AlterField( + model_name='container', + name='multi_polygon_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Multi-polygon source'), + ), + migrations.AlterField( + model_name='container', + name='multi_polygon_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Multi polygon source item'), + ), + migrations.AlterField( + model_name='container', + name='old_reference', + field=models.TextField(blank=True, null=True, verbose_name='Old reference'), + ), + migrations.AlterField( + model_name='container', + name='point_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Point source'), + ), + migrations.AlterField( + model_name='container', + name='point_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Point source item'), + ), + migrations.AlterField( + model_name='container', + name='reference', + field=models.TextField(verbose_name='Container ref.'), + ), + migrations.AlterField( + model_name='container', + name='responsible', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='owned_containers', to='archaeological_warehouse.Warehouse', verbose_name='Responsible warehouse'), + ), + migrations.AlterField( + model_name='container', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='container', + name='spatial_reference_system', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.SpatialReferenceSystem', verbose_name='Spatial Reference System'), + ), + migrations.AlterField( + model_name='container', + name='x', + field=models.FloatField(blank=True, null=True, verbose_name='X'), + ), + migrations.AlterField( + model_name='container', + name='y', + field=models.FloatField(blank=True, null=True, verbose_name='Y'), + ), + migrations.AlterField( + model_name='containerlocalisation', + name='container', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='division', to='archaeological_warehouse.Container', verbose_name='Container'), + ), + migrations.AlterField( + model_name='containerlocalisation', + name='reference', + field=models.CharField(default='', max_length=200, verbose_name='Reference'), + ), + migrations.AlterField( + model_name='containertype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='containertype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='containertype', + name='height', + field=models.IntegerField(blank=True, null=True, verbose_name='Height (mm)'), + ), + migrations.AlterField( + model_name='containertype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='containertype', + name='length', + field=models.IntegerField(blank=True, null=True, verbose_name='Length (mm)'), + ), + migrations.AlterField( + model_name='containertype', + name='reference', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Ref.'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='containertype', + name='width', + field=models.IntegerField(blank=True, null=True, verbose_name='Width (mm)'), + ), + migrations.AlterField( + model_name='warehouse', + name='address', + field=models.TextField(blank=True, null=True, verbose_name='Address'), + ), + migrations.AlterField( + model_name='warehouse', + name='address_complement', + field=models.TextField(blank=True, null=True, verbose_name='Address complement'), + ), + migrations.AlterField( + model_name='warehouse', + name='alt_address', + field=models.TextField(blank=True, null=True, verbose_name='Other address: address'), + ), + migrations.AlterField( + model_name='warehouse', + name='alt_address_complement', + field=models.TextField(blank=True, null=True, verbose_name='Other address: address complement'), + ), + migrations.AlterField( + model_name='warehouse', + name='alt_address_is_prefered', + field=models.BooleanField(default=False, verbose_name='Alternative address is prefered'), + ), + migrations.AlterField( + model_name='warehouse', + name='alt_country', + field=models.CharField(blank=True, max_length=30, null=True, verbose_name='Other address: country'), + ), + migrations.AlterField( + model_name='warehouse', + name='alt_postal_code', + field=models.CharField(blank=True, max_length=10, null=True, verbose_name='Other address: postal code'), + ), + migrations.AlterField( + model_name='warehouse', + name='alt_town', + field=models.CharField(blank=True, max_length=70, null=True, verbose_name='Other address: town'), + ), + migrations.AlterField( + model_name='warehouse', + name='auto_external_id', + field=models.BooleanField(default=False, verbose_name='External ID is set automatically'), + ), + migrations.AlterField( + model_name='warehouse', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='warehouse', + name='country', + field=models.CharField(blank=True, max_length=30, null=True, verbose_name='Country'), + ), + migrations.AlterField( + model_name='warehouse', + name='email', + field=models.EmailField(blank=True, max_length=300, null=True, verbose_name='Email'), + ), + migrations.AlterField( + model_name='warehouse', + name='estimated_error_x', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for X'), + ), + migrations.AlterField( + model_name='warehouse', + name='estimated_error_y', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Y'), + ), + migrations.AlterField( + model_name='warehouse', + name='estimated_error_z', + field=models.FloatField(blank=True, null=True, verbose_name='Estimated error for Z'), + ), + migrations.AlterField( + model_name='warehouse', + name='external_id', + field=models.TextField(blank=True, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='warehouse', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='warehouse', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='warehouse', + name='main_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_image_warehouses', to='ishtar_common.Document', verbose_name='Main image'), + ), + migrations.AlterField( + model_name='warehouse', + name='mobile_phone', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Mobile phone'), + ), + migrations.AlterField( + model_name='warehouse', + name='multi_polygon', + field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon'), + ), + migrations.AlterField( + model_name='warehouse', + name='multi_polygon_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Multi-polygon source'), + ), + migrations.AlterField( + model_name='warehouse', + name='multi_polygon_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Multi polygon source item'), + ), + migrations.AlterField( + model_name='warehouse', + name='name', + field=models.CharField(max_length=200, verbose_name='Name'), + ), + migrations.AlterField( + model_name='warehouse', + name='organization', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='warehouses', to='ishtar_common.Organization', verbose_name='Organization'), + ), + migrations.AlterField( + model_name='warehouse', + name='person_in_charge', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='warehouse_in_charge', to='ishtar_common.Person', verbose_name='Person in charge'), + ), + migrations.AlterField( + model_name='warehouse', + name='phone', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone'), + ), + migrations.AlterField( + model_name='warehouse', + name='phone2', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone description 2'), + ), + migrations.AlterField( + model_name='warehouse', + name='phone3', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone 3'), + ), + migrations.AlterField( + model_name='warehouse', + name='phone_desc', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description'), + ), + migrations.AlterField( + model_name='warehouse', + name='phone_desc2', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description 2'), + ), + migrations.AlterField( + model_name='warehouse', + name='phone_desc3', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description 3'), + ), + migrations.AlterField( + model_name='warehouse', + name='point_source', + field=models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Point source'), + ), + migrations.AlterField( + model_name='warehouse', + name='point_source_item', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Point source item'), + ), + migrations.AlterField( + model_name='warehouse', + name='postal_code', + field=models.CharField(blank=True, max_length=10, null=True, verbose_name='Postal code'), + ), + migrations.AlterField( + model_name='warehouse', + name='precise_town', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.Town', verbose_name='Town (precise)'), + ), + migrations.AlterField( + model_name='warehouse', + name='raw_phone', + field=models.TextField(blank=True, null=True, verbose_name='Raw phone'), + ), + migrations.AlterField( + model_name='warehouse', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='warehouse', + name='spatial_reference_system', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.SpatialReferenceSystem', verbose_name='Spatial Reference System'), + ), + migrations.AlterField( + model_name='warehouse', + name='town', + field=models.CharField(blank=True, max_length=150, null=True, verbose_name='Town (freeform)'), + ), + migrations.AlterField( + model_name='warehouse', + name='warehouse_type', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='archaeological_warehouse.WarehouseType', verbose_name='Warehouse type'), + ), + migrations.AlterField( + model_name='warehouse', + name='x', + field=models.FloatField(blank=True, null=True, verbose_name='X'), + ), + migrations.AlterField( + model_name='warehouse', + name='y', + field=models.FloatField(blank=True, null=True, verbose_name='Y'), + ), + migrations.AlterField( + model_name='warehousedivision', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='warehousedivision', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='warehousedivision', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='warehousedivisionlink', + name='order', + field=models.IntegerField(default=10, verbose_name='Order'), + ), + migrations.AlterField( + model_name='warehousetype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='warehousetype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='warehousetype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + ] diff --git a/ishtar_common/migrations/0106_auto_20190910_1245.py b/ishtar_common/migrations/0106_auto_20190910_1245.py new file mode 100644 index 000000000..541ab3302 --- /dev/null +++ b/ishtar_common/migrations/0106_auto_20190910_1245.py @@ -0,0 +1,1940 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.18 on 2019-09-10 12:45 +from __future__ import unicode_literals + +from django.conf import settings +import django.contrib.gis.db.models.fields +import django.contrib.postgres.search +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import re + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0105_auto_20190910_1100'), + ] + + operations = [ + migrations.AlterModelOptions( + name='administrationscript', + options={'ordering': ['name'], 'verbose_name': 'Administration script', 'verbose_name_plural': 'Administration scripts'}, + ), + migrations.AlterModelOptions( + name='administrationtask', + options={'ordering': ['script'], 'verbose_name': 'Administration task', 'verbose_name_plural': 'Administration tasks'}, + ), + migrations.AlterModelOptions( + name='area', + options={'ordering': ('label',), 'verbose_name': 'Area', 'verbose_name_plural': 'Areas'}, + ), + migrations.AlterModelOptions( + name='author', + options={'ordering': ('author_type__order', 'person__name'), 'permissions': (('view_author', 'Can view all Authors'), ('view_own_author', 'Can view own Author'), ('add_own_author', 'Can add own Author'), ('change_own_author', 'Can change own Author'), ('delete_own_author', 'Can delete own Author')), 'verbose_name': 'Author', 'verbose_name_plural': 'Authors'}, + ), + migrations.AlterModelOptions( + name='authortype', + options={'ordering': ['order', 'label'], 'verbose_name': 'Author type', 'verbose_name_plural': 'Author types'}, + ), + migrations.AlterModelOptions( + name='customform', + options={'ordering': ['name', 'form'], 'verbose_name': 'Custom form', 'verbose_name_plural': 'Custom forms'}, + ), + migrations.AlterModelOptions( + name='customformjsonfield', + options={'verbose_name': 'Custom form - Json data field', 'verbose_name_plural': 'Custom form - Json data fields'}, + ), + migrations.AlterModelOptions( + name='department', + options={'ordering': ['number'], 'verbose_name': 'Department', 'verbose_name_plural': 'Departments'}, + ), + migrations.AlterModelOptions( + name='documenttemplate', + options={'ordering': ['associated_model', 'name'], 'verbose_name': 'Document template', 'verbose_name_plural': 'Document templates'}, + ), + migrations.AlterModelOptions( + name='excludedfield', + options={'verbose_name': 'Excluded field', 'verbose_name_plural': 'Excluded fields'}, + ), + migrations.AlterModelOptions( + name='exporttask', + options={'ordering': ['creation_date'], 'verbose_name': 'Archive - Export', 'verbose_name_plural': 'Archive - Exports'}, + ), + migrations.AlterModelOptions( + name='format', + options={'ordering': ['label'], 'verbose_name': 'Format type', 'verbose_name_plural': 'Format types'}, + ), + migrations.AlterModelOptions( + name='formatertype', + options={'ordering': ('formater_type', 'options'), 'verbose_name': 'Importer - Formater type', 'verbose_name_plural': 'Importer - Formater types'}, + ), + migrations.AlterModelOptions( + name='globalvar', + options={'ordering': ['slug'], 'verbose_name': 'Global variable', 'verbose_name_plural': 'Global variables'}, + ), + migrations.AlterModelOptions( + name='historicalorganization', + options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Organization'}, + ), + migrations.AlterModelOptions( + name='historicalperson', + options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Person'}, + ), + migrations.AlterModelOptions( + name='importercolumn', + options={'ordering': ('importer_type', 'col_number'), 'verbose_name': 'Importer - Column', 'verbose_name_plural': 'Importer - Columns'}, + ), + migrations.AlterModelOptions( + name='importerdefault', + options={'verbose_name': 'Importer - Default', 'verbose_name_plural': 'Importer - Defaults'}, + ), + migrations.AlterModelOptions( + name='importerdefaultvalues', + options={'verbose_name': 'Importer - Default value', 'verbose_name_plural': 'Importer - Default values'}, + ), + migrations.AlterModelOptions( + name='importerduplicatefield', + options={'ordering': ('column', 'field_name'), 'verbose_name': 'Importer - Duplicate field', 'verbose_name_plural': 'Importer - Duplicate fields'}, + ), + migrations.AlterModelOptions( + name='importertype', + options={'ordering': ('name',), 'verbose_name': 'Importer - Type', 'verbose_name_plural': 'Importer - Types'}, + ), + migrations.AlterModelOptions( + name='importtarget', + options={'verbose_name': 'Importer - Target', 'verbose_name_plural': 'Importer - Targets'}, + ), + migrations.AlterModelOptions( + name='importtask', + options={'ordering': ['creation_date'], 'verbose_name': 'Archive - Import', 'verbose_name_plural': 'Archive - Imports'}, + ), + migrations.AlterModelOptions( + name='ishtarsiteprofile', + options={'ordering': ['label'], 'verbose_name': 'Ishtar site profile', 'verbose_name_plural': 'Ishtar site profiles'}, + ), + migrations.AlterModelOptions( + name='ishtaruser', + options={'verbose_name': 'Ishtar user', 'verbose_name_plural': 'Ishtar users'}, + ), + migrations.AlterModelOptions( + name='jsondatafield', + options={'ordering': ['order', 'name'], 'verbose_name': 'Json data - Field', 'verbose_name_plural': 'Json data - Fields'}, + ), + migrations.AlterModelOptions( + name='jsondatasection', + options={'ordering': ['order', 'name'], 'verbose_name': 'Json data - Menu', 'verbose_name_plural': 'Json data - Menus'}, + ), + migrations.AlterModelOptions( + name='licensetype', + options={'ordering': ('label',), 'verbose_name': 'License type', 'verbose_name_plural': 'License types'}, + ), + migrations.AlterModelOptions( + name='operationtype', + options={'ordering': ['judiciary', '-preventive', 'order', 'label'], 'verbose_name': 'Operation type', 'verbose_name_plural': 'Operation types'}, + ), + migrations.AlterModelOptions( + name='organization', + options={'permissions': (('view_organization', 'Can view all Organizations'), ('view_own_organization', 'Can view own Organization'), ('add_own_organization', 'Can add own Organization'), ('change_own_organization', 'Can change own Organization'), ('delete_own_organization', 'Can delete own Organization')), 'verbose_name': 'Organization', 'verbose_name_plural': 'Organizations'}, + ), + migrations.AlterModelOptions( + name='organizationtype', + options={'ordering': ('label',), 'verbose_name': 'Organization type', 'verbose_name_plural': 'Organization types'}, + ), + migrations.AlterModelOptions( + name='person', + options={'permissions': (('view_person', 'Can view all Persons'), ('view_own_person', 'Can view own Person'), ('add_own_person', 'Can add own Person'), ('change_own_person', 'Can change own Person'), ('delete_own_person', 'Can delete own Person')), 'verbose_name': 'Person', 'verbose_name_plural': 'Persons'}, + ), + migrations.AlterModelOptions( + name='persontype', + options={'ordering': ('label',), 'verbose_name': 'Person type', 'verbose_name_plural': 'Person types'}, + ), + migrations.AlterModelOptions( + name='profiletype', + options={'ordering': ('label',), 'verbose_name': 'Profile type', 'verbose_name_plural': 'Profile types'}, + ), + migrations.AlterModelOptions( + name='profiletypesummary', + options={'verbose_name': 'Profile type summary', 'verbose_name_plural': 'Profile types summary'}, + ), + migrations.AlterModelOptions( + name='regexp', + options={'verbose_name': 'Importer - Regular expression', 'verbose_name_plural': 'Importer - Regular expressions'}, + ), + migrations.AlterModelOptions( + name='searchquery', + options={'ordering': ['label'], 'verbose_name': 'Search query', 'verbose_name_plural': 'Search queries'}, + ), + migrations.AlterModelOptions( + name='sourcetype', + options={'ordering': ['label'], 'verbose_name': 'Source type', 'verbose_name_plural': 'Source types'}, + ), + migrations.AlterModelOptions( + name='spatialreferencesystem', + options={'ordering': ('label',), 'verbose_name': 'Spatial reference system', 'verbose_name_plural': 'Spatial reference systems'}, + ), + migrations.AlterModelOptions( + name='state', + options={'ordering': ['number'], 'verbose_name': 'State'}, + ), + migrations.AlterModelOptions( + name='supporttype', + options={'verbose_name': 'Support type', 'verbose_name_plural': 'Support types'}, + ), + migrations.AlterModelOptions( + name='targetkey', + options={'ordering': ('target', 'key'), 'verbose_name': 'Importer - Target key', 'verbose_name_plural': 'Importer - Targets keys'}, + ), + migrations.AlterModelOptions( + name='targetkeygroup', + options={'verbose_name': 'Importer - Target key group', 'verbose_name_plural': 'Importer - Target key groups'}, + ), + migrations.AlterModelOptions( + name='titletype', + options={'ordering': ('label',), 'verbose_name': 'Title type', 'verbose_name_plural': 'Title types'}, + ), + migrations.AlterModelOptions( + name='town', + options={'ordering': ['numero_insee'], 'verbose_name': 'Town', 'verbose_name_plural': 'Towns'}, + ), + migrations.AlterModelOptions( + name='userprofile', + options={'verbose_name': 'User profile', 'verbose_name_plural': 'User profiles'}, + ), + migrations.AlterField( + model_name='administrationscript', + name='name', + field=models.TextField(blank=True, null=True, verbose_name='Name'), + ), + migrations.AlterField( + model_name='administrationscript', + name='path', + field=models.CharField(max_length=30, verbose_name='Filename'), + ), + migrations.AlterField( + model_name='administrationtask', + name='result', + field=models.TextField(blank=True, null=True, verbose_name='Result'), + ), + migrations.AlterField( + model_name='administrationtask', + name='state', + field=models.CharField(choices=[('S', 'Scheduled'), ('P', 'In progress'), ('FE', 'Finished with errors'), ('F', 'Finished')], default='S', max_length=2, verbose_name='State'), + ), + migrations.AlterField( + model_name='area', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='area', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='area', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='area', + name='parent', + field=models.ForeignKey(blank=True, help_text='Only four level of parent are managed.', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='children', to='ishtar_common.Area', verbose_name='Parent'), + ), + migrations.AlterField( + model_name='area', + name='reference', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Reference'), + ), + migrations.AlterField( + model_name='area', + name='towns', + field=models.ManyToManyField(blank=True, related_name='areas', to='ishtar_common.Town', verbose_name='Towns'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='author', + name='author_type', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.AuthorType', verbose_name='Author type'), + ), + migrations.AlterField( + model_name='author', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='author', + name='person', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='author', to='ishtar_common.Person', verbose_name='Person'), + ), + migrations.AlterField( + model_name='author', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='authortype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='authortype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='authortype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='authortype', + name='order', + field=models.IntegerField(default=1, verbose_name='Order'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='customform', + name='apply_to_all', + field=models.BooleanField(default=False, help_text='Apply this form to all users. If set to True, selecting user and user type is useless.', verbose_name='Apply to all'), + ), + migrations.AlterField( + model_name='customform', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='customform', + name='enabled', + field=models.BooleanField(default=True, help_text='Disable with caution: disabling a form with mandatory fields may lead to database errors.', verbose_name='Enable this form'), + ), + migrations.AlterField( + model_name='customform', + name='form', + field=models.CharField(max_length=250, verbose_name='Form'), + ), + migrations.AlterField( + model_name='customform', + name='name', + field=models.CharField(max_length=250, verbose_name='Name'), + ), + migrations.AlterField( + model_name='customformjsonfield', + name='help_text', + field=models.TextField(blank=True, null=True, verbose_name='Help'), + ), + migrations.AlterField( + model_name='customformjsonfield', + name='label', + field=models.CharField(blank=True, default='', max_length=200, verbose_name='Label'), + ), + migrations.AlterField( + model_name='customformjsonfield', + name='order', + field=models.IntegerField(default=1, verbose_name='Order'), + ), + migrations.AlterField( + model_name='department', + name='label', + field=models.CharField(max_length=30, verbose_name='Label'), + ), + migrations.AlterField( + model_name='department', + name='number', + field=models.CharField(max_length=3, unique=True, verbose_name='Number'), + ), + migrations.AlterField( + model_name='department', + name='state', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.State', verbose_name='State'), + ), + migrations.AlterField( + model_name='document', + name='additional_information', + field=models.TextField(blank=True, null=True, verbose_name='Additional information'), + ), + migrations.AlterField( + model_name='document', + name='associated_links', + field=models.TextField(blank=True, null=True, verbose_name='Symbolic links'), + ), + migrations.AlterField( + model_name='document', + name='associated_url', + field=models.URLField(blank=True, max_length=1000, null=True, verbose_name='Numerical ressource (web address)'), + ), + migrations.AlterField( + model_name='document', + name='authors', + field=models.ManyToManyField(related_name='documents', to='ishtar_common.Author', verbose_name='Authors'), + ), + migrations.AlterField( + model_name='document', + name='authors_raw', + field=models.CharField(blank=True, max_length=250, null=True, verbose_name='Authors (raw)'), + ), + migrations.AlterField( + model_name='document', + name='cache_related_label', + field=models.TextField(blank=True, db_index=True, help_text='Cached value - do not edit', null=True, verbose_name='Related'), + ), + migrations.AlterField( + model_name='document', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='document', + name='creation_date', + field=models.DateField(blank=True, null=True, verbose_name='Creation date'), + ), + migrations.AlterField( + model_name='document', + name='duplicate', + field=models.NullBooleanField(verbose_name='Has a duplicate'), + ), + migrations.AlterField( + model_name='document', + name='external_id', + field=models.TextField(blank=True, null=True, verbose_name='External ID'), + ), + migrations.AlterField( + model_name='document', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='document', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='document', + name='internal_reference', + field=models.TextField(blank=True, null=True, verbose_name='Internal ref.'), + ), + migrations.AlterField( + model_name='document', + name='item_number', + field=models.IntegerField(default=1, verbose_name='Number of items'), + ), + migrations.AlterField( + model_name='document', + name='licenses', + field=models.ManyToManyField(blank=True, to='ishtar_common.LicenseType', verbose_name='License'), + ), + migrations.AlterField( + model_name='document', + name='receipt_date', + field=models.DateField(blank=True, null=True, verbose_name='Receipt date'), + ), + migrations.AlterField( + model_name='document', + name='receipt_date_in_documentation', + field=models.DateField(blank=True, null=True, verbose_name='Receipt date in documentation'), + ), + migrations.AlterField( + model_name='document', + name='reference', + field=models.TextField(blank=True, null=True, verbose_name='Ref.'), + ), + migrations.AlterField( + model_name='document', + name='scale', + field=models.CharField(blank=True, max_length=30, null=True, verbose_name='Scale'), + ), + migrations.AlterField( + model_name='document', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='document', + name='title', + field=models.TextField(blank=True, default='', verbose_name='Title'), + ), + migrations.AlterField( + model_name='documenttemplate', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='documenttemplate', + name='name', + field=models.CharField(max_length=100, verbose_name='Name'), + ), + migrations.AlterField( + model_name='documenttemplate', + name='slug', + field=models.SlugField(max_length=100, unique=True, verbose_name='Slug'), + ), + migrations.AlterField( + model_name='documenttemplate', + name='template', + field=models.FileField(help_text='La taille maximale supportée pour le fichier est de 100 Mo.', upload_to='templates/%Y/', verbose_name='Template'), + ), + migrations.AlterField( + model_name='excludedfield', + name='field', + field=models.CharField(max_length=250, verbose_name='Field'), + ), + migrations.AlterField( + model_name='exporttask', + name='result', + field=models.FileField(blank=True, null=True, upload_to='exports/%Y/%m/', verbose_name='Result'), + ), + migrations.AlterField( + model_name='format', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='format', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='format', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='formatertype', + name='formater_type', + field=models.CharField(choices=[('IntegerFormater', 'Integer'), ('FloatFormater', 'Float'), ('UnicodeFormater', 'String'), ('DateFormater', 'Date'), ('TypeFormater', 'Type'), ('YearFormater', 'Year'), ('InseeFormater', 'INSEE code'), ('StrToBoolean', 'String to boolean'), ('FileFormater', 'File'), ('UnknowType', 'Unknow type')], max_length=20, verbose_name='Formater type'), + ), + migrations.AlterField( + model_name='formatertype', + name='many_split', + field=models.CharField(blank=True, max_length=10, null=True, verbose_name='Split character(s)'), + ), + migrations.AlterField( + model_name='globalvar', + name='description', + field=models.TextField(blank=True, null=True, verbose_name='Description of the variable'), + ), + migrations.AlterField( + model_name='globalvar', + name='slug', + field=models.SlugField(unique=True, verbose_name='Variable name'), + ), + migrations.AlterField( + model_name='globalvar', + name='value', + field=models.TextField(blank=True, null=True, verbose_name='Value'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='address', + field=models.TextField(blank=True, null=True, verbose_name='Address'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='address_complement', + field=models.TextField(blank=True, null=True, verbose_name='Address complement'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='alt_address', + field=models.TextField(blank=True, null=True, verbose_name='Other address: address'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='alt_address_complement', + field=models.TextField(blank=True, null=True, verbose_name='Other address: address complement'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='alt_address_is_prefered', + field=models.BooleanField(default=False, verbose_name='Alternative address is prefered'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='alt_country', + field=models.CharField(blank=True, max_length=30, null=True, verbose_name='Other address: country'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='alt_postal_code', + field=models.CharField(blank=True, max_length=10, null=True, verbose_name='Other address: postal code'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='alt_town', + field=models.CharField(blank=True, max_length=70, null=True, verbose_name='Other address: town'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='country', + field=models.CharField(blank=True, max_length=30, null=True, verbose_name='Country'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='email', + field=models.EmailField(blank=True, max_length=300, null=True, verbose_name='Email'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='merge_key', + field=models.TextField(blank=True, null=True, verbose_name='Merge key'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='mobile_phone', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Mobile phone'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='name', + field=models.CharField(max_length=500, verbose_name='Name'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='phone', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='phone2', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone description 2'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='phone3', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone 3'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='phone_desc', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='phone_desc2', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description 2'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='phone_desc3', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description 3'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='postal_code', + field=models.CharField(blank=True, max_length=10, null=True, verbose_name='Postal code'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='raw_phone', + field=models.TextField(blank=True, null=True, verbose_name='Raw phone'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='historicalorganization', + name='town', + field=models.CharField(blank=True, max_length=150, null=True, verbose_name='Town (freeform)'), + ), + migrations.AlterField( + model_name='historicalperson', + name='address', + field=models.TextField(blank=True, null=True, verbose_name='Address'), + ), + migrations.AlterField( + model_name='historicalperson', + name='address_complement', + field=models.TextField(blank=True, null=True, verbose_name='Address complement'), + ), + migrations.AlterField( + model_name='historicalperson', + name='alt_address', + field=models.TextField(blank=True, null=True, verbose_name='Other address: address'), + ), + migrations.AlterField( + model_name='historicalperson', + name='alt_address_complement', + field=models.TextField(blank=True, null=True, verbose_name='Other address: address complement'), + ), + migrations.AlterField( + model_name='historicalperson', + name='alt_address_is_prefered', + field=models.BooleanField(default=False, verbose_name='Alternative address is prefered'), + ), + migrations.AlterField( + model_name='historicalperson', + name='alt_country', + field=models.CharField(blank=True, max_length=30, null=True, verbose_name='Other address: country'), + ), + migrations.AlterField( + model_name='historicalperson', + name='alt_postal_code', + field=models.CharField(blank=True, max_length=10, null=True, verbose_name='Other address: postal code'), + ), + migrations.AlterField( + model_name='historicalperson', + name='alt_town', + field=models.CharField(blank=True, max_length=70, null=True, verbose_name='Other address: town'), + ), + migrations.AlterField( + model_name='historicalperson', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='historicalperson', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='historicalperson', + name='contact_type', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Contact type'), + ), + migrations.AlterField( + model_name='historicalperson', + name='country', + field=models.CharField(blank=True, max_length=30, null=True, verbose_name='Country'), + ), + migrations.AlterField( + model_name='historicalperson', + name='email', + field=models.EmailField(blank=True, max_length=300, null=True, verbose_name='Email'), + ), + migrations.AlterField( + model_name='historicalperson', + name='merge_key', + field=models.TextField(blank=True, null=True, verbose_name='Merge key'), + ), + migrations.AlterField( + model_name='historicalperson', + name='mobile_phone', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Mobile phone'), + ), + migrations.AlterField( + model_name='historicalperson', + name='name', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Name'), + ), + migrations.AlterField( + model_name='historicalperson', + name='old_title', + field=models.CharField(blank=True, choices=[('Mr', 'Mr'), ('Ms', 'Miss'), ('Mr and Miss', 'Mr and Mrs'), ('Md', 'Mrs'), ('Dr', 'Doctor')], max_length=100, null=True, verbose_name='Title'), + ), + migrations.AlterField( + model_name='historicalperson', + name='phone', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone'), + ), + migrations.AlterField( + model_name='historicalperson', + name='phone2', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone description 2'), + ), + migrations.AlterField( + model_name='historicalperson', + name='phone3', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone 3'), + ), + migrations.AlterField( + model_name='historicalperson', + name='phone_desc', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description'), + ), + migrations.AlterField( + model_name='historicalperson', + name='phone_desc2', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description 2'), + ), + migrations.AlterField( + model_name='historicalperson', + name='phone_desc3', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description 3'), + ), + migrations.AlterField( + model_name='historicalperson', + name='postal_code', + field=models.CharField(blank=True, max_length=10, null=True, verbose_name='Postal code'), + ), + migrations.AlterField( + model_name='historicalperson', + name='raw_name', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Raw name'), + ), + migrations.AlterField( + model_name='historicalperson', + name='raw_phone', + field=models.TextField(blank=True, null=True, verbose_name='Raw phone'), + ), + migrations.AlterField( + model_name='historicalperson', + name='salutation', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Salutation'), + ), + migrations.AlterField( + model_name='historicalperson', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='historicalperson', + name='surname', + field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Surname'), + ), + migrations.AlterField( + model_name='historicalperson', + name='town', + field=models.CharField(blank=True, max_length=150, null=True, verbose_name='Town (freeform)'), + ), + migrations.AlterField( + model_name='import', + name='associated_group', + field=models.ForeignKey(blank=True, help_text='If a group is selected, target key saved in this group will be used.', null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.TargetKeyGroup'), + ), + migrations.AlterField( + model_name='import', + name='changed_checked', + field=models.BooleanField(default=False, verbose_name='Changed have been checked'), + ), + migrations.AlterField( + model_name='import', + name='changed_line_numbers', + field=models.TextField(blank=True, null=True, validators=[django.core.validators.RegexValidator(re.compile('^\\d+(?:\\,\\d+)*\\Z', 32), code='invalid', message='Enter only digits separated by commas.')], verbose_name='Changed line numbers'), + ), + migrations.AlterField( + model_name='import', + name='conservative_import', + field=models.BooleanField(default=False, help_text='If set to true, do not overload existing values.', verbose_name='Conservative import'), + ), + migrations.AlterField( + model_name='import', + name='creation_date', + field=models.DateTimeField(auto_now_add=True, null=True, verbose_name='Creation date'), + ), + migrations.AlterField( + model_name='import', + name='current_line', + field=models.IntegerField(blank=True, null=True, verbose_name='Current line'), + ), + migrations.AlterField( + model_name='import', + name='encoding', + field=models.CharField(choices=[('windows-1252', 'windows-1252'), ('ISO-8859-15', 'ISO-8859-15'), ('utf-8', 'utf-8')], default='utf-8', max_length=15, verbose_name='Encoding'), + ), + migrations.AlterField( + model_name='import', + name='end_date', + field=models.DateTimeField(auto_now_add=True, null=True, verbose_name='End date'), + ), + migrations.AlterField( + model_name='import', + name='error_file', + field=models.FileField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=255, null=True, upload_to='upload/imports/%Y/%m/', verbose_name='Error file'), + ), + migrations.AlterField( + model_name='import', + name='imported_file', + field=models.FileField(help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=220, upload_to='upload/imports/%Y/%m/', verbose_name='Imported file'), + ), + migrations.AlterField( + model_name='import', + name='imported_images', + field=models.FileField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=220, null=True, upload_to='upload/imports/%Y/%m/', verbose_name='Associated images (zip file)'), + ), + migrations.AlterField( + model_name='import', + name='imported_line_numbers', + field=models.TextField(blank=True, null=True, validators=[django.core.validators.RegexValidator(re.compile('^\\d+(?:\\,\\d+)*\\Z', 32), code='invalid', message='Enter only digits separated by commas.')], verbose_name='Imported line numbers'), + ), + migrations.AlterField( + model_name='import', + name='match_file', + field=models.FileField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=255, null=True, upload_to='upload/imports/%Y/%m/', verbose_name='Match file'), + ), + migrations.AlterField( + model_name='import', + name='name', + field=models.CharField(max_length=500, null=True, verbose_name='Name'), + ), + migrations.AlterField( + model_name='import', + name='number_of_line', + field=models.IntegerField(blank=True, null=True, verbose_name='Number of line'), + ), + migrations.AlterField( + model_name='import', + name='result_file', + field=models.FileField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=255, null=True, upload_to='upload/imports/%Y/%m/', verbose_name='Result file'), + ), + migrations.AlterField( + model_name='import', + name='seconds_remaining', + field=models.IntegerField(blank=True, editable=False, null=True, verbose_name='Remaining seconds'), + ), + migrations.AlterField( + model_name='import', + name='skip_lines', + field=models.IntegerField(default=1, help_text='Number of header lines in your file (can be 0).', verbose_name='Skip lines'), + ), + migrations.AlterField( + model_name='import', + name='state', + field=models.CharField(choices=[('C', 'Created'), ('AP', 'Analyse in progress'), ('A', 'Analysed'), ('HQ', 'Check modified in queue'), ('IQ', 'Import in queue'), ('HP', 'Check modified in progress'), ('IP', 'Import in progress'), ('PI', 'Partially imported'), ('FE', 'Finished with errors'), ('F', 'Finished'), ('AC', 'Archived')], default='C', max_length=2, verbose_name='State'), + ), + migrations.AlterField( + model_name='importercolumn', + name='col_number', + field=models.IntegerField(default=1, verbose_name='Column number'), + ), + migrations.AlterField( + model_name='importercolumn', + name='export_field_name', + field=models.CharField(blank=True, help_text='Fill this field if the field name is ambiguous for export. For instance: concatenated fields.', max_length=200, null=True, verbose_name='Export field name'), + ), + migrations.AlterField( + model_name='importercolumn', + name='label', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Label'), + ), + migrations.AlterField( + model_name='importercolumn', + name='required', + field=models.BooleanField(default=False, verbose_name='Required'), + ), + migrations.AlterField( + model_name='importerduplicatefield', + name='concat', + field=models.BooleanField(default=False, verbose_name='Concatenate with existing'), + ), + migrations.AlterField( + model_name='importerduplicatefield', + name='concat_str', + field=models.CharField(blank=True, max_length=5, null=True, verbose_name='Concatenate character'), + ), + migrations.AlterField( + model_name='importerduplicatefield', + name='field_name', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Field name'), + ), + migrations.AlterField( + model_name='importerduplicatefield', + name='force_new', + field=models.BooleanField(default=False, verbose_name='Force creation of new items'), + ), + migrations.AlterField( + model_name='importermodel', + name='klass', + field=models.CharField(max_length=200, unique=True, verbose_name='Class name'), + ), + migrations.AlterField( + model_name='importermodel', + name='name', + field=models.CharField(max_length=200, verbose_name='Name'), + ), + migrations.AlterField( + model_name='importertype', + name='associated_models', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='ishtar_common.ImporterModel', verbose_name='Associated model'), + ), + migrations.AlterField( + model_name='importertype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='importertype', + name='created_models', + field=models.ManyToManyField(blank=True, help_text='Leave blank for no restrictions', related_name='_importertype_created_models_+', to='ishtar_common.ImporterModel', verbose_name='Models that can accept new items'), + ), + migrations.AlterField( + model_name='importertype', + name='is_template', + field=models.BooleanField(default=False, verbose_name='Can be exported'), + ), + migrations.AlterField( + model_name='importertype', + name='name', + field=models.CharField(max_length=200, verbose_name='Name'), + ), + migrations.AlterField( + model_name='importertype', + name='slug', + field=models.SlugField(max_length=100, unique=True, verbose_name='Slug'), + ), + migrations.AlterField( + model_name='importertype', + name='unicity_keys', + field=models.CharField(blank=True, max_length=500, null=True, verbose_name='Unicity keys (separator ";")'), + ), + migrations.AlterField( + model_name='importertype', + name='users', + field=models.ManyToManyField(blank=True, to='ishtar_common.IshtarUser', verbose_name='Users'), + ), + migrations.AlterField( + model_name='importtarget', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='importtarget', + name='concat', + field=models.BooleanField(default=False, verbose_name='Concatenate with existing'), + ), + migrations.AlterField( + model_name='importtarget', + name='concat_str', + field=models.CharField(blank=True, max_length=5, null=True, verbose_name='Concatenate character'), + ), + migrations.AlterField( + model_name='importtarget', + name='force_new', + field=models.BooleanField(default=False, verbose_name='Force creation of new items'), + ), + migrations.AlterField( + model_name='importtask', + name='source', + field=models.FileField(upload_to='imports/%Y/%m/', verbose_name='Source'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='active', + field=models.BooleanField(default=False, verbose_name='Current active'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='archaeological_site', + field=models.BooleanField(default=False, verbose_name='Archaeological site module'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='archaeological_site_label', + field=models.CharField(choices=[('site', 'Site'), ('entity', 'Archaeological entity')], default='site', max_length=200, verbose_name='Archaeological site type'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='base_find_external_id', + field=models.TextField(default='{context_record__external_id}-{label}', help_text='Formula to manage base find external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Base find external id'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='config', + field=models.CharField(blank=True, choices=[('DRASSM', 'DRASSM')], help_text='Choose an alternate configuration for label, index management', max_length=200, null=True, verbose_name='Alternate configuration'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='container_external_id', + field=models.TextField(default='{responsible__external_id}-{index}', help_text='Formula to manage container external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Container external id'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='context_record', + field=models.BooleanField(default=False, verbose_name='Context records module'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='context_record_external_id', + field=models.TextField(default='{parcel__external_id}-{label}', help_text='Formula to manage context record external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Context record external id'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='currency', + field=models.CharField(choices=[('€', 'Euro'), ('$', 'US dollar')], default='€', max_length=5, verbose_name='Currency'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='default_center', + field=django.contrib.gis.db.models.fields.PointField(default='SRID=4326;POINT(2.4397 46.5528)', srid=4326, verbose_name='Maps - default center'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='default_operation_prefix', + field=models.CharField(blank=True, default='OP', max_length=20, null=True, verbose_name='Default operation code prefix'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='default_zoom', + field=models.IntegerField(default=6, verbose_name='Maps - default zoom'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='document_external_id', + field=models.TextField(default='{index}', help_text='Formula to manage document external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Document external id'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='experimental_feature', + field=models.BooleanField(default=False, verbose_name='Activate experimental feature'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='file_external_id', + field=models.TextField(default='{year}-{numeric_reference}', help_text='Formula to manage file external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='File external id'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='files', + field=models.BooleanField(default=False, verbose_name='Files module'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='find', + field=models.BooleanField(default=False, help_text='Need context records module', verbose_name='Finds module'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='find_external_id', + field=models.TextField(default='{get_first_base_find__context_record__external_id}-{label}', help_text='Formula to manage find external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Find external id'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='find_index', + field=models.CharField(choices=[('O', 'Operations'), ('CR', 'Context records')], default='O', help_text='To prevent irrelevant indexes, change this parameter only if there is no find in the database', max_length=2, verbose_name='Find index is based on'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='find_use_index', + field=models.BooleanField(default=True, verbose_name='Use auto index for finds'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='homepage', + field=models.TextField(blank=True, help_text='Homepage of Ishtar - if not defined a default homepage will appear. Use the markdown syntax. {random_image} can be used to display a random image.', null=True, verbose_name='Home page'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='label', + field=models.TextField(verbose_name='Name'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='mapping', + field=models.BooleanField(default=False, verbose_name='Mapping module'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='operation_prefix', + field=models.CharField(blank=True, default='OA', max_length=20, null=True, verbose_name='Main operation code prefix'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='operation_region_code', + field=models.CharField(blank=True, max_length=5, null=True, verbose_name='Operation region code'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='parcel_external_id', + field=models.TextField(default='{associated_file__external_id}{operation__code_patriarche}-{town__numero_insee}-{section}{parcel_number}', help_text='Formula to manage parcel external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Parcel external id'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='parcel_mandatory', + field=models.BooleanField(default=True, verbose_name='Parcel are mandatory for context records'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='person_raw_name', + field=models.TextField(default='{name|upper} {surname}', help_text='Formula to manage person raw_name. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Raw name for person'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='preservation', + field=models.BooleanField(default=False, verbose_name='Preservation module'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='slug', + field=models.SlugField(unique=True, verbose_name='Slug'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='underwater', + field=models.BooleanField(default=False, verbose_name='Underwater module'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='use_town_for_geo', + field=models.BooleanField(default=True, verbose_name='Use town to locate when coordinates are missing'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='warehouse', + field=models.BooleanField(default=False, help_text='Need finds module', verbose_name='Warehouses module'), + ), + migrations.AlterField( + model_name='ishtarsiteprofile', + name='warehouse_external_id', + field=models.TextField(default='{name|slug}', help_text='Formula to manage warehouse external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Warehouse external id'), + ), + migrations.AlterField( + model_name='ishtaruser', + name='advanced_shortcut_menu', + field=models.BooleanField(default=False, verbose_name='Advanced shortcut menu'), + ), + migrations.AlterField( + model_name='ishtaruser', + name='person', + field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='ishtaruser', to='ishtar_common.Person', verbose_name='Person'), + ), + migrations.AlterField( + model_name='ishtaruser', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='itemkey', + name='importer', + field=models.ForeignKey(blank=True, help_text='Specific key to an import', null=True, on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.Import'), + ), + migrations.AlterField( + model_name='itemkey', + name='key', + field=models.TextField(verbose_name='Key'), + ), + migrations.AlterField( + model_name='jsondatafield', + name='display', + field=models.BooleanField(default=True, verbose_name='Display'), + ), + migrations.AlterField( + model_name='jsondatafield', + name='key', + field=models.CharField(help_text='Value of the key in the JSON schema. For hierarchical key use "__" to explain it. For instance for the key \'my_subkey\' with data such as {\'my_key\': {\'my_subkey\': \'value\'}}, its value will be reached with my_key__my_subkey.', max_length=200, verbose_name='Key'), + ), + migrations.AlterField( + model_name='jsondatafield', + name='name', + field=models.CharField(max_length=200, verbose_name='Name'), + ), + migrations.AlterField( + model_name='jsondatafield', + name='order', + field=models.IntegerField(default=10, verbose_name='Order'), + ), + migrations.AlterField( + model_name='jsondatafield', + name='search_index', + field=models.BooleanField(default=False, verbose_name='Use in search indexes'), + ), + migrations.AlterField( + model_name='jsondatafield', + name='value_type', + field=models.CharField(choices=[('T', 'Text'), ('LT', 'Long text'), ('I', 'Integer'), ('B', 'Boolean'), ('F', 'Float'), ('D', 'Date'), ('C', 'Choices')], default='T', max_length=10, verbose_name='Type'), + ), + migrations.AlterField( + model_name='jsondatasection', + name='name', + field=models.CharField(max_length=200, verbose_name='Name'), + ), + migrations.AlterField( + model_name='jsondatasection', + name='order', + field=models.IntegerField(default=10, verbose_name='Order'), + ), + migrations.AlterField( + model_name='licensetype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='licensetype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='licensetype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='operationtype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='operationtype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='operationtype', + name='judiciary', + field=models.BooleanField(default=False, verbose_name='Is judiciary'), + ), + migrations.AlterField( + model_name='operationtype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='operationtype', + name='order', + field=models.IntegerField(default=1, verbose_name='Order'), + ), + migrations.AlterField( + model_name='operationtype', + name='preventive', + field=models.BooleanField(default=True, verbose_name='Is preventive'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='organization', + name='address', + field=models.TextField(blank=True, null=True, verbose_name='Address'), + ), + migrations.AlterField( + model_name='organization', + name='address_complement', + field=models.TextField(blank=True, null=True, verbose_name='Address complement'), + ), + migrations.AlterField( + model_name='organization', + name='alt_address', + field=models.TextField(blank=True, null=True, verbose_name='Other address: address'), + ), + migrations.AlterField( + model_name='organization', + name='alt_address_complement', + field=models.TextField(blank=True, null=True, verbose_name='Other address: address complement'), + ), + migrations.AlterField( + model_name='organization', + name='alt_address_is_prefered', + field=models.BooleanField(default=False, verbose_name='Alternative address is prefered'), + ), + migrations.AlterField( + model_name='organization', + name='alt_country', + field=models.CharField(blank=True, max_length=30, null=True, verbose_name='Other address: country'), + ), + migrations.AlterField( + model_name='organization', + name='alt_postal_code', + field=models.CharField(blank=True, max_length=10, null=True, verbose_name='Other address: postal code'), + ), + migrations.AlterField( + model_name='organization', + name='alt_town', + field=models.CharField(blank=True, max_length=70, null=True, verbose_name='Other address: town'), + ), + migrations.AlterField( + model_name='organization', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='organization', + name='country', + field=models.CharField(blank=True, max_length=30, null=True, verbose_name='Country'), + ), + migrations.AlterField( + model_name='organization', + name='email', + field=models.EmailField(blank=True, max_length=300, null=True, verbose_name='Email'), + ), + migrations.AlterField( + model_name='organization', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='organization', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='organization', + name='merge_key', + field=models.TextField(blank=True, null=True, verbose_name='Merge key'), + ), + migrations.AlterField( + model_name='organization', + name='mobile_phone', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Mobile phone'), + ), + migrations.AlterField( + model_name='organization', + name='name', + field=models.CharField(max_length=500, verbose_name='Name'), + ), + migrations.AlterField( + model_name='organization', + name='phone', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone'), + ), + migrations.AlterField( + model_name='organization', + name='phone2', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone description 2'), + ), + migrations.AlterField( + model_name='organization', + name='phone3', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone 3'), + ), + migrations.AlterField( + model_name='organization', + name='phone_desc', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description'), + ), + migrations.AlterField( + model_name='organization', + name='phone_desc2', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description 2'), + ), + migrations.AlterField( + model_name='organization', + name='phone_desc3', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description 3'), + ), + migrations.AlterField( + model_name='organization', + name='postal_code', + field=models.CharField(blank=True, max_length=10, null=True, verbose_name='Postal code'), + ), + migrations.AlterField( + model_name='organization', + name='precise_town', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.Town', verbose_name='Town (precise)'), + ), + migrations.AlterField( + model_name='organization', + name='raw_phone', + field=models.TextField(blank=True, null=True, verbose_name='Raw phone'), + ), + migrations.AlterField( + model_name='organization', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='organization', + name='town', + field=models.CharField(blank=True, max_length=150, null=True, verbose_name='Town (freeform)'), + ), + migrations.AlterField( + model_name='organizationtype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='organizationtype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='organizationtype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='person', + name='address', + field=models.TextField(blank=True, null=True, verbose_name='Address'), + ), + migrations.AlterField( + model_name='person', + name='address_complement', + field=models.TextField(blank=True, null=True, verbose_name='Address complement'), + ), + migrations.AlterField( + model_name='person', + name='alt_address', + field=models.TextField(blank=True, null=True, verbose_name='Other address: address'), + ), + migrations.AlterField( + model_name='person', + name='alt_address_complement', + field=models.TextField(blank=True, null=True, verbose_name='Other address: address complement'), + ), + migrations.AlterField( + model_name='person', + name='alt_address_is_prefered', + field=models.BooleanField(default=False, verbose_name='Alternative address is prefered'), + ), + migrations.AlterField( + model_name='person', + name='alt_country', + field=models.CharField(blank=True, max_length=30, null=True, verbose_name='Other address: country'), + ), + migrations.AlterField( + model_name='person', + name='alt_postal_code', + field=models.CharField(blank=True, max_length=10, null=True, verbose_name='Other address: postal code'), + ), + migrations.AlterField( + model_name='person', + name='alt_town', + field=models.CharField(blank=True, max_length=70, null=True, verbose_name='Other address: town'), + ), + migrations.AlterField( + model_name='person', + name='attached_to', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='members', to='ishtar_common.Organization', verbose_name='Is attached to'), + ), + migrations.AlterField( + model_name='person', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='person', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='person', + name='contact_type', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Contact type'), + ), + migrations.AlterField( + model_name='person', + name='country', + field=models.CharField(blank=True, max_length=30, null=True, verbose_name='Country'), + ), + migrations.AlterField( + model_name='person', + name='email', + field=models.EmailField(blank=True, max_length=300, null=True, verbose_name='Email'), + ), + migrations.AlterField( + model_name='person', + name='history_creator', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator'), + ), + migrations.AlterField( + model_name='person', + name='history_modifier', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor'), + ), + migrations.AlterField( + model_name='person', + name='merge_key', + field=models.TextField(blank=True, null=True, verbose_name='Merge key'), + ), + migrations.AlterField( + model_name='person', + name='mobile_phone', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Mobile phone'), + ), + migrations.AlterField( + model_name='person', + name='name', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Name'), + ), + migrations.AlterField( + model_name='person', + name='old_title', + field=models.CharField(blank=True, choices=[('Mr', 'Mr'), ('Ms', 'Miss'), ('Mr and Miss', 'Mr and Mrs'), ('Md', 'Mrs'), ('Dr', 'Doctor')], max_length=100, null=True, verbose_name='Title'), + ), + migrations.AlterField( + model_name='person', + name='phone', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone'), + ), + migrations.AlterField( + model_name='person', + name='phone2', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone description 2'), + ), + migrations.AlterField( + model_name='person', + name='phone3', + field=models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone 3'), + ), + migrations.AlterField( + model_name='person', + name='phone_desc', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description'), + ), + migrations.AlterField( + model_name='person', + name='phone_desc2', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description 2'), + ), + migrations.AlterField( + model_name='person', + name='phone_desc3', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description 3'), + ), + migrations.AlterField( + model_name='person', + name='postal_code', + field=models.CharField(blank=True, max_length=10, null=True, verbose_name='Postal code'), + ), + migrations.AlterField( + model_name='person', + name='precise_town', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.Town', verbose_name='Town (precise)'), + ), + migrations.AlterField( + model_name='person', + name='raw_name', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='Raw name'), + ), + migrations.AlterField( + model_name='person', + name='raw_phone', + field=models.TextField(blank=True, null=True, verbose_name='Raw phone'), + ), + migrations.AlterField( + model_name='person', + name='salutation', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Salutation'), + ), + migrations.AlterField( + model_name='person', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'), + ), + migrations.AlterField( + model_name='person', + name='surname', + field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Surname'), + ), + migrations.AlterField( + model_name='person', + name='title', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.TitleType', verbose_name='Title'), + ), + migrations.AlterField( + model_name='person', + name='town', + field=models.CharField(blank=True, max_length=150, null=True, verbose_name='Town (freeform)'), + ), + migrations.AlterField( + model_name='persontype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='persontype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='persontype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='profiletype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='profiletype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='profiletype', + name='groups', + field=models.ManyToManyField(blank=True, to='auth.Group', verbose_name='Groups'), + ), + migrations.AlterField( + model_name='profiletype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='regexp', + name='name', + field=models.CharField(max_length=100, unique=True, verbose_name='Name'), + ), + migrations.AlterField( + model_name='regexp', + name='regexp', + field=models.CharField(max_length=500, verbose_name='Regular expression'), + ), + migrations.AlterField( + model_name='searchquery', + name='content_type', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType', verbose_name='Content type'), + ), + migrations.AlterField( + model_name='searchquery', + name='is_alert', + field=models.BooleanField(default=False, verbose_name='Is an alert'), + ), + migrations.AlterField( + model_name='searchquery', + name='label', + field=models.TextField(blank=True, verbose_name='Label'), + ), + migrations.AlterField( + model_name='searchquery', + name='profile', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.UserProfile', verbose_name='Profile'), + ), + migrations.AlterField( + model_name='searchquery', + name='query', + field=models.TextField(blank=True, verbose_name='Query'), + ), + migrations.AlterField( + model_name='sourcetype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='sourcetype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='sourcetype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='spatialreferencesystem', + name='auth_name', + field=models.CharField(default='EPSG', max_length=256, verbose_name='Authority name'), + ), + migrations.AlterField( + model_name='spatialreferencesystem', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='spatialreferencesystem', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='spatialreferencesystem', + name='label', + field=models.TextField(verbose_name='Label'), + ), + migrations.AlterField( + model_name='spatialreferencesystem', + name='order', + field=models.IntegerField(default=10, verbose_name='Order'), + ), + migrations.AlterField( + model_name='spatialreferencesystem', + name='srid', + field=models.IntegerField(verbose_name='Authority SRID'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='state', + name='label', + field=models.CharField(max_length=30, verbose_name='Label'), + ), + migrations.AlterField( + model_name='state', + name='number', + field=models.CharField(max_length=3, unique=True, verbose_name='Number'), + ), + migrations.AlterField( + model_name='supporttype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='supporttype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='supporttype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='targetkey', + name='is_set', + field=models.BooleanField(default=False, verbose_name='Is set'), + ), + migrations.AlterField( + model_name='targetkey', + name='key', + field=models.TextField(verbose_name='Key'), + ), + migrations.AlterField( + model_name='targetkey', + name='value', + field=models.TextField(blank=True, null=True, verbose_name='Value'), + ), + migrations.AlterField( + model_name='targetkeygroup', + name='all_user_can_modify', + field=models.BooleanField(default=False, verbose_name='All users can modify it'), + ), + migrations.AlterField( + model_name='targetkeygroup', + name='all_user_can_use', + field=models.BooleanField(default=False, verbose_name='All users can use it'), + ), + migrations.AlterField( + model_name='targetkeygroup', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='targetkeygroup', + name='name', + field=models.TextField(unique=True, verbose_name='Name'), + ), + migrations.AlterField( + model_name='titletype', + name='available', + field=models.BooleanField(default=True, verbose_name='Available'), + ), + migrations.AlterField( + model_name='titletype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='titletype', + name='label', + field=models.TextField(verbose_name='Label'), + ), + 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', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID'), + ), + migrations.AlterField( + model_name='town', + name='cached_label', + field=models.CharField(blank=True, db_index=True, max_length=500, null=True, verbose_name='Cached name'), + ), + migrations.AlterField( + model_name='town', + name='children', + field=models.ManyToManyField(blank=True, related_name='parents', to='ishtar_common.Town', verbose_name='Town children'), + ), + migrations.AlterField( + model_name='town', + name='departement', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.Department', verbose_name='Department'), + ), + migrations.AlterField( + model_name='town', + name='limit', + field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Limit'), + ), + migrations.AlterField( + model_name='town', + name='name', + field=models.CharField(max_length=100, verbose_name='Name'), + ), + migrations.AlterField( + model_name='town', + name='year', + field=models.IntegerField(blank=True, help_text='Filling this field is relevant to distinguish old towns from new towns.', null=True, verbose_name='Year of creation'), + ), + migrations.AlterField( + model_name='userprofile', + name='areas', + field=models.ManyToManyField(blank=True, related_name='profiles', to='ishtar_common.Area', verbose_name='Areas'), + ), + migrations.AlterField( + model_name='userprofile', + name='auto_pin', + field=models.BooleanField(default=False, verbose_name='Automatically pin'), + ), + migrations.AlterField( + model_name='userprofile', + name='current', + field=models.BooleanField(default=False, verbose_name='Current profile'), + ), + migrations.AlterField( + model_name='userprofile', + name='display_pin_menu', + field=models.BooleanField(default=False, verbose_name='Display pin menu'), + ), + migrations.AlterField( + model_name='userprofile', + name='name', + field=models.CharField(blank=True, default='', max_length=100, verbose_name='Name'), + ), + migrations.AlterField( + model_name='userprofile', + name='person', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='profiles', to='ishtar_common.Person', verbose_name='Person'), + ), + migrations.AlterField( + model_name='userprofile', + name='profile_type', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.ProfileType', verbose_name='Profile type'), + ), + migrations.AlterField( + model_name='userprofile', + name='show_field_number', + field=models.BooleanField(default=False, verbose_name='Show field number'), + ), + migrations.AlterField( + model_name='valueformater', + name='name', + field=models.CharField(max_length=100, unique=True, verbose_name='Name'), + ), + migrations.AlterField( + model_name='valueformater', + name='slug', + field=models.SlugField(max_length=100, unique=True, verbose_name='Slug'), + ), + ] diff --git a/ishtar_common/models.py b/ishtar_common/models.py index afd9994ca..7aceb8703 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -2076,6 +2076,7 @@ class BaseHistorizedItem(StatisticItem, TemplateItem, FullSearch, Imported, """ Historized item with external ID management. All historized items are searchable and have a data json field. + Historized items can be "locked" for edition. """ IS_BASKET = False SHOW_URL = None diff --git a/ishtar_common/serializers.py b/ishtar_common/serializers.py index aaf7baa08..4b06a9be3 100644 --- a/ishtar_common/serializers.py +++ b/ishtar_common/serializers.py @@ -8,7 +8,6 @@ from zipfile import ZipFile from django.apps import apps from django.conf import settings from django.core.serializers import deserialize -from django.db.models import Q from . import models |