diff options
Diffstat (limited to 'archaeological_operations')
-rw-r--r-- | archaeological_operations/forms.py | 40 | ||||
-rw-r--r-- | archaeological_operations/migrations/0041_auto_20181203_1442.py | 1117 | ||||
-rw-r--r-- | archaeological_operations/models.py | 79 | ||||
-rw-r--r-- | archaeological_operations/templates/ishtar/sheet_operation.html | 1 | ||||
-rw-r--r-- | archaeological_operations/templates/ishtar/sheet_site.html | 4 |
5 files changed, 1201 insertions, 40 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index 4942d9f05..994ff4214 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -479,11 +479,12 @@ class OperationSelect(TableSelect): 'archaeological-operations', 'operation')) year = forms.IntegerField(label=_("Year")) operation_code = forms.IntegerField(label=_(u"Numeric reference")) - if settings.COUNTRY == 'fr': - code_patriarche = forms.CharField( + code_patriarche = forms.CharField( max_length=500, widget=OAWidget, label="Code PATRIARCHE") + drassm_code = forms.CharField( + label=_(u"Code DRASSM"), required=False, max_length=100) towns = get_town_field() parcel = forms.CharField(label=_(u"Parcel")) if settings.ISHTAR_DPTS: @@ -577,13 +578,16 @@ class OperationSelect(TableSelect): def __init__(self, *args, **kwargs): super(OperationSelect, self).__init__(*args, **kwargs) - if not get_current_profile().warehouse: + profile = get_current_profile() + if not profile.warehouse: self.fields.pop('documentation_deadline_before') self.fields.pop('documentation_deadline_after') self.fields.pop('documentation_received') self.fields.pop('finds_deadline_before') self.fields.pop('finds_deadline_after') self.fields.pop('finds_received') + if not profile.underwater: + self.fields.pop('drassm_code') if settings.ISHTAR_DPTS: k = 'towns__numero_insee__startswith' self.fields[k].choices = [ @@ -749,11 +753,12 @@ class OperationFormGeneral(CustomForm, ManageOldType): 'report_processing': models.ReportState } pk = forms.IntegerField(required=False, widget=forms.HiddenInput) - if settings.COUNTRY == 'fr': - code_patriarche = forms.CharField(label=u"Code PATRIARCHE", - max_length=500, - widget=OAWidget, - required=False) + code_patriarche = forms.CharField(label=u"Code PATRIARCHE", + max_length=500, + widget=OAWidget, + required=False) + drassm_code = forms.CharField( + label=_(u"Code DRASSM"), required=False, max_length=100) operation_type = forms.ChoiceField(label=_(u"Operation type"), choices=[]) common_name = forms.CharField(label=_(u"Generic name"), required=False, @@ -873,9 +878,11 @@ class OperationFormGeneral(CustomForm, ManageOldType): if not profile.files: for key in self.FILE_FIELDS: self.remove_field(key) - if not profile.warehouse: - for key in self.WAREHOUSE_FIELDS: - self.remove_field(key) + if not profile.warehouse: + for key in self.WAREHOUSE_FIELDS: + self.remove_field(key) + if not profile.underwater: + self.fields.pop('drassm_code') def clean(self): cleaned_data = self.cleaned_data @@ -1262,6 +1269,11 @@ class SiteSelect(TableSelect): locality_cadastral = forms.CharField( label=_(u"Cadastral locality"), max_length=200, required=False) + + affmar_number = forms.CharField( + label=_(u"Numéro AffMar"), required=False, max_length=100) + drassm_number = forms.CharField( + label=_(u"Numéro DRASSM"), required=False, max_length=100) shipwreck_name = forms.CharField( label=_(u"Shipwreck name"), max_length=200, required=False) @@ -1288,6 +1300,8 @@ class SiteSelect(TableSelect): self.fields.pop('shipwreck_code') self.fields.pop('sinking_date') self.fields.pop('discovery_area') + self.fields.pop('affmar_number') + self.fields.pop('drassm_number') class SiteFormSelection(IshtarForm): @@ -1378,6 +1392,10 @@ class SiteUnderwaterForm(CustomForm, ManageOldType): form_admin_name = _(u"Archaeological site - 030 - Underwater") form_slug = u"archaeological_site-030-underwater" + affmar_number = forms.CharField( + label=_(u"Numéro AffMar"), required=False, max_length=100) + drassm_number = forms.CharField( + label=_(u"Numéro DRASSM"), required=False, max_length=100) shipwreck_name = forms.CharField( label=_(u"Shipwreck name"), required=False) shipwreck_code = forms.CharField( diff --git a/archaeological_operations/migrations/0041_auto_20181203_1442.py b/archaeological_operations/migrations/0041_auto_20181203_1442.py new file mode 100644 index 000000000..5b6b9f7db --- /dev/null +++ b/archaeological_operations/migrations/0041_auto_20181203_1442.py @@ -0,0 +1,1117 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.10 on 2018-12-03 14:42 +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', '0040_archaeologicalsite_collaborators'), + ] + + operations = [ + migrations.AlterModelOptions( + name='acttype', + options={'ordering': ('label',), 'verbose_name': "Type d'acte", 'verbose_name_plural': "Types d'acte"}, + ), + 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': 'Acte administratif', 'verbose_name_plural': 'Actes administratifs'}, + ), + 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': 'Entit\xe9 (EA)', 'verbose_name_plural': 'Entit\xe9s arch\xe9ologiques'}, + ), + migrations.AlterModelOptions( + name='historicaladministrativeact', + options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Acte administratif'}, + ), + migrations.AlterModelOptions( + name='historicalarchaeologicalsite', + options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Entit\xe9 (EA)'}, + ), + migrations.AlterModelOptions( + name='historicaloperation', + options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Op\xe9ration'}, + ), + 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': 'Op\xe9ration', 'verbose_name_plural': 'Op\xe9rations'}, + ), + migrations.AlterModelOptions( + name='operationtypeold', + options={'ordering': ['-preventive', 'order', 'label'], 'verbose_name': "Type d'op\xe9ration - ancien", 'verbose_name_plural': "Types d'op\xe9ration - ancien"}, + ), + migrations.AlterModelOptions( + name='parcel', + options={'ordering': ('year', 'section', 'parcel_number'), 'verbose_name': 'Parcelle', 'verbose_name_plural': 'Parcelles'}, + ), + migrations.AlterModelOptions( + name='parcelowner', + options={'verbose_name': 'Propri\xe9taire de parcelle', 'verbose_name_plural': 'Propri\xe9taires de parcelle'}, + ), + migrations.AlterModelOptions( + name='period', + options={'ordering': ('order',), 'verbose_name': 'Type de p\xe9riode', 'verbose_name_plural': 'Types de p\xe9riode'}, + ), + migrations.AlterModelOptions( + name='recordqualitytype', + options={'ordering': ('order',), 'verbose_name': "Type de qualit\xe9 d'enregistrement", 'verbose_name_plural': "Types de qualit\xe9 d'enregistrement"}, + ), + migrations.AlterModelOptions( + name='recordrelations', + options={'ordering': ('left_record', 'relation_type'), 'permissions': [('view_operationrelation', 'Can view all Operation relations')], 'verbose_name': 'Relation entre op\xe9rations', 'verbose_name_plural': 'Relations entre op\xe9rations'}, + ), + migrations.AlterModelOptions( + name='relationtype', + options={'ordering': ('order', 'label'), 'verbose_name': 'Type de relation entre op\xe9rations', 'verbose_name_plural': 'Types de relation entre op\xe9rations'}, + ), + migrations.AlterModelOptions( + name='remaintype', + options={'ordering': ('label',), 'verbose_name': 'Type de vestige', 'verbose_name_plural': 'Types de vestige'}, + ), + migrations.AlterModelOptions( + name='reportstate', + options={'ordering': ('order',), 'verbose_name': "Type d'\xe9tat de rapport", 'verbose_name_plural': "Types d'\xe9tat de rapport"}, + ), + migrations.AddField( + model_name='archaeologicalsite', + name='affmar_number', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Num\xe9ro AffMar'), + ), + migrations.AddField( + model_name='archaeologicalsite', + name='drassm_number', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Num\xe9ro DRASSM'), + ), + migrations.AddField( + model_name='historicalarchaeologicalsite', + name='affmar_number', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Num\xe9ro AffMar'), + ), + migrations.AddField( + model_name='historicalarchaeologicalsite', + name='drassm_number', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Num\xe9ro DRASSM'), + ), + migrations.AddField( + model_name='historicaloperation', + name='drassm_code', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Code DRASSM'), + ), + migrations.AddField( + model_name='operation', + name='drassm_code', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Code DRASSM'), + ), + migrations.AlterField( + model_name='acttype', + name='associated_template', + field=models.ManyToManyField(blank=True, related_name='acttypes', to='ishtar_common.DocumentTemplate', verbose_name='Patron associ\xe9'), + ), + migrations.AlterField( + model_name='acttype', + name='available', + field=models.BooleanField(default=True, verbose_name='Disponible'), + ), + migrations.AlterField( + model_name='acttype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Commentaire'), + ), + migrations.AlterField( + model_name='acttype', + name='indexed', + field=models.BooleanField(default=False, verbose_name='Index\xe9'), + ), + migrations.AlterField( + model_name='acttype', + name='intented_to', + field=models.CharField(choices=[(b'F', 'Dossier'), (b'O', 'Op\xe9ration'), (b'TF', 'Demande de traitement'), (b'T', 'Traitement')], max_length=2, verbose_name='Destin\xe9 \xe0'), + ), + migrations.AlterField( + model_name='acttype', + name='label', + field=models.TextField(verbose_name='D\xe9nomination'), + ), + migrations.AlterField( + model_name='acttype', + name='txt_idx', + field=models.TextField(help_text='Le "slug" est une version standardis\xe9e du nom. Il ne contient que des lettres en minuscule, des nombres et des tirets (-). Chaque "slug" doit \xeatre unique dans la typologie.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), "Ce champ ne doit contenir que des lettres, des nombres, des tirets bas _ et des traits d'union.", 'invalid')], verbose_name='Identifiant textuel'), + ), + migrations.AlterField( + model_name='administrativeact', + name='act_object', + field=models.TextField(blank=True, max_length=300, null=True, verbose_name='Objet'), + ), + migrations.AlterField( + model_name='administrativeact', + name='act_type', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='archaeological_operations.ActType', verbose_name="Type d'acte"), + ), + 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='Dossier'), + ), + migrations.AlterField( + model_name='administrativeact', + name='departments_label', + field=models.TextField(blank=True, help_text='Valeur en cache des d\xe9partements associ\xe9s', null=True, verbose_name='D\xe9partements'), + ), + 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='Cr\xe9ateur'), + ), + 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='Dernier \xe9diteur'), + ), + 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="Responsable d'op\xe9ration"), + ), + 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='Op\xe9ration'), + ), + 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="Op\xe9rateur d'arch\xe9ologie pr\xe9ventive"), + ), + 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='Responsable scientifique'), + ), + migrations.AlterField( + model_name='administrativeact', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto-rempli \xe0 la sauvegarde', null=True, verbose_name='Vecteur de recherche'), + ), + 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='Signataire'), + ), + migrations.AlterField( + model_name='administrativeact', + name='signature_date', + field=models.DateField(blank=True, null=True, verbose_name='Date de signature'), + ), + migrations.AlterField( + model_name='administrativeact', + name='towns_label', + field=models.TextField(blank=True, help_text='Valeur en cache des communes associ\xe9es', null=True, verbose_name='Communes'), + ), + 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='Traitement'), + ), + 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='Demande de traitement'), + ), + migrations.AlterField( + model_name='administrativeact', + name='year', + field=models.IntegerField(blank=True, null=True, verbose_name='Ann\xe9e'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Nom en cache'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='collaborators', + field=models.ManyToManyField(blank=True, related_name='site_collaborator', to='ishtar_common.Person', verbose_name='Collaborateurs'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Commentaire'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='discovery_area', + field=models.TextField(blank=True, null=True, verbose_name='Zone de d\xe9couverte'), + ), + 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='Cr\xe9ateur'), + ), + 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='Dernier \xe9diteur'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='locality_cadastral', + field=models.TextField(blank=True, null=True, verbose_name='Lieu-dit cadastre'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='locality_ngi', + field=models.TextField(blank=True, null=True, verbose_name='Lieu-dit IGN'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='multi_polygon', + field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Polygones multi-parties'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='name', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Nom'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='oceanographic_service_localisation', + field=models.TextField(blank=True, null=True, verbose_name='Localisation SHOM'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='periods', + field=models.ManyToManyField(blank=True, to='archaeological_operations.Period', verbose_name='P\xe9riodes'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='reference', + field=models.CharField(max_length=200, unique=True, verbose_name='R\xe9f\xe9rence'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='remains', + field=models.ManyToManyField(blank=True, to='archaeological_operations.RemainType', verbose_name='Vestiges'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto-rempli \xe0 la sauvegarde', null=True, verbose_name='Vecteur de recherche'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='shipwreck_code', + field=models.TextField(blank=True, null=True, verbose_name='Code \xe9pave'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='shipwreck_name', + field=models.TextField(blank=True, null=True, verbose_name="Nom de l'\xe9pave"), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='sinking_date', + field=models.DateField(blank=True, null=True, verbose_name='Date de naufrage'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='top_operation', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_operations.Operation', verbose_name='Op\xe9ration chapeau'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='towns', + field=models.ManyToManyField(blank=True, related_name='sites', to='ishtar_common.Town', verbose_name='Communes'), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='act_object', + field=models.TextField(blank=True, max_length=300, null=True, verbose_name='Objet'), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='departments_label', + field=models.TextField(blank=True, help_text='Valeur en cache des d\xe9partements associ\xe9s', null=True, verbose_name='D\xe9partements'), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto-rempli \xe0 la sauvegarde', null=True, verbose_name='Vecteur de recherche'), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='signature_date', + field=models.DateField(blank=True, null=True, verbose_name='Date de signature'), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='towns_label', + field=models.TextField(blank=True, help_text='Valeur en cache des communes associ\xe9es', null=True, verbose_name='Communes'), + ), + migrations.AlterField( + model_name='historicaladministrativeact', + name='year', + field=models.IntegerField(blank=True, null=True, verbose_name='Ann\xe9e'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Nom en cache'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Commentaire'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='discovery_area', + field=models.TextField(blank=True, null=True, verbose_name='Zone de d\xe9couverte'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='locality_cadastral', + field=models.TextField(blank=True, null=True, verbose_name='Lieu-dit cadastre'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='locality_ngi', + field=models.TextField(blank=True, null=True, verbose_name='Lieu-dit IGN'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='multi_polygon', + field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Polygones multi-parties'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='name', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Nom'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='oceanographic_service_localisation', + field=models.TextField(blank=True, null=True, verbose_name='Localisation SHOM'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='reference', + field=models.CharField(db_index=True, max_length=200, verbose_name='R\xe9f\xe9rence'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto-rempli \xe0 la sauvegarde', null=True, verbose_name='Vecteur de recherche'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='shipwreck_code', + field=models.TextField(blank=True, null=True, verbose_name='Code \xe9pave'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='shipwreck_name', + field=models.TextField(blank=True, null=True, verbose_name="Nom de l'\xe9pave"), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='sinking_date', + field=models.DateField(blank=True, null=True, verbose_name='Date de naufrage'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='abstract', + field=models.TextField(blank=True, null=True, verbose_name='R\xe9sum\xe9'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='address', + field=models.TextField(blank=True, null=True, verbose_name='Adresse / Lieu-dit'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='cached_label', + field=models.CharField(blank=True, db_index=True, max_length=500, null=True, verbose_name='Nom en cache'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Commentaire'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='common_name', + field=models.TextField(blank=True, null=True, verbose_name='Nom g\xe9n\xe9rique'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='cost', + field=models.IntegerField(blank=True, null=True, verbose_name='Co\xfbt (euros)'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='creation_date', + field=models.DateField(default=datetime.date.today, verbose_name='Date de cr\xe9ation'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='documentation_deadline', + field=models.DateField(blank=True, null=True, verbose_name='Date limite de versement de la documentation'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='documentation_received', + field=models.NullBooleanField(verbose_name='Documentation re\xe7ue'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='effective_man_days', + field=models.IntegerField(blank=True, null=True, verbose_name='Jours-hommes effectifs'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='end_date', + field=models.DateField(blank=True, null=True, verbose_name='Date de cl\xf4ture'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='excavation_end_date', + field=models.DateField(blank=True, null=True, verbose_name='Date de fin de chantier'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='finds_deadline', + field=models.DateField(blank=True, null=True, verbose_name='Date limite de versement du mobilier'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='finds_received', + field=models.NullBooleanField(verbose_name='Mobilier re\xe7u'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='geoarchaeological_context_prescription', + field=models.NullBooleanField(verbose_name='Prescription sur un contexte g\xe9oarch\xe9ologique'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='large_area_prescription', + field=models.NullBooleanField(verbose_name='Prescription sur une vaste surface'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='multi_polygon', + field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Polygones multi-parties'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='name_of_the_protagonist', + field=models.TextField(blank=True, null=True, verbose_name='Nom du protagoniste'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='official_report_number', + field=models.TextField(blank=True, null=True, verbose_name='Num\xe9ro de proc\xe8s-verbal'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='old_code', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Ancien code'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='operation_code', + field=models.IntegerField(blank=True, null=True, verbose_name='R\xe9f\xe9rence num\xe9rique'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='operator_reference', + field=models.CharField(blank=True, max_length=20, null=True, verbose_name="R\xe9f\xe9rence de l'op\xe9rateur"), + ), + migrations.AlterField( + model_name='historicaloperation', + name='optional_man_days', + field=models.IntegerField(blank=True, null=True, verbose_name='Jours-hommes optionnels'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='relation_image', + field=models.TextField(blank=True, max_length=100, null=True, verbose_name='Image des relations (SVG g\xe9n\xe9r\xe9)'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='report_delivery_date', + field=models.DateField(blank=True, null=True, verbose_name='Date de livraison du rapport'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='scheduled_man_days', + field=models.IntegerField(blank=True, null=True, verbose_name='Jours-hommes pr\xe9vus'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='scientific_documentation_comment', + field=models.TextField(blank=True, null=True, verbose_name='Commentaire relatif \xe0 la documentation scientifique'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto-rempli \xe0 la sauvegarde', null=True, verbose_name='Vecteur de recherche'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='seizure_name', + field=models.TextField(blank=True, null=True, verbose_name='Nom de la saisie'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='start_date', + field=models.DateField(blank=True, null=True, verbose_name='Date de d\xe9but'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='virtual_operation', + field=models.BooleanField(default=False, help_text="Si coch\xe9, cela signifie que cette op\xe9ration n'a pas \xe9t\xe9 officiellement enregistr\xe9e.", verbose_name='Op\xe9ration virtuelle'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='year', + field=models.IntegerField(blank=True, null=True, verbose_name='Ann\xe9e'), + ), + migrations.AlterField( + model_name='historicaloperation', + name='zoning_prescription', + field=models.NullBooleanField(verbose_name='Prescription sur zonage'), + ), + migrations.AlterField( + model_name='operation', + name='abstract', + field=models.TextField(blank=True, null=True, verbose_name='R\xe9sum\xe9'), + ), + migrations.AlterField( + model_name='operation', + name='address', + field=models.TextField(blank=True, null=True, verbose_name='Adresse / Lieu-dit'), + ), + migrations.AlterField( + model_name='operation', + name='archaeological_sites', + field=models.ManyToManyField(blank=True, related_name='operations', to='archaeological_operations.ArchaeologicalSite', verbose_name='Entit\xe9s arch\xe9ologiques'), + ), + migrations.AlterField( + model_name='operation', + name='associated_file', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='operations', to='archaeological_files.File', verbose_name='Dossier'), + ), + migrations.AlterField( + model_name='operation', + name='cached_label', + field=models.CharField(blank=True, db_index=True, max_length=500, null=True, verbose_name='Nom en cache'), + ), + migrations.AlterField( + model_name='operation', + name='collaborators', + field=models.ManyToManyField(blank=True, related_name='operation_collaborator', to='ishtar_common.Person', verbose_name='Collaborateurs'), + ), + migrations.AlterField( + model_name='operation', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Commentaire'), + ), + migrations.AlterField( + model_name='operation', + name='common_name', + field=models.TextField(blank=True, null=True, verbose_name='Nom g\xe9n\xe9rique'), + ), + migrations.AlterField( + model_name='operation', + name='cost', + field=models.IntegerField(blank=True, null=True, verbose_name='Co\xfbt (euros)'), + ), + migrations.AlterField( + model_name='operation', + name='creation_date', + field=models.DateField(default=datetime.date.today, verbose_name='Date de cr\xe9ation'), + ), + migrations.AlterField( + model_name='operation', + name='documentation_deadline', + field=models.DateField(blank=True, null=True, verbose_name='Date limite de versement de la documentation'), + ), + migrations.AlterField( + model_name='operation', + name='documentation_received', + field=models.NullBooleanField(verbose_name='Documentation re\xe7ue'), + ), + migrations.AlterField( + model_name='operation', + name='effective_man_days', + field=models.IntegerField(blank=True, null=True, verbose_name='Jours-hommes effectifs'), + ), + migrations.AlterField( + model_name='operation', + name='end_date', + field=models.DateField(blank=True, null=True, verbose_name='Date de cl\xf4ture'), + ), + migrations.AlterField( + model_name='operation', + name='excavation_end_date', + field=models.DateField(blank=True, null=True, verbose_name='Date de fin de chantier'), + ), + migrations.AlterField( + model_name='operation', + name='finds_deadline', + field=models.DateField(blank=True, null=True, verbose_name='Date limite de versement du mobilier'), + ), + migrations.AlterField( + model_name='operation', + name='finds_received', + field=models.NullBooleanField(verbose_name='Mobilier re\xe7u'), + ), + migrations.AlterField( + model_name='operation', + name='geoarchaeological_context_prescription', + field=models.NullBooleanField(verbose_name='Prescription sur un contexte g\xe9oarch\xe9ologique'), + ), + 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='Cr\xe9ateur'), + ), + 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='Dernier \xe9diteur'), + ), + 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='Responsable'), + ), + migrations.AlterField( + model_name='operation', + name='large_area_prescription', + field=models.NullBooleanField(verbose_name='Prescription sur une vaste surface'), + ), + migrations.AlterField( + model_name='operation', + name='multi_polygon', + field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Polygones multi-parties'), + ), + migrations.AlterField( + model_name='operation', + name='name_of_the_protagonist', + field=models.TextField(blank=True, null=True, verbose_name='Nom du protagoniste'), + ), + migrations.AlterField( + model_name='operation', + name='official_report_number', + field=models.TextField(blank=True, null=True, verbose_name='Num\xe9ro de proc\xe8s-verbal'), + ), + migrations.AlterField( + model_name='operation', + name='old_code', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Ancien code'), + ), + migrations.AlterField( + model_name='operation', + name='operation_code', + field=models.IntegerField(blank=True, null=True, verbose_name='R\xe9f\xe9rence num\xe9rique'), + ), + 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="Type d'op\xe9ration"), + ), + 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='Op\xe9rateur'), + ), + migrations.AlterField( + model_name='operation', + name='operator_reference', + field=models.CharField(blank=True, max_length=20, null=True, verbose_name="R\xe9f\xe9rence de l'op\xe9rateur"), + ), + migrations.AlterField( + model_name='operation', + name='optional_man_days', + field=models.IntegerField(blank=True, null=True, verbose_name='Jours-hommes optionnels'), + ), + migrations.AlterField( + model_name='operation', + name='periods', + field=models.ManyToManyField(blank=True, to='archaeological_operations.Period', verbose_name='P\xe9riodes'), + ), + migrations.AlterField( + model_name='operation', + name='record_quality_type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='archaeological_operations.RecordQualityType', verbose_name="Qualit\xe9 d'enregistrement"), + ), + migrations.AlterField( + model_name='operation', + name='relation_image', + field=models.FileField(blank=True, null=True, upload_to=ishtar_common.models.get_image_path, verbose_name='Image des relations (SVG g\xe9n\xe9r\xe9)'), + ), + migrations.AlterField( + model_name='operation', + name='remains', + field=models.ManyToManyField(blank=True, to='archaeological_operations.RemainType', verbose_name='Vestiges'), + ), + migrations.AlterField( + model_name='operation', + name='report_delivery_date', + field=models.DateField(blank=True, null=True, verbose_name='Date de livraison du rapport'), + ), + migrations.AlterField( + model_name='operation', + name='report_processing', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='archaeological_operations.ReportState', verbose_name='Traitement du rapport'), + ), + migrations.AlterField( + model_name='operation', + name='scheduled_man_days', + field=models.IntegerField(blank=True, null=True, verbose_name='Jours-hommes pr\xe9vus'), + ), + migrations.AlterField( + model_name='operation', + name='scientific_documentation_comment', + field=models.TextField(blank=True, null=True, verbose_name='Commentaire relatif \xe0 la documentation scientifique'), + ), + 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='Responsable du suivi scientifique'), + ), + migrations.AlterField( + model_name='operation', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto-rempli \xe0 la sauvegarde', null=True, verbose_name='Vecteur de recherche'), + ), + migrations.AlterField( + model_name='operation', + name='seizure_name', + field=models.TextField(blank=True, null=True, verbose_name='Nom de la saisie'), + ), + migrations.AlterField( + model_name='operation', + name='start_date', + field=models.DateField(blank=True, null=True, verbose_name='Date de d\xe9but'), + ), + migrations.AlterField( + model_name='operation', + name='towns', + field=models.ManyToManyField(related_name='operations', to='ishtar_common.Town', verbose_name='Communes'), + ), + migrations.AlterField( + model_name='operation', + name='virtual_operation', + field=models.BooleanField(default=False, help_text="Si coch\xe9, cela signifie que cette op\xe9ration n'a pas \xe9t\xe9 officiellement enregistr\xe9e.", verbose_name='Op\xe9ration virtuelle'), + ), + migrations.AlterField( + model_name='operation', + name='year', + field=models.IntegerField(blank=True, null=True, verbose_name='Ann\xe9e'), + ), + migrations.AlterField( + model_name='operation', + name='zoning_prescription', + field=models.NullBooleanField(verbose_name='Prescription sur zonage'), + ), + migrations.AlterField( + model_name='operationtypeold', + name='available', + field=models.BooleanField(default=True, verbose_name='Disponible'), + ), + migrations.AlterField( + model_name='operationtypeold', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Commentaire'), + ), + migrations.AlterField( + model_name='operationtypeold', + name='label', + field=models.TextField(verbose_name='D\xe9nomination'), + ), + migrations.AlterField( + model_name='operationtypeold', + name='order', + field=models.IntegerField(default=1, verbose_name='Ordre'), + ), + migrations.AlterField( + model_name='operationtypeold', + name='preventive', + field=models.BooleanField(default=True, verbose_name='Est du pr\xe9ventif'), + ), + migrations.AlterField( + model_name='operationtypeold', + name='txt_idx', + field=models.TextField(help_text='Le "slug" est une version standardis\xe9e du nom. Il ne contient que des lettres en minuscule, des nombres et des tirets (-). Chaque "slug" doit \xeatre unique dans la typologie.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), "Ce champ ne doit contenir que des lettres, des nombres, des tirets bas _ et des traits d'union.", 'invalid')], verbose_name='Identifiant textuel'), + ), + migrations.AlterField( + model_name='parcel', + name='address', + field=models.TextField(blank=True, null=True, verbose_name='Adresse - Lieu-dit'), + ), + migrations.AlterField( + model_name='parcel', + name='associated_file', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='parcels', to='archaeological_files.File', verbose_name='Dossier'), + ), + migrations.AlterField( + model_name='parcel', + name='auto_external_id', + field=models.BooleanField(default=False, verbose_name="L'identifiant est attribu\xe9 automatiquement"), + ), + migrations.AlterField( + model_name='parcel', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Nom en cache'), + ), + migrations.AlterField( + model_name='parcel', + name='external_id', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Identifiant'), + ), + 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='Cr\xe9ateur'), + ), + 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='Dernier \xe9diteur'), + ), + migrations.AlterField( + model_name='parcel', + name='operation', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='parcels', to='archaeological_operations.Operation', verbose_name='Op\xe9ration'), + ), + migrations.AlterField( + model_name='parcel', + name='parcel_number', + field=models.CharField(blank=True, max_length=6, null=True, verbose_name='Num\xe9ro de parcelle'), + ), + migrations.AlterField( + model_name='parcel', + name='public_domain', + field=models.BooleanField(default=False, verbose_name='Domaine public'), + ), + migrations.AlterField( + model_name='parcel', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto-rempli \xe0 la sauvegarde', null=True, verbose_name='Vecteur de recherche'), + ), + 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='Commune'), + ), + migrations.AlterField( + model_name='parcel', + name='year', + field=models.IntegerField(blank=True, null=True, verbose_name='Ann\xe9e'), + ), + migrations.AlterField( + model_name='parcelowner', + name='end_date', + field=models.DateField(verbose_name='Date de fin'), + ), + 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='Cr\xe9ateur'), + ), + 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='Dernier \xe9diteur'), + ), + 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='Propri\xe9taire'), + ), + 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='Parcelle'), + ), + migrations.AlterField( + model_name='parcelowner', + name='search_vector', + field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto-rempli \xe0 la sauvegarde', null=True, verbose_name='Vecteur de recherche'), + ), + migrations.AlterField( + model_name='parcelowner', + name='start_date', + field=models.DateField(verbose_name='Date de d\xe9but'), + ), + migrations.AlterField( + model_name='period', + name='available', + field=models.BooleanField(default=True, verbose_name='Disponible'), + ), + migrations.AlterField( + model_name='period', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Commentaire'), + ), + migrations.AlterField( + model_name='period', + name='end_date', + field=models.IntegerField(blank=True, null=True, verbose_name='Date de fin'), + ), + migrations.AlterField( + model_name='period', + name='label', + field=models.TextField(verbose_name='D\xe9nomination'), + ), + migrations.AlterField( + model_name='period', + name='order', + field=models.IntegerField(verbose_name='Ordre'), + ), + migrations.AlterField( + model_name='period', + name='parent', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='archaeological_operations.Period', verbose_name='P\xe9riode parente'), + ), + migrations.AlterField( + model_name='period', + name='start_date', + field=models.IntegerField(blank=True, null=True, verbose_name='Date de d\xe9but'), + ), + migrations.AlterField( + model_name='period', + name='txt_idx', + field=models.TextField(help_text='Le "slug" est une version standardis\xe9e du nom. Il ne contient que des lettres en minuscule, des nombres et des tirets (-). Chaque "slug" doit \xeatre unique dans la typologie.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), "Ce champ ne doit contenir que des lettres, des nombres, des tirets bas _ et des traits d'union.", 'invalid')], verbose_name='Identifiant textuel'), + ), + migrations.AlterField( + model_name='recordqualitytype', + name='available', + field=models.BooleanField(default=True, verbose_name='Disponible'), + ), + migrations.AlterField( + model_name='recordqualitytype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Commentaire'), + ), + migrations.AlterField( + model_name='recordqualitytype', + name='label', + field=models.TextField(verbose_name='D\xe9nomination'), + ), + migrations.AlterField( + model_name='recordqualitytype', + name='order', + field=models.IntegerField(verbose_name='Ordre'), + ), + migrations.AlterField( + model_name='recordqualitytype', + name='txt_idx', + field=models.TextField(help_text='Le "slug" est une version standardis\xe9e du nom. Il ne contient que des lettres en minuscule, des nombres et des tirets (-). Chaque "slug" doit \xeatre unique dans la typologie.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), "Ce champ ne doit contenir que des lettres, des nombres, des tirets bas _ et des traits d'union.", 'invalid')], verbose_name='Identifiant textuel'), + ), + migrations.AlterField( + model_name='relationtype', + name='available', + field=models.BooleanField(default=True, verbose_name='Disponible'), + ), + migrations.AlterField( + model_name='relationtype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Commentaire'), + ), + 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='Relation inverse'), + ), + migrations.AlterField( + model_name='relationtype', + name='label', + field=models.TextField(verbose_name='D\xe9nomination'), + ), + migrations.AlterField( + model_name='relationtype', + name='logical_relation', + field=models.CharField(blank=True, choices=[(b'above', 'Au-dessus'), (b'bellow', 'En dessous'), (b'equal', '\xc9gal')], max_length=10, null=True, verbose_name='Relation logique'), + ), + migrations.AlterField( + model_name='relationtype', + name='order', + field=models.IntegerField(default=1, verbose_name='Ordre'), + ), + migrations.AlterField( + model_name='relationtype', + name='symmetrical', + field=models.BooleanField(verbose_name='Sym\xe9trique'), + ), + migrations.AlterField( + model_name='relationtype', + name='tiny_label', + field=models.CharField(blank=True, max_length=50, null=True, verbose_name='D\xe9nomination courte'), + ), + migrations.AlterField( + model_name='relationtype', + name='txt_idx', + field=models.TextField(help_text='Le "slug" est une version standardis\xe9e du nom. Il ne contient que des lettres en minuscule, des nombres et des tirets (-). Chaque "slug" doit \xeatre unique dans la typologie.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), "Ce champ ne doit contenir que des lettres, des nombres, des tirets bas _ et des traits d'union.", 'invalid')], verbose_name='Identifiant textuel'), + ), + migrations.AlterField( + model_name='remaintype', + name='available', + field=models.BooleanField(default=True, verbose_name='Disponible'), + ), + migrations.AlterField( + model_name='remaintype', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Commentaire'), + ), + migrations.AlterField( + model_name='remaintype', + name='label', + field=models.TextField(verbose_name='D\xe9nomination'), + ), + migrations.AlterField( + model_name='remaintype', + name='txt_idx', + field=models.TextField(help_text='Le "slug" est une version standardis\xe9e du nom. Il ne contient que des lettres en minuscule, des nombres et des tirets (-). Chaque "slug" doit \xeatre unique dans la typologie.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), "Ce champ ne doit contenir que des lettres, des nombres, des tirets bas _ et des traits d'union.", 'invalid')], verbose_name='Identifiant textuel'), + ), + migrations.AlterField( + model_name='reportstate', + name='available', + field=models.BooleanField(default=True, verbose_name='Disponible'), + ), + migrations.AlterField( + model_name='reportstate', + name='comment', + field=models.TextField(blank=True, null=True, verbose_name='Commentaire'), + ), + migrations.AlterField( + model_name='reportstate', + name='label', + field=models.TextField(verbose_name='D\xe9nomination'), + ), + migrations.AlterField( + model_name='reportstate', + name='order', + field=models.IntegerField(verbose_name='Ordre'), + ), + migrations.AlterField( + model_name='reportstate', + name='txt_idx', + field=models.TextField(help_text='Le "slug" est une version standardis\xe9e du nom. Il ne contient que des lettres en minuscule, des nombres et des tirets (-). Chaque "slug" doit \xeatre unique dans la typologie.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), "Ce champ ne doit contenir que des lettres, des nombres, des tirets bas _ et des traits d'union.", 'invalid')], verbose_name='Identifiant textuel'), + ), + ] diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 8d2c4e376..b15dbf580 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -120,6 +120,8 @@ class ArchaeologicalSite(BaseHistorizedItem, OwnPerms, ValueGetter, "reference", "shipwreck_code", "shipwreck_name", + "drassm_number", + "affmar_number", ] M2M_SEARCH_VECTORS = ["periods__label", "remains__label", "towns__name"] PARENT_SEARCH_VECTORS = ['operations'] @@ -193,6 +195,14 @@ class ArchaeologicalSite(BaseHistorizedItem, OwnPerms, ValueGetter, pgettext_lazy("key for text search", u"top-operation"), 'top_operation__cached_label__icontains' ), + 'drassm_number': ( + pgettext_lazy("key for text search", u"numero-drassm"), + 'drassm_number__iexact' + ), + 'affmar_number': ( + pgettext_lazy("key for text search", u"numero-affmar"), + 'affmar_number__iexact' + ), } for v in ALT_NAMES.values(): for language_code, language_lbl in settings.LANGUAGES: @@ -244,6 +254,10 @@ class ArchaeologicalSite(BaseHistorizedItem, OwnPerms, ValueGetter, _(u"Sinking date"), null=True, blank=True) discovery_area = models.TextField( _(u"Discovery area"), null=True, blank=True) + affmar_number = models.CharField(_(u"Numéro AffMar"), max_length=100, + null=True, blank=True) + drassm_number = models.CharField(_(u"Numéro DRASSM"), max_length=100, + null=True, blank=True) # gis point = models.PointField(_(u"Point"), blank=True, null=True) @@ -542,6 +556,7 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, "scientist__cached_label", "scientific_documentation_comment", "seizure_name", + "drassm_code", ] PROPERTY_SEARCH_VECTORS = [ "full_reference", "short_code_patriarche" @@ -706,6 +721,10 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, pgettext_lazy("key for text search", u"finds-deadline-after"), 'finds_deadline__gte' ), + 'drassm_code': ( + pgettext_lazy("key for text search", u"code-drassm"), + 'drassm_code__iexact' + ), } for v in ALT_NAMES.values(): for language_code, language_lbl in settings.LANGUAGES: @@ -784,34 +803,35 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, blank=True, null=True) old_code = models.CharField(_(u"Old code"), max_length=200, null=True, blank=True) - if settings.COUNTRY == 'fr': - code_patriarche = models.TextField(u"Code PATRIARCHE", null=True, - blank=True, unique=True) - TABLE_COLS = ['code_patriarche'] + TABLE_COLS - BASE_SEARCH_VECTORS = ['code_patriarche'] + BASE_SEARCH_VECTORS - # preventive - fnap_financing = models.FloatField(u"Financement FNAP (%)", - blank=True, null=True) - # preventive - fnap_cost = models.IntegerField(u"Financement FNAP (€)", - blank=True, null=True) - # preventive diag - zoning_prescription = models.NullBooleanField( - _(u"Prescription on zoning"), blank=True, null=True) - # preventive diag - large_area_prescription = models.NullBooleanField( - _(u"Prescription on large area"), blank=True, null=True) - geoarchaeological_context_prescription = models.NullBooleanField( - _(u"Prescription on geoarchaeological context"), blank=True, - null=True) # preventive diag - cira_rapporteur = models.ForeignKey( - Person, related_name='cira_rapporteur', null=True, blank=True, - on_delete=models.SET_NULL, verbose_name=u"Rapporteur CIRA") - negative_result = models.NullBooleanField( - u"Résultat considéré comme négatif", blank=True, null=True) - cira_date = models.DateField(u"Date avis CIRA", null=True, blank=True) - eas_number = models.CharField(u"Numéro de l'EA", max_length=20, - null=True, blank=True) + ## fr + code_patriarche = models.TextField(u"Code PATRIARCHE", null=True, + blank=True, unique=True) + TABLE_COLS = ['code_patriarche'] + TABLE_COLS + BASE_SEARCH_VECTORS = ['code_patriarche'] + BASE_SEARCH_VECTORS + # preventive + fnap_financing = models.FloatField(u"Financement FNAP (%)", + blank=True, null=True) + # preventive + fnap_cost = models.IntegerField(u"Financement FNAP (€)", + blank=True, null=True) + # preventive diag + zoning_prescription = models.NullBooleanField( + _(u"Prescription on zoning"), blank=True, null=True) + # preventive diag + large_area_prescription = models.NullBooleanField( + _(u"Prescription on large area"), blank=True, null=True) + geoarchaeological_context_prescription = models.NullBooleanField( + _(u"Prescription on geoarchaeological context"), blank=True, + null=True) # preventive diag + cira_rapporteur = models.ForeignKey( + Person, related_name='cira_rapporteur', null=True, blank=True, + on_delete=models.SET_NULL, verbose_name=u"Rapporteur CIRA") + negative_result = models.NullBooleanField( + u"Résultat considéré comme négatif", blank=True, null=True) + cira_date = models.DateField(u"Date avis CIRA", null=True, blank=True) + eas_number = models.CharField(u"Numéro de l'EA", max_length=20, + null=True, blank=True) + ## end fr operator_reference = models.CharField( _(u"Operator reference"), max_length=20, null=True, blank=True) common_name = models.TextField(_(u"Generic name"), null=True, blank=True) @@ -846,6 +866,9 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, finds_received = models.NullBooleanField( _(u"Finds received"), blank=True, null=True) + # underwater + drassm_code = models.CharField(_(u"Code DRASSM"), max_length=100, + null=True, blank=True) # judiciary seizure_name = models.TextField(_(u"Seizure name"), blank=True, null=True) official_report_number = models.TextField(_(u"Official report number"), diff --git a/archaeological_operations/templates/ishtar/sheet_operation.html b/archaeological_operations/templates/ishtar/sheet_operation.html index 6d8d475e4..fb938b93f 100644 --- a/archaeological_operations/templates/ishtar/sheet_operation.html +++ b/archaeological_operations/templates/ishtar/sheet_operation.html @@ -33,6 +33,7 @@ </div> <div class="row"> + {% field_flex_2 "Code DRASSM" item.drassm_code %} {% field_flex_2 "Old code" item.old_code %} {% trans "Begining date" as begining_date_label %} {% field_flex_2 begining_date_label item.start_date|date:"DATE_FORMAT" %} diff --git a/archaeological_operations/templates/ishtar/sheet_site.html b/archaeological_operations/templates/ishtar/sheet_site.html index 8f8d018f6..0108d3db6 100644 --- a/archaeological_operations/templates/ishtar/sheet_site.html +++ b/archaeological_operations/templates/ishtar/sheet_site.html @@ -49,10 +49,12 @@ </div> {% endif %} -{% if item.oceanographic_service_localisation or item.shipwreck_code or item.sinking_date or item.discovery_area or item.shipwreck_name %} +{% if item.affmar_number or item.drassm_number or item.oceanographic_service_localisation or item.shipwreck_code or item.sinking_date or item.discovery_area or item.shipwreck_name %} <h3>{% trans "Underwater"%}</h3> <div class="row"> + {% field_flex "Numéro AffMar" item.affmar_number %} + {% field_flex "Numéro DRASSM" item.drassm_number %} {% field_flex "Shipwreck name" item.shipwreck_name %} {% field_flex "Shipwreck code" item.shipwreck_code %} {% field_flex "Sinking date" item.sinking_date %} |