diff options
Diffstat (limited to 'archaeological_operations')
| -rw-r--r-- | archaeological_operations/forms.py | 53 | ||||
| -rw-r--r-- | archaeological_operations/migrations/0001_initial.py | 1038 | ||||
| -rw-r--r-- | archaeological_operations/migrations/0002_auto_20170414_2123.py | 365 | ||||
| -rw-r--r-- | archaeological_operations/migrations/0003_views.py | 16 | ||||
| -rw-r--r-- | archaeological_operations/migrations/0068_auto__chg_field_historicaloperation_code_patriarche__chg_field_operati.py | 873 | ||||
| -rw-r--r-- | archaeological_operations/migrations/0069_auto__chg_field_operationsource_external_id.py | 846 | ||||
| -rw-r--r-- | archaeological_operations/models.py | 50 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0001_initial.py | 655 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0002_views.py (renamed from archaeological_operations/migrations/0002_views.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0003_auto__add_field_operationtype_preventive.py (renamed from archaeological_operations/migrations/0003_auto__add_field_operationtype_preventive.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0004_auto__chg_field_historicaloperation_year__chg_field_operation_year.py (renamed from archaeological_operations/migrations/0004_auto__chg_field_historicaloperation_year__chg_field_operation_year.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0005_auto__chg_field_historicaloperation_operation_code__chg_field_operatio.py (renamed from archaeological_operations/migrations/0005_auto__chg_field_historicaloperation_operation_code__chg_field_operatio.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0006_auto__add_field_operationsource_reference__add_field_operationsource_i.py (renamed from archaeological_operations/migrations/0006_auto__add_field_operationsource_reference__add_field_operationsource_i.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0007_auto__chg_field_administrativeact_ref_sra__chg_field_historicaladminis.py (renamed from archaeological_operations/migrations/0007_auto__chg_field_administrativeact_ref_sra__chg_field_historicaladminis.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0008_auto__chg_field_operationsource_index__chg_field_operationsource_title.py (renamed from archaeological_operations/migrations/0008_auto__chg_field_operationsource_index__chg_field_operationsource_title.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0009_auto__add_field_historicaloperation_cached_label__add_field_operation_.py (renamed from archaeological_operations/migrations/0009_auto__add_field_historicaloperation_cached_label__add_field_operation_.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0010_auto__chg_field_historicaloperation_cached_label__chg_field_operation_.py (renamed from archaeological_operations/migrations/0010_auto__chg_field_historicaloperation_cached_label__chg_field_operation_.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0011_auto__add_field_historicaloperation_report_delivery_date__add_field_op.py (renamed from archaeological_operations/migrations/0011_auto__add_field_historicaloperation_report_delivery_date__add_field_op.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0012_auto.py (renamed from archaeological_operations/migrations/0012_auto.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0013_auto__add_field_acttype_code.py (renamed from archaeological_operations/migrations/0013_auto__add_field_acttype_code.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0014_auto__add_archaeologicalsite.py (renamed from archaeological_operations/migrations/0014_auto__add_archaeologicalsite.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0015_auto__add_unique_archaeologicalsite_reference.py (renamed from archaeological_operations/migrations/0015_auto__add_unique_archaeologicalsite_reference.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0016_auto__add_field_acttype_indexed__add_field_historicaladministrativeact.py (renamed from archaeological_operations/migrations/0016_auto__add_field_acttype_indexed__add_field_historicaladministrativeact.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0017_rename_in_charge_to_scientist.py (renamed from archaeological_operations/migrations/0017_rename_in_charge_to_scientist.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0018_auto__add_field_historicaloperation_in_charge_id__add_field_operation_.py (renamed from archaeological_operations/migrations/0018_auto__add_field_historicaloperation_in_charge_id__add_field_operation_.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0019_auto__add_field_historicaloperation_operator_id__add_field_operation_o.py (renamed from archaeological_operations/migrations/0019_auto__add_field_historicaloperation_operator_id__add_field_operation_o.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0020_auto__add_field_parcel_history_creator__add_field_historicaloperation_.py (renamed from archaeological_operations/migrations/0020_auto__add_field_parcel_history_creator__add_field_historicaloperation_.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0021_init_history_creator.py (renamed from archaeological_operations/migrations/0021_init_history_creator.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0022_auto__add_field_operationtype_order.py (renamed from archaeological_operations/migrations/0022_auto__add_field_operationtype_order.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0023_add_year_administrativact.py (renamed from archaeological_operations/migrations/0023_add_year_administrativact.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0024_reinit_history_creator.py (renamed from archaeological_operations/migrations/0024_reinit_history_creator.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0025_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py (renamed from archaeological_operations/migrations/0025_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0026_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py (renamed from archaeological_operations/migrations/0026_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0027_auto__add_field_historicaloperation_creation_date__add_field_operation.py (renamed from archaeological_operations/migrations/0027_auto__add_field_historicaloperation_creation_date__add_field_operation.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0028_init_creation_date.py (renamed from archaeological_operations/migrations/0028_init_creation_date.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0029_auto__chg_field_historicaloperation_creation_date__chg_field_operation.py (renamed from archaeological_operations/migrations/0029_auto__chg_field_historicaloperation_creation_date__chg_field_operation.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0030_auto__chg_field_parcel_history_creator__chg_field_parcel_history_modif.py (renamed from archaeological_operations/migrations/0030_auto__chg_field_parcel_history_creator__chg_field_parcel_history_modif.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0031_auto__add_field_parcel_address.py (renamed from archaeological_operations/migrations/0031_auto__add_field_parcel_address.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0032_auto__add_field_operationsource_support_type__add_field_operationsourc.py (renamed from archaeological_operations/migrations/0032_auto__add_field_operationsource_support_type__add_field_operationsourc.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0033_auto__add_field_parcel_external_id.py (renamed from archaeological_operations/migrations/0033_auto__add_field_parcel_external_id.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0034_auto__add_field_operationsource_external_id.py (renamed from archaeological_operations/migrations/0034_auto__add_field_operationsource_external_id.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0035_auto.py (renamed from archaeological_operations/migrations/0035_auto.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0036_auto.py (renamed from archaeological_operations/migrations/0036_auto.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0037_auto__chg_field_parcel_parcel_number__chg_field_operationtype_txt_idx_.py (renamed from archaeological_operations/migrations/0037_auto__chg_field_parcel_parcel_number__chg_field_operationtype_txt_idx_.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0038_auto__add_unique_operation_code_patriarche.py (renamed from archaeological_operations/migrations/0038_auto__add_unique_operation_code_patriarche.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0039_auto__add_recordrelations__add_relationtype.py (renamed from archaeological_operations/migrations/0039_auto__add_recordrelations__add_relationtype.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0040_auto__chg_field_parcel_external_id.py (renamed from archaeological_operations/migrations/0040_auto__chg_field_parcel_external_id.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0041_rename_ope_type_2_ope_type_old.py (renamed from archaeological_operations/migrations/0041_rename_ope_type_2_ope_type_old.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0042_rename_ope_type_2_ope_type_old_2.py (renamed from archaeological_operations/migrations/0042_rename_ope_type_2_ope_type_old_2.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0043_auto__add_field_historicaladministrativeact_departments_label__add_fie.py (renamed from archaeological_operations/migrations/0043_auto__add_field_historicaladministrativeact_departments_label__add_fie.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0044_auto__add_field_historicaloperation_virtual_operation__add_field_histo.py (renamed from archaeological_operations/migrations/0044_auto__add_field_historicaloperation_virtual_operation__add_field_histo.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0045_auto__chg_field_historicaloperation_common_name__chg_field_operation_c.py (renamed from archaeological_operations/migrations/0045_auto__chg_field_historicaloperation_common_name__chg_field_operation_c.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0046_auto__add_reportstate__add_field_historicaloperation_report_processing.py (renamed from archaeological_operations/migrations/0046_auto__add_reportstate__add_field_historicaloperation_report_processing.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0047_auto__add_field_operationsource_duplicate__chg_field_operationsource_i.py (renamed from archaeological_operations/migrations/0047_auto__add_field_operationsource_duplicate__chg_field_operationsource_i.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0048_auto__add_field_operationsource_receipt_date_in_documentation.py (renamed from archaeological_operations/migrations/0048_auto__add_field_operationsource_receipt_date_in_documentation.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0049_auto__add_field_historicaloperation_abstract__add_field_operation_abst.py (renamed from archaeological_operations/migrations/0049_auto__add_field_historicaloperation_abstract__add_field_operation_abst.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0050_auto__chg_field_historicaloperation_code_dracar__chg_field_operation_c.py (renamed from archaeological_operations/migrations/0050_auto__chg_field_historicaloperation_code_dracar__chg_field_operation_c.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0051_auto__add_field_historicaloperation_point__add_field_historicaloperati.py (renamed from archaeological_operations/migrations/0051_auto__add_field_historicaloperation_point__add_field_historicaloperati.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0052_auto__add_field_relationtype_short_label.py (renamed from archaeological_operations/migrations/0052_auto__add_field_relationtype_short_label.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0053_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py (renamed from archaeological_operations/migrations/0053_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0054_auto__add_field_parcel_auto_external_id.py (renamed from archaeological_operations/migrations/0054_auto__add_field_parcel_auto_external_id.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0055_auto__add_field_parcel_public_domain.py (renamed from archaeological_operations/migrations/0055_auto__add_field_parcel_public_domain.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0056_auto__chg_field_parcel_section.py (renamed from archaeological_operations/migrations/0056_auto__chg_field_parcel_section.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0057_rename_code_dracar_to_old_code.py (renamed from archaeological_operations/migrations/0057_rename_code_dracar_to_old_code.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0058_auto__add_field_operationsource_image__add_field_operationsource_thumb.py (renamed from archaeological_operations/migrations/0058_auto__add_field_operationsource_image__add_field_operationsource_thumb.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0059_auto__add_field_historicaloperation_documentation_deadline__add_field_.py (renamed from archaeological_operations/migrations/0059_auto__add_field_historicaloperation_documentation_deadline__add_field_.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0060_auto__add_field_historicaloperation_scientific_documentation_comment__.py (renamed from archaeological_operations/migrations/0060_auto__add_field_historicaloperation_scientific_documentation_comment__.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0061_regenerate_cached_label.py (renamed from archaeological_operations/migrations/0061_regenerate_cached_label.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0062_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py (renamed from archaeological_operations/migrations/0062_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py (renamed from archaeological_operations/migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0064_fix_old_operationtype.py (renamed from archaeological_operations/migrations/0064_fix_old_operationtype.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0065_auto__add_field_historicaloperation_address__add_field_operation_addre.py (renamed from archaeological_operations/migrations/0065_auto__add_field_historicaloperation_address__add_field_operation_addre.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0066_regenerate_cached_label.py (renamed from archaeological_operations/migrations/0066_regenerate_cached_label.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0067_auto.py (renamed from archaeological_operations/migrations/0067_auto.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/__init__.py | 0 | ||||
| -rw-r--r-- | archaeological_operations/tests.py | 56 | ||||
| -rwxr-xr-x | archaeological_operations/tests/document_reference.odt | bin | 0 -> 11155 bytes | |||
| -rw-r--r-- | archaeological_operations/urls.py | 2 | ||||
| -rw-r--r-- | archaeological_operations/views.py | 32 | ||||
| -rw-r--r-- | archaeological_operations/wizards.py | 2 | 
80 files changed, 1553 insertions, 2435 deletions
| diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index 058e637f4..acd0fb099 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -20,6 +20,7 @@  """  Operations forms definitions  """ +from collections import OrderedDict  import datetime  from itertools import groupby @@ -104,7 +105,7 @@ class ParcelForm(forms.Form):              prefix_value = kwargs['prefix'] + '-town'              if not [k for k in kwargs['data'].keys()                      if k.startswith(prefix_value) and kwargs['data'][k]]: -                kwargs['data'] = None +                kwargs['data'] = {}                  if 'files' in kwargs:                      kwargs.pop('files')          super(ParcelForm, self).__init__(*args, **kwargs) @@ -335,7 +336,6 @@ class ParcelFormSet(FormSet):      def clean(self):          # manage parcel selection -        selected_town, parcels = None, []          if self.data.get('_parcel_selection'):              parcels = parse_parcels(self.data['_parcel_selection'])              selected_town = self.data.get('_town') @@ -417,7 +417,7 @@ class RecordRelationsForm(ManageOldType, forms.Form):              raise forms.ValidationError(                  _(u"You should select a relation type."))          if self.left_record and \ -                str(cleaned_data.get('right_record')) == str( +                str(cleaned_data.get('right_record', None)) == str(                      self.left_record.pk):              raise forms.ValidationError(                  _(u"An operation cannot be related to herself.")) @@ -909,11 +909,13 @@ class OperationFormGeneral(ManageOldType, forms.Form):          self.fields['record_quality'].choices = \              [('', '--')] + list(models.QUALITY)          if 'operation_code' in self.fields: -            self.fields.keyOrder = list(self.fields.keyOrder) -            self.fields.keyOrder.pop(self.fields.keyOrder.index( -                'operation_code')) -            self.fields.keyOrder.insert(self.fields.keyOrder.index('year'), -                                        'operation_code') +            fields = OrderedDict() +            ope_code = self.fields.pop('operation_code') +            for key, value in self.fields.items(): +                if key == 'year': +                    fields['operation_code'] = ope_code +                fields[key] = value +            self.fields = fields      def clean(self):          cleaned_data = self.cleaned_data @@ -976,12 +978,15 @@ class OperationFormModifGeneral(OperationFormGeneral):      def __init__(self, *args, **kwargs):          super(OperationFormModifGeneral, self).__init__(*args, **kwargs) -        self.fields.keyOrder = list(self.fields.keyOrder) -        self.fields.keyOrder.pop(self.fields.keyOrder.index('associated_file')) -        self.fields.keyOrder.insert(self.fields.keyOrder.index('in_charge'), -                                    'associated_file') +        asso_file = self.fields.pop('associated_file')          if not get_current_profile().files: -            self.fields.pop('associated_file') +            return +        fields = OrderedDict() +        for key, value in self.fields.items(): +            if key == 'in_charge': +                fields['associated_file'] = asso_file +            fields[key] = value +        self.fields = fields  OperationFormModifGeneral.associated_models = \      OperationFormGeneral.associated_models.copy() @@ -1239,9 +1244,13 @@ class OperationSourceForm(SourceForm):      def __init__(self, *args, **kwargs):          super(OperationSourceForm, self).__init__(*args, **kwargs) -        keyOrder = self.fields.keyOrder -        keyOrder.pop(keyOrder.index('index')) -        keyOrder.insert(keyOrder.index('source_type') + 1, 'index') +        fields = OrderedDict() +        idx = self.fields.pop('index') +        for key, value in self.fields.items(): +            fields[key] = value +            if key == 'source_type': +                fields['index'] = idx +        self.fields = fields      def clean(self):          # manage unique operation ID @@ -1404,11 +1413,13 @@ class AdministrativeActOpeForm(ManageOldType, forms.Form):  class AdministrativeActModifForm(object):      def __init__(self, *args, **kwargs):          super(AdministrativeActModifForm, self).__init__(*args, **kwargs) -        self.fields.keyOrder = list(self.fields.keyOrder) -        self.fields.keyOrder.pop(self.fields.keyOrder.index( -            'index')) -        self.fields.keyOrder.insert( -            self.fields.keyOrder.index("signature_date") + 1, 'index') +        fields = OrderedDict() +        idx = self.fields.pop('index') +        for key, value in self.fields.items(): +            fields[key] = value +            if key == 'signature_date': +                fields['index'] = idx +        self.fields = fields      def clean(self):          # manage unique act ID diff --git a/archaeological_operations/migrations/0001_initial.py b/archaeological_operations/migrations/0001_initial.py index c5b4619ab..65d741aaa 100644 --- a/archaeological_operations/migrations/0001_initial.py +++ b/archaeological_operations/migrations/0001_initial.py @@ -1,655 +1,387 @@  # -*- coding: utf-8 -*- -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - - -class Migration(SchemaMigration): -    depends_on = (('archaeological_files', '0001_initial.py'), ) - -    def forwards(self, orm): -        # Adding model 'OperationType' -        db.create_table('archaeological_operations_operationtype', ( -            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), -            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)), -            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), -            ('available', self.gf('django.db.models.fields.BooleanField')(default=False)), -        )) -        db.send_create_signal('archaeological_operations', ['OperationType']) - -        # Adding model 'RemainType' -        db.create_table('archaeological_operations_remaintype', ( -            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), -            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)), -            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), -            ('available', self.gf('django.db.models.fields.BooleanField')(default=False)), -        )) -        db.send_create_signal('archaeological_operations', ['RemainType']) - -        # Adding model 'Period' -        db.create_table('archaeological_operations_period', ( -            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), -            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)), -            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), -            ('available', self.gf('django.db.models.fields.BooleanField')(default=False)), -            ('order', self.gf('django.db.models.fields.IntegerField')()), -            ('start_date', self.gf('django.db.models.fields.IntegerField')()), -            ('end_date', self.gf('django.db.models.fields.IntegerField')()), -            ('parent', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.Period'], null=True, blank=True)), -        )) -        db.send_create_signal('archaeological_operations', ['Period']) - -        # Adding model 'HistoricalOperation' -        db.create_table('archaeological_operations_historicaloperation', ( -            ('id', self.gf('django.db.models.fields.IntegerField')(db_index=True, blank=True)), -            ('history_modifier_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('start_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), -            ('excavation_end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), -            ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), -            ('in_charge_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('year', self.gf('django.db.models.fields.IntegerField')()), -            ('operation_code', self.gf('django.db.models.fields.IntegerField')()), -            ('associated_file_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('operation_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('scheduled_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('optional_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('effective_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('code_patriarche', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('code_dracar', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)), -            ('fnap_financing', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), -            ('fnap_cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('zoning_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), -            ('large_area_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), -            ('geoarchaeological_context_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), -            ('operator_reference', self.gf('django.db.models.fields.CharField')(max_length=20, null=True, blank=True)), -            ('common_name', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)), -            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), -            ('history_id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('history_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), -            ('history_user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)), -            ('history_type', self.gf('django.db.models.fields.CharField')(max_length=1)), -        )) -        db.send_create_signal('archaeological_operations', ['HistoricalOperation']) - -        # Adding model 'Operation' -        db.create_table('archaeological_operations_operation', ( -            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])), -            ('start_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), -            ('excavation_end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), -            ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), -            ('in_charge', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])), -            ('year', self.gf('django.db.models.fields.IntegerField')()), -            ('operation_code', self.gf('django.db.models.fields.IntegerField')()), -            ('associated_file', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='operations', null=True, to=orm['archaeological_files.File'])), -            ('operation_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['archaeological_operations.OperationType'])), -            ('surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('scheduled_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('optional_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('effective_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('code_patriarche', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('code_dracar', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)), -            ('fnap_financing', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), -            ('fnap_cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('zoning_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), -            ('large_area_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), -            ('geoarchaeological_context_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), -            ('operator_reference', self.gf('django.db.models.fields.CharField')(max_length=20, null=True, blank=True)), -            ('common_name', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)), -            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), -        )) -        db.send_create_signal('archaeological_operations', ['Operation']) - -        # Adding M2M table for field remains on 'Operation' -        db.create_table('archaeological_operations_operation_remains', ( -            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), -            ('operation', models.ForeignKey(orm['archaeological_operations.operation'], null=False)), -            ('remaintype', models.ForeignKey(orm['archaeological_operations.remaintype'], null=False)) -        )) -        db.create_unique('archaeological_operations_operation_remains', ['operation_id', 'remaintype_id']) - -        # Adding M2M table for field towns on 'Operation' -        db.create_table('archaeological_operations_operation_towns', ( -            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), -            ('operation', models.ForeignKey(orm['archaeological_operations.operation'], null=False)), -            ('town', models.ForeignKey(orm['ishtar_common.town'], null=False)) -        )) -        db.create_unique('archaeological_operations_operation_towns', ['operation_id', 'town_id']) - -        # Adding M2M table for field periods on 'Operation' -        db.create_table('archaeological_operations_operation_periods', ( -            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), -            ('operation', models.ForeignKey(orm['archaeological_operations.operation'], null=False)), -            ('period', models.ForeignKey(orm['archaeological_operations.period'], null=False)) -        )) -        db.create_unique('archaeological_operations_operation_periods', ['operation_id', 'period_id']) - -        # Adding model 'OperationSource' -        db.create_table('archaeological_operations_operationsource', ( -            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('title', self.gf('django.db.models.fields.CharField')(max_length=200)), -            ('source_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.SourceType'])), -            ('associated_url', self.gf('django.db.models.fields.URLField')(max_length=200, null=True, blank=True)), -            ('receipt_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), -            ('creation_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), -            ('operation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='source', to=orm['archaeological_operations.Operation'])), -            ('index', self.gf('django.db.models.fields.IntegerField')()), -        )) -        db.send_create_signal('archaeological_operations', ['OperationSource']) - -        # Adding M2M table for field authors on 'OperationSource' -        db.create_table('archaeological_operations_operationsource_authors', ( -            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), -            ('operationsource', models.ForeignKey(orm['archaeological_operations.operationsource'], null=False)), -            ('author', models.ForeignKey(orm['ishtar_common.author'], null=False)) -        )) -        db.create_unique('archaeological_operations_operationsource_authors', ['operationsource_id', 'author_id']) - -        # Adding model 'ActType' -        db.create_table('archaeological_operations_acttype', ( -            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), -            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)), -            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), -            ('available', self.gf('django.db.models.fields.BooleanField')(default=False)), -            ('intented_to', self.gf('django.db.models.fields.CharField')(max_length=1)), -        )) -        db.send_create_signal('archaeological_operations', ['ActType']) - -        # Adding model 'HistoricalAdministrativeAct' -        db.create_table('archaeological_operations_historicaladministrativeact', ( -            ('id', self.gf('django.db.models.fields.IntegerField')(db_index=True, blank=True)), -            ('history_modifier_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('act_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('in_charge_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('operator_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('scientific_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('signatory_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('operation_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('associated_file_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('signature_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), -            ('act_object', self.gf('django.db.models.fields.CharField')(max_length=200)), -            ('ref_sra', self.gf('django.db.models.fields.CharField')(max_length=15)), -            ('history_id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('history_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), -            ('history_user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)), -            ('history_type', self.gf('django.db.models.fields.CharField')(max_length=1)), -        )) -        db.send_create_signal('archaeological_operations', ['HistoricalAdministrativeAct']) - -        # Adding model 'AdministrativeAct' -        db.create_table('archaeological_operations_administrativeact', ( -            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])), -            ('act_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.ActType'])), -            ('in_charge', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])), -            ('operator', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Organization'], null=True, blank=True)), -            ('scientific', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])), -            ('signatory', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])), -            ('operation', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='administrative_act', null=True, to=orm['archaeological_operations.Operation'])), -            ('associated_file', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='administrative_act', null=True, to=orm['archaeological_files.File'])), -            ('signature_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), -            ('act_object', self.gf('django.db.models.fields.CharField')(max_length=200)), -            ('ref_sra', self.gf('django.db.models.fields.CharField')(max_length=15)), -        )) -        db.send_create_signal('archaeological_operations', ['AdministrativeAct']) - -        # Adding model 'Parcel' -        db.create_table('archaeological_operations_parcel', ( -            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])), -            ('history_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), -            ('associated_file', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='parcels', null=True, to=orm['archaeological_files.File'])), -            ('operation', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='parcels', null=True, to=orm['archaeological_operations.Operation'])), -            ('year', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('town', self.gf('django.db.models.fields.related.ForeignKey')(related_name='parcels', to=orm['ishtar_common.Town'])), -            ('section', self.gf('django.db.models.fields.CharField')(max_length=4)), -            ('parcel_number', self.gf('django.db.models.fields.CharField')(max_length=6)), -        )) -        db.send_create_signal('archaeological_operations', ['Parcel']) - -        # Adding model 'ParcelOwner' -        db.create_table('archaeological_operations_parcelowner', ( -            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])), -            ('history_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), -            ('owner', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'])), -            ('parcel', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.Parcel'])), -            ('start_date', self.gf('django.db.models.fields.DateField')()), -            ('end_date', self.gf('django.db.models.fields.DateField')()), -        )) -        db.send_create_signal('archaeological_operations', ['ParcelOwner']) - +from __future__ import unicode_literals -    def backwards(self, orm): -        # Deleting model 'OperationType' -        db.delete_table('archaeological_operations_operationtype') - -        # Deleting model 'RemainType' -        db.delete_table('archaeological_operations_remaintype') - -        # Deleting model 'Period' -        db.delete_table('archaeological_operations_period') - -        # Deleting model 'HistoricalOperation' -        db.delete_table('archaeological_operations_historicaloperation') - -        # Deleting model 'Operation' -        db.delete_table('archaeological_operations_operation') - -        # Removing M2M table for field remains on 'Operation' -        db.delete_table('archaeological_operations_operation_remains') - -        # Removing M2M table for field towns on 'Operation' -        db.delete_table('archaeological_operations_operation_towns') - -        # Removing M2M table for field periods on 'Operation' -        db.delete_table('archaeological_operations_operation_periods') - -        # Deleting model 'OperationSource' -        db.delete_table('archaeological_operations_operationsource') - -        # Removing M2M table for field authors on 'OperationSource' -        db.delete_table('archaeological_operations_operationsource_authors') - -        # Deleting model 'ActType' -        db.delete_table('archaeological_operations_acttype') - -        # Deleting model 'HistoricalAdministrativeAct' -        db.delete_table('archaeological_operations_historicaladministrativeact') - -        # Deleting model 'AdministrativeAct' -        db.delete_table('archaeological_operations_administrativeact') - -        # Deleting model 'Parcel' -        db.delete_table('archaeological_operations_parcel') - -        # Deleting model 'ParcelOwner' -        db.delete_table('archaeological_operations_parcelowner') - - -    models = { -        'archaeological_files.file': { -            'Meta': {'ordering': "['-year', '-numeric_reference']", 'object_name': 'File'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), -            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}), -            'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.Person']"}), -            'internal_reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60'}), -            'numeric_reference': ('django.db.models.fields.IntegerField', [], {}), -            'permit_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}), -            'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}), -            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'reference_number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}), -            'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}), -            'total_developed_surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'total_surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), -            'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), -            'year': ('django.db.models.fields.IntegerField', [], {'default': '2012'}) -        }, -        'archaeological_files.filetype': { -            'Meta': {'object_name': 'FileType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'archaeological_files.permittype': { -            'Meta': {'object_name': 'PermitType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'archaeological_files.saisinetype': { -            'Meta': {'object_name': 'SaisineType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'delay': ('django.db.models.fields.IntegerField', [], {}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'archaeological_operations.acttype': { -            'Meta': {'object_name': 'ActType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'intented_to': ('django.db.models.fields.CharField', [], {'max_length': '1'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'archaeological_operations.administrativeact': { -            'Meta': {'object_name': 'AdministrativeAct'}, -            'act_object': ('django.db.models.fields.CharField', [], {'max_length': '200'}), -            'act_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ActType']"}), -            'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), -            'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), -            'operator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Organization']", 'null': 'True', 'blank': 'True'}), -            'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15'}), -            'scientific': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), -            'signatory': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), -            'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.historicaladministrativeact': { -            'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalAdministrativeAct'}, -            'act_object': ('django.db.models.fields.CharField', [], {'max_length': '200'}), -            'act_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), -            'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}), -            'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), -            'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}), -            'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15'}), -            'scientific_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'signatory_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.historicaloperation': { -            'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOperation'}, -            'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'code_dracar': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'code_patriarche': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'common_name': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), -            'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), -            'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}), -            'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), -            'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}), -            'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'operation_code': ('django.db.models.fields.IntegerField', [], {}), -            'operation_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), -            'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'year': ('django.db.models.fields.IntegerField', [], {}), -            'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.operation': { -            'Meta': {'object_name': 'Operation'}, -            'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), -            'code_dracar': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'code_patriarche': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'common_name': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), -            'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), -            'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'operation_code': ('django.db.models.fields.IntegerField', [], {}), -            'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['archaeological_operations.OperationType']"}), -            'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), -            'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'periods': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_operations.Period']", 'symmetrical': 'False'}), -            'remains': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_operations.RemainType']", 'symmetrical': 'False'}), -            'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'towns': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.Town']", 'symmetrical': 'False'}), -            'year': ('django.db.models.fields.IntegerField', [], {}), -            'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.operationbydepartment': { -            'Meta': {'object_name': 'OperationByDepartment', 'db_table': "'operation_department'", 'managed': 'False'}, -            'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'operation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Operation']"}) -        }, -        'archaeological_operations.operationsource': { -            'Meta': {'object_name': 'OperationSource'}, -            'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.Author']", 'symmetrical': 'False'}), -            'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'index': ('django.db.models.fields.IntegerField', [], {}), -            'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_operations.Operation']"}), -            'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}), -            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) -        }, -        'archaeological_operations.operationtype': { -            'Meta': {'object_name': 'OperationType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'archaeological_operations.parcel': { -            'Meta': {'object_name': 'Parcel'}, -            'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), -            'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), -            'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6'}), -            'section': ('django.db.models.fields.CharField', [], {'max_length': '4'}), -            'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}), -            'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.parcelowner': { -            'Meta': {'object_name': 'ParcelOwner'}, -            'end_date': ('django.db.models.fields.DateField', [], {}), -            'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']"}), -            'parcel': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Parcel']"}), -            'start_date': ('django.db.models.fields.DateField', [], {}) -        }, -        'archaeological_operations.period': { -            'Meta': {'object_name': 'Period'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'end_date': ('django.db.models.fields.IntegerField', [], {}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'order': ('django.db.models.fields.IntegerField', [], {}), -            'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), -            'start_date': ('django.db.models.fields.IntegerField', [], {}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'archaeological_operations.remaintype': { -            'Meta': {'object_name': 'RemainType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'auth.group': { -            'Meta': {'object_name': 'Group'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), -            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) -        }, -        'auth.permission': { -            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, -            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) -        }, -        'auth.user': { -            'Meta': {'object_name': 'User'}, -            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), -            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), -            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), -            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), -            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), -            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'contenttypes.contenttype': { -            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, -            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) -        }, -        'ishtar_common.arrondissement': { -            'Meta': {'object_name': 'Arrondissement'}, -            'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}) -        }, -        'ishtar_common.author': { -            'Meta': {'object_name': 'Author'}, -            'author_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.AuthorType']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']"}) -        }, -        'ishtar_common.authortype': { -            'Meta': {'object_name': 'AuthorType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'ishtar_common.canton': { -            'Meta': {'object_name': 'Canton'}, -            'arrondissement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Arrondissement']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}) -        }, -        'ishtar_common.department': { -            'Meta': {'ordering': "['number']", 'object_name': 'Department'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}), -            'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}) -        }, -        'ishtar_common.organization': { -            'Meta': {'object_name': 'Organization'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}), -            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}) -        }, -        'ishtar_common.organizationtype': { -            'Meta': {'object_name': 'OrganizationType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'ishtar_common.person': { -            'Meta': {'object_name': 'Person'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Organization']", 'null': 'True', 'blank': 'True'}), -            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'email': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}), -            'person_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.PersonType']"}), -            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'surname': ('django.db.models.fields.CharField', [], {'max_length': '20'}), -            'title': ('django.db.models.fields.CharField', [], {'max_length': '2'}), -            'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}) -        }, -        'ishtar_common.persontype': { -            'Meta': {'object_name': 'PersonType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'rights': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.WizardStep']", 'symmetrical': 'False'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'ishtar_common.sourcetype': { -            'Meta': {'object_name': 'SourceType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'ishtar_common.town': { -            'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'}, -            'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}), -            'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}), -            'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}), -            'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'ishtar_common.wizard': { -            'Meta': {'ordering': "['url_name']", 'object_name': 'Wizard'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'url_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}) -        }, -        'ishtar_common.wizardstep': { -            'Meta': {'ordering': "['wizard', 'order']", 'object_name': 'WizardStep'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}), -            'order': ('django.db.models.fields.IntegerField', [], {}), -            'url_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}), -            'wizard': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Wizard']"}) -        } -    } - -    complete_apps = ['archaeological_operations'] +from django.db import models, migrations +import datetime +import re +import django.contrib.gis.db.models.fields +import archaeological_operations.models +import django.db.models.deletion +from django.conf import settings +import ishtar_common.models +import django.core.validators + + +class Migration(migrations.Migration): + +    dependencies = [ +        migrations.swappable_dependency(settings.AUTH_USER_MODEL), +    ] + +    operations = [ +        migrations.CreateModel( +            name='OperationByDepartment', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +            ], +            options={ +                'db_table': 'operation_department', +                'managed': False, +            }, +        ), +        migrations.CreateModel( +            name='ActType', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('label', models.CharField(max_length=100, verbose_name='Label')), +                ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), +                ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), +                ('available', models.BooleanField(default=True, verbose_name='Available')), +                ('intented_to', models.CharField(max_length=2, verbose_name='Intended to', choices=[(b'F', 'Archaeological file'), (b'O', 'Operation'), (b'TF', 'Treatment request'), (b'T', 'Treatment')])), +                ('code', models.CharField(max_length=10, null=True, verbose_name='Code', blank=True)), +                ('indexed', models.BooleanField(default=False, verbose_name='Indexed')), +            ], +            options={ +                'ordering': ('label',), +                'verbose_name': 'Act type', +                'verbose_name_plural': 'Act types', +            }, +            bases=(ishtar_common.models.Cached, models.Model), +        ), +        migrations.CreateModel( +            name='AdministrativeAct', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('index', models.IntegerField(null=True, verbose_name='Index', blank=True)), +                ('signature_date', models.DateField(null=True, verbose_name='Signature date', blank=True)), +                ('year', models.IntegerField(null=True, verbose_name='Year', blank=True)), +                ('act_object', models.TextField(max_length=300, null=True, verbose_name='Object', blank=True)), +                ('ref_sra', models.CharField(max_length=15, null=True, verbose_name='R\xe9f\xe9rence SRA', blank=True)), +                ('departments_label', models.TextField(help_text='Cached values get from associated departments', null=True, verbose_name='Departments', blank=True)), +                ('towns_label', models.TextField(help_text='Cached values get from associated towns', null=True, verbose_name='Towns', blank=True)), +            ], +            options={ +                'ordering': ('year', 'signature_date', 'index', 'act_type'), +                'verbose_name': 'Administrative act', +                'verbose_name_plural': 'Administrative acts', +                'permissions': (('view_administrativeact', 'Peut voir tous les Actes administratifs'), ('view_own_administrativeact', 'Peut voir son propre Acte administratif'), ('add_own_administrativeact', 'Peut ajouter son propre Acte administratif'), ('change_own_administrativeact', 'Peut modifier son propre Acte administratif'), ('delete_own_administrativeact', 'Peut supprimer son propre Acte administratif')), +            }, +            bases=(models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter), +        ), +        migrations.CreateModel( +            name='ArchaeologicalSite', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('reference', models.CharField(unique=True, max_length=20, verbose_name='Reference')), +                ('name', models.CharField(max_length=200, null=True, verbose_name='Name', blank=True)), +            ], +            options={ +                'verbose_name': 'Archaeological site', +                'verbose_name_plural': 'Archaeological sites', +                'permissions': (('view_archaeologicalsite', 'Peut voir toutes les Entit\xe9s arch\xe9ologiques'), ('view_own_archaeologicalsite', 'Peut voir ses propres Entit\xe9s arch\xe9ologiques'), ('add_own_archaeologicalsite', 'Peut ajouter ses propres Entit\xe9s arch\xe9ologique'), ('change_own_archaeologicalsite', 'Peut modifier sa propre Entit\xe9 arch\xe9ologique'), ('delete_own_archaeologicalsite', 'Peut supprimer ses propres Entit\xe9s arch\xe9ologiques')), +            }, +        ), +        migrations.CreateModel( +            name='HistoricalAdministrativeAct', +            fields=[ +                ('id', models.IntegerField(verbose_name='ID', db_index=True, auto_created=True, blank=True)), +                ('index', models.IntegerField(null=True, verbose_name='Index', blank=True)), +                ('signature_date', models.DateField(null=True, verbose_name='Signature date', blank=True)), +                ('year', models.IntegerField(null=True, verbose_name='Year', blank=True)), +                ('act_object', models.TextField(max_length=300, null=True, verbose_name='Object', blank=True)), +                ('ref_sra', models.CharField(max_length=15, null=True, verbose_name='R\xe9f\xe9rence SRA', blank=True)), +                ('departments_label', models.TextField(help_text='Cached values get from associated departments', null=True, verbose_name='Departments', blank=True)), +                ('towns_label', models.TextField(help_text='Cached values get from associated towns', null=True, verbose_name='Towns', blank=True)), +                ('history_id', models.AutoField(serialize=False, primary_key=True)), +                ('history_date', models.DateTimeField()), +                ('history_type', models.CharField(max_length=1, choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')])), +            ], +            options={ +                'ordering': ('-history_date', '-history_id'), +                'get_latest_by': 'history_date', +                'verbose_name': 'historical Administrative act', +            }, +        ), +        migrations.CreateModel( +            name='HistoricalOperation', +            fields=[ +                ('id', models.IntegerField(verbose_name='ID', db_index=True, auto_created=True, blank=True)), +                ('image', models.TextField(max_length=255, null=True, blank=True)), +                ('thumbnail', models.TextField(max_length=255, null=True, blank=True)), +                ('creation_date', models.DateField(default=datetime.date.today, verbose_name='Creation date')), +                ('end_date', models.DateField(null=True, verbose_name='Closing date', blank=True)), +                ('start_date', models.DateField(null=True, verbose_name='Start date', blank=True)), +                ('excavation_end_date', models.DateField(null=True, verbose_name='Excavation end date', blank=True)), +                ('report_delivery_date', models.DateField(null=True, verbose_name='Report delivery date', blank=True)), +                ('year', models.IntegerField(null=True, verbose_name='Year', blank=True)), +                ('operation_code', models.IntegerField(null=True, verbose_name='Numeric reference', blank=True)), +                ('surface', models.IntegerField(null=True, verbose_name='Surface (m2)', blank=True)), +                ('cost', models.IntegerField(null=True, verbose_name='Cost (euros)', blank=True)), +                ('scheduled_man_days', models.IntegerField(null=True, verbose_name='Scheduled man-days', blank=True)), +                ('optional_man_days', models.IntegerField(null=True, verbose_name='Optional man-days', blank=True)), +                ('effective_man_days', models.IntegerField(null=True, verbose_name='Effective man-days', blank=True)), +                ('old_code', models.CharField(max_length=200, null=True, verbose_name='Old code', blank=True)), +                ('code_patriarche', models.TextField(db_index=True, null=True, verbose_name='Code PATRIARCHE', blank=True)), +                ('fnap_financing', models.FloatField(null=True, verbose_name='Financement FNAP (%)', blank=True)), +                ('fnap_cost', models.IntegerField(null=True, verbose_name='Financement FNAP (\u20ac)', blank=True)), +                ('zoning_prescription', models.NullBooleanField(verbose_name='Prescription on zoning')), +                ('large_area_prescription', models.NullBooleanField(verbose_name='Prescription on large area')), +                ('geoarchaeological_context_prescription', models.NullBooleanField(verbose_name='Prescription on geoarchaeological context')), +                ('negative_result', models.NullBooleanField(verbose_name='R\xe9sultat consid\xe9r\xe9 comme n\xe9gatif')), +                ('cira_date', models.DateField(null=True, verbose_name='Date avis CIRA', blank=True)), +                ('eas_number', models.CharField(max_length=20, null=True, verbose_name="Num\xe9ro de l'EA", blank=True)), +                ('operator_reference', models.CharField(max_length=20, null=True, verbose_name='Operator reference', blank=True)), +                ('common_name', models.TextField(null=True, verbose_name='Generic name', blank=True)), +                ('address', models.TextField(null=True, verbose_name='Address / Locality', blank=True)), +                ('comment', models.TextField(null=True, verbose_name='General comment', blank=True)), +                ('scientific_documentation_comment', models.TextField(null=True, verbose_name='Comment about scientific documentation', blank=True)), +                ('cached_label', models.CharField(max_length=500, null=True, verbose_name='Cached name', blank=True)), +                ('virtual_operation', models.BooleanField(default=False, help_text='If checked, it means that this operation have not been officialy registered.', verbose_name='Virtual operation')), +                ('record_quality', models.CharField(blank=True, max_length=2, null=True, verbose_name='Record quality', choices=[(b'ND', 'Not documented'), (b'A', 'Arbitrary'), (b'R', 'Reliable')])), +                ('abstract', models.TextField(null=True, verbose_name='Abstract', blank=True)), +                ('documentation_deadline', models.DateField(null=True, verbose_name='Deadline for submission of the documentation', blank=True)), +                ('documentation_received', models.NullBooleanField(verbose_name='Documentation received')), +                ('finds_deadline', models.DateField(null=True, verbose_name='Deadline for submission of the finds', blank=True)), +                ('finds_received', models.NullBooleanField(verbose_name='Finds received')), +                ('point', django.contrib.gis.db.models.fields.PointField(srid=4326, null=True, verbose_name='Point', blank=True)), +                ('multi_polygon', django.contrib.gis.db.models.fields.MultiPolygonField(srid=4326, null=True, verbose_name='Multi polygon', blank=True)), +                ('history_id', models.AutoField(serialize=False, primary_key=True)), +                ('history_date', models.DateTimeField()), +                ('history_type', models.CharField(max_length=1, choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')])), +            ], +            options={ +                'ordering': ('-history_date', '-history_id'), +                'get_latest_by': 'history_date', +                'verbose_name': 'historical Operation', +            }, +        ), +        migrations.CreateModel( +            name='Operation', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('image', models.ImageField(max_length=255, null=True, upload_to=b'upload/', blank=True)), +                ('thumbnail', models.ImageField(max_length=255, null=True, upload_to=b'upload/thumbs/', blank=True)), +                ('creation_date', models.DateField(default=datetime.date.today, verbose_name='Creation date')), +                ('end_date', models.DateField(null=True, verbose_name='Closing date', blank=True)), +                ('start_date', models.DateField(null=True, verbose_name='Start date', blank=True)), +                ('excavation_end_date', models.DateField(null=True, verbose_name='Excavation end date', blank=True)), +                ('report_delivery_date', models.DateField(null=True, verbose_name='Report delivery date', blank=True)), +                ('year', models.IntegerField(null=True, verbose_name='Year', blank=True)), +                ('operation_code', models.IntegerField(null=True, verbose_name='Numeric reference', blank=True)), +                ('surface', models.IntegerField(null=True, verbose_name='Surface (m2)', blank=True)), +                ('cost', models.IntegerField(null=True, verbose_name='Cost (euros)', blank=True)), +                ('scheduled_man_days', models.IntegerField(null=True, verbose_name='Scheduled man-days', blank=True)), +                ('optional_man_days', models.IntegerField(null=True, verbose_name='Optional man-days', blank=True)), +                ('effective_man_days', models.IntegerField(null=True, verbose_name='Effective man-days', blank=True)), +                ('old_code', models.CharField(max_length=200, null=True, verbose_name='Old code', blank=True)), +                ('code_patriarche', models.TextField(db_index=True, null=True, verbose_name='Code PATRIARCHE', blank=True)), +                ('fnap_financing', models.FloatField(null=True, verbose_name='Financement FNAP (%)', blank=True)), +                ('fnap_cost', models.IntegerField(null=True, verbose_name='Financement FNAP (\u20ac)', blank=True)), +                ('zoning_prescription', models.NullBooleanField(verbose_name='Prescription on zoning')), +                ('large_area_prescription', models.NullBooleanField(verbose_name='Prescription on large area')), +                ('geoarchaeological_context_prescription', models.NullBooleanField(verbose_name='Prescription on geoarchaeological context')), +                ('negative_result', models.NullBooleanField(verbose_name='R\xe9sultat consid\xe9r\xe9 comme n\xe9gatif')), +                ('cira_date', models.DateField(null=True, verbose_name='Date avis CIRA', blank=True)), +                ('eas_number', models.CharField(max_length=20, null=True, verbose_name="Num\xe9ro de l'EA", blank=True)), +                ('operator_reference', models.CharField(max_length=20, null=True, verbose_name='Operator reference', blank=True)), +                ('common_name', models.TextField(null=True, verbose_name='Generic name', blank=True)), +                ('address', models.TextField(null=True, verbose_name='Address / Locality', blank=True)), +                ('comment', models.TextField(null=True, verbose_name='General comment', blank=True)), +                ('scientific_documentation_comment', models.TextField(null=True, verbose_name='Comment about scientific documentation', blank=True)), +                ('cached_label', models.CharField(max_length=500, null=True, verbose_name='Cached name', blank=True)), +                ('virtual_operation', models.BooleanField(default=False, help_text='If checked, it means that this operation have not been officialy registered.', verbose_name='Virtual operation')), +                ('record_quality', models.CharField(blank=True, max_length=2, null=True, verbose_name='Record quality', choices=[(b'ND', 'Not documented'), (b'A', 'Arbitrary'), (b'R', 'Reliable')])), +                ('abstract', models.TextField(null=True, verbose_name='Abstract', blank=True)), +                ('documentation_deadline', models.DateField(null=True, verbose_name='Deadline for submission of the documentation', blank=True)), +                ('documentation_received', models.NullBooleanField(verbose_name='Documentation received')), +                ('finds_deadline', models.DateField(null=True, verbose_name='Deadline for submission of the finds', blank=True)), +                ('finds_received', models.NullBooleanField(verbose_name='Finds received')), +                ('point', django.contrib.gis.db.models.fields.PointField(srid=4326, null=True, verbose_name='Point', blank=True)), +                ('multi_polygon', django.contrib.gis.db.models.fields.MultiPolygonField(srid=4326, null=True, verbose_name='Multi polygon', blank=True)), +            ], +            options={ +                'ordering': ('cached_label',), +                'verbose_name': 'Operation', +                'verbose_name_plural': 'Operations', +                'permissions': (('view_operation', 'Peut voir toutes les Op\xe9rations'), ('view_own_operation', 'Peut voir sa propre Op\xe9ration'), ('add_own_operation', 'Peut ajouter sa propre Op\xe9ration'), ('change_own_operation', 'Peut modifier sa propre Op\xe9ration'), ('delete_own_operation', 'Peut supprimer sa propre Op\xe9ration'), ('close_operation', 'Peut clore une Op\xe9ration')), +            }, +            bases=(archaeological_operations.models.ClosedItem, models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter, ishtar_common.models.ShortMenuItem, ishtar_common.models.DashboardFormItem), +        ), +        migrations.CreateModel( +            name='OperationSource', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('image', models.ImageField(max_length=255, null=True, upload_to=b'upload/', blank=True)), +                ('thumbnail', models.ImageField(max_length=255, null=True, upload_to=b'upload/thumbs/', blank=True)), +                ('title', models.CharField(max_length=300, verbose_name='Title')), +                ('external_id', models.TextField(max_length=300, null=True, verbose_name='External ID', blank=True)), +                ('scale', models.CharField(max_length=30, null=True, verbose_name='Scale', blank=True)), +                ('associated_url', models.URLField(null=True, verbose_name='Numerical ressource (web address)', blank=True)), +                ('receipt_date', models.DateField(null=True, verbose_name='Receipt date', blank=True)), +                ('creation_date', models.DateField(null=True, verbose_name='Creation date', blank=True)), +                ('receipt_date_in_documentation', models.DateField(null=True, verbose_name='Receipt date in documentation', blank=True)), +                ('item_number', models.IntegerField(default=1, verbose_name='Item number')), +                ('reference', models.CharField(max_length=100, null=True, verbose_name='Ref.', blank=True)), +                ('internal_reference', models.CharField(max_length=100, null=True, verbose_name='Internal ref.', blank=True)), +                ('description', models.TextField(null=True, verbose_name='Description', blank=True)), +                ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), +                ('additional_information', models.TextField(null=True, verbose_name='Additional information', blank=True)), +                ('duplicate', models.BooleanField(default=False, verbose_name='Has a duplicate')), +                ('index', models.IntegerField(null=True, verbose_name='Index', blank=True)), +            ], +            options={ +                'verbose_name': 'Operation documentation', +                'verbose_name_plural': 'Operation documentations', +                'permissions': (('view_operationsource', "Peut voir toutes les Documentations d'op\xe9ration"), ('view_own_operationsource', "Peut voir sa propre Documentation d'op\xe9ration"), ('add_own_operationsource', "Peut ajouter sa propre Documentation d'op\xe9ration"), ('change_own_operationsource', "Peut modifier sa propre Documentation d'op\xe9ration"), ('delete_own_operationsource', "Peut supprimer sa propre Documentation d'op\xe9ration")), +            }, +            bases=(ishtar_common.models.OwnPerms, models.Model), +        ), +        migrations.CreateModel( +            name='OperationTypeOld', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('label', models.CharField(max_length=100, verbose_name='Label')), +                ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), +                ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), +                ('available', models.BooleanField(default=True, verbose_name='Available')), +                ('order', models.IntegerField(default=1, verbose_name='Order')), +                ('preventive', models.BooleanField(default=True, verbose_name='Is preventive')), +            ], +            options={ +                'ordering': ['-preventive', 'order', 'label'], +                'verbose_name': 'Operation type old', +                'verbose_name_plural': 'Operation types old', +            }, +            bases=(ishtar_common.models.Cached, models.Model), +        ), +        migrations.CreateModel( +            name='Parcel', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('history_date', models.DateTimeField(default=datetime.datetime.now)), +                ('year', models.IntegerField(null=True, verbose_name='Year', blank=True)), +                ('section', models.CharField(max_length=4, null=True, verbose_name='Section', blank=True)), +                ('parcel_number', models.CharField(max_length=6, null=True, verbose_name='Parcel number', blank=True)), +                ('public_domain', models.BooleanField(default=False, verbose_name='Public domain')), +                ('external_id', models.CharField(max_length=100, null=True, verbose_name='External ID', blank=True)), +                ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')), +                ('address', models.TextField(null=True, verbose_name='Address - Locality', blank=True)), +            ], +            options={ +                'ordering': ('year', 'section', 'parcel_number'), +                'verbose_name': 'Parcel', +                'verbose_name_plural': 'Parcels', +            }, +        ), +        migrations.CreateModel( +            name='ParcelOwner', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('history_date', models.DateTimeField(default=datetime.datetime.now)), +                ('start_date', models.DateField(verbose_name='Start date')), +                ('end_date', models.DateField(verbose_name='End date')), +                ('history_creator', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Creator', blank=True, to=settings.AUTH_USER_MODEL, null=True)), +                ('history_modifier', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Last editor', blank=True, to=settings.AUTH_USER_MODEL, null=True)), +            ], +            options={ +                'verbose_name': 'Parcel owner', +                'verbose_name_plural': 'Parcel owners', +            }, +        ), +        migrations.CreateModel( +            name='Period', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('label', models.CharField(max_length=100, verbose_name='Label')), +                ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), +                ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), +                ('available', models.BooleanField(default=True, verbose_name='Available')), +                ('order', models.IntegerField(verbose_name='Order')), +                ('start_date', models.IntegerField(verbose_name='Start date')), +                ('end_date', models.IntegerField(verbose_name='End date')), +                ('parent', models.ForeignKey(verbose_name='Parent period', blank=True, to='archaeological_operations.Period', null=True)), +            ], +            options={ +                'ordering': ('order',), +                'verbose_name': 'Type Period', +                'verbose_name_plural': 'Types Period', +            }, +            bases=(ishtar_common.models.Cached, models.Model), +        ), +        migrations.CreateModel( +            name='RecordRelations', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('left_record', models.ForeignKey(related_name='right_relations', to='archaeological_operations.Operation')), +            ], +            options={ +                'ordering': ('left_record', 'relation_type'), +                'verbose_name': 'Operation record relation', +                'verbose_name_plural': 'Operation record relations', +            }, +            bases=(ishtar_common.models.GeneralRecordRelations, models.Model), +        ), +        migrations.CreateModel( +            name='RelationType', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('label', models.CharField(max_length=100, verbose_name='Label')), +                ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), +                ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), +                ('available', models.BooleanField(default=True, verbose_name='Available')), +                ('order', models.IntegerField(default=1, verbose_name='Order')), +                ('symmetrical', models.BooleanField(verbose_name='Symmetrical')), +                ('tiny_label', models.CharField(max_length=50, null=True, verbose_name='Tiny label', blank=True)), +                ('inverse_relation', models.ForeignKey(verbose_name='Inverse relation', blank=True, to='archaeological_operations.RelationType', null=True)), +            ], +            options={ +                'ordering': ('order', 'label'), +                'verbose_name': 'Operation relation type', +                'verbose_name_plural': 'Operation relation types', +            }, +            bases=(ishtar_common.models.Cached, models.Model), +        ), +        migrations.CreateModel( +            name='RemainType', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('label', models.CharField(max_length=100, verbose_name='Label')), +                ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), +                ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), +                ('available', models.BooleanField(default=True, verbose_name='Available')), +            ], +            options={ +                'ordering': ('label',), +                'verbose_name': 'Remain type', +                'verbose_name_plural': 'Remain types', +            }, +            bases=(ishtar_common.models.Cached, models.Model), +        ), +        migrations.CreateModel( +            name='ReportState', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('label', models.CharField(max_length=100, verbose_name='Label')), +                ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), +                ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), +                ('available', models.BooleanField(default=True, verbose_name='Available')), +                ('order', models.IntegerField(verbose_name='Order')), +            ], +            options={ +                'ordering': ('order',), +                'verbose_name': 'Type of report state', +                'verbose_name_plural': 'Types of report state', +            }, +            bases=(ishtar_common.models.Cached, models.Model), +        ), +        migrations.AddField( +            model_name='recordrelations', +            name='relation_type', +            field=models.ForeignKey(to='archaeological_operations.RelationType'), +        ), +        migrations.AddField( +            model_name='recordrelations', +            name='right_record', +            field=models.ForeignKey(related_name='left_relations', to='archaeological_operations.Operation'), +        ), +    ] diff --git a/archaeological_operations/migrations/0002_auto_20170414_2123.py b/archaeological_operations/migrations/0002_auto_20170414_2123.py new file mode 100644 index 000000000..fc9f93911 --- /dev/null +++ b/archaeological_operations/migrations/0002_auto_20170414_2123.py @@ -0,0 +1,365 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +import django.db.models.deletion +from django.conf import settings + + +class Migration(migrations.Migration): + +    dependencies = [ +        ('archaeological_finds', '0002_auto_20170414_2123'), +        ('archaeological_operations', '0001_initial'), +        migrations.swappable_dependency(settings.AUTH_USER_MODEL), +        ('ishtar_common', '0001_initial'), +        ('archaeological_files', '0002_auto_20170414_2123'), +    ] + +    operations = [ +        migrations.AddField( +            model_name='parcelowner', +            name='imports', +            field=models.ManyToManyField(related_name='imported_archaeological_operations_parcelowner', to='ishtar_common.Import', blank=True), +        ), +        migrations.AddField( +            model_name='parcelowner', +            name='owner', +            field=models.ForeignKey(related_name='parcel_owner', verbose_name='Owner', to='ishtar_common.Person'), +        ), +        migrations.AddField( +            model_name='parcelowner', +            name='parcel', +            field=models.ForeignKey(related_name='owners', verbose_name='Parcel', to='archaeological_operations.Parcel'), +        ), +        migrations.AddField( +            model_name='parcel', +            name='associated_file', +            field=models.ForeignKey(related_name='parcels', verbose_name='File', blank=True, to='archaeological_files.File', null=True), +        ), +        migrations.AddField( +            model_name='parcel', +            name='history_creator', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Creator', blank=True, to=settings.AUTH_USER_MODEL, null=True), +        ), +        migrations.AddField( +            model_name='parcel', +            name='history_modifier', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Last editor', blank=True, to=settings.AUTH_USER_MODEL, null=True), +        ), +        migrations.AddField( +            model_name='parcel', +            name='imports', +            field=models.ManyToManyField(related_name='imported_archaeological_operations_parcel', to='ishtar_common.Import', blank=True), +        ), +        migrations.AddField( +            model_name='parcel', +            name='operation', +            field=models.ForeignKey(related_name='parcels', verbose_name='Operation', blank=True, to='archaeological_operations.Operation', null=True), +        ), +        migrations.AddField( +            model_name='parcel', +            name='town', +            field=models.ForeignKey(related_name='parcels', verbose_name='Town', to='ishtar_common.Town'), +        ), +        migrations.AddField( +            model_name='operationsource', +            name='authors', +            field=models.ManyToManyField(related_name='operationsource_related', verbose_name='Authors', to='ishtar_common.Author'), +        ), +        migrations.AddField( +            model_name='operationsource', +            name='format_type', +            field=models.ForeignKey(verbose_name='Format', blank=True, to='ishtar_common.Format', null=True), +        ), +        migrations.AddField( +            model_name='operationsource', +            name='operation', +            field=models.ForeignKey(related_name='source', verbose_name='Operation', to='archaeological_operations.Operation'), +        ), +        migrations.AddField( +            model_name='operationsource', +            name='source_type', +            field=models.ForeignKey(verbose_name='Type', to='ishtar_common.SourceType'), +        ), +        migrations.AddField( +            model_name='operationsource', +            name='support_type', +            field=models.ForeignKey(verbose_name='Support', blank=True, to='ishtar_common.SupportType', null=True), +        ), +        migrations.AddField( +            model_name='operation', +            name='archaeological_sites', +            field=models.ManyToManyField(to='archaeological_operations.ArchaeologicalSite', verbose_name='Archaeological sites', blank=True), +        ), +        migrations.AddField( +            model_name='operation', +            name='associated_file', +            field=models.ForeignKey(related_name='operations', verbose_name='File', blank=True, to='archaeological_files.File', null=True), +        ), +        migrations.AddField( +            model_name='operation', +            name='cira_rapporteur', +            field=models.ForeignKey(related_name='cira_rapporteur', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Rapporteur CIRA', blank=True, to='ishtar_common.Person', null=True), +        ), +        migrations.AddField( +            model_name='operation', +            name='collaborators', +            field=models.ManyToManyField(related_name='operation_collaborator', verbose_name='Collaborators', to='ishtar_common.Person', blank=True), +        ), +        migrations.AddField( +            model_name='operation', +            name='history_creator', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Creator', blank=True, to=settings.AUTH_USER_MODEL, null=True), +        ), +        migrations.AddField( +            model_name='operation', +            name='history_modifier', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Last editor', blank=True, to=settings.AUTH_USER_MODEL, null=True), +        ), +        migrations.AddField( +            model_name='operation', +            name='imports', +            field=models.ManyToManyField(related_name='imported_archaeological_operations_operation', to='ishtar_common.Import', blank=True), +        ), +        migrations.AddField( +            model_name='operation', +            name='in_charge', +            field=models.ForeignKey(related_name='operation_responsability', on_delete=django.db.models.deletion.SET_NULL, verbose_name='In charge', blank=True, to='ishtar_common.Person', null=True), +        ), +        migrations.AddField( +            model_name='operation', +            name='operation_type', +            field=models.ForeignKey(related_name='+', verbose_name='Operation type', to='ishtar_common.OperationType'), +        ), +        migrations.AddField( +            model_name='operation', +            name='operator', +            field=models.ForeignKey(related_name='operator', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Operator', blank=True, to='ishtar_common.Organization', null=True), +        ), +        migrations.AddField( +            model_name='operation', +            name='periods', +            field=models.ManyToManyField(to='archaeological_operations.Period', verbose_name='Periods', blank=True), +        ), +        migrations.AddField( +            model_name='operation', +            name='remains', +            field=models.ManyToManyField(to='archaeological_operations.RemainType', verbose_name='Remains', blank=True), +        ), +        migrations.AddField( +            model_name='operation', +            name='report_processing', +            field=models.ForeignKey(verbose_name='Report processing', blank=True, to='archaeological_operations.ReportState', null=True), +        ), +        migrations.AddField( +            model_name='operation', +            name='scientist', +            field=models.ForeignKey(related_name='operation_scientist_responsability', on_delete=django.db.models.deletion.SET_NULL, verbose_name='In charge scientist', blank=True, to='ishtar_common.Person', null=True), +        ), +        migrations.AddField( +            model_name='operation', +            name='towns', +            field=models.ManyToManyField(related_name='operations', verbose_name='Towns', to='ishtar_common.Town'), +        ), +        migrations.AddField( +            model_name='historicaloperation', +            name='associated_file', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_files.File', null=True), +        ), +        migrations.AddField( +            model_name='historicaloperation', +            name='cira_rapporteur', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Person', null=True), +        ), +        migrations.AddField( +            model_name='historicaloperation', +            name='history_creator', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to=settings.AUTH_USER_MODEL, null=True), +        ), +        migrations.AddField( +            model_name='historicaloperation', +            name='history_modifier', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to=settings.AUTH_USER_MODEL, null=True), +        ), +        migrations.AddField( +            model_name='historicaloperation', +            name='history_user', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, null=True), +        ), +        migrations.AddField( +            model_name='historicaloperation', +            name='in_charge', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Person', null=True), +        ), +        migrations.AddField( +            model_name='historicaloperation', +            name='operation_type', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.OperationType', null=True), +        ), +        migrations.AddField( +            model_name='historicaloperation', +            name='operator', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Organization', null=True), +        ), +        migrations.AddField( +            model_name='historicaloperation', +            name='report_processing', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_operations.ReportState', null=True), +        ), +        migrations.AddField( +            model_name='historicaloperation', +            name='scientist', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Person', null=True), +        ), +        migrations.AddField( +            model_name='historicaladministrativeact', +            name='act_type', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_operations.ActType', null=True), +        ), +        migrations.AddField( +            model_name='historicaladministrativeact', +            name='associated_file', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_files.File', null=True), +        ), +        migrations.AddField( +            model_name='historicaladministrativeact', +            name='history_creator', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to=settings.AUTH_USER_MODEL, null=True), +        ), +        migrations.AddField( +            model_name='historicaladministrativeact', +            name='history_modifier', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to=settings.AUTH_USER_MODEL, null=True), +        ), +        migrations.AddField( +            model_name='historicaladministrativeact', +            name='history_user', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, null=True), +        ), +        migrations.AddField( +            model_name='historicaladministrativeact', +            name='in_charge', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Person', null=True), +        ), +        migrations.AddField( +            model_name='historicaladministrativeact', +            name='operation', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_operations.Operation', null=True), +        ), +        migrations.AddField( +            model_name='historicaladministrativeact', +            name='operator', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Organization', null=True), +        ), +        migrations.AddField( +            model_name='historicaladministrativeact', +            name='scientist', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Person', null=True), +        ), +        migrations.AddField( +            model_name='historicaladministrativeact', +            name='signatory', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Person', null=True), +        ), +        migrations.AddField( +            model_name='historicaladministrativeact', +            name='treatment', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_finds.Treatment', null=True), +        ), +        migrations.AddField( +            model_name='historicaladministrativeact', +            name='treatment_file', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_finds.TreatmentFile', null=True), +        ), +        migrations.AddField( +            model_name='archaeologicalsite', +            name='history_creator', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Creator', blank=True, to=settings.AUTH_USER_MODEL, null=True), +        ), +        migrations.AddField( +            model_name='archaeologicalsite', +            name='history_modifier', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Last editor', blank=True, to=settings.AUTH_USER_MODEL, null=True), +        ), +        migrations.AddField( +            model_name='archaeologicalsite', +            name='imports', +            field=models.ManyToManyField(related_name='imported_archaeological_operations_archaeologicalsite', to='ishtar_common.Import', blank=True), +        ), +        migrations.AddField( +            model_name='archaeologicalsite', +            name='periods', +            field=models.ManyToManyField(to='archaeological_operations.Period', verbose_name='Periods', blank=True), +        ), +        migrations.AddField( +            model_name='archaeologicalsite', +            name='remains', +            field=models.ManyToManyField(to='archaeological_operations.RemainType', verbose_name='Remains', blank=True), +        ), +        migrations.AddField( +            model_name='administrativeact', +            name='act_type', +            field=models.ForeignKey(verbose_name='Act type', to='archaeological_operations.ActType'), +        ), +        migrations.AddField( +            model_name='administrativeact', +            name='associated_file', +            field=models.ForeignKey(related_name='administrative_act', verbose_name='Archaeological file', blank=True, to='archaeological_files.File', null=True), +        ), +        migrations.AddField( +            model_name='administrativeact', +            name='history_creator', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Creator', blank=True, to=settings.AUTH_USER_MODEL, null=True), +        ), +        migrations.AddField( +            model_name='administrativeact', +            name='history_modifier', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Last editor', blank=True, to=settings.AUTH_USER_MODEL, null=True), +        ), +        migrations.AddField( +            model_name='administrativeact', +            name='imports', +            field=models.ManyToManyField(related_name='imported_archaeological_operations_administrativeact', to='ishtar_common.Import', blank=True), +        ), +        migrations.AddField( +            model_name='administrativeact', +            name='in_charge', +            field=models.ForeignKey(related_name='adminact_operation_in_charge', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Person in charge of the operation', blank=True, to='ishtar_common.Person', null=True), +        ), +        migrations.AddField( +            model_name='administrativeact', +            name='operation', +            field=models.ForeignKey(related_name='administrative_act', verbose_name='Operation', blank=True, to='archaeological_operations.Operation', null=True), +        ), +        migrations.AddField( +            model_name='administrativeact', +            name='operator', +            field=models.ForeignKey(related_name='adminact_operator', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Archaeological preventive operator', blank=True, to='ishtar_common.Organization', null=True), +        ), +        migrations.AddField( +            model_name='administrativeact', +            name='scientist', +            field=models.ForeignKey(related_name='adminact_scientist', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Scientist in charge', blank=True, to='ishtar_common.Person', null=True), +        ), +        migrations.AddField( +            model_name='administrativeact', +            name='signatory', +            field=models.ForeignKey(related_name='signatory', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Signatory', blank=True, to='ishtar_common.Person', null=True), +        ), +        migrations.AddField( +            model_name='administrativeact', +            name='treatment', +            field=models.ForeignKey(related_name='administrative_act', verbose_name='Treatment', blank=True, to='archaeological_finds.Treatment', null=True), +        ), +        migrations.AddField( +            model_name='administrativeact', +            name='treatment_file', +            field=models.ForeignKey(related_name='administrative_act', verbose_name='Treatment request', blank=True, to='archaeological_finds.TreatmentFile', null=True), +        ), +        migrations.AddField( +            model_name='acttype', +            name='associated_template', +            field=models.ManyToManyField(related_name='acttypes', verbose_name='Associated template', to='ishtar_common.DocumentTemplate', blank=True), +        ), +    ] diff --git a/archaeological_operations/migrations/0003_views.py b/archaeological_operations/migrations/0003_views.py new file mode 100644 index 000000000..1b8dd201f --- /dev/null +++ b/archaeological_operations/migrations/0003_views.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +from archaeological_operations.models import OperationByDepartment + + +class Migration(migrations.Migration): + +    dependencies = [ +        ('archaeological_operations', '0002_auto_20170414_2123'), +    ] + +    operations = [ +        migrations.RunSQL(OperationByDepartment.CREATE_SQL) +    ] diff --git a/archaeological_operations/migrations/0068_auto__chg_field_historicaloperation_code_patriarche__chg_field_operati.py b/archaeological_operations/migrations/0068_auto__chg_field_historicaloperation_code_patriarche__chg_field_operati.py deleted file mode 100644 index 02ccdcd59..000000000 --- a/archaeological_operations/migrations/0068_auto__chg_field_historicaloperation_code_patriarche__chg_field_operati.py +++ /dev/null @@ -1,873 +0,0 @@ -# -*- coding: utf-8 -*- -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -from archaeological_context_records.models import CRBulkView -from archaeological_finds.models import BFBulkView, FBulkView, FirstBaseFindView - -class Migration(SchemaMigration): - -    depends_on = ( -        ('archaeological_context_records', '0029_create_bulk_update_view.py'), -        ('archaeological_finds', '0085_create_bulk_update_view.py'), -    ) - -    def forwards(self, orm): -        for view in [FBulkView, BFBulkView, FirstBaseFindView, CRBulkView]: -            sql = view.DELETE_SQL -            db.execute(sql) - -        # Changing field 'HistoricalOperation.code_patriarche' -        db.alter_column('archaeological_operations_historicaloperation', 'code_patriarche', self.gf('django.db.models.fields.TextField')(null=True)) - -        # Changing field 'Operation.code_patriarche' -        db.alter_column('archaeological_operations_operation', 'code_patriarche', self.gf('django.db.models.fields.TextField')(unique=True, null=True)) - -        for view in [CRBulkView, FirstBaseFindView, BFBulkView, FBulkView]: -            sql = view.CREATE_SQL -            db.execute(sql) - -    def backwards(self, orm): -        for view in [FBulkView, BFBulkView, FirstBaseFindView, CRBulkView]: -            sql = view.DELETE_SQL -            db.execute(sql) - -        # Changing field 'HistoricalOperation.code_patriarche' -        db.alter_column('archaeological_operations_historicaloperation', 'code_patriarche', self.gf('django.db.models.fields.IntegerField')(null=True)) - -        # Changing field 'Operation.code_patriarche' -        db.alter_column('archaeological_operations_operation', 'code_patriarche', self.gf('django.db.models.fields.IntegerField')(unique=True, null=True)) - -        for view in [CRBulkView, FirstBaseFindView, BFBulkView, FBulkView]: -            sql = view.CREATE_SQL -            db.execute(sql) - -    models = { -        'archaeological_files.file': { -            'Meta': {'ordering': "('cached_label',)", 'object_name': 'File'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'cira_advised': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'classified_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'corporation_general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}), -            'departments': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), -            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), -            'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}), -            'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imported_line': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_files_file'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'instruction_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}), -            'locality': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), -            'main_town': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_main'", 'null': 'True', 'to': "orm['ishtar_common.Town']"}), -            'mh_listing': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'mh_register': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'numeric_reference': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'permit_reference': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}), -            'planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'protected_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'raw_general_contractor': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'raw_town_planning_service': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}), -            'requested_operation_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.OperationType']"}), -            'research_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'responsible_town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'responsible_town_planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}), -            'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'total_developed_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'total_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), -            'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) -        }, -        'archaeological_files.filetype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'FileType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_files.permittype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'PermitType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_files.saisinetype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'SaisineType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'delay': ('django.db.models.fields.IntegerField', [], {'default': '30'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_finds.treatment': { -            'Meta': {'unique_together': "(('year', 'index'),)", 'object_name': 'Treatment'}, -            'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'container': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Container']", 'null': 'True', 'blank': 'True'}), -            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'estimated_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'to': "orm['archaeological_finds.TreatmentFile']"}), -            'goal': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_treatment'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'index': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'insurance_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']", 'null': 'True', 'blank': 'True'}), -            'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'other_reference': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'person': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'quoted_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'realized_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'target_is_basket': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'treatment_state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentState']", 'null': 'True', 'blank': 'True'}), -            'treatment_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_finds.TreatmentType']", 'symmetrical': 'False'}), -            'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) -        }, -        'archaeological_finds.treatmentfile': { -            'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('year', 'index'),)", 'object_name': 'TreatmentFile'}, -            'applicant': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_applicant'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'applicant_organisation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_applicant'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}), -            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_treatmentfile'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'index': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentFileType']"}), -            'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) -        }, -        'archaeological_finds.treatmentfiletype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentFileType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_finds.treatmentstate': { -            'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentState'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_finds.treatmenttype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'downstream_is_many': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}), -            'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentType']", 'null': 'True', 'blank': 'True'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}), -            'upstream_is_many': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'virtual': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) -        }, -        'archaeological_operations.acttype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'ActType'}, -            'associated_template': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'acttypes'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.DocumentTemplate']"}), -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'indexed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'intented_to': ('django.db.models.fields.CharField', [], {'max_length': '2'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_operations.administrativeact': { -            'Meta': {'ordering': "('year', 'signature_date', 'index', 'act_type')", 'object_name': 'AdministrativeAct'}, -            'act_object': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'act_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ActType']"}), -            'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), -            'departments_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_administrativeact'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operation_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), -            'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}), -            'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'signatory': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'signatory'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'towns_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}), -            'treatment_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_finds.TreatmentFile']"}), -            'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.archaeologicalsite': { -            'Meta': {'object_name': 'ArchaeologicalSite'}, -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_archaeologicalsite'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), -            'reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20'}), -            'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.historicaladministrativeact': { -            'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalAdministrativeAct'}, -            'act_object': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'act_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'departments_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), -            'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}), -            'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), -            'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}), -            'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}), -            'scientist_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'signatory_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'towns_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'treatment_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.historicaloperation': { -            'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOperation'}, -            'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), -            'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'cira_rapporteur_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'code_patriarche': ('django.db.models.fields.TextField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), -            'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), -            'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), -            'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}), -            'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), -            'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}), -            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}), -            'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'operation_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), -            'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}), -            'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}), -            'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'report_processing_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'scientist_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.operation': { -            'Meta': {'ordering': "('cached_label',)", 'object_name': 'Operation'}, -            'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}), -            'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), -            'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), -            'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'code_patriarche': ('django.db.models.fields.TextField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}), -            'collaborators': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'operation_collaborator'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Person']"}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), -            'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), -            'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}), -            'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}), -            'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), -            'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), -            'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}), -            'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}), -            'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}), -            'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}), -            'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operations'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), -            'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.operationbydepartment': { -            'Meta': {'object_name': 'OperationByDepartment', 'db_table': "'operation_department'", 'managed': 'False'}, -            'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'operation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Operation']"}) -        }, -        'archaeological_operations.operationsource': { -            'Meta': {'object_name': 'OperationSource'}, -            'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operationsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}), -            'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), -            'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_operations.Operation']"}), -            'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), -            'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}), -            'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}), -            'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) -        }, -        'archaeological_operations.operationtypeold': { -            'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationTypeOld'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_operations.parcel': { -            'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), -            'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), -            'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}), -            'public_domain': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'section': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}), -            'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}), -            'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.parcelowner': { -            'Meta': {'object_name': 'ParcelOwner'}, -            'end_date': ('django.db.models.fields.DateField', [], {}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_parcelowner'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcel_owner'", 'to': "orm['ishtar_common.Person']"}), -            'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owners'", 'to': "orm['archaeological_operations.Parcel']"}), -            'start_date': ('django.db.models.fields.DateField', [], {}) -        }, -        'archaeological_operations.period': { -            'Meta': {'ordering': "('order',)", 'object_name': 'Period'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'end_date': ('django.db.models.fields.IntegerField', [], {}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'order': ('django.db.models.fields.IntegerField', [], {}), -            'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), -            'start_date': ('django.db.models.fields.IntegerField', [], {}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_operations.recordrelations': { -            'Meta': {'ordering': "('left_record', 'relation_type')", 'object_name': 'RecordRelations'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_operations.Operation']"}), -            'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.RelationType']"}), -            'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_operations.Operation']"}) -        }, -        'archaeological_operations.relationtype': { -            'Meta': {'ordering': "('order', 'label')", 'object_name': 'RelationType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'inverse_relation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.RelationType']", 'null': 'True', 'blank': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'symmetrical': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'tiny_label': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_operations.remaintype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_operations.reportstate': { -            'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'order': ('django.db.models.fields.IntegerField', [], {}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_warehouse.container': { -            'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('index', 'location'),)", 'object_name': 'Container'}, -            'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), -            'cached_location': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'container_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.ContainerType']"}), -            'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_container'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), -            'location': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}), -            'reference': ('django.db.models.fields.CharField', [], {'max_length': '40'}), -            'responsible': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owned_containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}), -            'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_warehouse.containertype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'ContainerType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'reference': ('django.db.models.fields.CharField', [], {'max_length': '30'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}), -            'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_warehouse.warehouse': { -            'Meta': {'object_name': 'Warehouse'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), -            'associated_divisions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']", 'symmetrical': 'False', 'through': "orm['archaeological_warehouse.WarehouseDivisionLink']", 'blank': 'True'}), -            'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_warehouse'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}), -            'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warehouse_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), -            'warehouse_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseType']"}) -        }, -        'archaeological_warehouse.warehousedivision': { -            'Meta': {'object_name': 'WarehouseDivision'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_warehouse.warehousedivisionlink': { -            'Meta': {'ordering': "('warehouse', 'order')", 'unique_together': "(('warehouse', 'division'),)", 'object_name': 'WarehouseDivisionLink'}, -            'division': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}), -            'warehouse': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']"}) -        }, -        'archaeological_warehouse.warehousetype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'WarehouseType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'auth.group': { -            'Meta': {'object_name': 'Group'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), -            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) -        }, -        'auth.permission': { -            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, -            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) -        }, -        'auth.user': { -            'Meta': {'object_name': 'User'}, -            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), -            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), -            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), -            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), -            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), -            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'contenttypes.contenttype': { -            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, -            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) -        }, -        'ishtar_common.arrondissement': { -            'Meta': {'object_name': 'Arrondissement'}, -            'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}) -        }, -        'ishtar_common.author': { -            'Meta': {'ordering': "('author_type__order', 'person__name')", 'object_name': 'Author'}, -            'author_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.AuthorType']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'author'", 'to': "orm['ishtar_common.Person']"}) -        }, -        'ishtar_common.authortype': { -            'Meta': {'ordering': "['order', 'label']", 'object_name': 'AuthorType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.canton': { -            'Meta': {'object_name': 'Canton'}, -            'arrondissement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Arrondissement']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}) -        }, -        'ishtar_common.department': { -            'Meta': {'ordering': "['number']", 'object_name': 'Department'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}), -            'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}), -            'state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.State']", 'null': 'True', 'blank': 'True'}) -        }, -        'ishtar_common.documenttemplate': { -            'Meta': {'ordering': "['associated_object_name', 'name']", 'object_name': 'DocumentTemplate'}, -            'associated_object_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'template': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}) -        }, -        'ishtar_common.format': { -            'Meta': {'ordering': "['label']", 'object_name': 'Format'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.import': { -            'Meta': {'object_name': 'Import'}, -            'conservative_import': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), -            'encoding': ('django.db.models.fields.CharField', [], {'default': "'utf-8'", 'max_length': '15'}), -            'end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), -            'error_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '220'}), -            'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '220', 'null': 'True', 'blank': 'True'}), -            'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.ImporterType']"}), -            'match_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), -            'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'seconds_remaining': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'skip_lines': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'state': ('django.db.models.fields.CharField', [], {'default': "'C'", 'max_length': '2'}), -            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']"}) -        }, -        'ishtar_common.importermodel': { -            'Meta': {'ordering': "('name',)", 'object_name': 'ImporterModel'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'klass': ('django.db.models.fields.CharField', [], {'max_length': '200'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}) -        }, -        'ishtar_common.importertype': { -            'Meta': {'ordering': "('name',)", 'object_name': 'ImporterType'}, -            'associated_models': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.ImporterModel']"}), -            'created_models': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.ImporterModel']"}), -            'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), -            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}), -            'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), -            'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'}) -        }, -        'ishtar_common.ishtaruser': { -            'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']}, -            'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}), -            'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'}) -        }, -        'ishtar_common.operationtype': { -            'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.organization': { -            'Meta': {'object_name': 'Organization'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), -            'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), -            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_organization'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), -            'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), -            'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '500'}), -            'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}), -            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) -        }, -        'ishtar_common.organizationtype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'OrganizationType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.person': { -            'Meta': {'object_name': 'Person'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), -            'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), -            'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'members'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_person'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), -            'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), -            'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), -            'person_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.PersonType']", 'symmetrical': 'False'}), -            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), -            'title': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.TitleType']", 'null': 'True', 'blank': 'True'}), -            'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) -        }, -        'ishtar_common.persontype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'PersonType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['auth.Group']", 'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.sourcetype': { -            'Meta': {'ordering': "['label']", 'object_name': 'SourceType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.state': { -            'Meta': {'ordering': "['number']", 'object_name': 'State'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}), -            'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}) -        }, -        'ishtar_common.supporttype': { -            'Meta': {'object_name': 'SupportType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.titletype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'TitleType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.town': { -            'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'}, -            'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}), -            'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}), -            'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_town'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}), -            'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) -        } -    } - -    complete_apps = ['archaeological_operations']
\ No newline at end of file diff --git a/archaeological_operations/migrations/0069_auto__chg_field_operationsource_external_id.py b/archaeological_operations/migrations/0069_auto__chg_field_operationsource_external_id.py deleted file mode 100644 index 3ad5be00b..000000000 --- a/archaeological_operations/migrations/0069_auto__chg_field_operationsource_external_id.py +++ /dev/null @@ -1,846 +0,0 @@ -# -*- coding: utf-8 -*- -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - - -class Migration(SchemaMigration): - -    def forwards(self, orm): - -        # Changing field 'OperationSource.external_id' -        db.alter_column('archaeological_operations_operationsource', 'external_id', self.gf('django.db.models.fields.TextField')(max_length=300, null=True)) - -    def backwards(self, orm): - -        # Changing field 'OperationSource.external_id' -        db.alter_column('archaeological_operations_operationsource', 'external_id', self.gf('django.db.models.fields.CharField')(max_length=12, null=True)) - -    models = { -        'archaeological_files.file': { -            'Meta': {'ordering': "('cached_label',)", 'object_name': 'File'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'cira_advised': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'classified_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'corporation_general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}), -            'departments': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), -            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), -            'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}), -            'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imported_line': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_files_file'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'instruction_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}), -            'locality': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), -            'main_town': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_main'", 'null': 'True', 'to': "orm['ishtar_common.Town']"}), -            'mh_listing': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'mh_register': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'numeric_reference': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'permit_reference': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}), -            'planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'protected_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'raw_general_contractor': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'raw_town_planning_service': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}), -            'requested_operation_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.OperationType']"}), -            'research_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'responsible_town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'responsible_town_planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}), -            'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'total_developed_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'total_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), -            'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) -        }, -        'archaeological_files.filetype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'FileType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_files.permittype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'PermitType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_files.saisinetype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'SaisineType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'delay': ('django.db.models.fields.IntegerField', [], {'default': '30'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_finds.treatment': { -            'Meta': {'unique_together': "(('year', 'index'),)", 'object_name': 'Treatment'}, -            'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'container': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Container']", 'null': 'True', 'blank': 'True'}), -            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'estimated_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'to': "orm['archaeological_finds.TreatmentFile']"}), -            'goal': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_treatment'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'index': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'insurance_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']", 'null': 'True', 'blank': 'True'}), -            'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'other_reference': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'person': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'quoted_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'realized_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'target_is_basket': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'treatment_state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentState']", 'null': 'True', 'blank': 'True'}), -            'treatment_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_finds.TreatmentType']", 'symmetrical': 'False'}), -            'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) -        }, -        'archaeological_finds.treatmentfile': { -            'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('year', 'index'),)", 'object_name': 'TreatmentFile'}, -            'applicant': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_applicant'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'applicant_organisation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_applicant'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}), -            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_treatmentfile'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'index': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentFileType']"}), -            'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) -        }, -        'archaeological_finds.treatmentfiletype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentFileType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_finds.treatmentstate': { -            'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentState'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_finds.treatmenttype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'downstream_is_many': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}), -            'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentType']", 'null': 'True', 'blank': 'True'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}), -            'upstream_is_many': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'virtual': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) -        }, -        'archaeological_operations.acttype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'ActType'}, -            'associated_template': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'acttypes'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.DocumentTemplate']"}), -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'indexed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'intented_to': ('django.db.models.fields.CharField', [], {'max_length': '2'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_operations.administrativeact': { -            'Meta': {'ordering': "('year', 'signature_date', 'index', 'act_type')", 'object_name': 'AdministrativeAct'}, -            'act_object': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'act_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ActType']"}), -            'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), -            'departments_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_administrativeact'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operation_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), -            'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}), -            'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'signatory': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'signatory'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'towns_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}), -            'treatment_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_finds.TreatmentFile']"}), -            'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.archaeologicalsite': { -            'Meta': {'object_name': 'ArchaeologicalSite'}, -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_archaeologicalsite'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), -            'reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20'}), -            'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.historicaladministrativeact': { -            'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalAdministrativeAct'}, -            'act_object': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'act_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'departments_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), -            'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}), -            'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), -            'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}), -            'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}), -            'scientist_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'signatory_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'towns_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'treatment_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.historicaloperation': { -            'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOperation'}, -            'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), -            'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'cira_rapporteur_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'code_patriarche': ('django.db.models.fields.TextField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), -            'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), -            'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), -            'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}), -            'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), -            'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}), -            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}), -            'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'operation_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), -            'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}), -            'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}), -            'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'report_processing_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'scientist_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.operation': { -            'Meta': {'ordering': "('cached_label',)", 'object_name': 'Operation'}, -            'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}), -            'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), -            'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), -            'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'code_patriarche': ('django.db.models.fields.TextField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}), -            'collaborators': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'operation_collaborator'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Person']"}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), -            'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), -            'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}), -            'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}), -            'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), -            'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), -            'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}), -            'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}), -            'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}), -            'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}), -            'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operations'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), -            'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.operationbydepartment': { -            'Meta': {'object_name': 'OperationByDepartment', 'db_table': "'operation_department'", 'managed': 'False'}, -            'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'operation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Operation']"}) -        }, -        'archaeological_operations.operationsource': { -            'Meta': {'object_name': 'OperationSource'}, -            'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operationsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'external_id': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), -            'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_operations.Operation']"}), -            'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), -            'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}), -            'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}), -            'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) -        }, -        'archaeological_operations.operationtypeold': { -            'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationTypeOld'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_operations.parcel': { -            'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), -            'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), -            'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}), -            'public_domain': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'section': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}), -            'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}), -            'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_operations.parcelowner': { -            'Meta': {'object_name': 'ParcelOwner'}, -            'end_date': ('django.db.models.fields.DateField', [], {}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_parcelowner'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcel_owner'", 'to': "orm['ishtar_common.Person']"}), -            'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owners'", 'to': "orm['archaeological_operations.Parcel']"}), -            'start_date': ('django.db.models.fields.DateField', [], {}) -        }, -        'archaeological_operations.period': { -            'Meta': {'ordering': "('order',)", 'object_name': 'Period'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'end_date': ('django.db.models.fields.IntegerField', [], {}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'order': ('django.db.models.fields.IntegerField', [], {}), -            'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), -            'start_date': ('django.db.models.fields.IntegerField', [], {}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_operations.recordrelations': { -            'Meta': {'ordering': "('left_record', 'relation_type')", 'object_name': 'RecordRelations'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_operations.Operation']"}), -            'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.RelationType']"}), -            'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_operations.Operation']"}) -        }, -        'archaeological_operations.relationtype': { -            'Meta': {'ordering': "('order', 'label')", 'object_name': 'RelationType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'inverse_relation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.RelationType']", 'null': 'True', 'blank': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'symmetrical': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'tiny_label': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_operations.remaintype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_operations.reportstate': { -            'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'order': ('django.db.models.fields.IntegerField', [], {}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_warehouse.container': { -            'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('index', 'location'),)", 'object_name': 'Container'}, -            'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), -            'cached_location': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'container_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.ContainerType']"}), -            'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_container'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), -            'location': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}), -            'reference': ('django.db.models.fields.CharField', [], {'max_length': '40'}), -            'responsible': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owned_containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}), -            'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_warehouse.containertype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'ContainerType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'reference': ('django.db.models.fields.CharField', [], {'max_length': '30'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}), -            'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_warehouse.warehouse': { -            'Meta': {'object_name': 'Warehouse'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), -            'associated_divisions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']", 'symmetrical': 'False', 'through': "orm['archaeological_warehouse.WarehouseDivisionLink']", 'blank': 'True'}), -            'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_warehouse'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}), -            'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warehouse_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), -            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), -            'warehouse_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseType']"}) -        }, -        'archaeological_warehouse.warehousedivision': { -            'Meta': {'object_name': 'WarehouseDivision'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'archaeological_warehouse.warehousedivisionlink': { -            'Meta': {'ordering': "('warehouse', 'order')", 'unique_together': "(('warehouse', 'division'),)", 'object_name': 'WarehouseDivisionLink'}, -            'division': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}), -            'warehouse': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']"}) -        }, -        'archaeological_warehouse.warehousetype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'WarehouseType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'auth.group': { -            'Meta': {'object_name': 'Group'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), -            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) -        }, -        'auth.permission': { -            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, -            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) -        }, -        'auth.user': { -            'Meta': {'object_name': 'User'}, -            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), -            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), -            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), -            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), -            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), -            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'contenttypes.contenttype': { -            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, -            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) -        }, -        'ishtar_common.arrondissement': { -            'Meta': {'object_name': 'Arrondissement'}, -            'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}) -        }, -        'ishtar_common.author': { -            'Meta': {'ordering': "('author_type__order', 'person__name')", 'object_name': 'Author'}, -            'author_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.AuthorType']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'author'", 'to': "orm['ishtar_common.Person']"}) -        }, -        'ishtar_common.authortype': { -            'Meta': {'ordering': "['order', 'label']", 'object_name': 'AuthorType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.canton': { -            'Meta': {'object_name': 'Canton'}, -            'arrondissement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Arrondissement']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}) -        }, -        'ishtar_common.department': { -            'Meta': {'ordering': "['number']", 'object_name': 'Department'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}), -            'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}), -            'state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.State']", 'null': 'True', 'blank': 'True'}) -        }, -        'ishtar_common.documenttemplate': { -            'Meta': {'ordering': "['associated_object_name', 'name']", 'object_name': 'DocumentTemplate'}, -            'associated_object_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'template': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}) -        }, -        'ishtar_common.format': { -            'Meta': {'ordering': "['label']", 'object_name': 'Format'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.import': { -            'Meta': {'object_name': 'Import'}, -            'conservative_import': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), -            'encoding': ('django.db.models.fields.CharField', [], {'default': "'utf-8'", 'max_length': '15'}), -            'end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), -            'error_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '220'}), -            'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '220', 'null': 'True', 'blank': 'True'}), -            'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.ImporterType']"}), -            'match_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), -            'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), -            'seconds_remaining': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'skip_lines': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'state': ('django.db.models.fields.CharField', [], {'default': "'C'", 'max_length': '2'}), -            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']"}) -        }, -        'ishtar_common.importermodel': { -            'Meta': {'ordering': "('name',)", 'object_name': 'ImporterModel'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'klass': ('django.db.models.fields.CharField', [], {'max_length': '200'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}) -        }, -        'ishtar_common.importertype': { -            'Meta': {'ordering': "('name',)", 'object_name': 'ImporterType'}, -            'associated_models': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.ImporterModel']"}), -            'created_models': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.ImporterModel']"}), -            'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), -            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}), -            'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), -            'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'}) -        }, -        'ishtar_common.ishtaruser': { -            'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']}, -            'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}), -            'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'}) -        }, -        'ishtar_common.operationtype': { -            'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), -            'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.organization': { -            'Meta': {'object_name': 'Organization'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), -            'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), -            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_organization'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), -            'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), -            'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '500'}), -            'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}), -            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) -        }, -        'ishtar_common.organizationtype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'OrganizationType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.person': { -            'Meta': {'object_name': 'Person'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), -            'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), -            'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'members'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_person'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), -            'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), -            'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), -            'person_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.PersonType']", 'symmetrical': 'False'}), -            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), -            'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), -            'title': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.TitleType']", 'null': 'True', 'blank': 'True'}), -            'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) -        }, -        'ishtar_common.persontype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'PersonType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['auth.Group']", 'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.sourcetype': { -            'Meta': {'ordering': "['label']", 'object_name': 'SourceType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.state': { -            'Meta': {'ordering': "['number']", 'object_name': 'State'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}), -            'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}) -        }, -        'ishtar_common.supporttype': { -            'Meta': {'object_name': 'SupportType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.titletype': { -            'Meta': {'ordering': "('label',)", 'object_name': 'TitleType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) -        }, -        'ishtar_common.town': { -            'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'}, -            'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}), -            'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}), -            'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_town'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}), -            'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) -        } -    } - -    complete_apps = ['archaeological_operations']
\ No newline at end of file diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index c4fd0d96e..b982e7d45 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -1,6 +1,6 @@  #!/usr/bin/env python  # -*- coding: utf-8 -*- -# Copyright (C) 2012-2016 Étienne Loks  <etienne.loks_AT_peacefrogsDOTnet> +# Copyright (C) 2012-2017 Étienne Loks  <etienne.loks_AT_peacefrogsDOTnet>  # This program is free software: you can redistribute it and/or modify  # it under the terms of the GNU Affero General Public License as @@ -86,9 +86,9 @@ class ArchaeologicalSite(BaseHistorizedItem):      name = models.CharField(_(u"Name"), max_length=200,                              null=True, blank=True)      periods = models.ManyToManyField(Period, verbose_name=_(u"Periods"), -                                     blank=True, null=True) +                                     blank=True)      remains = models.ManyToManyField("RemainType", verbose_name=_(u'Remains'), -                                     blank=True, null=True) +                                     blank=True)      class Meta:          verbose_name = _(u"Archaeological site") @@ -270,7 +270,7 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms,                                    on_delete=models.SET_NULL,                                    related_name='operation_responsability')      collaborators = models.ManyToManyField( -        Person, blank=True, null=True, verbose_name=_(u"Collaborators"), +        Person, blank=True, verbose_name=_(u"Collaborators"),          related_name='operation_collaborator'      )      year = models.IntegerField(_(u"Year"), null=True, blank=True) @@ -284,13 +284,13 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms,                                         verbose_name=_(u"Operation type"))      surface = models.IntegerField(_(u"Surface (m2)"), blank=True, null=True)      remains = models.ManyToManyField("RemainType", verbose_name=_(u'Remains'), -                                     null=True, blank=True) +                                     blank=True)      towns = models.ManyToManyField(Town, verbose_name=_(u"Towns"),                                     related_name='operations')      cost = models.IntegerField(_(u"Cost (euros)"),                                 blank=True, null=True)  # preventive      periods = models.ManyToManyField(Period, verbose_name=_(u"Periods"), -                                     null=True, blank=True) +                                     blank=True)      # preventive      scheduled_man_days = models.IntegerField(_(u"Scheduled man-days"),                                               blank=True, null=True) @@ -343,7 +343,7 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms,                                      null=True, blank=True)      archaeological_sites = models.ManyToManyField(          ArchaeologicalSite, verbose_name=_(u"Archaeological sites"), -        null=True, blank=True) +        blank=True)      virtual_operation = models.BooleanField(          _(u"Virtual operation"),          default=False, help_text=_( @@ -573,12 +573,12 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms,          return round(float(self.cost) / self.surface, 2)      @classmethod -    def get_query_owns(cls, user): +    def get_query_owns(cls, ishtaruser):          return ( -            Q(in_charge=user.ishtaruser.person) | -            Q(scientist=user.ishtaruser.person) | -            Q(collaborators__pk=user.ishtaruser.person.pk) | -            Q(history_creator=user)) & Q(end_date__isnull=True) +            Q(in_charge=ishtaruser.person) | +            Q(scientist=ishtaruser.person) | +            Q(collaborators__pk=ishtaruser.person.pk) | +            Q(history_creator=ishtaruser.user_ptr)) & Q(end_date__isnull=True)      def is_active(self):          return not bool(self.end_date) @@ -846,6 +846,22 @@ class OperationByDepartment(models.Model):      """      Database view for dashboard      """ +    CREATE_SQL = """ +    CREATE VIEW operation_department (id, department_id, operation_id) as +        select town."id", town."departement_id", +               operation_towns."operation_id" +                from ishtar_common_town town +                inner join archaeological_operations_operation_towns +                           operation_towns +                    on operation_towns."town_id"=town."id" +                order by town."departement_id"; +    CREATE RULE operation_department_delete +              AS ON DELETE TO operation_department DO INSTEAD(); +    """ +    DELETE_SQL = """ +    DROP VIEW operation_department; +    """ +      operation = models.ForeignKey(Operation, verbose_name=_(u"Operation"))      department = models.ForeignKey(Department, verbose_name=_(u"Department"),                                     blank=True, null=True) @@ -912,10 +928,10 @@ class OperationSource(Source):                                     self.index)      @classmethod -    def get_query_owns(cls, user): -        return (Q(operation__in_charge=user.ishtaruser.person) | -                Q(operation__scientist=user.ishtaruser.person) | -                Q(operation__collaborators__pk=user.ishtaruser.person.pk)) \ +    def get_query_owns(cls, ishtaruser): +        return (Q(operation__in_charge=ishtaruser.person) | +                Q(operation__scientist=ishtaruser.person) | +                Q(operation__collaborators__pk=ishtaruser.person.pk)) \                 & Q(operation__end_date__isnull=True) @@ -929,7 +945,7 @@ class ActType(GeneralType):                                     choices=TYPE)      code = models.CharField(_(u"Code"), max_length=10, blank=True, null=True)      associated_template = models.ManyToManyField( -        DocumentTemplate, blank=True, null=True, +        DocumentTemplate, blank=True,          verbose_name=_(u"Associated template"), related_name='acttypes')      indexed = models.BooleanField(_(u"Indexed"), default=False) diff --git a/archaeological_operations/old_migrations/0001_initial.py b/archaeological_operations/old_migrations/0001_initial.py new file mode 100644 index 000000000..c5b4619ab --- /dev/null +++ b/archaeological_operations/old_migrations/0001_initial.py @@ -0,0 +1,655 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): +    depends_on = (('archaeological_files', '0001_initial.py'), ) + +    def forwards(self, orm): +        # Adding model 'OperationType' +        db.create_table('archaeological_operations_operationtype', ( +            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), +            ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), +            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('available', self.gf('django.db.models.fields.BooleanField')(default=False)), +        )) +        db.send_create_signal('archaeological_operations', ['OperationType']) + +        # Adding model 'RemainType' +        db.create_table('archaeological_operations_remaintype', ( +            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), +            ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), +            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('available', self.gf('django.db.models.fields.BooleanField')(default=False)), +        )) +        db.send_create_signal('archaeological_operations', ['RemainType']) + +        # Adding model 'Period' +        db.create_table('archaeological_operations_period', ( +            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), +            ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), +            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('available', self.gf('django.db.models.fields.BooleanField')(default=False)), +            ('order', self.gf('django.db.models.fields.IntegerField')()), +            ('start_date', self.gf('django.db.models.fields.IntegerField')()), +            ('end_date', self.gf('django.db.models.fields.IntegerField')()), +            ('parent', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.Period'], null=True, blank=True)), +        )) +        db.send_create_signal('archaeological_operations', ['Period']) + +        # Adding model 'HistoricalOperation' +        db.create_table('archaeological_operations_historicaloperation', ( +            ('id', self.gf('django.db.models.fields.IntegerField')(db_index=True, blank=True)), +            ('history_modifier_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('start_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('excavation_end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('in_charge_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('year', self.gf('django.db.models.fields.IntegerField')()), +            ('operation_code', self.gf('django.db.models.fields.IntegerField')()), +            ('associated_file_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('operation_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), +            ('cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), +            ('scheduled_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), +            ('optional_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), +            ('effective_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), +            ('code_patriarche', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), +            ('code_dracar', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)), +            ('fnap_financing', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), +            ('fnap_cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), +            ('zoning_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), +            ('large_area_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), +            ('geoarchaeological_context_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), +            ('operator_reference', self.gf('django.db.models.fields.CharField')(max_length=20, null=True, blank=True)), +            ('common_name', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('history_id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), +            ('history_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), +            ('history_user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)), +            ('history_type', self.gf('django.db.models.fields.CharField')(max_length=1)), +        )) +        db.send_create_signal('archaeological_operations', ['HistoricalOperation']) + +        # Adding model 'Operation' +        db.create_table('archaeological_operations_operation', ( +            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), +            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])), +            ('start_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('excavation_end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('in_charge', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])), +            ('year', self.gf('django.db.models.fields.IntegerField')()), +            ('operation_code', self.gf('django.db.models.fields.IntegerField')()), +            ('associated_file', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='operations', null=True, to=orm['archaeological_files.File'])), +            ('operation_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['archaeological_operations.OperationType'])), +            ('surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), +            ('cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), +            ('scheduled_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), +            ('optional_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), +            ('effective_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), +            ('code_patriarche', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), +            ('code_dracar', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)), +            ('fnap_financing', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), +            ('fnap_cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), +            ('zoning_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), +            ('large_area_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), +            ('geoarchaeological_context_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), +            ('operator_reference', self.gf('django.db.models.fields.CharField')(max_length=20, null=True, blank=True)), +            ('common_name', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +        )) +        db.send_create_signal('archaeological_operations', ['Operation']) + +        # Adding M2M table for field remains on 'Operation' +        db.create_table('archaeological_operations_operation_remains', ( +            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), +            ('operation', models.ForeignKey(orm['archaeological_operations.operation'], null=False)), +            ('remaintype', models.ForeignKey(orm['archaeological_operations.remaintype'], null=False)) +        )) +        db.create_unique('archaeological_operations_operation_remains', ['operation_id', 'remaintype_id']) + +        # Adding M2M table for field towns on 'Operation' +        db.create_table('archaeological_operations_operation_towns', ( +            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), +            ('operation', models.ForeignKey(orm['archaeological_operations.operation'], null=False)), +            ('town', models.ForeignKey(orm['ishtar_common.town'], null=False)) +        )) +        db.create_unique('archaeological_operations_operation_towns', ['operation_id', 'town_id']) + +        # Adding M2M table for field periods on 'Operation' +        db.create_table('archaeological_operations_operation_periods', ( +            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), +            ('operation', models.ForeignKey(orm['archaeological_operations.operation'], null=False)), +            ('period', models.ForeignKey(orm['archaeological_operations.period'], null=False)) +        )) +        db.create_unique('archaeological_operations_operation_periods', ['operation_id', 'period_id']) + +        # Adding model 'OperationSource' +        db.create_table('archaeological_operations_operationsource', ( +            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), +            ('title', self.gf('django.db.models.fields.CharField')(max_length=200)), +            ('source_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.SourceType'])), +            ('associated_url', self.gf('django.db.models.fields.URLField')(max_length=200, null=True, blank=True)), +            ('receipt_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('creation_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('operation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='source', to=orm['archaeological_operations.Operation'])), +            ('index', self.gf('django.db.models.fields.IntegerField')()), +        )) +        db.send_create_signal('archaeological_operations', ['OperationSource']) + +        # Adding M2M table for field authors on 'OperationSource' +        db.create_table('archaeological_operations_operationsource_authors', ( +            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), +            ('operationsource', models.ForeignKey(orm['archaeological_operations.operationsource'], null=False)), +            ('author', models.ForeignKey(orm['ishtar_common.author'], null=False)) +        )) +        db.create_unique('archaeological_operations_operationsource_authors', ['operationsource_id', 'author_id']) + +        # Adding model 'ActType' +        db.create_table('archaeological_operations_acttype', ( +            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), +            ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), +            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('available', self.gf('django.db.models.fields.BooleanField')(default=False)), +            ('intented_to', self.gf('django.db.models.fields.CharField')(max_length=1)), +        )) +        db.send_create_signal('archaeological_operations', ['ActType']) + +        # Adding model 'HistoricalAdministrativeAct' +        db.create_table('archaeological_operations_historicaladministrativeact', ( +            ('id', self.gf('django.db.models.fields.IntegerField')(db_index=True, blank=True)), +            ('history_modifier_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('act_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('in_charge_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('operator_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('scientific_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('signatory_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('operation_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('associated_file_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('signature_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('act_object', self.gf('django.db.models.fields.CharField')(max_length=200)), +            ('ref_sra', self.gf('django.db.models.fields.CharField')(max_length=15)), +            ('history_id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), +            ('history_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), +            ('history_user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)), +            ('history_type', self.gf('django.db.models.fields.CharField')(max_length=1)), +        )) +        db.send_create_signal('archaeological_operations', ['HistoricalAdministrativeAct']) + +        # Adding model 'AdministrativeAct' +        db.create_table('archaeological_operations_administrativeact', ( +            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), +            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])), +            ('act_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.ActType'])), +            ('in_charge', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])), +            ('operator', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Organization'], null=True, blank=True)), +            ('scientific', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])), +            ('signatory', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])), +            ('operation', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='administrative_act', null=True, to=orm['archaeological_operations.Operation'])), +            ('associated_file', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='administrative_act', null=True, to=orm['archaeological_files.File'])), +            ('signature_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('act_object', self.gf('django.db.models.fields.CharField')(max_length=200)), +            ('ref_sra', self.gf('django.db.models.fields.CharField')(max_length=15)), +        )) +        db.send_create_signal('archaeological_operations', ['AdministrativeAct']) + +        # Adding model 'Parcel' +        db.create_table('archaeological_operations_parcel', ( +            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), +            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])), +            ('history_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), +            ('associated_file', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='parcels', null=True, to=orm['archaeological_files.File'])), +            ('operation', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='parcels', null=True, to=orm['archaeological_operations.Operation'])), +            ('year', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), +            ('town', self.gf('django.db.models.fields.related.ForeignKey')(related_name='parcels', to=orm['ishtar_common.Town'])), +            ('section', self.gf('django.db.models.fields.CharField')(max_length=4)), +            ('parcel_number', self.gf('django.db.models.fields.CharField')(max_length=6)), +        )) +        db.send_create_signal('archaeological_operations', ['Parcel']) + +        # Adding model 'ParcelOwner' +        db.create_table('archaeological_operations_parcelowner', ( +            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), +            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])), +            ('history_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), +            ('owner', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'])), +            ('parcel', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.Parcel'])), +            ('start_date', self.gf('django.db.models.fields.DateField')()), +            ('end_date', self.gf('django.db.models.fields.DateField')()), +        )) +        db.send_create_signal('archaeological_operations', ['ParcelOwner']) + + +    def backwards(self, orm): +        # Deleting model 'OperationType' +        db.delete_table('archaeological_operations_operationtype') + +        # Deleting model 'RemainType' +        db.delete_table('archaeological_operations_remaintype') + +        # Deleting model 'Period' +        db.delete_table('archaeological_operations_period') + +        # Deleting model 'HistoricalOperation' +        db.delete_table('archaeological_operations_historicaloperation') + +        # Deleting model 'Operation' +        db.delete_table('archaeological_operations_operation') + +        # Removing M2M table for field remains on 'Operation' +        db.delete_table('archaeological_operations_operation_remains') + +        # Removing M2M table for field towns on 'Operation' +        db.delete_table('archaeological_operations_operation_towns') + +        # Removing M2M table for field periods on 'Operation' +        db.delete_table('archaeological_operations_operation_periods') + +        # Deleting model 'OperationSource' +        db.delete_table('archaeological_operations_operationsource') + +        # Removing M2M table for field authors on 'OperationSource' +        db.delete_table('archaeological_operations_operationsource_authors') + +        # Deleting model 'ActType' +        db.delete_table('archaeological_operations_acttype') + +        # Deleting model 'HistoricalAdministrativeAct' +        db.delete_table('archaeological_operations_historicaladministrativeact') + +        # Deleting model 'AdministrativeAct' +        db.delete_table('archaeological_operations_administrativeact') + +        # Deleting model 'Parcel' +        db.delete_table('archaeological_operations_parcel') + +        # Deleting model 'ParcelOwner' +        db.delete_table('archaeological_operations_parcelowner') + + +    models = { +        'archaeological_files.file': { +            'Meta': {'ordering': "['-year', '-numeric_reference']", 'object_name': 'File'}, +            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), +            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}), +            'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.Person']"}), +            'internal_reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60'}), +            'numeric_reference': ('django.db.models.fields.IntegerField', [], {}), +            'permit_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}), +            'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}), +            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), +            'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'reference_number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}), +            'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}), +            'total_developed_surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'total_surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), +            'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), +            'year': ('django.db.models.fields.IntegerField', [], {'default': '2012'}) +        }, +        'archaeological_files.filetype': { +            'Meta': {'object_name': 'FileType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +        }, +        'archaeological_files.permittype': { +            'Meta': {'object_name': 'PermitType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +        }, +        'archaeological_files.saisinetype': { +            'Meta': {'object_name': 'SaisineType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'delay': ('django.db.models.fields.IntegerField', [], {}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +        }, +        'archaeological_operations.acttype': { +            'Meta': {'object_name': 'ActType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'intented_to': ('django.db.models.fields.CharField', [], {'max_length': '1'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +        }, +        'archaeological_operations.administrativeact': { +            'Meta': {'object_name': 'AdministrativeAct'}, +            'act_object': ('django.db.models.fields.CharField', [], {'max_length': '200'}), +            'act_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ActType']"}), +            'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), +            'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), +            'operator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Organization']", 'null': 'True', 'blank': 'True'}), +            'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15'}), +            'scientific': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), +            'signatory': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), +            'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}) +        }, +        'archaeological_operations.historicaladministrativeact': { +            'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalAdministrativeAct'}, +            'act_object': ('django.db.models.fields.CharField', [], {'max_length': '200'}), +            'act_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), +            'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}), +            'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), +            'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}), +            'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15'}), +            'scientific_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'signatory_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}) +        }, +        'archaeological_operations.historicaloperation': { +            'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOperation'}, +            'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'code_dracar': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), +            'code_patriarche': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'common_name': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), +            'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), +            'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), +            'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), +            'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}), +            'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), +            'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}), +            'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), +            'operation_code': ('django.db.models.fields.IntegerField', [], {}), +            'operation_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), +            'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'year': ('django.db.models.fields.IntegerField', [], {}), +            'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) +        }, +        'archaeological_operations.operation': { +            'Meta': {'object_name': 'Operation'}, +            'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), +            'code_dracar': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), +            'code_patriarche': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'common_name': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), +            'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), +            'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), +            'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), +            'operation_code': ('django.db.models.fields.IntegerField', [], {}), +            'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['archaeological_operations.OperationType']"}), +            'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), +            'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'periods': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_operations.Period']", 'symmetrical': 'False'}), +            'remains': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_operations.RemainType']", 'symmetrical': 'False'}), +            'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'towns': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.Town']", 'symmetrical': 'False'}), +            'year': ('django.db.models.fields.IntegerField', [], {}), +            'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) +        }, +        'archaeological_operations.operationbydepartment': { +            'Meta': {'object_name': 'OperationByDepartment', 'db_table': "'operation_department'", 'managed': 'False'}, +            'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'operation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Operation']"}) +        }, +        'archaeological_operations.operationsource': { +            'Meta': {'object_name': 'OperationSource'}, +            'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.Author']", 'symmetrical': 'False'}), +            'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'index': ('django.db.models.fields.IntegerField', [], {}), +            'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_operations.Operation']"}), +            'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}), +            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) +        }, +        'archaeological_operations.operationtype': { +            'Meta': {'object_name': 'OperationType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +        }, +        'archaeological_operations.parcel': { +            'Meta': {'object_name': 'Parcel'}, +            'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), +            'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), +            'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6'}), +            'section': ('django.db.models.fields.CharField', [], {'max_length': '4'}), +            'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}), +            'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) +        }, +        'archaeological_operations.parcelowner': { +            'Meta': {'object_name': 'ParcelOwner'}, +            'end_date': ('django.db.models.fields.DateField', [], {}), +            'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']"}), +            'parcel': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Parcel']"}), +            'start_date': ('django.db.models.fields.DateField', [], {}) +        }, +        'archaeological_operations.period': { +            'Meta': {'object_name': 'Period'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'end_date': ('django.db.models.fields.IntegerField', [], {}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'order': ('django.db.models.fields.IntegerField', [], {}), +            'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), +            'start_date': ('django.db.models.fields.IntegerField', [], {}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +        }, +        'archaeological_operations.remaintype': { +            'Meta': {'object_name': 'RemainType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +        }, +        'auth.group': { +            'Meta': {'object_name': 'Group'}, +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), +            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) +        }, +        'auth.permission': { +            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, +            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) +        }, +        'auth.user': { +            'Meta': {'object_name': 'User'}, +            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), +            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), +            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), +            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), +            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), +            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), +            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), +            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +        }, +        'contenttypes.contenttype': { +            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, +            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) +        }, +        'ishtar_common.arrondissement': { +            'Meta': {'object_name': 'Arrondissement'}, +            'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}) +        }, +        'ishtar_common.author': { +            'Meta': {'object_name': 'Author'}, +            'author_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.AuthorType']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']"}) +        }, +        'ishtar_common.authortype': { +            'Meta': {'object_name': 'AuthorType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +        }, +        'ishtar_common.canton': { +            'Meta': {'object_name': 'Canton'}, +            'arrondissement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Arrondissement']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}) +        }, +        'ishtar_common.department': { +            'Meta': {'ordering': "['number']", 'object_name': 'Department'}, +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}), +            'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}) +        }, +        'ishtar_common.organization': { +            'Meta': {'object_name': 'Organization'}, +            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}), +            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), +            'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}) +        }, +        'ishtar_common.organizationtype': { +            'Meta': {'object_name': 'OrganizationType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +        }, +        'ishtar_common.person': { +            'Meta': {'object_name': 'Person'}, +            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Organization']", 'null': 'True', 'blank': 'True'}), +            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), +            'email': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}), +            'person_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.PersonType']"}), +            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), +            'surname': ('django.db.models.fields.CharField', [], {'max_length': '20'}), +            'title': ('django.db.models.fields.CharField', [], {'max_length': '2'}), +            'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}) +        }, +        'ishtar_common.persontype': { +            'Meta': {'object_name': 'PersonType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'rights': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.WizardStep']", 'symmetrical': 'False'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +        }, +        'ishtar_common.sourcetype': { +            'Meta': {'object_name': 'SourceType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +        }, +        'ishtar_common.town': { +            'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'}, +            'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}), +            'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}), +            'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}), +            'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) +        }, +        'ishtar_common.wizard': { +            'Meta': {'ordering': "['url_name']", 'object_name': 'Wizard'}, +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'url_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}) +        }, +        'ishtar_common.wizardstep': { +            'Meta': {'ordering': "['wizard', 'order']", 'object_name': 'WizardStep'}, +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}), +            'order': ('django.db.models.fields.IntegerField', [], {}), +            'url_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}), +            'wizard': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Wizard']"}) +        } +    } + +    complete_apps = ['archaeological_operations'] diff --git a/archaeological_operations/migrations/0002_views.py b/archaeological_operations/old_migrations/0002_views.py index a9d4e3665..a9d4e3665 100644 --- a/archaeological_operations/migrations/0002_views.py +++ b/archaeological_operations/old_migrations/0002_views.py diff --git a/archaeological_operations/migrations/0003_auto__add_field_operationtype_preventive.py b/archaeological_operations/old_migrations/0003_auto__add_field_operationtype_preventive.py index 4f13d1e9f..4f13d1e9f 100644 --- a/archaeological_operations/migrations/0003_auto__add_field_operationtype_preventive.py +++ b/archaeological_operations/old_migrations/0003_auto__add_field_operationtype_preventive.py diff --git a/archaeological_operations/migrations/0004_auto__chg_field_historicaloperation_year__chg_field_operation_year.py b/archaeological_operations/old_migrations/0004_auto__chg_field_historicaloperation_year__chg_field_operation_year.py index 2747317d3..2747317d3 100644 --- a/archaeological_operations/migrations/0004_auto__chg_field_historicaloperation_year__chg_field_operation_year.py +++ b/archaeological_operations/old_migrations/0004_auto__chg_field_historicaloperation_year__chg_field_operation_year.py diff --git a/archaeological_operations/migrations/0005_auto__chg_field_historicaloperation_operation_code__chg_field_operatio.py b/archaeological_operations/old_migrations/0005_auto__chg_field_historicaloperation_operation_code__chg_field_operatio.py index 5465c9909..5465c9909 100644 --- a/archaeological_operations/migrations/0005_auto__chg_field_historicaloperation_operation_code__chg_field_operatio.py +++ b/archaeological_operations/old_migrations/0005_auto__chg_field_historicaloperation_operation_code__chg_field_operatio.py diff --git a/archaeological_operations/migrations/0006_auto__add_field_operationsource_reference__add_field_operationsource_i.py b/archaeological_operations/old_migrations/0006_auto__add_field_operationsource_reference__add_field_operationsource_i.py index 65a281677..65a281677 100644 --- a/archaeological_operations/migrations/0006_auto__add_field_operationsource_reference__add_field_operationsource_i.py +++ b/archaeological_operations/old_migrations/0006_auto__add_field_operationsource_reference__add_field_operationsource_i.py diff --git a/archaeological_operations/migrations/0007_auto__chg_field_administrativeact_ref_sra__chg_field_historicaladminis.py b/archaeological_operations/old_migrations/0007_auto__chg_field_administrativeact_ref_sra__chg_field_historicaladminis.py index b4b3f9726..b4b3f9726 100644 --- a/archaeological_operations/migrations/0007_auto__chg_field_administrativeact_ref_sra__chg_field_historicaladminis.py +++ b/archaeological_operations/old_migrations/0007_auto__chg_field_administrativeact_ref_sra__chg_field_historicaladminis.py diff --git a/archaeological_operations/migrations/0008_auto__chg_field_operationsource_index__chg_field_operationsource_title.py b/archaeological_operations/old_migrations/0008_auto__chg_field_operationsource_index__chg_field_operationsource_title.py index 5fb8d9ad3..5fb8d9ad3 100644 --- a/archaeological_operations/migrations/0008_auto__chg_field_operationsource_index__chg_field_operationsource_title.py +++ b/archaeological_operations/old_migrations/0008_auto__chg_field_operationsource_index__chg_field_operationsource_title.py diff --git a/archaeological_operations/migrations/0009_auto__add_field_historicaloperation_cached_label__add_field_operation_.py b/archaeological_operations/old_migrations/0009_auto__add_field_historicaloperation_cached_label__add_field_operation_.py index 2a789c5de..2a789c5de 100644 --- a/archaeological_operations/migrations/0009_auto__add_field_historicaloperation_cached_label__add_field_operation_.py +++ b/archaeological_operations/old_migrations/0009_auto__add_field_historicaloperation_cached_label__add_field_operation_.py diff --git a/archaeological_operations/migrations/0010_auto__chg_field_historicaloperation_cached_label__chg_field_operation_.py b/archaeological_operations/old_migrations/0010_auto__chg_field_historicaloperation_cached_label__chg_field_operation_.py index ce6d106be..ce6d106be 100644 --- a/archaeological_operations/migrations/0010_auto__chg_field_historicaloperation_cached_label__chg_field_operation_.py +++ b/archaeological_operations/old_migrations/0010_auto__chg_field_historicaloperation_cached_label__chg_field_operation_.py diff --git a/archaeological_operations/migrations/0011_auto__add_field_historicaloperation_report_delivery_date__add_field_op.py b/archaeological_operations/old_migrations/0011_auto__add_field_historicaloperation_report_delivery_date__add_field_op.py index 78ee2dc3e..78ee2dc3e 100644 --- a/archaeological_operations/migrations/0011_auto__add_field_historicaloperation_report_delivery_date__add_field_op.py +++ b/archaeological_operations/old_migrations/0011_auto__add_field_historicaloperation_report_delivery_date__add_field_op.py diff --git a/archaeological_operations/migrations/0012_auto.py b/archaeological_operations/old_migrations/0012_auto.py index 311f3f3d3..311f3f3d3 100644 --- a/archaeological_operations/migrations/0012_auto.py +++ b/archaeological_operations/old_migrations/0012_auto.py diff --git a/archaeological_operations/migrations/0013_auto__add_field_acttype_code.py b/archaeological_operations/old_migrations/0013_auto__add_field_acttype_code.py index 273c8cd24..273c8cd24 100644 --- a/archaeological_operations/migrations/0013_auto__add_field_acttype_code.py +++ b/archaeological_operations/old_migrations/0013_auto__add_field_acttype_code.py diff --git a/archaeological_operations/migrations/0014_auto__add_archaeologicalsite.py b/archaeological_operations/old_migrations/0014_auto__add_archaeologicalsite.py index 47733dc35..47733dc35 100644 --- a/archaeological_operations/migrations/0014_auto__add_archaeologicalsite.py +++ b/archaeological_operations/old_migrations/0014_auto__add_archaeologicalsite.py diff --git a/archaeological_operations/migrations/0015_auto__add_unique_archaeologicalsite_reference.py b/archaeological_operations/old_migrations/0015_auto__add_unique_archaeologicalsite_reference.py index 3982d3d4d..3982d3d4d 100644 --- a/archaeological_operations/migrations/0015_auto__add_unique_archaeologicalsite_reference.py +++ b/archaeological_operations/old_migrations/0015_auto__add_unique_archaeologicalsite_reference.py diff --git a/archaeological_operations/migrations/0016_auto__add_field_acttype_indexed__add_field_historicaladministrativeact.py b/archaeological_operations/old_migrations/0016_auto__add_field_acttype_indexed__add_field_historicaladministrativeact.py index c5b4ac2ed..c5b4ac2ed 100644 --- a/archaeological_operations/migrations/0016_auto__add_field_acttype_indexed__add_field_historicaladministrativeact.py +++ b/archaeological_operations/old_migrations/0016_auto__add_field_acttype_indexed__add_field_historicaladministrativeact.py diff --git a/archaeological_operations/migrations/0017_rename_in_charge_to_scientist.py b/archaeological_operations/old_migrations/0017_rename_in_charge_to_scientist.py index 30946e383..30946e383 100644 --- a/archaeological_operations/migrations/0017_rename_in_charge_to_scientist.py +++ b/archaeological_operations/old_migrations/0017_rename_in_charge_to_scientist.py diff --git a/archaeological_operations/migrations/0018_auto__add_field_historicaloperation_in_charge_id__add_field_operation_.py b/archaeological_operations/old_migrations/0018_auto__add_field_historicaloperation_in_charge_id__add_field_operation_.py index d5cf3c4bd..d5cf3c4bd 100644 --- a/archaeological_operations/migrations/0018_auto__add_field_historicaloperation_in_charge_id__add_field_operation_.py +++ b/archaeological_operations/old_migrations/0018_auto__add_field_historicaloperation_in_charge_id__add_field_operation_.py diff --git a/archaeological_operations/migrations/0019_auto__add_field_historicaloperation_operator_id__add_field_operation_o.py b/archaeological_operations/old_migrations/0019_auto__add_field_historicaloperation_operator_id__add_field_operation_o.py index 375ac67df..375ac67df 100644 --- a/archaeological_operations/migrations/0019_auto__add_field_historicaloperation_operator_id__add_field_operation_o.py +++ b/archaeological_operations/old_migrations/0019_auto__add_field_historicaloperation_operator_id__add_field_operation_o.py diff --git a/archaeological_operations/migrations/0020_auto__add_field_parcel_history_creator__add_field_historicaloperation_.py b/archaeological_operations/old_migrations/0020_auto__add_field_parcel_history_creator__add_field_historicaloperation_.py index 4614eba32..4614eba32 100644 --- a/archaeological_operations/migrations/0020_auto__add_field_parcel_history_creator__add_field_historicaloperation_.py +++ b/archaeological_operations/old_migrations/0020_auto__add_field_parcel_history_creator__add_field_historicaloperation_.py diff --git a/archaeological_operations/migrations/0021_init_history_creator.py b/archaeological_operations/old_migrations/0021_init_history_creator.py index 5d0f7c780..5d0f7c780 100644 --- a/archaeological_operations/migrations/0021_init_history_creator.py +++ b/archaeological_operations/old_migrations/0021_init_history_creator.py diff --git a/archaeological_operations/migrations/0022_auto__add_field_operationtype_order.py b/archaeological_operations/old_migrations/0022_auto__add_field_operationtype_order.py index 379711ec9..379711ec9 100644 --- a/archaeological_operations/migrations/0022_auto__add_field_operationtype_order.py +++ b/archaeological_operations/old_migrations/0022_auto__add_field_operationtype_order.py diff --git a/archaeological_operations/migrations/0023_add_year_administrativact.py b/archaeological_operations/old_migrations/0023_add_year_administrativact.py index bf1712db4..bf1712db4 100644 --- a/archaeological_operations/migrations/0023_add_year_administrativact.py +++ b/archaeological_operations/old_migrations/0023_add_year_administrativact.py diff --git a/archaeological_operations/migrations/0024_reinit_history_creator.py b/archaeological_operations/old_migrations/0024_reinit_history_creator.py index 8a6b1f819..8a6b1f819 100644 --- a/archaeological_operations/migrations/0024_reinit_history_creator.py +++ b/archaeological_operations/old_migrations/0024_reinit_history_creator.py diff --git a/archaeological_operations/migrations/0025_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py b/archaeological_operations/old_migrations/0025_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py index b30bfc1d5..b30bfc1d5 100644 --- a/archaeological_operations/migrations/0025_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py +++ b/archaeological_operations/old_migrations/0025_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py diff --git a/archaeological_operations/migrations/0026_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py b/archaeological_operations/old_migrations/0026_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py index 0f75dd757..0f75dd757 100644 --- a/archaeological_operations/migrations/0026_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py +++ b/archaeological_operations/old_migrations/0026_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py diff --git a/archaeological_operations/migrations/0027_auto__add_field_historicaloperation_creation_date__add_field_operation.py b/archaeological_operations/old_migrations/0027_auto__add_field_historicaloperation_creation_date__add_field_operation.py index 2a21c1569..2a21c1569 100644 --- a/archaeological_operations/migrations/0027_auto__add_field_historicaloperation_creation_date__add_field_operation.py +++ b/archaeological_operations/old_migrations/0027_auto__add_field_historicaloperation_creation_date__add_field_operation.py diff --git a/archaeological_operations/migrations/0028_init_creation_date.py b/archaeological_operations/old_migrations/0028_init_creation_date.py index 0136fb217..0136fb217 100644 --- a/archaeological_operations/migrations/0028_init_creation_date.py +++ b/archaeological_operations/old_migrations/0028_init_creation_date.py diff --git a/archaeological_operations/migrations/0029_auto__chg_field_historicaloperation_creation_date__chg_field_operation.py b/archaeological_operations/old_migrations/0029_auto__chg_field_historicaloperation_creation_date__chg_field_operation.py index d5b36444a..d5b36444a 100644 --- a/archaeological_operations/migrations/0029_auto__chg_field_historicaloperation_creation_date__chg_field_operation.py +++ b/archaeological_operations/old_migrations/0029_auto__chg_field_historicaloperation_creation_date__chg_field_operation.py diff --git a/archaeological_operations/migrations/0030_auto__chg_field_parcel_history_creator__chg_field_parcel_history_modif.py b/archaeological_operations/old_migrations/0030_auto__chg_field_parcel_history_creator__chg_field_parcel_history_modif.py index 07e168a33..07e168a33 100644 --- a/archaeological_operations/migrations/0030_auto__chg_field_parcel_history_creator__chg_field_parcel_history_modif.py +++ b/archaeological_operations/old_migrations/0030_auto__chg_field_parcel_history_creator__chg_field_parcel_history_modif.py diff --git a/archaeological_operations/migrations/0031_auto__add_field_parcel_address.py b/archaeological_operations/old_migrations/0031_auto__add_field_parcel_address.py index 05554006c..05554006c 100644 --- a/archaeological_operations/migrations/0031_auto__add_field_parcel_address.py +++ b/archaeological_operations/old_migrations/0031_auto__add_field_parcel_address.py diff --git a/archaeological_operations/migrations/0032_auto__add_field_operationsource_support_type__add_field_operationsourc.py b/archaeological_operations/old_migrations/0032_auto__add_field_operationsource_support_type__add_field_operationsourc.py index 3a4932c86..3a4932c86 100644 --- a/archaeological_operations/migrations/0032_auto__add_field_operationsource_support_type__add_field_operationsourc.py +++ b/archaeological_operations/old_migrations/0032_auto__add_field_operationsource_support_type__add_field_operationsourc.py diff --git a/archaeological_operations/migrations/0033_auto__add_field_parcel_external_id.py b/archaeological_operations/old_migrations/0033_auto__add_field_parcel_external_id.py index 1d0e2f4ab..1d0e2f4ab 100644 --- a/archaeological_operations/migrations/0033_auto__add_field_parcel_external_id.py +++ b/archaeological_operations/old_migrations/0033_auto__add_field_parcel_external_id.py diff --git a/archaeological_operations/migrations/0034_auto__add_field_operationsource_external_id.py b/archaeological_operations/old_migrations/0034_auto__add_field_operationsource_external_id.py index 6c982967a..6c982967a 100644 --- a/archaeological_operations/migrations/0034_auto__add_field_operationsource_external_id.py +++ b/archaeological_operations/old_migrations/0034_auto__add_field_operationsource_external_id.py diff --git a/archaeological_operations/migrations/0035_auto.py b/archaeological_operations/old_migrations/0035_auto.py index 5fde976e9..5fde976e9 100644 --- a/archaeological_operations/migrations/0035_auto.py +++ b/archaeological_operations/old_migrations/0035_auto.py diff --git a/archaeological_operations/migrations/0036_auto.py b/archaeological_operations/old_migrations/0036_auto.py index af1df3887..af1df3887 100644 --- a/archaeological_operations/migrations/0036_auto.py +++ b/archaeological_operations/old_migrations/0036_auto.py diff --git a/archaeological_operations/migrations/0037_auto__chg_field_parcel_parcel_number__chg_field_operationtype_txt_idx_.py b/archaeological_operations/old_migrations/0037_auto__chg_field_parcel_parcel_number__chg_field_operationtype_txt_idx_.py index aa023a7eb..aa023a7eb 100644 --- a/archaeological_operations/migrations/0037_auto__chg_field_parcel_parcel_number__chg_field_operationtype_txt_idx_.py +++ b/archaeological_operations/old_migrations/0037_auto__chg_field_parcel_parcel_number__chg_field_operationtype_txt_idx_.py diff --git a/archaeological_operations/migrations/0038_auto__add_unique_operation_code_patriarche.py b/archaeological_operations/old_migrations/0038_auto__add_unique_operation_code_patriarche.py index 738aa011d..738aa011d 100644 --- a/archaeological_operations/migrations/0038_auto__add_unique_operation_code_patriarche.py +++ b/archaeological_operations/old_migrations/0038_auto__add_unique_operation_code_patriarche.py diff --git a/archaeological_operations/migrations/0039_auto__add_recordrelations__add_relationtype.py b/archaeological_operations/old_migrations/0039_auto__add_recordrelations__add_relationtype.py index ba75d27ad..ba75d27ad 100644 --- a/archaeological_operations/migrations/0039_auto__add_recordrelations__add_relationtype.py +++ b/archaeological_operations/old_migrations/0039_auto__add_recordrelations__add_relationtype.py diff --git a/archaeological_operations/migrations/0040_auto__chg_field_parcel_external_id.py b/archaeological_operations/old_migrations/0040_auto__chg_field_parcel_external_id.py index ebdb74ebd..ebdb74ebd 100644 --- a/archaeological_operations/migrations/0040_auto__chg_field_parcel_external_id.py +++ b/archaeological_operations/old_migrations/0040_auto__chg_field_parcel_external_id.py diff --git a/archaeological_operations/migrations/0041_rename_ope_type_2_ope_type_old.py b/archaeological_operations/old_migrations/0041_rename_ope_type_2_ope_type_old.py index f50ae07ad..f50ae07ad 100644 --- a/archaeological_operations/migrations/0041_rename_ope_type_2_ope_type_old.py +++ b/archaeological_operations/old_migrations/0041_rename_ope_type_2_ope_type_old.py diff --git a/archaeological_operations/migrations/0042_rename_ope_type_2_ope_type_old_2.py b/archaeological_operations/old_migrations/0042_rename_ope_type_2_ope_type_old_2.py index dc2b6e1a6..dc2b6e1a6 100644 --- a/archaeological_operations/migrations/0042_rename_ope_type_2_ope_type_old_2.py +++ b/archaeological_operations/old_migrations/0042_rename_ope_type_2_ope_type_old_2.py diff --git a/archaeological_operations/migrations/0043_auto__add_field_historicaladministrativeact_departments_label__add_fie.py b/archaeological_operations/old_migrations/0043_auto__add_field_historicaladministrativeact_departments_label__add_fie.py index 30a5a6073..30a5a6073 100644 --- a/archaeological_operations/migrations/0043_auto__add_field_historicaladministrativeact_departments_label__add_fie.py +++ b/archaeological_operations/old_migrations/0043_auto__add_field_historicaladministrativeact_departments_label__add_fie.py diff --git a/archaeological_operations/migrations/0044_auto__add_field_historicaloperation_virtual_operation__add_field_histo.py b/archaeological_operations/old_migrations/0044_auto__add_field_historicaloperation_virtual_operation__add_field_histo.py index 0c18442ad..0c18442ad 100644 --- a/archaeological_operations/migrations/0044_auto__add_field_historicaloperation_virtual_operation__add_field_histo.py +++ b/archaeological_operations/old_migrations/0044_auto__add_field_historicaloperation_virtual_operation__add_field_histo.py diff --git a/archaeological_operations/migrations/0045_auto__chg_field_historicaloperation_common_name__chg_field_operation_c.py b/archaeological_operations/old_migrations/0045_auto__chg_field_historicaloperation_common_name__chg_field_operation_c.py index fd907b595..fd907b595 100644 --- a/archaeological_operations/migrations/0045_auto__chg_field_historicaloperation_common_name__chg_field_operation_c.py +++ b/archaeological_operations/old_migrations/0045_auto__chg_field_historicaloperation_common_name__chg_field_operation_c.py diff --git a/archaeological_operations/migrations/0046_auto__add_reportstate__add_field_historicaloperation_report_processing.py b/archaeological_operations/old_migrations/0046_auto__add_reportstate__add_field_historicaloperation_report_processing.py index dc45a5485..dc45a5485 100644 --- a/archaeological_operations/migrations/0046_auto__add_reportstate__add_field_historicaloperation_report_processing.py +++ b/archaeological_operations/old_migrations/0046_auto__add_reportstate__add_field_historicaloperation_report_processing.py diff --git a/archaeological_operations/migrations/0047_auto__add_field_operationsource_duplicate__chg_field_operationsource_i.py b/archaeological_operations/old_migrations/0047_auto__add_field_operationsource_duplicate__chg_field_operationsource_i.py index c31f53436..c31f53436 100644 --- a/archaeological_operations/migrations/0047_auto__add_field_operationsource_duplicate__chg_field_operationsource_i.py +++ b/archaeological_operations/old_migrations/0047_auto__add_field_operationsource_duplicate__chg_field_operationsource_i.py diff --git a/archaeological_operations/migrations/0048_auto__add_field_operationsource_receipt_date_in_documentation.py b/archaeological_operations/old_migrations/0048_auto__add_field_operationsource_receipt_date_in_documentation.py index 90a2fc415..90a2fc415 100644 --- a/archaeological_operations/migrations/0048_auto__add_field_operationsource_receipt_date_in_documentation.py +++ b/archaeological_operations/old_migrations/0048_auto__add_field_operationsource_receipt_date_in_documentation.py diff --git a/archaeological_operations/migrations/0049_auto__add_field_historicaloperation_abstract__add_field_operation_abst.py b/archaeological_operations/old_migrations/0049_auto__add_field_historicaloperation_abstract__add_field_operation_abst.py index 3bdc0e750..3bdc0e750 100644 --- a/archaeological_operations/migrations/0049_auto__add_field_historicaloperation_abstract__add_field_operation_abst.py +++ b/archaeological_operations/old_migrations/0049_auto__add_field_historicaloperation_abstract__add_field_operation_abst.py diff --git a/archaeological_operations/migrations/0050_auto__chg_field_historicaloperation_code_dracar__chg_field_operation_c.py b/archaeological_operations/old_migrations/0050_auto__chg_field_historicaloperation_code_dracar__chg_field_operation_c.py index 0ce1008ce..0ce1008ce 100644 --- a/archaeological_operations/migrations/0050_auto__chg_field_historicaloperation_code_dracar__chg_field_operation_c.py +++ b/archaeological_operations/old_migrations/0050_auto__chg_field_historicaloperation_code_dracar__chg_field_operation_c.py diff --git a/archaeological_operations/migrations/0051_auto__add_field_historicaloperation_point__add_field_historicaloperati.py b/archaeological_operations/old_migrations/0051_auto__add_field_historicaloperation_point__add_field_historicaloperati.py index 3157e0d54..3157e0d54 100644 --- a/archaeological_operations/migrations/0051_auto__add_field_historicaloperation_point__add_field_historicaloperati.py +++ b/archaeological_operations/old_migrations/0051_auto__add_field_historicaloperation_point__add_field_historicaloperati.py diff --git a/archaeological_operations/migrations/0052_auto__add_field_relationtype_short_label.py b/archaeological_operations/old_migrations/0052_auto__add_field_relationtype_short_label.py index 8e39337a3..8e39337a3 100644 --- a/archaeological_operations/migrations/0052_auto__add_field_relationtype_short_label.py +++ b/archaeological_operations/old_migrations/0052_auto__add_field_relationtype_short_label.py diff --git a/archaeological_operations/migrations/0053_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py b/archaeological_operations/old_migrations/0053_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py index b3edcfa72..b3edcfa72 100644 --- a/archaeological_operations/migrations/0053_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py +++ b/archaeological_operations/old_migrations/0053_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py diff --git a/archaeological_operations/migrations/0054_auto__add_field_parcel_auto_external_id.py b/archaeological_operations/old_migrations/0054_auto__add_field_parcel_auto_external_id.py index e2c0b2340..e2c0b2340 100644 --- a/archaeological_operations/migrations/0054_auto__add_field_parcel_auto_external_id.py +++ b/archaeological_operations/old_migrations/0054_auto__add_field_parcel_auto_external_id.py diff --git a/archaeological_operations/migrations/0055_auto__add_field_parcel_public_domain.py b/archaeological_operations/old_migrations/0055_auto__add_field_parcel_public_domain.py index 90b5b533d..90b5b533d 100644 --- a/archaeological_operations/migrations/0055_auto__add_field_parcel_public_domain.py +++ b/archaeological_operations/old_migrations/0055_auto__add_field_parcel_public_domain.py diff --git a/archaeological_operations/migrations/0056_auto__chg_field_parcel_section.py b/archaeological_operations/old_migrations/0056_auto__chg_field_parcel_section.py index c5c954f45..c5c954f45 100644 --- a/archaeological_operations/migrations/0056_auto__chg_field_parcel_section.py +++ b/archaeological_operations/old_migrations/0056_auto__chg_field_parcel_section.py diff --git a/archaeological_operations/migrations/0057_rename_code_dracar_to_old_code.py b/archaeological_operations/old_migrations/0057_rename_code_dracar_to_old_code.py index 57100315e..57100315e 100644 --- a/archaeological_operations/migrations/0057_rename_code_dracar_to_old_code.py +++ b/archaeological_operations/old_migrations/0057_rename_code_dracar_to_old_code.py diff --git a/archaeological_operations/migrations/0058_auto__add_field_operationsource_image__add_field_operationsource_thumb.py b/archaeological_operations/old_migrations/0058_auto__add_field_operationsource_image__add_field_operationsource_thumb.py index 9dc794c86..9dc794c86 100644 --- a/archaeological_operations/migrations/0058_auto__add_field_operationsource_image__add_field_operationsource_thumb.py +++ b/archaeological_operations/old_migrations/0058_auto__add_field_operationsource_image__add_field_operationsource_thumb.py diff --git a/archaeological_operations/migrations/0059_auto__add_field_historicaloperation_documentation_deadline__add_field_.py b/archaeological_operations/old_migrations/0059_auto__add_field_historicaloperation_documentation_deadline__add_field_.py index 17a1cc7db..17a1cc7db 100644 --- a/archaeological_operations/migrations/0059_auto__add_field_historicaloperation_documentation_deadline__add_field_.py +++ b/archaeological_operations/old_migrations/0059_auto__add_field_historicaloperation_documentation_deadline__add_field_.py diff --git a/archaeological_operations/migrations/0060_auto__add_field_historicaloperation_scientific_documentation_comment__.py b/archaeological_operations/old_migrations/0060_auto__add_field_historicaloperation_scientific_documentation_comment__.py index 76f3e6ac4..76f3e6ac4 100644 --- a/archaeological_operations/migrations/0060_auto__add_field_historicaloperation_scientific_documentation_comment__.py +++ b/archaeological_operations/old_migrations/0060_auto__add_field_historicaloperation_scientific_documentation_comment__.py diff --git a/archaeological_operations/migrations/0061_regenerate_cached_label.py b/archaeological_operations/old_migrations/0061_regenerate_cached_label.py index 91beb8138..91beb8138 100644 --- a/archaeological_operations/migrations/0061_regenerate_cached_label.py +++ b/archaeological_operations/old_migrations/0061_regenerate_cached_label.py diff --git a/archaeological_operations/migrations/0062_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py b/archaeological_operations/old_migrations/0062_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py index 528a6533b..528a6533b 100644 --- a/archaeological_operations/migrations/0062_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py +++ b/archaeological_operations/old_migrations/0062_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py diff --git a/archaeological_operations/migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py b/archaeological_operations/old_migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py index 9ceffa8a3..9ceffa8a3 100644 --- a/archaeological_operations/migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py +++ b/archaeological_operations/old_migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py diff --git a/archaeological_operations/migrations/0064_fix_old_operationtype.py b/archaeological_operations/old_migrations/0064_fix_old_operationtype.py index 4ea054f65..4ea054f65 100644 --- a/archaeological_operations/migrations/0064_fix_old_operationtype.py +++ b/archaeological_operations/old_migrations/0064_fix_old_operationtype.py diff --git a/archaeological_operations/migrations/0065_auto__add_field_historicaloperation_address__add_field_operation_addre.py b/archaeological_operations/old_migrations/0065_auto__add_field_historicaloperation_address__add_field_operation_addre.py index 8626cfcf4..8626cfcf4 100644 --- a/archaeological_operations/migrations/0065_auto__add_field_historicaloperation_address__add_field_operation_addre.py +++ b/archaeological_operations/old_migrations/0065_auto__add_field_historicaloperation_address__add_field_operation_addre.py diff --git a/archaeological_operations/migrations/0066_regenerate_cached_label.py b/archaeological_operations/old_migrations/0066_regenerate_cached_label.py index 0475b0065..0475b0065 100644 --- a/archaeological_operations/migrations/0066_regenerate_cached_label.py +++ b/archaeological_operations/old_migrations/0066_regenerate_cached_label.py diff --git a/archaeological_operations/migrations/0067_auto.py b/archaeological_operations/old_migrations/0067_auto.py index f09437198..f09437198 100644 --- a/archaeological_operations/migrations/0067_auto.py +++ b/archaeological_operations/old_migrations/0067_auto.py diff --git a/archaeological_operations/old_migrations/__init__.py b/archaeological_operations/old_migrations/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/archaeological_operations/old_migrations/__init__.py diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index 2cb6dd035..83672a9f9 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -19,12 +19,15 @@  import json  import datetime +import StringIO +import zipfile  from django.conf import settings  from django.core.files.uploadedfile import SimpleUploadedFile  from django.core.urlresolvers import reverse  from django.test.client import Client +from django.contrib.auth.models import User  from django.contrib.auth.models import Permission  import models @@ -32,7 +35,7 @@ from archaeological_operations import views  from ishtar_common.models import OrganizationType, Organization, ItemKey, \      ImporterType, IshtarUser, TargetKey, ImporterModel, IshtarSiteProfile, \ -    Town, ImporterColumn, Person, Author, SourceType, AuthorType +    Town, ImporterColumn, Person, Author, SourceType, AuthorType, DocumentTemplate  from archaeological_context_records.models import Unit  from ishtar_common import forms_common @@ -244,7 +247,8 @@ class ImportOperationTest(ImportTest, TestCase):          self.assertEqual(len(impt.errors), 2)          self.assertTrue(              "Importer configuration error" in impt.errors[0]['error'] or -            "Erreur de configuration de l\'importeur" in impt.errors[0]['error'] +            "Erreur de configuration de l\'importeur" in +            impt.errors[0]['error']          )      def test_model_limitation(self): @@ -593,11 +597,13 @@ def create_operation(user, orga=None, values={}):  class OperationInitTest(object):      def create_user(self):          username, password, self.user = create_user() +        return self.user      def get_default_user(self): -        if not hasattr(self, 'user') or not self.user: -            self.create_user() -        return self.user +        q = User.objects.filter(is_superuser=False) +        if q.count(): +            return q.all()[0] +        return self.create_user()      def create_orgas(self, user=None):          if not user: @@ -1000,7 +1006,7 @@ class OperationSearchTest(TestCase, OperationInitTest):  def create_administrativact(user, operation):      act_type, created = models.ActType.objects.get_or_create( -        txt_idx='act_type') +        txt_idx='act_type_O', intented_to='O')      dct = {'history_modifier': user,             'act_type': act_type,             'operation': operation, @@ -1021,7 +1027,7 @@ class RegisterTest(TestCase, OperationInitTest):      def setUp(self):          self.username, self.password, self.user = create_superuser()          self.operations = self.create_operation(self.user) -        self.act_types, self.operations = create_administrativact( +        self.act_types, self.admin_acts = create_administrativact(              self.user, self.operations[0])      def testSearch(self): @@ -1035,6 +1041,38 @@ class RegisterTest(TestCase, OperationInitTest):          response = c.get(reverse('get-administrativeact'), {'indexed': '2'})          self.assertTrue(json.loads(response.content)['total'] == 1) +    def test_document_generation(self): +        tpl = open( +            settings.ROOT_PATH + +            '../archaeological_operations/tests/document_reference.odt', +            'rb') +        template = SimpleUploadedFile(tpl.name, tpl.read()) +        doc = DocumentTemplate.objects.create( +            name="Test", +            associated_object_name=DocumentTemplate.CLASSNAMES[0][0], +            available=True, +            template=template +        ) +        self.act_types[0].associated_template.add(doc) + +        c = Client() +        data = {'pk': self.admin_acts[0].pk, 'document_template': doc.pk} +        response = c.post(reverse('operation-administrativeact-document'), data) +        # no result when no authentication +        self.assertEqual(response.content, "") +        c.login(username=self.username, password=self.password) +        response = c.post(reverse('operation-administrativeact-document'), data) +        try: +            f = StringIO.StringIO(response.content) +            z = zipfile.ZipFile(f) +            self.assertIsNone(z.testzip()) +            content = z.open('content.xml') +            self.assertIn('2014-05-12', content.read()) +        finally: +            content.close() +            z.close() +            f.close() +  class OperationWizardCreationTest(WizardTest, OperationInitTest, TestCase):      fixtures = [settings.ROOT_PATH + @@ -1279,7 +1317,7 @@ class OperationWizardDeleteTest(OperationWizardCreationTest):      ]      def pass_test(self): -        if not settings.SOUTH_TESTS_MIGRATE: +        if not settings.TEST_VIEWS:              # with no migration the views are not created              return True @@ -1417,4 +1455,4 @@ class OperationSourceWizardModificationTest(WizardTest, OperationInitTest,      def post_wizard(self):          source = models.OperationSource.objects.get(pk=self.source.pk) -        self.assertEqual(source.authors.count(), 0)
\ No newline at end of file +        self.assertEqual(source.authors.count(), 0) diff --git a/archaeological_operations/tests/document_reference.odt b/archaeological_operations/tests/document_reference.odtBinary files differ new file mode 100755 index 000000000..0097e8b15 --- /dev/null +++ b/archaeological_operations/tests/document_reference.odt diff --git a/archaeological_operations/urls.py b/archaeological_operations/urls.py index bc6bc4bee..0b4c02a61 100644 --- a/archaeological_operations/urls.py +++ b/archaeological_operations/urls.py @@ -17,7 +17,7 @@  # See the file COPYING for details. -from django.conf.urls.defaults import * +from django.conf.urls import patterns, url  from ishtar_common.wizards import check_rights  import views diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index 6a1340e70..13b9a4767 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -43,9 +43,9 @@ def autocomplete_patriarche(request, non_closed=True):                                            models.Operation)              and not request.user.ishtaruser.has_right(                  'operation_search', session=request.session)): -        return HttpResponse(mimetype='text/plain') +        return HttpResponse(content_type='text/plain')      if not request.GET.get('term'): -        return HttpResponse(mimetype='text/plain') +        return HttpResponse(content_type='text/plain')      q = request.GET.get('term')      query = Q()      for q in q.split(' '): @@ -58,7 +58,7 @@ def autocomplete_patriarche(request, non_closed=True):      data = json.dumps([{'id': operation.code_patriarche,                          'value': operation.code_patriarche}                         for operation in operations]) -    return HttpResponse(data, mimetype='text/plain') +    return HttpResponse(data, content_type='text/plain')  def autocomplete_archaeologicalsite(request): @@ -68,9 +68,9 @@ def autocomplete_archaeologicalsite(request):          and not request.user.has_perm(              'archaeological_operations.view_own_archaeologicalsite',              models.ArchaeologicalSite)): -        return HttpResponse(mimetype='text/plain') +        return HttpResponse(content_type='text/plain')      if not request.GET.get('term'): -        return HttpResponse(mimetype='text/plain') +        return HttpResponse(content_type='text/plain')      q = request.GET.get('term')      query = Q()      for q in q.split(' '): @@ -82,7 +82,7 @@ def autocomplete_archaeologicalsite(request):      data = json.dumps([{'id': site.pk,                          'value': unicode(site)[:60]}                         for site in sites]) -    return HttpResponse(data, mimetype='text/plain') +    return HttpResponse(data, content_type='text/plain')  new_archaeologicalsite = new_item(models.ArchaeologicalSite,                                    ArchaeologicalSiteForm, many=True) @@ -96,9 +96,9 @@ def autocomplete_operation(request, non_closed=True):              'ishtar_common.view_own_operation', models.Operation)              and not request.user.ishtaruser.has_right(                  'operation_search', session=request.session)): -        return HttpResponse(mimetype='text/plain') +        return HttpResponse(content_type='text/plain')      if not request.GET.get('term'): -        return HttpResponse(mimetype='text/plain') +        return HttpResponse(content_type='text/plain')      q = request.GET.get('term')      query = Q()      for q in q.split(' '): @@ -123,7 +123,7 @@ def autocomplete_operation(request, non_closed=True):      operations = models.Operation.objects.filter(query)[:limit]      data = json.dumps([{'id': operation.pk, 'value': unicode(operation)}                         for operation in operations]) -    return HttpResponse(data, mimetype='text/plain') +    return HttpResponse(data, content_type='text/plain')  def get_available_operation_code(request, year=None): @@ -131,10 +131,10 @@ def get_available_operation_code(request, year=None):          'ishtar_common.view_operation', models.Operation)\          and not request.user.has_perm(              'ishtar_common.view_own_operation', models.Operation): -        return HttpResponse(mimetype='text/plain') +        return HttpResponse(content_type='text/plain')      data = json.dumps({'id':                         models.Operation.get_available_operation_code(year)}) -    return HttpResponse(data, mimetype='text/plain') +    return HttpResponse(data, content_type='text/plain')  get_operation = get_item(models.Operation, 'get_operation', 'operation') @@ -413,7 +413,7 @@ def generatedoc_administrativeactop(request, pk, template_pk=None):              'ishtar_common.view_operation', models.Operation)          and not request.user.has_perm(              'ishtar_common.view_own_operation', models.Operation)): -        return HttpResponse(mimetype='text/plain') +        return HttpResponse(content_type='text/plain')      try:          act_file = models.AdministrativeAct.objects.get(pk=pk)          doc = act_file.publish(template_pk) @@ -427,11 +427,11 @@ def generatedoc_administrativeactop(request, pk, template_pk=None):          mimetype = 'text/csv'          if ext in MIMES:              mimetype = MIMES[ext] -        response = HttpResponse(open(doc), mimetype=mimetype) +        response = HttpResponse(open(doc), content_type=mimetype)          response['Content-Disposition'] = 'attachment; filename=%s' % \              doc_name          return response -    return HttpResponse(mimetype='text/plain') +    return HttpResponse(content_type='text/plain')  def administrativeactfile_document( @@ -453,6 +453,10 @@ def administrativeactfile_document(              AdministrativeActTreatmentFileFormSelection          search_form = AdministrativeActTreatmentFileFormSelection          document_type = 'TF' + +    if not request.user.has_perm('view_administrativeact', +                                 models.AdministrativeAct): +        return HttpResponse(content_type='text/plain')      dct = {}      if request.POST:          dct['search_form'] = search_form(request.POST) diff --git a/archaeological_operations/wizards.py b/archaeological_operations/wizards.py index 07206cc18..b9ff96cad 100644 --- a/archaeological_operations/wizards.py +++ b/archaeological_operations/wizards.py @@ -250,7 +250,7 @@ class OperationWizard(Wizard):          post_data = request.POST.copy()          # add all parcel from available in the archaeological file -        if not post_data.get('add_all_parcels'): +        if not post_data.get('add_all_parcels', None):              return super(OperationWizard, self).post(*args, **kwargs)          file = self.get_current_file() | 
