diff options
Diffstat (limited to 'archaeological_finds')
-rw-r--r-- | archaeological_finds/forms_treatments.py | 55 | ||||
-rw-r--r-- | archaeological_finds/migrations/0001_initial.py | 1408 | ||||
-rw-r--r-- | archaeological_finds/migrations/0002_auto_20170414_2123.py | 503 | ||||
-rw-r--r-- | archaeological_finds/migrations/0003_views.py | 22 | ||||
-rw-r--r-- | archaeological_finds/models_finds.py | 62 | ||||
-rw-r--r-- | archaeological_finds/models_treatments.py | 24 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0001_initial.py | 814 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0002_auto__add_field_findsource_reference__add_field_findsource_internal_re.py (renamed from archaeological_finds/migrations/0002_auto__add_field_findsource_reference__add_field_findsource_internal_re.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0003_auto__add_field_materialtype_code.py (renamed from archaeological_finds/migrations/0003_auto__add_field_materialtype_code.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0004_auto__add_field_historicalfind_image__add_field_historicalfind_thumbna.py (renamed from archaeological_finds/migrations/0004_auto__add_field_historicalfind_image__add_field_historicalfind_thumbna.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0005_auto__add_conservatorystate__add_field_historicalfind_conservatory_sta.py (renamed from archaeological_finds/migrations/0005_auto__add_conservatorystate__add_field_historicalfind_conservatory_sta.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0006_auto__add_field_historicalfind_history_creator_id__add_field_treatment.py (renamed from archaeological_finds/migrations/0006_auto__add_field_historicalfind_history_creator_id__add_field_treatment.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0007_init_history_creator.py (renamed from archaeological_finds/migrations/0007_init_history_creator.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0008_reinit_history_creator.py (renamed from archaeological_finds/migrations/0008_reinit_history_creator.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0009_auto__chg_field_materialtype_recommendation__chg_field_treatment_perso.py (renamed from archaeological_finds/migrations/0009_auto__chg_field_materialtype_recommendation__chg_field_treatment_perso.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0010_auto__chg_field_treatment_history_creator__chg_field_treatment_history.py (renamed from archaeological_finds/migrations/0010_auto__chg_field_treatment_history_creator__chg_field_treatment_history.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0011_auto__add_field_historicalfind_weight_unit__add_field_historicalfind_d.py (renamed from archaeological_finds/migrations/0011_auto__add_field_historicalfind_weight_unit__add_field_historicalfind_d.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0012_auto__add_preservationtype__add_field_historicalfind_preservation_to_c.py (renamed from archaeological_finds/migrations/0012_auto__add_preservationtype__add_field_historicalfind_preservation_to_c.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0013_auto__del_field_historicalfind_discovery_date__del_field_find_discover.py (renamed from archaeological_finds/migrations/0013_auto__del_field_historicalfind_discovery_date__del_field_find_discover.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0014_auto__chg_field_find_dating.py (renamed from archaeological_finds/migrations/0014_auto__chg_field_find_dating.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0015_auto__add_field_historicalfind_external_id__add_field_find_external_id.py (renamed from archaeological_finds/migrations/0015_auto__add_field_historicalfind_external_id__add_field_find_external_id.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0016_auto__add_field_treatment_external_id__add_field_historicaltreatment_e.py (renamed from archaeological_finds/migrations/0016_auto__add_field_treatment_external_id__add_field_historicaltreatment_e.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0017_auto__add_field_findsource_external_id__add_field_treatmentsource_exte.py (renamed from archaeological_finds/migrations/0017_auto__add_field_findsource_external_id__add_field_treatmentsource_exte.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0018_auto.py (renamed from archaeological_finds/migrations/0018_auto.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0019_auto__chg_field_preservationtype_txt_idx__chg_field_treatmenttype_txt_.py (renamed from archaeological_finds/migrations/0019_auto__chg_field_preservationtype_txt_idx__chg_field_treatmenttype_txt_.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0020_auto__chg_field_historicalfind_weight_unit__chg_field_find_weight_unit.py (renamed from archaeological_finds/migrations/0020_auto__chg_field_historicalfind_weight_unit__chg_field_find_weight_unit.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0021_auto__add_objecttype__add_field_historicalfind_is_complete__add_field_.py (renamed from archaeological_finds/migrations/0021_auto__add_objecttype__add_field_historicalfind_is_complete__add_field_.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0022_auto__add_field_objecttype_parent.py (renamed from archaeological_finds/migrations/0022_auto__add_field_objecttype_parent.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0023_auto__del_field_historicalfind_heigth__add_field_historicalfind_height.py (renamed from archaeological_finds/migrations/0023_auto__del_field_historicalfind_heigth__add_field_historicalfind_height.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0024_auto.py (renamed from archaeological_finds/migrations/0024_auto.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0025_find_to_finds.py (renamed from archaeological_finds/migrations/0025_find_to_finds.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0026_auto__del_field_historicalfind_material_type_id__del_field_find_materi.py (renamed from archaeological_finds/migrations/0026_auto__del_field_historicalfind_material_type_id__del_field_find_materi.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0027_auto__add_field_historicalfind_index__add_field_find_index.py (renamed from archaeological_finds/migrations/0027_auto__add_field_historicalfind_index__add_field_find_index.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0028_auto.py (renamed from archaeological_finds/migrations/0028_auto.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0029_dating_to_datings.py (renamed from archaeological_finds/migrations/0029_dating_to_datings.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0030_auto__del_field_historicalfind_dating_id__del_field_find_dating.py (renamed from archaeological_finds/migrations/0030_auto__del_field_historicalfind_dating_id__del_field_find_dating.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0031_auto__add_field_historicalfind_dating_comment__add_field_find_dating_c.py (renamed from archaeological_finds/migrations/0031_auto__add_field_historicalfind_dating_comment__add_field_find_dating_c.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0032_auto__add_field_historicalfind_checked__add_field_find_checked.py (renamed from archaeological_finds/migrations/0032_auto__add_field_historicalfind_checked__add_field_find_checked.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0033_auto__add_field_historicalfind_check_date__add_field_find_check_date.py (renamed from archaeological_finds/migrations/0033_auto__add_field_historicalfind_check_date__add_field_find_check_date.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0034_auto__add_field_historicalbasefind_cache_short_id__add_field_historica.py (renamed from archaeological_finds/migrations/0034_auto__add_field_historicalbasefind_cache_short_id__add_field_historica.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0035_auto.py (renamed from archaeological_finds/migrations/0035_auto.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0036_preservation_to_preservations.py (renamed from archaeological_finds/migrations/0036_preservation_to_preservations.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0037_auto__del_field_historicalfind_preservation_to_consider_id__del_field_.py (renamed from archaeological_finds/migrations/0037_auto__del_field_historicalfind_preservation_to_consider_id__del_field_.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0038_auto__add_field_historicalbasefind_batch__add_field_basefind_batch.py (renamed from archaeological_finds/migrations/0038_auto__add_field_historicalbasefind_batch__add_field_basefind_batch.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0039_is_isolated_batch.py (renamed from archaeological_finds/migrations/0039_is_isolated_batch.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0040_auto__del_field_historicalbasefind_is_isolated__del_field_basefind_is_.py (renamed from archaeological_finds/migrations/0040_auto__del_field_historicalbasefind_is_isolated__del_field_basefind_is_.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0041_auto__add_integritytype.py (renamed from archaeological_finds/migrations/0041_auto__add_integritytype.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0042_auto__chg_field_historicalfind_label__chg_field_find_label__chg_field_.py (renamed from archaeological_finds/migrations/0042_auto__chg_field_historicalfind_label__chg_field_find_label__chg_field_.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0043_auto__add_field_findsource_duplicate__chg_field_findsource_internal_re.py (renamed from archaeological_finds/migrations/0043_auto__add_field_findsource_duplicate__chg_field_findsource_internal_re.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0044_auto__add_field_findsource_receipt_date_in_documentation__add_field_tr.py (renamed from archaeological_finds/migrations/0044_auto__add_field_findsource_receipt_date_in_documentation__add_field_tr.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0045_auto__add_findbasket__add_unique_findbasket_label_user.py (renamed from archaeological_finds/migrations/0045_auto__add_findbasket__add_unique_findbasket_label_user.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0046_auto__add_field_basefind_point__add_field_basefind_line__add_field_bas.py (renamed from archaeological_finds/migrations/0046_auto__add_field_basefind_point__add_field_basefind_line__add_field_bas.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0047_auto__add_field_historicalfind_conservatory_comment__add_field_histori.py (renamed from archaeological_finds/migrations/0047_auto__add_field_historicalfind_conservatory_comment__add_field_histori.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0048_auto__add_field_treatmenttype_upstream_is_many__add_field_treatmenttyp.py (renamed from archaeological_finds/migrations/0048_auto__add_field_treatmenttype_upstream_is_many__add_field_treatmenttyp.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0049_auto__chg_field_historicalfind_external_id__chg_field_find_external_id.py (renamed from archaeological_finds/migrations/0049_auto__chg_field_historicalfind_external_id__chg_field_find_external_id.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0050_auto__add_field_historicalfind_auto_external_id__add_field_find_auto_e.py (renamed from archaeological_finds/migrations/0050_auto__add_field_historicalfind_auto_external_id__add_field_find_auto_e.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0051_auto__add_remarkabilitytype.py (renamed from archaeological_finds/migrations/0051_auto__add_remarkabilitytype.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0052_auto__add_field_historicalfind_estimated_value__add_field_find_estimat.py (renamed from archaeological_finds/migrations/0052_auto__add_field_historicalfind_estimated_value__add_field_find_estimat.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0053_view_find_treatments.py (renamed from archaeological_finds/migrations/0053_view_find_treatments.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0054_rename_treatment_views.py (renamed from archaeological_finds/migrations/0054_rename_treatment_views.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0055_auto__add_field_findsource_image__add_field_findsource_thumbnail__add_.py (renamed from archaeological_finds/migrations/0055_auto__add_field_findsource_image__add_field_findsource_thumbnail__add_.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0056_auto__add_field_historicalfind_cached_label__add_field_find_cached_lab.py (renamed from archaeological_finds/migrations/0056_auto__add_field_historicalfind_cached_label__add_field_find_cached_lab.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0057_generate_cached_label.py (renamed from archaeological_finds/migrations/0057_generate_cached_label.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0058_auto__chg_field_historicalfind_image__chg_field_historicalfind_thumbna.py (renamed from archaeological_finds/migrations/0058_auto__chg_field_historicalfind_image__chg_field_historicalfind_thumbna.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0059_auto__add_field_historicalfind_thickness__add_field_find_thickness.py (renamed from archaeological_finds/migrations/0059_auto__add_field_historicalfind_thickness__add_field_find_thickness.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0060_auto__add_field_historicalfind_topographic_reference_point__add_field_.py (renamed from archaeological_finds/migrations/0060_auto__add_field_historicalfind_topographic_reference_point__add_field_.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0061_auto__add_field_historicalfind_min_number_of_individuals__add_field_fi.py (renamed from archaeological_finds/migrations/0061_auto__add_field_historicalfind_min_number_of_individuals__add_field_fi.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0062_auto__del_field_historicaltreatment_other_location__add_field_historic.py (renamed from archaeological_finds/migrations/0062_auto__del_field_historicaltreatment_other_location__add_field_historic.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0063_treats_generate_year_index.py (renamed from archaeological_finds/migrations/0063_treats_generate_year_index.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0064_auto__add_unique_treatment_index_year.py (renamed from archaeological_finds/migrations/0064_auto__add_unique_treatment_index_year.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0065_copy_treatment_types.py (renamed from archaeological_finds/migrations/0065_copy_treatment_types.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0066_auto__del_field_historicaltreatment_treatment_type_id__del_field_treat.py (renamed from archaeological_finds/migrations/0066_auto__del_field_historicaltreatment_treatment_type_id__del_field_treat.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0067_on_delete_for_views.py (renamed from archaeological_finds/migrations/0067_on_delete_for_views.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0068_auto__add_treatmentfile__add_unique_treatmentfile_year_index__add_hist.py (renamed from archaeological_finds/migrations/0068_auto__add_treatmentfile__add_unique_treatmentfile_year_index__add_hist.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0069_auto__add_field_historicaltreatment_file_id__add_field_treatment_file.py (renamed from archaeological_finds/migrations/0069_auto__add_field_historicaltreatment_file_id__add_field_treatment_file.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0070_auto__add_treatmentfilesource.py (renamed from archaeological_finds/migrations/0070_auto__add_treatmentfilesource.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0071_auto__add_field_historicaltreatment_cached_label__add_field_treatment_.py (renamed from archaeological_finds/migrations/0071_auto__add_field_historicaltreatment_cached_label__add_field_treatment_.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0072_auto__add_field_treatmentfile_applicant__add_field_treatmentfile_appli.py (renamed from archaeological_finds/migrations/0072_auto__add_field_treatmentfile_applicant__add_field_treatmentfile_appli.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0073_auto__add_treatmentstate__add_field_historicaltreatment_treatment_stat.py (renamed from archaeological_finds/migrations/0073_auto__add_treatmentstate__add_field_historicaltreatment_treatment_stat.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0074_auto__add_field_find_collection__add_field_historicalfind_collection_i.py (renamed from archaeological_finds/migrations/0074_auto__add_field_find_collection__add_field_historicalfind_collection_i.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0075_auto__chg_field_find_container__chg_field_find_upstream_treatment__chg.py (renamed from archaeological_finds/migrations/0075_auto__chg_field_find_container__chg_field_find_upstream_treatment__chg.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0076_auto__add_field_treatmenttype_order__add_field_treatmenttype_parent.py (renamed from archaeological_finds/migrations/0076_auto__add_field_treatmenttype_order__add_field_treatmenttype_parent.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0077_auto__add_field_historicaltreatment_estimated_cost__add_field_historic.py (renamed from archaeological_finds/migrations/0077_auto__add_field_historicaltreatment_estimated_cost__add_field_historic.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0078_fix_treatment_views.py (renamed from archaeological_finds/migrations/0078_fix_treatment_views.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0079_auto__del_field_find_topographic_reference_point__del_field_historical.py (renamed from archaeological_finds/migrations/0079_auto__del_field_find_topographic_reference_point__del_field_historical.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0080_auto__add_field_basefind_x__add_field_basefind_y__add_field_basefind_z.py (renamed from archaeological_finds/migrations/0080_auto__add_field_basefind_x__add_field_basefind_y__add_field_basefind_z.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0081_regenerate_treatment_views.py (renamed from archaeological_finds/migrations/0081_regenerate_treatment_views.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0082_auto__add_batchtype__add_field_basefind_new_batch__add_field_historica.py (renamed from archaeological_finds/migrations/0082_auto__add_batchtype__add_field_basefind_new_batch__add_field_historica.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0083_batch_to_new_batch.py (renamed from archaeological_finds/migrations/0083_batch_to_new_batch.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0084_auto__del_field_basefind_new_batch__chg_field_basefind_batch__del_fiel.py (renamed from archaeological_finds/migrations/0084_auto__del_field_basefind_new_batch__chg_field_basefind_batch__del_fiel.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/0085_create_bulk_update_view.py (renamed from archaeological_finds/migrations/0085_create_bulk_update_view.py) | 0 | ||||
-rw-r--r-- | archaeological_finds/old_migrations/__init__.py | 0 | ||||
-rw-r--r-- | archaeological_finds/templates/ishtar/sheet_find.html | 1 | ||||
-rw-r--r-- | archaeological_finds/templates/ishtar/sheet_treatment.html | 1 | ||||
-rw-r--r-- | archaeological_finds/templates/ishtar/sheet_treatmentfile.html | 1 | ||||
-rw-r--r-- | archaeological_finds/tests.py | 9 | ||||
-rw-r--r-- | archaeological_finds/urls.py | 2 | ||||
-rw-r--r-- | archaeological_finds/views.py | 6 |
98 files changed, 2024 insertions, 884 deletions
diff --git a/archaeological_finds/forms_treatments.py b/archaeological_finds/forms_treatments.py index 83fb11028..446d67fc1 100644 --- a/archaeological_finds/forms_treatments.py +++ b/archaeological_finds/forms_treatments.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2016 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> +# Copyright (C) 2016-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 @@ -17,13 +17,13 @@ # See the file COPYING for details. +from collections import OrderedDict import datetime import logging from django import forms from django.conf import settings from django.core import validators -from django.db.models import Max from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ @@ -38,8 +38,7 @@ from archaeological_operations.forms import AdministrativeActOpeForm, \ from ishtar_common.forms import reverse_lazy, TableSelect, FinalForm, \ ManageOldType, get_form_selection -from ishtar_common.forms_common import SourceForm, SourceSelect, \ - SourceDeletionForm +from ishtar_common.forms_common import SourceSelect from ishtar_common import widgets @@ -184,7 +183,7 @@ class BaseTreatmentForm(ManageOldType, forms.Form): self.fields['treatment_state'].choices = \ models.TreatmentState.get_types( initial=self.init_data.get('treatment_state'), - ) + ) self.fields['treatment_state'].help_text = \ models.TreatmentState.get_help() # TODO @@ -192,9 +191,13 @@ class BaseTreatmentForm(ManageOldType, forms.Form): self.fields['basket'].required = False self.fields['basket'].help_text = \ _(u"Leave it blank if you want to select a single item") - self.fields.keyOrder.pop(self.fields.keyOrder.index('basket')) - self.fields.keyOrder.insert(self.fields.keyOrder.index('description'), - 'basket') + fields = OrderedDict() + basket = self.fields.pop('basket') + for key, value in self.fields.items(): + if key == 'description': + fields['index'] = basket + fields[key] = value + self.fields = fields """ def clean(self, *args, **kwargs): @@ -239,10 +242,14 @@ class TreatmentModifyForm(BaseTreatmentForm): def __init__(self, *args, **kwargs): super(TreatmentModifyForm, self).__init__(*args, **kwargs) - self.fields.pop('target_is_basket') - self.fields.keyOrder.pop(self.fields.keyOrder.index('index')) - self.fields.keyOrder.insert( - self.fields.keyOrder.index('year') + 1, 'index') + fields = OrderedDict() + idx = self.fields.pop('index') + for key, value in self.fields.items(): + fields[key] = value + if key == 'year': + fields['index'] = idx + fields.pop('target_is_basket') + self.fields = fields def clean(self, *args, **kwargs): super(TreatmentModifyForm, self).clean(*args, **kwargs) @@ -481,9 +488,9 @@ class TreatmentFileForm(ManageOldType, forms.Form): creation_date = forms.DateField(label=_(u"Start date"), required=False, widget=widgets.JQueryDate, initial=lambda: datetime.datetime.now()) - reception_date = forms.DateField(label=_(u"Reception date"), required=False, - widget=widgets.JQueryDate, - initial=lambda: datetime.datetime.now()) + reception_date = forms.DateField( + label=_(u"Reception date"), required=False, widget=widgets.JQueryDate, + initial=lambda: datetime.datetime.now()) end_date = forms.DateField(label=_(u"Closing date"), required=False, widget=widgets.JQueryDate) @@ -506,9 +513,13 @@ class TreatmentFileModifyForm(TreatmentFileForm): def __init__(self, *args, **kwargs): super(TreatmentFileModifyForm, self).__init__(*args, **kwargs) - self.fields.keyOrder.pop(self.fields.keyOrder.index('index')) - self.fields.keyOrder.insert( - self.fields.keyOrder.index('year') + 1, 'index') + fields = OrderedDict() + idx = self.fields.pop('index') + for key, value in self.fields.items(): + fields[key] = value + if key == 'year': + fields['index'] = idx + self.fields = fields def clean(self, *args, **kwargs): super(TreatmentFileModifyForm, self).clean(*args, **kwargs) @@ -595,8 +606,8 @@ class AdministrativeActTreatmentFileSelect(TableSelect): label=_(u"Treatment request index")) treatment_file__internal_reference = forms.CharField( max_length=200, label=_(u"Treatment request internal reference")) - treatment_file__type = forms.ChoiceField(label=_(u"Treatment request type"), - choices=[]) + treatment_file__type = forms.ChoiceField( + label=_(u"Treatment request type"), choices=[]) history_modifier = forms.IntegerField( label=_(u"Modified by"), widget=widgets.JQueryAutoComplete( @@ -691,8 +702,8 @@ class TreatmentFileSourceSelect(SourceSelect): label=_(u"Treatment request index")) treatment_file__internal_reference = forms.CharField( max_length=200, label=_(u"Treatment request internal reference")) - treatment_file__type = forms.ChoiceField(label=_(u"Treatment request type"), - choices=[]) + treatment_file__type = forms.ChoiceField( + label=_(u"Treatment request type"), choices=[]) def __init__(self, *args, **kwargs): super(TreatmentFileSourceSelect, self).__init__(*args, **kwargs) diff --git a/archaeological_finds/migrations/0001_initial.py b/archaeological_finds/migrations/0001_initial.py index d5f3e804a..c3e43d362 100644 --- a/archaeological_finds/migrations/0001_initial.py +++ b/archaeological_finds/migrations/0001_initial.py @@ -1,814 +1,598 @@ # -*- 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_context_records', '0001_initial.py'), - ('archaeological_warehouse', - '0011_auto__add_containerlocalisation__add_unique_containerlocalisation_cont.py'), - ) - - def forwards(self, orm): - # Adding model 'MaterialType' - db.create_table('archaeological_finds_materialtype', ( - ('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)), - ('recommendation', self.gf('django.db.models.fields.TextField')()), - ('parent', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_finds.MaterialType'], null=True, blank=True)), - )) - db.send_create_signal('archaeological_finds', ['MaterialType']) - - # Adding model 'HistoricalBaseFind' - db.create_table('archaeological_finds_historicalbasefind', ( - ('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)), - ('label', self.gf('django.db.models.fields.CharField')(max_length=60)), - ('description', self.gf('django.db.models.fields.TextField')()), - ('context_record_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), - ('is_isolated', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), - ('index', self.gf('django.db.models.fields.IntegerField')(default=0)), - ('material_index', self.gf('django.db.models.fields.IntegerField')(default=0)), - ('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_finds', ['HistoricalBaseFind']) - - # Adding model 'BaseFind' - db.create_table('archaeological_finds_basefind', ( - ('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'])), - ('label', self.gf('django.db.models.fields.CharField')(max_length=60)), - ('description', self.gf('django.db.models.fields.TextField')()), - ('context_record', self.gf('django.db.models.fields.related.ForeignKey')(related_name='base_finds', to=orm['archaeological_context_records.ContextRecord'])), - ('is_isolated', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), - ('index', self.gf('django.db.models.fields.IntegerField')(default=0)), - ('material_index', self.gf('django.db.models.fields.IntegerField')(default=0)), - )) - db.send_create_signal('archaeological_finds', ['BaseFind']) - - # Adding model 'HistoricalFind' - db.create_table('archaeological_finds_historicalfind', ( - ('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)), - ('order', self.gf('django.db.models.fields.IntegerField')()), - ('label', self.gf('django.db.models.fields.CharField')(max_length=60)), - ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), - ('material_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), - ('volume', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), - ('weight', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), - ('find_number', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), - ('upstream_treatment_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), - ('downstream_treatment_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), - ('dating_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), - ('container_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, 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_finds', ['HistoricalFind']) - - # Adding model 'Find' - db.create_table('archaeological_finds_find', ( - ('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'])), - ('order', self.gf('django.db.models.fields.IntegerField')()), - ('label', self.gf('django.db.models.fields.CharField')(max_length=60)), - ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), - ('material_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_finds.MaterialType'])), - ('volume', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), - ('weight', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), - ('find_number', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), - ('upstream_treatment', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='downstream_treatment', null=True, to=orm['archaeological_finds.Treatment'])), - ('downstream_treatment', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='upstream_treatment', null=True, to=orm['archaeological_finds.Treatment'])), - ('dating', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_context_records.Dating'])), - ('container', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='finds', null=True, to=orm['archaeological_warehouse.Container'])), - )) - db.send_create_signal('archaeological_finds', ['Find']) - - # Adding M2M table for field base_finds on 'Find' - db.create_table('archaeological_finds_find_base_finds', ( - ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), - ('find', models.ForeignKey(orm['archaeological_finds.find'], null=False)), - ('basefind', models.ForeignKey(orm['archaeological_finds.basefind'], null=False)) - )) - db.create_unique('archaeological_finds_find_base_finds', ['find_id', 'basefind_id']) - - # Adding model 'FindSource' - db.create_table('archaeological_finds_findsource', ( - ('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)), - ('find', self.gf('django.db.models.fields.related.ForeignKey')(related_name='source', to=orm['archaeological_finds.Find'])), - )) - db.send_create_signal('archaeological_finds', ['FindSource']) - - # Adding M2M table for field authors on 'FindSource' - db.create_table('archaeological_finds_findsource_authors', ( - ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), - ('findsource', models.ForeignKey(orm['archaeological_finds.findsource'], null=False)), - ('author', models.ForeignKey(orm['ishtar_common.author'], null=False)) - )) - db.create_unique('archaeological_finds_findsource_authors', ['findsource_id', 'author_id']) - - # Adding model 'TreatmentType' - db.create_table('archaeological_finds_treatmenttype', ( - ('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)), - ('virtual', self.gf('django.db.models.fields.BooleanField')(default=False)), - )) - db.send_create_signal('archaeological_finds', ['TreatmentType']) - - # Adding model 'HistoricalTreatment' - db.create_table('archaeological_finds_historicaltreatment', ( - ('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)), - ('container_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), - ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), - ('treatment_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), - ('location_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), - ('person_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)), - ('end_date', self.gf('django.db.models.fields.DateField')(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_finds', ['HistoricalTreatment']) - - # Adding model 'Treatment' - db.create_table('archaeological_finds_treatment', ( - ('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'])), - ('container', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_warehouse.Container'], null=True, blank=True)), - ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), - ('treatment_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_finds.TreatmentType'])), - ('location', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_warehouse.Warehouse'], null=True, blank=True)), - ('person', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'], null=True, blank=True)), - ('start_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)), - )) - db.send_create_signal('archaeological_finds', ['Treatment']) - - # Adding model 'TreatmentSource' - db.create_table('archaeological_finds_treatmentsource', ( - ('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)), - ('treatment', self.gf('django.db.models.fields.related.ForeignKey')(related_name='source', to=orm['archaeological_finds.Treatment'])), - )) - db.send_create_signal('archaeological_finds', ['TreatmentSource']) - - # Adding M2M table for field authors on 'TreatmentSource' - db.create_table('archaeological_finds_treatmentsource_authors', ( - ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), - ('treatmentsource', models.ForeignKey(orm['archaeological_finds.treatmentsource'], null=False)), - ('author', models.ForeignKey(orm['ishtar_common.author'], null=False)) - )) - db.create_unique('archaeological_finds_treatmentsource_authors', ['treatmentsource_id', 'author_id']) - - # Adding model 'Property' - db.create_table('archaeological_finds_property', ( - ('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)), - ('find', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_finds.Find'])), - ('administrative_act', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.AdministrativeAct'])), - ('person', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'])), - ('start_date', self.gf('django.db.models.fields.DateField')()), - ('end_date', self.gf('django.db.models.fields.DateField')()), - )) - db.send_create_signal('archaeological_finds', ['Property']) +from __future__ import unicode_literals - - def backwards(self, orm): - # Deleting model 'MaterialType' - db.delete_table('archaeological_finds_materialtype') - - # Deleting model 'HistoricalBaseFind' - db.delete_table('archaeological_finds_historicalbasefind') - - # Deleting model 'BaseFind' - db.delete_table('archaeological_finds_basefind') - - # Deleting model 'HistoricalFind' - db.delete_table('archaeological_finds_historicalfind') - - # Deleting model 'Find' - db.delete_table('archaeological_finds_find') - - # Removing M2M table for field base_finds on 'Find' - db.delete_table('archaeological_finds_find_base_finds') - - # Deleting model 'FindSource' - db.delete_table('archaeological_finds_findsource') - - # Removing M2M table for field authors on 'FindSource' - db.delete_table('archaeological_finds_findsource_authors') - - # Deleting model 'TreatmentType' - db.delete_table('archaeological_finds_treatmenttype') - - # Deleting model 'HistoricalTreatment' - db.delete_table('archaeological_finds_historicaltreatment') - - # Deleting model 'Treatment' - db.delete_table('archaeological_finds_treatment') - - # Deleting model 'TreatmentSource' - db.delete_table('archaeological_finds_treatmentsource') - - # Removing M2M table for field authors on 'TreatmentSource' - db.delete_table('archaeological_finds_treatmentsource_authors') - - # Deleting model 'Property' - db.delete_table('archaeological_finds_property') - - - models = { - 'archaeological_context_records.activitytype': { - 'Meta': {'object_name': 'ActivityType'}, - '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'}), - 'order': ('django.db.models.fields.IntegerField', [], {}), - 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) - }, - 'archaeological_context_records.contextrecord': { - 'Meta': {'object_name': 'ContextRecord'}, - 'activity': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ActivityType']", 'null': 'True', 'blank': 'True'}), - 'datings': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.Dating']", 'symmetrical': 'False'}), - 'depth': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), - 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), - 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), - 'has_furniture': ('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'}), - 'identification': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.IdentificationType']", 'null': 'True', 'blank': 'True'}), - 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), - 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}), - 'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), - 'location': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), - 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Operation']"}), - 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Parcel']"}), - 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), - 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), - 'thickness': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), - 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), - 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), - 'unit': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['archaeological_context_records.Unit']"}), - 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) - }, - 'archaeological_context_records.dating': { - 'Meta': {'object_name': 'Dating'}, - 'dating_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingType']", 'null': 'True', 'blank': 'True'}), - 'end_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'period': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']"}), - 'quality': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingQuality']", 'null': 'True', 'blank': 'True'}), - 'start_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) - }, - 'archaeological_context_records.datingquality': { - 'Meta': {'object_name': 'DatingQuality'}, - '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_context_records.datingtype': { - 'Meta': {'object_name': 'DatingType'}, - '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_context_records.identificationtype': { - 'Meta': {'object_name': 'IdentificationType'}, - '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'}), - 'order': ('django.db.models.fields.IntegerField', [], {}), - 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) - }, - 'archaeological_context_records.unit': { - 'Meta': {'object_name': 'Unit'}, - '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'}), - 'order': ('django.db.models.fields.IntegerField', [], {}), - 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.Unit']", 'null': 'True', 'blank': 'True'}), - 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) - }, - '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_finds.basefind': { - 'Meta': {'object_name': 'BaseFind'}, - 'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'base_finds'", 'to': "orm['archaeological_context_records.ContextRecord']"}), - 'description': ('django.db.models.fields.TextField', [], {}), - 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'is_isolated': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), - 'label': ('django.db.models.fields.CharField', [], {'max_length': '60'}), - 'material_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}) - }, - 'archaeological_finds.find': { - 'Meta': {'object_name': 'Find'}, - 'base_finds': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.BaseFind']"}), - 'container': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'finds'", 'null': 'True', 'to': "orm['archaeological_warehouse.Container']"}), - 'dating': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.Dating']"}), - 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), - 'downstream_treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'upstream_treatment'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}), - 'find_number': ('django.db.models.fields.IntegerField', [], {'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'}), - 'label': ('django.db.models.fields.CharField', [], {'max_length': '60'}), - 'material_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.MaterialType']"}), - 'order': ('django.db.models.fields.IntegerField', [], {}), - 'upstream_treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'downstream_treatment'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}), - 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), - 'weight': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}) - }, - 'archaeological_finds.findsource': { - 'Meta': {'object_name': 'FindSource'}, - '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'}), - 'find': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_finds.Find']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - '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_finds.historicalbasefind': { - 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalBaseFind'}, - 'context_record_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), - 'description': ('django.db.models.fields.TextField', [], {}), - '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'}), - 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'is_isolated': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), - 'label': ('django.db.models.fields.CharField', [], {'max_length': '60'}), - 'material_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}) - }, - 'archaeological_finds.historicalfind': { - 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalFind'}, - 'container_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), - 'dating_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), - 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), - 'downstream_treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), - 'find_number': ('django.db.models.fields.IntegerField', [], {'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'}), - 'label': ('django.db.models.fields.CharField', [], {'max_length': '60'}), - 'material_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), - 'order': ('django.db.models.fields.IntegerField', [], {}), - 'upstream_treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), - 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), - 'weight': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}) - }, - 'archaeological_finds.historicaltreatment': { - 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalTreatment'}, - 'container_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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'}), - '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'}), - 'location_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), - 'person_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), - 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), - 'treatment_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}) - }, - 'archaeological_finds.materialtype': { - 'Meta': {'object_name': 'MaterialType'}, - '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'}), - 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.MaterialType']", 'null': 'True', 'blank': 'True'}), - 'recommendation': ('django.db.models.fields.TextField', [], {}), - 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) - }, - 'archaeological_finds.property': { - 'Meta': {'object_name': 'Property'}, - 'administrative_act': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.AdministrativeAct']"}), - 'end_date': ('django.db.models.fields.DateField', [], {}), - 'find': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.Find']"}), - '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'}), - 'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']"}), - 'start_date': ('django.db.models.fields.DateField', [], {}) - }, - 'archaeological_finds.treatment': { - 'Meta': {'object_name': 'Treatment'}, - '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'}), - 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']", 'null': 'True', 'blank': 'True'}), - 'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']", 'null': 'True', 'blank': 'True'}), - 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), - 'treatment_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentType']"}) - }, - 'archaeological_finds.treatmentsource': { - 'Meta': {'object_name': 'TreatmentSource'}, - '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'}), - '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'}), - 'treatment': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_finds.Treatment']"}) - }, - 'archaeological_finds.treatmenttype': { - 'Meta': {'object_name': 'TreatmentType'}, - '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'}), - 'virtual': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) - }, - '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.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.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.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'}) - }, - 'archaeological_warehouse.container': { - 'Meta': {'object_name': 'Container'}, - 'comment': ('django.db.models.fields.TextField', [], {}), - 'container_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.ContainerType']"}), - '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'}), - 'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']"}), - 'reference': ('django.db.models.fields.CharField', [], {'max_length': '40'}) - }, - 'archaeological_warehouse.containertype': { - 'Meta': {'object_name': 'ContainerType'}, - 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - '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': '30'}), - 'volume': ('django.db.models.fields.IntegerField', [], {'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'}), - 'comment': ('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': '40'}), - 'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']", 'null': 'True', 'blank': 'True'}), - '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'}), - 'warehouse_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseType']"}) - }, - 'archaeological_warehouse.warehousetype': { - 'Meta': {'object_name': 'WarehouseType'}, - '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_finds'] +from django.db import models, migrations +import datetime +import re +import django.contrib.gis.db.models.fields +import archaeological_operations.models +import ishtar_common.utils +import ishtar_common.models +import django.core.validators + + +class Migration(migrations.Migration): + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='BaseFind', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('label', models.TextField(verbose_name='Free ID')), + ('external_id', models.TextField(null=True, verbose_name='External ID', blank=True)), + ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')), + ('description', models.TextField(null=True, verbose_name='Description', blank=True)), + ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), + ('special_interest', models.CharField(max_length=120, null=True, verbose_name='Special interest', blank=True)), + ('discovery_date', models.DateField(null=True, verbose_name='Discovery date', blank=True)), + ('index', models.IntegerField(default=0, verbose_name='Index')), + ('material_index', models.IntegerField(default=0, verbose_name='Material index')), + ('topographic_localisation', models.CharField(max_length=120, null=True, verbose_name='Point of topographic reference', blank=True)), + ('x', models.FloatField(null=True, verbose_name='X', blank=True)), + ('y', models.FloatField(null=True, verbose_name='Y', blank=True)), + ('z', models.FloatField(null=True, verbose_name='Z', blank=True)), + ('estimated_error_x', models.FloatField(null=True, verbose_name='Estimated error for X', blank=True)), + ('estimated_error_y', models.FloatField(null=True, verbose_name='Estimated error for Y', blank=True)), + ('estimated_error_z', models.FloatField(null=True, verbose_name='Estimated error for Z', blank=True)), + ('point_2d', django.contrib.gis.db.models.fields.PointField(srid=4326, null=True, verbose_name='Point (2D)', blank=True)), + ('point', django.contrib.gis.db.models.fields.PointField(srid=4326, dim=3, null=True, verbose_name='Point', blank=True)), + ('line', django.contrib.gis.db.models.fields.LineStringField(srid=4326, null=True, verbose_name='Line', blank=True)), + ('polygon', django.contrib.gis.db.models.fields.PolygonField(srid=4326, null=True, verbose_name='Polygon', blank=True)), + ('cache_short_id', models.TextField(help_text='Cached value - do not edit', null=True, verbose_name='Short ID', blank=True)), + ('cache_complete_id', models.TextField(help_text='Cached value - do not edit', null=True, verbose_name='Complete ID', blank=True)), + ], + options={ + 'verbose_name': 'Base find', + 'verbose_name_plural': 'Base finds', + 'permissions': (('view_basefind', 'Peut voir tout le Mobilier de base'), ('view_own_basefind', 'Peut voir son propre Mobilier de base'), ('add_own_basefind', 'Peut ajouter son propre Mobilier de base'), ('change_own_basefind', 'Peut modifier son propre Mobilier de base'), ('delete_own_basefind', 'Peut supprimer son propre Mobilier de base')), + }, + bases=(models.Model, ishtar_common.models.OwnPerms), + ), + migrations.CreateModel( + name='BatchType', + 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=10, verbose_name='Order')), + ], + options={ + 'ordering': ('order',), + 'verbose_name': 'Batch type', + 'verbose_name_plural': 'Batch types', + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='ConservatoryState', + 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': 'Conservatory state', + 'verbose_name_plural': 'Conservatory states', + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='Find', + 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)), + ('external_id', models.TextField(null=True, verbose_name='External ID', blank=True)), + ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')), + ('order', models.IntegerField(default=1, verbose_name='Order')), + ('label', models.TextField(verbose_name='Free ID')), + ('description', models.TextField(null=True, verbose_name='Description', blank=True)), + ('conservatory_comment', models.TextField(null=True, verbose_name='Conservatory comment', blank=True)), + ('volume', models.FloatField(null=True, verbose_name='Volume (l)', blank=True)), + ('weight', models.FloatField(null=True, verbose_name='Weight (g)', blank=True)), + ('weight_unit', models.CharField(blank=True, max_length=4, null=True, verbose_name='Weight unit', choices=[(b'g', 'g'), (b'kg', 'kg')])), + ('find_number', models.IntegerField(null=True, verbose_name='Find number', blank=True)), + ('is_complete', models.NullBooleanField(verbose_name='Is complete?')), + ('min_number_of_individuals', models.IntegerField(null=True, verbose_name='Minimum number of individuals (MNI)', blank=True)), + ('length', models.FloatField(null=True, verbose_name='Length (cm)', blank=True)), + ('width', models.FloatField(null=True, verbose_name='Width (cm)', blank=True)), + ('height', models.FloatField(null=True, verbose_name='Height (cm)', blank=True)), + ('diameter', models.FloatField(null=True, verbose_name='Diameter (cm)', blank=True)), + ('thickness', models.FloatField(null=True, verbose_name='Thickness (cm)', blank=True)), + ('dimensions_comment', models.TextField(null=True, verbose_name='Dimensions comment', blank=True)), + ('mark', models.TextField(null=True, verbose_name='Mark', blank=True)), + ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), + ('dating_comment', models.TextField(null=True, verbose_name='Comment on dating', blank=True)), + ('previous_id', models.TextField(null=True, verbose_name='Previous ID', blank=True)), + ('index', models.IntegerField(default=0, verbose_name='Index')), + ('checked', models.CharField(default=b'NC', max_length=2, verbose_name='Check', choices=[(b'NC', 'Not checked'), (b'CI', 'Checked but incorrect'), (b'CC', 'Checked and correct')])), + ('check_date', models.DateField(default=datetime.date.today, verbose_name='Check date')), + ('estimated_value', models.FloatField(null=True, verbose_name='Estimated value', blank=True)), + ('cached_label', models.TextField(null=True, verbose_name='Cached name', blank=True)), + ], + options={ + 'ordering': ('cached_label',), + 'verbose_name': 'Find', + 'verbose_name_plural': 'Finds', + 'permissions': (('view_find', 'Peut voir tout le Mobilier'), ('view_own_find', 'Peut voir son propre Mobilier'), ('add_own_find', 'Peut ajouter son propre Mobilier'), ('change_own_find', 'Peut modifier son propre Mobilier'), ('delete_own_find', 'Peut supprimer son propre Mobilier')), + }, + bases=(ishtar_common.models.ValueGetter, models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ShortMenuItem), + ), + migrations.CreateModel( + name='FindBasket', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('label', models.CharField(max_length=1000, verbose_name='Label')), + ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ], + options={ + 'abstract': False, + }, + ), + migrations.CreateModel( + name='FindSource', + 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.CharField(max_length=12, 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')), + ], + options={ + 'verbose_name': 'Find documentation', + 'verbose_name_plural': 'Find documentations', + 'permissions': (('view_findsource', 'Can view all Find sources'), ('view_own_findsource', 'Can view own Find source'), ('add_own_findsource', 'Can add own Find source'), ('change_own_findsource', 'Can change own Find source'), ('delete_own_findsource', 'Can delete own Find source')), + }, + bases=(ishtar_common.models.OwnPerms, models.Model), + ), + migrations.CreateModel( + name='HistoricalBaseFind', + fields=[ + ('id', models.IntegerField(verbose_name='ID', db_index=True, auto_created=True, blank=True)), + ('label', models.TextField(verbose_name='Free ID')), + ('external_id', models.TextField(null=True, verbose_name='External ID', blank=True)), + ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')), + ('description', models.TextField(null=True, verbose_name='Description', blank=True)), + ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), + ('special_interest', models.CharField(max_length=120, null=True, verbose_name='Special interest', blank=True)), + ('discovery_date', models.DateField(null=True, verbose_name='Discovery date', blank=True)), + ('index', models.IntegerField(default=0, verbose_name='Index')), + ('material_index', models.IntegerField(default=0, verbose_name='Material index')), + ('topographic_localisation', models.CharField(max_length=120, null=True, verbose_name='Point of topographic reference', blank=True)), + ('x', models.FloatField(null=True, verbose_name='X', blank=True)), + ('y', models.FloatField(null=True, verbose_name='Y', blank=True)), + ('z', models.FloatField(null=True, verbose_name='Z', blank=True)), + ('estimated_error_x', models.FloatField(null=True, verbose_name='Estimated error for X', blank=True)), + ('estimated_error_y', models.FloatField(null=True, verbose_name='Estimated error for Y', blank=True)), + ('estimated_error_z', models.FloatField(null=True, verbose_name='Estimated error for Z', blank=True)), + ('point_2d', django.contrib.gis.db.models.fields.PointField(srid=4326, null=True, verbose_name='Point (2D)', blank=True)), + ('point', django.contrib.gis.db.models.fields.PointField(srid=4326, dim=3, null=True, verbose_name='Point', blank=True)), + ('line', django.contrib.gis.db.models.fields.LineStringField(srid=4326, null=True, verbose_name='Line', blank=True)), + ('polygon', django.contrib.gis.db.models.fields.PolygonField(srid=4326, null=True, verbose_name='Polygon', blank=True)), + ('cache_short_id', models.TextField(help_text='Cached value - do not edit', null=True, verbose_name='Short ID', blank=True)), + ('cache_complete_id', models.TextField(help_text='Cached value - do not edit', null=True, verbose_name='Complete ID', 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 Base find', + }, + ), + migrations.CreateModel( + name='HistoricalFind', + 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)), + ('external_id', models.TextField(null=True, verbose_name='External ID', blank=True)), + ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')), + ('order', models.IntegerField(default=1, verbose_name='Order')), + ('label', models.TextField(verbose_name='Free ID')), + ('description', models.TextField(null=True, verbose_name='Description', blank=True)), + ('conservatory_comment', models.TextField(null=True, verbose_name='Conservatory comment', blank=True)), + ('volume', models.FloatField(null=True, verbose_name='Volume (l)', blank=True)), + ('weight', models.FloatField(null=True, verbose_name='Weight (g)', blank=True)), + ('weight_unit', models.CharField(blank=True, max_length=4, null=True, verbose_name='Weight unit', choices=[(b'g', 'g'), (b'kg', 'kg')])), + ('find_number', models.IntegerField(null=True, verbose_name='Find number', blank=True)), + ('is_complete', models.NullBooleanField(verbose_name='Is complete?')), + ('min_number_of_individuals', models.IntegerField(null=True, verbose_name='Minimum number of individuals (MNI)', blank=True)), + ('length', models.FloatField(null=True, verbose_name='Length (cm)', blank=True)), + ('width', models.FloatField(null=True, verbose_name='Width (cm)', blank=True)), + ('height', models.FloatField(null=True, verbose_name='Height (cm)', blank=True)), + ('diameter', models.FloatField(null=True, verbose_name='Diameter (cm)', blank=True)), + ('thickness', models.FloatField(null=True, verbose_name='Thickness (cm)', blank=True)), + ('dimensions_comment', models.TextField(null=True, verbose_name='Dimensions comment', blank=True)), + ('mark', models.TextField(null=True, verbose_name='Mark', blank=True)), + ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), + ('dating_comment', models.TextField(null=True, verbose_name='Comment on dating', blank=True)), + ('previous_id', models.TextField(null=True, verbose_name='Previous ID', blank=True)), + ('index', models.IntegerField(default=0, verbose_name='Index')), + ('checked', models.CharField(default=b'NC', max_length=2, verbose_name='Check', choices=[(b'NC', 'Not checked'), (b'CI', 'Checked but incorrect'), (b'CC', 'Checked and correct')])), + ('check_date', models.DateField(default=datetime.date.today, verbose_name='Check date')), + ('estimated_value', models.FloatField(null=True, verbose_name='Estimated value', blank=True)), + ('cached_label', models.TextField(null=True, verbose_name='Cached name', 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 Find', + }, + ), + migrations.CreateModel( + name='HistoricalTreatment', + 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)), + ('label', models.CharField(max_length=200, null=True, verbose_name='Label', blank=True)), + ('other_reference', models.CharField(max_length=200, null=True, verbose_name='Other ref.', blank=True)), + ('year', models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year')), + ('index', models.IntegerField(default=1, verbose_name='Index')), + ('external_id', models.CharField(max_length=200, null=True, verbose_name='External ID', blank=True)), + ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), + ('description', models.TextField(null=True, verbose_name='Description', blank=True)), + ('goal', models.TextField(null=True, verbose_name='Goal', blank=True)), + ('start_date', models.DateField(null=True, verbose_name='Start date', blank=True)), + ('end_date', models.DateField(null=True, verbose_name='Closing date', blank=True)), + ('estimated_cost', models.FloatField(null=True, verbose_name='Estimated cost', blank=True)), + ('quoted_cost', models.FloatField(null=True, verbose_name='Quoted cost', blank=True)), + ('realized_cost', models.FloatField(null=True, verbose_name='Realized cost', blank=True)), + ('insurance_cost', models.FloatField(null=True, verbose_name='Insurance cost', blank=True)), + ('target_is_basket', models.BooleanField(default=False, verbose_name='Target a basket')), + ('cached_label', models.TextField(null=True, verbose_name='Cached name', 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 Treatment', + }, + ), + migrations.CreateModel( + name='HistoricalTreatmentFile', + fields=[ + ('id', models.IntegerField(verbose_name='ID', db_index=True, auto_created=True, blank=True)), + ('year', models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year')), + ('index', models.IntegerField(default=1, verbose_name='Index')), + ('internal_reference', models.CharField(max_length=200, null=True, verbose_name='Internal reference', blank=True)), + ('external_id', models.CharField(max_length=200, null=True, verbose_name='External ID', blank=True)), + ('name', models.TextField(null=True, verbose_name='Name', blank=True)), + ('end_date', models.DateField(null=True, verbose_name='Closing date', blank=True)), + ('creation_date', models.DateField(default=datetime.date.today, null=True, verbose_name='Creation date', blank=True)), + ('reception_date', models.DateField(null=True, verbose_name='Reception date', blank=True)), + ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), + ('cached_label', models.TextField(null=True, verbose_name='Cached name', 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 Treatment request', + }, + ), + migrations.CreateModel( + name='IntegrityType', + 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': 'Integrity / interest type', + 'verbose_name_plural': 'Integrity / interest types', + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='MaterialType', + 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')), + ('code', models.CharField(max_length=10, null=True, verbose_name='Code', blank=True)), + ('recommendation', models.TextField(null=True, verbose_name='Recommendation', blank=True)), + ], + options={ + 'ordering': ('label',), + 'verbose_name': 'Material type', + 'verbose_name_plural': 'Material types', + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='ObjectType', + 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': ('parent__label', 'label'), + 'verbose_name': 'Object type', + 'verbose_name_plural': 'Object types', + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='PreservationType', + 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': 'Preservation type', + 'verbose_name_plural': 'Preservation types', + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='Property', + 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')), + ], + options={ + 'verbose_name': 'Property', + 'verbose_name_plural': 'Properties', + }, + ), + migrations.CreateModel( + name='RemarkabilityType', + 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': 'Remarkability type', + 'verbose_name_plural': 'Remarkability types', + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='Treatment', + 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)), + ('label', models.CharField(max_length=200, null=True, verbose_name='Label', blank=True)), + ('other_reference', models.CharField(max_length=200, null=True, verbose_name='Other ref.', blank=True)), + ('year', models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year')), + ('index', models.IntegerField(default=1, verbose_name='Index')), + ('external_id', models.CharField(max_length=200, null=True, verbose_name='External ID', blank=True)), + ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), + ('description', models.TextField(null=True, verbose_name='Description', blank=True)), + ('goal', models.TextField(null=True, verbose_name='Goal', blank=True)), + ('start_date', models.DateField(null=True, verbose_name='Start date', blank=True)), + ('end_date', models.DateField(null=True, verbose_name='Closing date', blank=True)), + ('estimated_cost', models.FloatField(null=True, verbose_name='Estimated cost', blank=True)), + ('quoted_cost', models.FloatField(null=True, verbose_name='Quoted cost', blank=True)), + ('realized_cost', models.FloatField(null=True, verbose_name='Realized cost', blank=True)), + ('insurance_cost', models.FloatField(null=True, verbose_name='Insurance cost', blank=True)), + ('target_is_basket', models.BooleanField(default=False, verbose_name='Target a basket')), + ('cached_label', models.TextField(null=True, verbose_name='Cached name', blank=True)), + ], + options={ + 'verbose_name': 'Treatment', + 'verbose_name_plural': 'Treatments', + 'permissions': (('view_treatment', 'Peut voir tous les Traitements'), ('view_own_treatment', 'Peut voir son propre Traitement'), ('add_own_treatment', 'Peut ajouter son propre Traitement'), ('change_own_treatment', 'Peut modifier son propre Traitement'), ('delete_own_treatment', 'Peut supprimer son propre Traitement')), + }, + bases=(ishtar_common.models.DashboardFormItem, ishtar_common.models.ValueGetter, models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ShortMenuItem), + ), + migrations.CreateModel( + name='TreatmentFile', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('year', models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year')), + ('index', models.IntegerField(default=1, verbose_name='Index')), + ('internal_reference', models.CharField(max_length=200, null=True, verbose_name='Internal reference', blank=True)), + ('external_id', models.CharField(max_length=200, null=True, verbose_name='External ID', blank=True)), + ('name', models.TextField(null=True, verbose_name='Name', blank=True)), + ('end_date', models.DateField(null=True, verbose_name='Closing date', blank=True)), + ('creation_date', models.DateField(default=datetime.date.today, null=True, verbose_name='Creation date', blank=True)), + ('reception_date', models.DateField(null=True, verbose_name='Reception date', blank=True)), + ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), + ('cached_label', models.TextField(null=True, verbose_name='Cached name', blank=True)), + ], + options={ + 'ordering': ('cached_label',), + 'verbose_name': 'Treatment request', + 'verbose_name_plural': 'Treatment requests', + 'permissions': (('view_filetreatment', 'Peut voir toutes les Demandes de traitement'), ('add_filetreatment', 'Can add Treatment request'), ('change_filetreatment', 'Can change Treatment request'), ('delete_filetreatment', 'Can delete Treatment request'), ('view_own_filetreatment', 'Peut voir sa propre Demande de traitement'), ('add_own_filetreatment', 'Peut ajouter sa propre Demande de traitement'), ('change_own_filetreatment', 'Peut modifier sa propre Demande de traitement'), ('delete_own_filetreatment', 'Peut supprimer sa propre Demande de traitement')), + }, + bases=(ishtar_common.models.DashboardFormItem, archaeological_operations.models.ClosedItem, models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter, ishtar_common.models.ShortMenuItem), + ), + migrations.CreateModel( + name='TreatmentFileSource', + 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.CharField(max_length=12, 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')), + ], + options={ + 'verbose_name': 'Treatment request documentation', + 'verbose_name_plural': 'Treatment request documentations', + 'permissions': (('view_filetreatmentsource', 'Can view Treatment request source'), ('view_own_filetreatmentsource', 'Can view own Treatment request source'), ('add_own_filetreatmentsource', 'Can add own Treatment request source'), ('change_own_filetreatmentsource', 'Can change own Treatment request source'), ('delete_own_filetreatmentsource', 'Can delete own Treatment request source')), + }, + bases=(ishtar_common.models.OwnPerms, models.Model), + ), + migrations.CreateModel( + name='TreatmentFileType', + 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': 'Treatment request type', + 'verbose_name_plural': 'Treatment request types', + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='TreatmentSource', + 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.CharField(max_length=12, 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')), + ], + options={ + 'verbose_name': 'Treatment documentation', + 'verbose_name_plural': 'Treament documentations', + 'permissions': (('view_treatmentsource', 'Can view all Treatment sources'), ('view_own_treatmentsource', 'Can view own Treatment source'), ('add_own_treatmentsource', 'Can add own Treatment source'), ('change_own_treatmentsource', 'Can change own Treatment source'), ('delete_own_treatmentsource', 'Can delete own Treatment source')), + }, + bases=(ishtar_common.models.OwnPerms, models.Model), + ), + migrations.CreateModel( + name='TreatmentState', + 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': 'Treatment state type', + 'verbose_name_plural': 'Treatment state types', + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='TreatmentType', + 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=10, verbose_name='Order')), + ('virtual', models.BooleanField(verbose_name='Virtual')), + ('upstream_is_many', models.BooleanField(default=False, help_text="Check this if for this treatment from many finds you'll get one.", verbose_name='Upstream is many')), + ('downstream_is_many', models.BooleanField(default=False, help_text="Check this if for this treatment from one find you'll get many.", verbose_name='Downstream is many')), + ('parent', models.ForeignKey(verbose_name='Parent type', blank=True, to='archaeological_finds.TreatmentType', null=True)), + ], + options={ + 'ordering': ('label',), + 'verbose_name': 'Treatment type', + 'verbose_name_plural': 'Treatment types', + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='FindDownstreamTreatments', + fields=[ + ('treatment', models.OneToOneField(primary_key=True, serialize=False, to='archaeological_finds.Treatment', verbose_name='Treatment')), + ('treatment_nb', models.IntegerField(verbose_name='Order')), + ], + options={ + 'ordering': ('find', '-treatment_nb'), + 'db_table': 'find_downtreatments', + 'managed': False, + }, + ), + migrations.CreateModel( + name='FindTreatments', + fields=[ + ('treatment', models.OneToOneField(primary_key=True, serialize=False, to='archaeological_finds.Treatment', verbose_name='Treatment')), + ('treatment_nb', models.IntegerField(verbose_name='Order')), + ('upstream', models.BooleanField(verbose_name='Is upstream')), + ], + options={ + 'ordering': ('find', 'upstream', '-treatment_nb'), + 'db_table': 'find_treatments', + 'managed': False, + }, + ), + migrations.CreateModel( + name='FindUpstreamTreatments', + fields=[ + ('treatment', models.OneToOneField(primary_key=True, serialize=False, to='archaeological_finds.Treatment', verbose_name='Treatment')), + ('treatment_nb', models.IntegerField(verbose_name='Order')), + ], + options={ + 'ordering': ('find', '-treatment_nb'), + 'db_table': 'find_uptreatments', + 'managed': False, + }, + ), + ] diff --git a/archaeological_finds/migrations/0002_auto_20170414_2123.py b/archaeological_finds/migrations/0002_auto_20170414_2123.py new file mode 100644 index 000000000..380ba2807 --- /dev/null +++ b/archaeological_finds/migrations/0002_auto_20170414_2123.py @@ -0,0 +1,503 @@ +# -*- 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_operations', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('archaeological_warehouse', '0001_initial'), + ('ishtar_common', '0001_initial'), + ('archaeological_finds', '0001_initial'), + ('archaeological_context_records', '0003_auto_20170414_2123'), + ] + + operations = [ + migrations.AddField( + model_name='treatmentsource', + name='authors', + field=models.ManyToManyField(related_name='treatmentsource_related', verbose_name='Authors', to='ishtar_common.Author'), + ), + migrations.AddField( + model_name='treatmentsource', + name='format_type', + field=models.ForeignKey(verbose_name='Format', blank=True, to='ishtar_common.Format', null=True), + ), + migrations.AddField( + model_name='treatmentsource', + name='source_type', + field=models.ForeignKey(verbose_name='Type', to='ishtar_common.SourceType'), + ), + migrations.AddField( + model_name='treatmentsource', + name='support_type', + field=models.ForeignKey(verbose_name='Support', blank=True, to='ishtar_common.SupportType', null=True), + ), + migrations.AddField( + model_name='treatmentsource', + name='treatment', + field=models.ForeignKey(related_name='source', verbose_name='Treatment', to='archaeological_finds.Treatment'), + ), + migrations.AddField( + model_name='treatmentfilesource', + name='authors', + field=models.ManyToManyField(related_name='treatmentfilesource_related', verbose_name='Authors', to='ishtar_common.Author'), + ), + migrations.AddField( + model_name='treatmentfilesource', + name='format_type', + field=models.ForeignKey(verbose_name='Format', blank=True, to='ishtar_common.Format', null=True), + ), + migrations.AddField( + model_name='treatmentfilesource', + name='source_type', + field=models.ForeignKey(verbose_name='Type', to='ishtar_common.SourceType'), + ), + migrations.AddField( + model_name='treatmentfilesource', + name='support_type', + field=models.ForeignKey(verbose_name='Support', blank=True, to='ishtar_common.SupportType', null=True), + ), + migrations.AddField( + model_name='treatmentfilesource', + name='treatment_file', + field=models.ForeignKey(related_name='source', verbose_name='Treatment request', to='archaeological_finds.TreatmentFile'), + ), + migrations.AddField( + model_name='treatmentfile', + name='applicant', + field=models.ForeignKey(related_name='treatmentfile_applicant', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Applicant', blank=True, to='ishtar_common.Person', null=True), + ), + migrations.AddField( + model_name='treatmentfile', + name='applicant_organisation', + field=models.ForeignKey(related_name='treatmentfile_applicant', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Applicant organisation', blank=True, to='ishtar_common.Organization', null=True), + ), + migrations.AddField( + model_name='treatmentfile', + 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='treatmentfile', + 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='treatmentfile', + name='imports', + field=models.ManyToManyField(related_name='imported_archaeological_finds_treatmentfile', to='ishtar_common.Import', blank=True), + ), + migrations.AddField( + model_name='treatmentfile', + name='in_charge', + field=models.ForeignKey(related_name='treatmentfile_responsability', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Person in charge', blank=True, to='ishtar_common.Person', null=True), + ), + migrations.AddField( + model_name='treatmentfile', + name='type', + field=models.ForeignKey(verbose_name='Treatment request type', to='archaeological_finds.TreatmentFileType'), + ), + migrations.AddField( + model_name='treatment', + name='container', + field=models.ForeignKey(verbose_name='Container', blank=True, to='archaeological_warehouse.Container', null=True), + ), + migrations.AddField( + model_name='treatment', + name='file', + field=models.ForeignKey(related_name='treatments', verbose_name='Associated request', blank=True, to='archaeological_finds.TreatmentFile', null=True), + ), + migrations.AddField( + model_name='treatment', + 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='treatment', + 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='treatment', + name='imports', + field=models.ManyToManyField(related_name='imported_archaeological_finds_treatment', to='ishtar_common.Import', blank=True), + ), + migrations.AddField( + model_name='treatment', + name='location', + field=models.ForeignKey(blank=True, to='archaeological_warehouse.Warehouse', help_text='Location where the treatment is done. Target warehouse for a move.', null=True, verbose_name='Location'), + ), + migrations.AddField( + model_name='treatment', + name='organization', + field=models.ForeignKey(related_name='treatments', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Organization', blank=True, to='ishtar_common.Organization', null=True), + ), + migrations.AddField( + model_name='treatment', + name='person', + field=models.ForeignKey(related_name='treatments', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Responsible', blank=True, to='ishtar_common.Person', null=True), + ), + migrations.AddField( + model_name='treatment', + name='treatment_state', + field=models.ForeignKey(verbose_name='State', blank=True, to='archaeological_finds.TreatmentState', null=True), + ), + migrations.AddField( + model_name='treatment', + name='treatment_types', + field=models.ManyToManyField(to='archaeological_finds.TreatmentType', verbose_name='Treatment type'), + ), + migrations.AddField( + model_name='property', + name='administrative_act', + field=models.ForeignKey(verbose_name='Administrative act', to='archaeological_operations.AdministrativeAct'), + ), + migrations.AddField( + model_name='property', + name='find', + field=models.ForeignKey(verbose_name='Find', to='archaeological_finds.Find'), + ), + migrations.AddField( + model_name='property', + 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='property', + 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='property', + name='imports', + field=models.ManyToManyField(related_name='imported_archaeological_finds_property', to='ishtar_common.Import', blank=True), + ), + migrations.AddField( + model_name='property', + name='person', + field=models.ForeignKey(related_name='properties', verbose_name='Person', to='ishtar_common.Person'), + ), + migrations.AddField( + model_name='objecttype', + name='parent', + field=models.ForeignKey(verbose_name='Parent', blank=True, to='archaeological_finds.ObjectType', null=True), + ), + migrations.AddField( + model_name='materialtype', + name='parent', + field=models.ForeignKey(verbose_name='Parent material', blank=True, to='archaeological_finds.MaterialType', null=True), + ), + migrations.AddField( + model_name='historicaltreatmentfile', + name='applicant', + 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='historicaltreatmentfile', + name='applicant_organisation', + 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='historicaltreatmentfile', + 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='historicaltreatmentfile', + 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='historicaltreatmentfile', + 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='historicaltreatmentfile', + 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='historicaltreatmentfile', + name='type', + field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_finds.TreatmentFileType', null=True), + ), + migrations.AddField( + model_name='historicaltreatment', + name='container', + field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_warehouse.Container', null=True), + ), + migrations.AddField( + model_name='historicaltreatment', + name='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='historicaltreatment', + 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='historicaltreatment', + 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='historicaltreatment', + 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='historicaltreatment', + name='location', + field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_warehouse.Warehouse', null=True), + ), + migrations.AddField( + model_name='historicaltreatment', + name='organization', + 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='historicaltreatment', + name='person', + 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='historicaltreatment', + name='treatment_state', + field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_finds.TreatmentState', null=True), + ), + migrations.AddField( + model_name='historicalfind', + name='collection', + field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_warehouse.Collection', null=True), + ), + migrations.AddField( + model_name='historicalfind', + name='conservatory_state', + field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_finds.ConservatoryState', null=True), + ), + migrations.AddField( + model_name='historicalfind', + name='container', + field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_warehouse.Container', null=True), + ), + migrations.AddField( + model_name='historicalfind', + name='downstream_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='historicalfind', + 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='historicalfind', + 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='historicalfind', + 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='historicalfind', + name='upstream_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='historicalbasefind', + name='batch', + field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_finds.BatchType', null=True), + ), + migrations.AddField( + model_name='historicalbasefind', + name='context_record', + field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_context_records.ContextRecord', null=True), + ), + migrations.AddField( + model_name='historicalbasefind', + 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='historicalbasefind', + 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='historicalbasefind', + 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='historicalbasefind', + name='spatial_reference_system', + field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.SpatialReferenceSystem', null=True), + ), + migrations.AddField( + model_name='findsource', + name='authors', + field=models.ManyToManyField(related_name='findsource_related', verbose_name='Authors', to='ishtar_common.Author'), + ), + migrations.AddField( + model_name='findsource', + name='find', + field=models.ForeignKey(related_name='source', verbose_name='Find', to='archaeological_finds.Find'), + ), + migrations.AddField( + model_name='findsource', + name='format_type', + field=models.ForeignKey(verbose_name='Format', blank=True, to='ishtar_common.Format', null=True), + ), + migrations.AddField( + model_name='findsource', + name='source_type', + field=models.ForeignKey(verbose_name='Type', to='ishtar_common.SourceType'), + ), + migrations.AddField( + model_name='findsource', + name='support_type', + field=models.ForeignKey(verbose_name='Support', blank=True, to='ishtar_common.SupportType', null=True), + ), + migrations.AddField( + model_name='findbasket', + name='items', + field=models.ManyToManyField(related_name='basket', to='archaeological_finds.Find', blank=True), + ), + migrations.AddField( + model_name='findbasket', + name='user', + field=models.ForeignKey(blank=True, to='ishtar_common.IshtarUser', null=True), + ), + migrations.AddField( + model_name='find', + name='base_finds', + field=models.ManyToManyField(related_name='find', verbose_name='Base find', to='archaeological_finds.BaseFind'), + ), + migrations.AddField( + model_name='find', + name='collection', + field=models.ForeignKey(related_name='finds', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Collection', blank=True, to='archaeological_warehouse.Collection', null=True), + ), + migrations.AddField( + model_name='find', + name='conservatory_state', + field=models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Conservatory state', blank=True, to='archaeological_finds.ConservatoryState', null=True), + ), + migrations.AddField( + model_name='find', + name='container', + field=models.ForeignKey(related_name='finds', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Container', blank=True, to='archaeological_warehouse.Container', null=True), + ), + migrations.AddField( + model_name='find', + name='datings', + field=models.ManyToManyField(related_name='find', verbose_name='Dating', to='archaeological_context_records.Dating'), + ), + migrations.AddField( + model_name='find', + name='downstream_treatment', + field=models.ForeignKey(related_name='upstream', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Downstream treatment', blank=True, to='archaeological_finds.Treatment', null=True), + ), + migrations.AddField( + model_name='find', + 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='find', + 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='find', + name='imports', + field=models.ManyToManyField(related_name='imported_archaeological_finds_find', to='ishtar_common.Import', blank=True), + ), + migrations.AddField( + model_name='find', + name='integrities', + field=models.ManyToManyField(related_name='find', verbose_name='Integrity / interest', to='archaeological_finds.IntegrityType'), + ), + migrations.AddField( + model_name='find', + name='material_types', + field=models.ManyToManyField(related_name='finds', verbose_name='Material types', to='archaeological_finds.MaterialType'), + ), + migrations.AddField( + model_name='find', + name='object_types', + field=models.ManyToManyField(related_name='find', verbose_name='Object types', to='archaeological_finds.ObjectType'), + ), + migrations.AddField( + model_name='find', + name='preservation_to_considers', + field=models.ManyToManyField(related_name='finds', verbose_name='Type of preservation to consider', to='archaeological_finds.PreservationType'), + ), + migrations.AddField( + model_name='find', + name='remarkabilities', + field=models.ManyToManyField(related_name='find', verbose_name='Remarkability', to='archaeological_finds.RemarkabilityType'), + ), + migrations.AddField( + model_name='find', + name='upstream_treatment', + field=models.ForeignKey(related_name='downstream', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Upstream treatment', blank=True, to='archaeological_finds.Treatment', null=True), + ), + migrations.AddField( + model_name='conservatorystate', + name='parent', + field=models.ForeignKey(verbose_name='Parent conservatory state', blank=True, to='archaeological_finds.ConservatoryState', null=True), + ), + migrations.AddField( + model_name='basefind', + name='batch', + field=models.ForeignKey(verbose_name='Batch/object', blank=True, to='archaeological_finds.BatchType', null=True), + ), + migrations.AddField( + model_name='basefind', + name='context_record', + field=models.ForeignKey(related_name='base_finds', verbose_name='Context Record', to='archaeological_context_records.ContextRecord'), + ), + migrations.AddField( + model_name='basefind', + 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='basefind', + 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='basefind', + name='imports', + field=models.ManyToManyField(related_name='imported_archaeological_finds_basefind', to='ishtar_common.Import', blank=True), + ), + migrations.AddField( + model_name='basefind', + name='spatial_reference_system', + field=models.ForeignKey(verbose_name='Spatial Reference System', blank=True, to='ishtar_common.SpatialReferenceSystem', null=True), + ), + migrations.AlterUniqueTogether( + name='treatmentfile', + unique_together=set([('year', 'index')]), + ), + migrations.AlterUniqueTogether( + name='treatment', + unique_together=set([('year', 'index')]), + ), + migrations.AlterUniqueTogether( + name='findbasket', + unique_together=set([('label', 'user')]), + ), + ] diff --git a/archaeological_finds/migrations/0003_views.py b/archaeological_finds/migrations/0003_views.py new file mode 100644 index 000000000..d405a35e1 --- /dev/null +++ b/archaeological_finds/migrations/0003_views.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations +from archaeological_finds.models import FirstBaseFindView, FindTreatments, \ + FindDownstreamTreatments, FindUpstreamTreatments, FBulkView, BFBulkView + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_finds', '0002_auto_20170414_2123'), + ] + + operations = [ + migrations.RunSQL(FindUpstreamTreatments.CREATE_SQL + + FindDownstreamTreatments.CREATE_SQL + + FindTreatments.CREATE_SQL + + FirstBaseFindView.CREATE_SQL + + FBulkView.CREATE_SQL + + BFBulkView.CREATE_SQL) + ] diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 668546602..8d4945a0b 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -37,7 +37,8 @@ from ishtar_common.models import GeneralType, ImageModel, BaseHistorizedItem, \ from archaeological_operations.models import AdministrativeAct from archaeological_context_records.models import ContextRecord, Dating -from ishtar_common.models import PRIVATE_FIELDS, SpatialReferenceSystem +from ishtar_common.models import PRIVATE_FIELDS, SpatialReferenceSystem, \ + BulkUpdatedItem class MaterialType(GeneralType): @@ -147,7 +148,7 @@ class BFBulkView(object): """ -class BaseFind(BaseHistorizedItem, OwnPerms): +class BaseFind(BulkUpdatedItem, BaseHistorizedItem, OwnPerms): label = models.TextField(_(u"Free ID")) external_id = models.TextField(_(u"External ID"), blank=True, null=True) auto_external_id = models.BooleanField( @@ -349,7 +350,12 @@ class BaseFind(BaseHistorizedItem, OwnPerms): @classmethod def cached_label_bulk_update(cls, operation_id=None, parcel_id=None, - context_record_id=None): + context_record_id=None, transaction_id=None): + transaction_id, is_recursion = cls.bulk_recursion( + transaction_id, [operation_id, parcel_id, context_record_id]) + if is_recursion: + return + if operation_id: filters = """ INNER JOIN archaeological_context_records_contextrecord acr @@ -372,6 +378,7 @@ class BaseFind(BaseHistorizedItem, OwnPerms): kwargs = {'context_record_id': context_record_id} else: return + kwargs['transaction_id'] = transaction_id sql = """ UPDATE "archaeological_finds_basefind" AS bf @@ -449,12 +456,9 @@ class BaseFind(BaseHistorizedItem, OwnPerms): ope_prefix=settings.ISHTAR_DEF_OPE_PREFIX, join=settings.JOINT, filters=filters, zeros=settings.ISHTAR_FINDS_INDEX_ZERO_LEN * "0") - # with connection.cursor() as c: # django 1.8 - c = connection.cursor() - c.execute(sql, args) - transaction.commit_unless_managed() - cls._meta.get_field_by_name( - 'find')[0].model.cached_label_bulk_update(**kwargs) + with connection.cursor() as c: + c.execute(sql, args) + Find.cached_label_bulk_update(**kwargs) post_save.connect(post_save_point, sender=BaseFind) @@ -469,8 +473,7 @@ CHECK_CHOICES = (('NC', _(u"Not checked")), class FindBasket(Basket): - items = models.ManyToManyField('Find', blank=True, null=True, - related_name='basket') + items = models.ManyToManyField('Find', blank=True, related_name='basket') class FirstBaseFindView(object): @@ -509,8 +512,8 @@ class FBulkView(object): """ -class Find(ValueGetter, BaseHistorizedItem, ImageModel, OwnPerms, - ShortMenuItem): +class Find(BulkUpdatedItem, ValueGetter, BaseHistorizedItem, ImageModel, + OwnPerms, ShortMenuItem): CHECK_DICT = dict(CHECK_CHOICES) SHOW_URL = 'show-find' SLUG = 'find' @@ -687,7 +690,7 @@ class Find(ValueGetter, BaseHistorizedItem, ImageModel, OwnPerms, null=True) previous_id = models.TextField(_(u"Previous ID"), blank=True, null=True) index = models.IntegerField(u"Index", default=0) - checked = models.CharField(_(u"Check"), max_length=2, default='NC', + checked = models.CharField(_(u"Check"), max_length=2, default=u'NC', choices=CHECK_CHOICES) check_date = models.DateField(_(u"Check date"), default=datetime.date.today) @@ -908,14 +911,14 @@ class Find(ValueGetter, BaseHistorizedItem, ImageModel, OwnPerms, return new @classmethod - def get_query_owns(cls, user): - return (Q(base_finds__context_record__operation__scientist=user. + def get_query_owns(cls, ishtaruser): + return (Q(base_finds__context_record__operation__scientist= ishtaruser.person) | - Q(base_finds__context_record__operation__in_charge=user. + Q(base_finds__context_record__operation__in_charge= ishtaruser.person) | - Q(base_finds__context_record__operation__collaborators__pk=user. + Q(base_finds__context_record__operation__collaborators__pk= ishtaruser.person.pk) | - Q(history_creator=user)) \ + Q(history_creator=ishtaruser.user_ptr)) \ & Q(base_finds__context_record__operation__end_date__isnull=True) @classmethod @@ -936,7 +939,12 @@ class Find(ValueGetter, BaseHistorizedItem, ImageModel, OwnPerms, @classmethod def cached_label_bulk_update(cls, operation_id=None, parcel_id=None, - context_record_id=None): + context_record_id=None, transaction_id=None): + transaction_id, is_recursion = cls.bulk_recursion( + transaction_id, [operation_id, parcel_id, context_record_id]) + if is_recursion: + return + if operation_id: filters = """ INNER JOIN find_first_base_find myfbf @@ -1006,10 +1014,8 @@ class Find(ValueGetter, BaseHistorizedItem, ImageModel, OwnPerms, ope_prefix=settings.ISHTAR_DEF_OPE_PREFIX, join=settings.JOINT, filters=filters, zeros=settings.ISHTAR_FINDS_INDEX_ZERO_LEN * "0") - # with connection.cursor() as c: # django 1.8 - c = connection.cursor() - c.execute(sql, args) - transaction.commit_unless_managed() + with connection.cursor() as c: + c.execute(sql, args) def generate_index(self): """ @@ -1165,13 +1171,13 @@ class FindSource(Source): return self.find @classmethod - def get_query_owns(cls, user): - return (Q(find__base_finds__context_record__operation__scientist=user. + def get_query_owns(cls, ishtaruser): + return (Q(find__base_finds__context_record__operation__scientist= ishtaruser.person) | - Q(find__base_finds__context_record__operation__in_charge=user. + Q(find__base_finds__context_record__operation__in_charge= ishtaruser.person) | Q( - find__base_finds__context_record__operation__collaborators__pk=user. + find__base_finds__context_record__operation__collaborators__pk= ishtaruser.person.pk)) \ & Q( find__base_finds__context_record__operation__end_date__isnull=True) diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py index 47f60bb44..cfde9b036 100644 --- a/archaeological_finds/models_treatments.py +++ b/archaeological_finds/models_treatments.py @@ -27,7 +27,7 @@ from django.template.defaultfilters import slugify from django.utils.translation import ugettext_lazy as _, ugettext -from ishtar_common.utils import cached_label_changed +from ishtar_common.utils import cached_label_changed, get_current_year from ishtar_common.models import GeneralType, ImageModel, BaseHistorizedItem, \ OwnPerms, HistoricalRecords, Person, Organization, Source, \ ValueGetter, post_save_cache, ShortMenuItem, DashboardFormItem @@ -100,8 +100,7 @@ class Treatment(DashboardFormItem, ValueGetter, BaseHistorizedItem, max_length=200) other_reference = models.CharField(_(u"Other ref."), blank=True, null=True, max_length=200) - year = models.IntegerField(_(u"Year"), - default=lambda: datetime.datetime.now().year) + year = models.IntegerField(_(u"Year"), default=get_current_year) index = models.IntegerField(_(u"Index"), default=1) file = models.ForeignKey( 'TreatmentFile', related_name='treatments', blank=True, null=True, @@ -168,9 +167,9 @@ class Treatment(DashboardFormItem, ValueGetter, BaseHistorizedItem, return _(u"TREATMENT") @classmethod - def get_query_owns(cls, user): - return (Q(history_creator=user) | - Q(person__ishtaruser=user.ishtaruser)) \ + def get_query_owns(cls, ishtaruser): + return (Q(history_creator=ishtaruser.user_ptr) | + Q(person__ishtaruser=ishtaruser)) \ & Q(end_date__isnull=True) @classmethod @@ -297,8 +296,8 @@ pre_delete.connect(pre_delete_treatment, sender=Treatment) class AbsFindTreatments(models.Model): find = models.ForeignKey(Find, verbose_name=_(u"Find"), related_name='%(class)s_related') - treatment = models.ForeignKey(Treatment, verbose_name=_(u"Treatment"), - primary_key=True) + treatment = models.OneToOneField(Treatment, verbose_name=_(u"Treatment"), + primary_key=True) # primary_key is set to prevent django to ask for an id column # treatment is not a primary key treatment_nb = models.IntegerField(_(u"Order")) @@ -480,8 +479,7 @@ class TreatmentFile(DashboardFormItem, ClosedItem, BaseHistorizedItem, SLUG = 'treatmentfile' # fields - year = models.IntegerField(_(u"Year"), - default=lambda: datetime.datetime.now().year) + year = models.IntegerField(_(u"Year"), default=get_current_year) index = models.IntegerField(_(u"Index"), default=1) internal_reference = models.CharField(_(u"Internal reference"), blank=True, null=True, max_length=200) @@ -544,9 +542,9 @@ class TreatmentFile(DashboardFormItem, ClosedItem, BaseHistorizedItem, return _(u"Treatment request") @classmethod - def get_query_owns(cls, user): - return (Q(history_creator=user) | - Q(in_charge__ishtaruser=user.ishtaruser)) \ + def get_query_owns(cls, ishtaruser): + return (Q(history_creator=ishtaruser.user_ptr) | + Q(in_charge__ishtaruser=ishtaruser)) \ & Q(end_date__isnull=True) @property diff --git a/archaeological_finds/old_migrations/0001_initial.py b/archaeological_finds/old_migrations/0001_initial.py new file mode 100644 index 000000000..d5f3e804a --- /dev/null +++ b/archaeological_finds/old_migrations/0001_initial.py @@ -0,0 +1,814 @@ +# -*- 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_context_records', '0001_initial.py'), + ('archaeological_warehouse', + '0011_auto__add_containerlocalisation__add_unique_containerlocalisation_cont.py'), + ) + + def forwards(self, orm): + # Adding model 'MaterialType' + db.create_table('archaeological_finds_materialtype', ( + ('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)), + ('recommendation', self.gf('django.db.models.fields.TextField')()), + ('parent', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_finds.MaterialType'], null=True, blank=True)), + )) + db.send_create_signal('archaeological_finds', ['MaterialType']) + + # Adding model 'HistoricalBaseFind' + db.create_table('archaeological_finds_historicalbasefind', ( + ('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)), + ('label', self.gf('django.db.models.fields.CharField')(max_length=60)), + ('description', self.gf('django.db.models.fields.TextField')()), + ('context_record_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), + ('is_isolated', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), + ('index', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('material_index', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('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_finds', ['HistoricalBaseFind']) + + # Adding model 'BaseFind' + db.create_table('archaeological_finds_basefind', ( + ('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'])), + ('label', self.gf('django.db.models.fields.CharField')(max_length=60)), + ('description', self.gf('django.db.models.fields.TextField')()), + ('context_record', self.gf('django.db.models.fields.related.ForeignKey')(related_name='base_finds', to=orm['archaeological_context_records.ContextRecord'])), + ('is_isolated', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), + ('index', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('material_index', self.gf('django.db.models.fields.IntegerField')(default=0)), + )) + db.send_create_signal('archaeological_finds', ['BaseFind']) + + # Adding model 'HistoricalFind' + db.create_table('archaeological_finds_historicalfind', ( + ('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)), + ('order', self.gf('django.db.models.fields.IntegerField')()), + ('label', self.gf('django.db.models.fields.CharField')(max_length=60)), + ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + ('material_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), + ('volume', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), + ('weight', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), + ('find_number', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), + ('upstream_treatment_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), + ('downstream_treatment_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), + ('dating_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), + ('container_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, 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_finds', ['HistoricalFind']) + + # Adding model 'Find' + db.create_table('archaeological_finds_find', ( + ('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'])), + ('order', self.gf('django.db.models.fields.IntegerField')()), + ('label', self.gf('django.db.models.fields.CharField')(max_length=60)), + ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + ('material_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_finds.MaterialType'])), + ('volume', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), + ('weight', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), + ('find_number', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), + ('upstream_treatment', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='downstream_treatment', null=True, to=orm['archaeological_finds.Treatment'])), + ('downstream_treatment', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='upstream_treatment', null=True, to=orm['archaeological_finds.Treatment'])), + ('dating', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_context_records.Dating'])), + ('container', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='finds', null=True, to=orm['archaeological_warehouse.Container'])), + )) + db.send_create_signal('archaeological_finds', ['Find']) + + # Adding M2M table for field base_finds on 'Find' + db.create_table('archaeological_finds_find_base_finds', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('find', models.ForeignKey(orm['archaeological_finds.find'], null=False)), + ('basefind', models.ForeignKey(orm['archaeological_finds.basefind'], null=False)) + )) + db.create_unique('archaeological_finds_find_base_finds', ['find_id', 'basefind_id']) + + # Adding model 'FindSource' + db.create_table('archaeological_finds_findsource', ( + ('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)), + ('find', self.gf('django.db.models.fields.related.ForeignKey')(related_name='source', to=orm['archaeological_finds.Find'])), + )) + db.send_create_signal('archaeological_finds', ['FindSource']) + + # Adding M2M table for field authors on 'FindSource' + db.create_table('archaeological_finds_findsource_authors', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('findsource', models.ForeignKey(orm['archaeological_finds.findsource'], null=False)), + ('author', models.ForeignKey(orm['ishtar_common.author'], null=False)) + )) + db.create_unique('archaeological_finds_findsource_authors', ['findsource_id', 'author_id']) + + # Adding model 'TreatmentType' + db.create_table('archaeological_finds_treatmenttype', ( + ('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)), + ('virtual', self.gf('django.db.models.fields.BooleanField')(default=False)), + )) + db.send_create_signal('archaeological_finds', ['TreatmentType']) + + # Adding model 'HistoricalTreatment' + db.create_table('archaeological_finds_historicaltreatment', ( + ('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)), + ('container_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), + ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + ('treatment_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), + ('location_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), + ('person_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)), + ('end_date', self.gf('django.db.models.fields.DateField')(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_finds', ['HistoricalTreatment']) + + # Adding model 'Treatment' + db.create_table('archaeological_finds_treatment', ( + ('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'])), + ('container', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_warehouse.Container'], null=True, blank=True)), + ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + ('treatment_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_finds.TreatmentType'])), + ('location', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_warehouse.Warehouse'], null=True, blank=True)), + ('person', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'], null=True, blank=True)), + ('start_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)), + )) + db.send_create_signal('archaeological_finds', ['Treatment']) + + # Adding model 'TreatmentSource' + db.create_table('archaeological_finds_treatmentsource', ( + ('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)), + ('treatment', self.gf('django.db.models.fields.related.ForeignKey')(related_name='source', to=orm['archaeological_finds.Treatment'])), + )) + db.send_create_signal('archaeological_finds', ['TreatmentSource']) + + # Adding M2M table for field authors on 'TreatmentSource' + db.create_table('archaeological_finds_treatmentsource_authors', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('treatmentsource', models.ForeignKey(orm['archaeological_finds.treatmentsource'], null=False)), + ('author', models.ForeignKey(orm['ishtar_common.author'], null=False)) + )) + db.create_unique('archaeological_finds_treatmentsource_authors', ['treatmentsource_id', 'author_id']) + + # Adding model 'Property' + db.create_table('archaeological_finds_property', ( + ('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)), + ('find', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_finds.Find'])), + ('administrative_act', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.AdministrativeAct'])), + ('person', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'])), + ('start_date', self.gf('django.db.models.fields.DateField')()), + ('end_date', self.gf('django.db.models.fields.DateField')()), + )) + db.send_create_signal('archaeological_finds', ['Property']) + + + def backwards(self, orm): + # Deleting model 'MaterialType' + db.delete_table('archaeological_finds_materialtype') + + # Deleting model 'HistoricalBaseFind' + db.delete_table('archaeological_finds_historicalbasefind') + + # Deleting model 'BaseFind' + db.delete_table('archaeological_finds_basefind') + + # Deleting model 'HistoricalFind' + db.delete_table('archaeological_finds_historicalfind') + + # Deleting model 'Find' + db.delete_table('archaeological_finds_find') + + # Removing M2M table for field base_finds on 'Find' + db.delete_table('archaeological_finds_find_base_finds') + + # Deleting model 'FindSource' + db.delete_table('archaeological_finds_findsource') + + # Removing M2M table for field authors on 'FindSource' + db.delete_table('archaeological_finds_findsource_authors') + + # Deleting model 'TreatmentType' + db.delete_table('archaeological_finds_treatmenttype') + + # Deleting model 'HistoricalTreatment' + db.delete_table('archaeological_finds_historicaltreatment') + + # Deleting model 'Treatment' + db.delete_table('archaeological_finds_treatment') + + # Deleting model 'TreatmentSource' + db.delete_table('archaeological_finds_treatmentsource') + + # Removing M2M table for field authors on 'TreatmentSource' + db.delete_table('archaeological_finds_treatmentsource_authors') + + # Deleting model 'Property' + db.delete_table('archaeological_finds_property') + + + models = { + 'archaeological_context_records.activitytype': { + 'Meta': {'object_name': 'ActivityType'}, + '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'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'archaeological_context_records.contextrecord': { + 'Meta': {'object_name': 'ContextRecord'}, + 'activity': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ActivityType']", 'null': 'True', 'blank': 'True'}), + 'datings': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.Dating']", 'symmetrical': 'False'}), + 'depth': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'has_furniture': ('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'}), + 'identification': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.IdentificationType']", 'null': 'True', 'blank': 'True'}), + 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Operation']"}), + 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Parcel']"}), + 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thickness': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'unit': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['archaeological_context_records.Unit']"}), + 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_context_records.dating': { + 'Meta': {'object_name': 'Dating'}, + 'dating_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingType']", 'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']"}), + 'quality': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingQuality']", 'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_context_records.datingquality': { + 'Meta': {'object_name': 'DatingQuality'}, + '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_context_records.datingtype': { + 'Meta': {'object_name': 'DatingType'}, + '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_context_records.identificationtype': { + 'Meta': {'object_name': 'IdentificationType'}, + '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'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'archaeological_context_records.unit': { + 'Meta': {'object_name': 'Unit'}, + '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'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.Unit']", 'null': 'True', 'blank': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + '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_finds.basefind': { + 'Meta': {'object_name': 'BaseFind'}, + 'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'base_finds'", 'to': "orm['archaeological_context_records.ContextRecord']"}), + 'description': ('django.db.models.fields.TextField', [], {}), + 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'is_isolated': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '60'}), + 'material_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}) + }, + 'archaeological_finds.find': { + 'Meta': {'object_name': 'Find'}, + 'base_finds': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.BaseFind']"}), + 'container': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'finds'", 'null': 'True', 'to': "orm['archaeological_warehouse.Container']"}), + 'dating': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.Dating']"}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'downstream_treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'upstream_treatment'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}), + 'find_number': ('django.db.models.fields.IntegerField', [], {'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'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '60'}), + 'material_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.MaterialType']"}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'upstream_treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'downstream_treatment'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}), + 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'weight': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_finds.findsource': { + 'Meta': {'object_name': 'FindSource'}, + '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'}), + 'find': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_finds.Find']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + '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_finds.historicalbasefind': { + 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalBaseFind'}, + 'context_record_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {}), + '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'}), + 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'is_isolated': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '60'}), + 'material_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}) + }, + 'archaeological_finds.historicalfind': { + 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalFind'}, + 'container_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'dating_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'downstream_treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'find_number': ('django.db.models.fields.IntegerField', [], {'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'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '60'}), + 'material_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'upstream_treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'weight': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_finds.historicaltreatment': { + 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalTreatment'}, + 'container_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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'}), + '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'}), + 'location_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'person_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'treatment_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}) + }, + 'archaeological_finds.materialtype': { + 'Meta': {'object_name': 'MaterialType'}, + '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'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.MaterialType']", 'null': 'True', 'blank': 'True'}), + 'recommendation': ('django.db.models.fields.TextField', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'archaeological_finds.property': { + 'Meta': {'object_name': 'Property'}, + 'administrative_act': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.AdministrativeAct']"}), + 'end_date': ('django.db.models.fields.DateField', [], {}), + 'find': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.Find']"}), + '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'}), + 'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']"}), + 'start_date': ('django.db.models.fields.DateField', [], {}) + }, + 'archaeological_finds.treatment': { + 'Meta': {'object_name': 'Treatment'}, + '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'}), + 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']", 'null': 'True', 'blank': 'True'}), + 'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']", 'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'treatment_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentType']"}) + }, + 'archaeological_finds.treatmentsource': { + 'Meta': {'object_name': 'TreatmentSource'}, + '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'}), + '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'}), + 'treatment': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_finds.Treatment']"}) + }, + 'archaeological_finds.treatmenttype': { + 'Meta': {'object_name': 'TreatmentType'}, + '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'}), + 'virtual': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + '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.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.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.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'}) + }, + 'archaeological_warehouse.container': { + 'Meta': {'object_name': 'Container'}, + 'comment': ('django.db.models.fields.TextField', [], {}), + 'container_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.ContainerType']"}), + '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'}), + 'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']"}), + 'reference': ('django.db.models.fields.CharField', [], {'max_length': '40'}) + }, + 'archaeological_warehouse.containertype': { + 'Meta': {'object_name': 'ContainerType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + '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': '30'}), + 'volume': ('django.db.models.fields.IntegerField', [], {'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'}), + 'comment': ('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': '40'}), + 'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']", 'null': 'True', 'blank': 'True'}), + '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'}), + 'warehouse_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseType']"}) + }, + 'archaeological_warehouse.warehousetype': { + 'Meta': {'object_name': 'WarehouseType'}, + '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_finds'] diff --git a/archaeological_finds/migrations/0002_auto__add_field_findsource_reference__add_field_findsource_internal_re.py b/archaeological_finds/old_migrations/0002_auto__add_field_findsource_reference__add_field_findsource_internal_re.py index b98515edc..b98515edc 100644 --- a/archaeological_finds/migrations/0002_auto__add_field_findsource_reference__add_field_findsource_internal_re.py +++ b/archaeological_finds/old_migrations/0002_auto__add_field_findsource_reference__add_field_findsource_internal_re.py diff --git a/archaeological_finds/migrations/0003_auto__add_field_materialtype_code.py b/archaeological_finds/old_migrations/0003_auto__add_field_materialtype_code.py index 76b84a4bb..76b84a4bb 100644 --- a/archaeological_finds/migrations/0003_auto__add_field_materialtype_code.py +++ b/archaeological_finds/old_migrations/0003_auto__add_field_materialtype_code.py diff --git a/archaeological_finds/migrations/0004_auto__add_field_historicalfind_image__add_field_historicalfind_thumbna.py b/archaeological_finds/old_migrations/0004_auto__add_field_historicalfind_image__add_field_historicalfind_thumbna.py index d849b9e92..d849b9e92 100644 --- a/archaeological_finds/migrations/0004_auto__add_field_historicalfind_image__add_field_historicalfind_thumbna.py +++ b/archaeological_finds/old_migrations/0004_auto__add_field_historicalfind_image__add_field_historicalfind_thumbna.py diff --git a/archaeological_finds/migrations/0005_auto__add_conservatorystate__add_field_historicalfind_conservatory_sta.py b/archaeological_finds/old_migrations/0005_auto__add_conservatorystate__add_field_historicalfind_conservatory_sta.py index 9ad323a70..9ad323a70 100644 --- a/archaeological_finds/migrations/0005_auto__add_conservatorystate__add_field_historicalfind_conservatory_sta.py +++ b/archaeological_finds/old_migrations/0005_auto__add_conservatorystate__add_field_historicalfind_conservatory_sta.py diff --git a/archaeological_finds/migrations/0006_auto__add_field_historicalfind_history_creator_id__add_field_treatment.py b/archaeological_finds/old_migrations/0006_auto__add_field_historicalfind_history_creator_id__add_field_treatment.py index 11ec0c4f3..11ec0c4f3 100644 --- a/archaeological_finds/migrations/0006_auto__add_field_historicalfind_history_creator_id__add_field_treatment.py +++ b/archaeological_finds/old_migrations/0006_auto__add_field_historicalfind_history_creator_id__add_field_treatment.py diff --git a/archaeological_finds/migrations/0007_init_history_creator.py b/archaeological_finds/old_migrations/0007_init_history_creator.py index 8d0a5a583..8d0a5a583 100644 --- a/archaeological_finds/migrations/0007_init_history_creator.py +++ b/archaeological_finds/old_migrations/0007_init_history_creator.py diff --git a/archaeological_finds/migrations/0008_reinit_history_creator.py b/archaeological_finds/old_migrations/0008_reinit_history_creator.py index 38c05050e..38c05050e 100644 --- a/archaeological_finds/migrations/0008_reinit_history_creator.py +++ b/archaeological_finds/old_migrations/0008_reinit_history_creator.py diff --git a/archaeological_finds/migrations/0009_auto__chg_field_materialtype_recommendation__chg_field_treatment_perso.py b/archaeological_finds/old_migrations/0009_auto__chg_field_materialtype_recommendation__chg_field_treatment_perso.py index e2998e4a6..e2998e4a6 100644 --- a/archaeological_finds/migrations/0009_auto__chg_field_materialtype_recommendation__chg_field_treatment_perso.py +++ b/archaeological_finds/old_migrations/0009_auto__chg_field_materialtype_recommendation__chg_field_treatment_perso.py diff --git a/archaeological_finds/migrations/0010_auto__chg_field_treatment_history_creator__chg_field_treatment_history.py b/archaeological_finds/old_migrations/0010_auto__chg_field_treatment_history_creator__chg_field_treatment_history.py index 5067e113a..5067e113a 100644 --- a/archaeological_finds/migrations/0010_auto__chg_field_treatment_history_creator__chg_field_treatment_history.py +++ b/archaeological_finds/old_migrations/0010_auto__chg_field_treatment_history_creator__chg_field_treatment_history.py diff --git a/archaeological_finds/migrations/0011_auto__add_field_historicalfind_weight_unit__add_field_historicalfind_d.py b/archaeological_finds/old_migrations/0011_auto__add_field_historicalfind_weight_unit__add_field_historicalfind_d.py index 259f7e272..259f7e272 100644 --- a/archaeological_finds/migrations/0011_auto__add_field_historicalfind_weight_unit__add_field_historicalfind_d.py +++ b/archaeological_finds/old_migrations/0011_auto__add_field_historicalfind_weight_unit__add_field_historicalfind_d.py diff --git a/archaeological_finds/migrations/0012_auto__add_preservationtype__add_field_historicalfind_preservation_to_c.py b/archaeological_finds/old_migrations/0012_auto__add_preservationtype__add_field_historicalfind_preservation_to_c.py index 2604104d0..2604104d0 100644 --- a/archaeological_finds/migrations/0012_auto__add_preservationtype__add_field_historicalfind_preservation_to_c.py +++ b/archaeological_finds/old_migrations/0012_auto__add_preservationtype__add_field_historicalfind_preservation_to_c.py diff --git a/archaeological_finds/migrations/0013_auto__del_field_historicalfind_discovery_date__del_field_find_discover.py b/archaeological_finds/old_migrations/0013_auto__del_field_historicalfind_discovery_date__del_field_find_discover.py index 32d97b8fa..32d97b8fa 100644 --- a/archaeological_finds/migrations/0013_auto__del_field_historicalfind_discovery_date__del_field_find_discover.py +++ b/archaeological_finds/old_migrations/0013_auto__del_field_historicalfind_discovery_date__del_field_find_discover.py diff --git a/archaeological_finds/migrations/0014_auto__chg_field_find_dating.py b/archaeological_finds/old_migrations/0014_auto__chg_field_find_dating.py index 563f1c7cc..563f1c7cc 100644 --- a/archaeological_finds/migrations/0014_auto__chg_field_find_dating.py +++ b/archaeological_finds/old_migrations/0014_auto__chg_field_find_dating.py diff --git a/archaeological_finds/migrations/0015_auto__add_field_historicalfind_external_id__add_field_find_external_id.py b/archaeological_finds/old_migrations/0015_auto__add_field_historicalfind_external_id__add_field_find_external_id.py index 24aedfc1e..24aedfc1e 100644 --- a/archaeological_finds/migrations/0015_auto__add_field_historicalfind_external_id__add_field_find_external_id.py +++ b/archaeological_finds/old_migrations/0015_auto__add_field_historicalfind_external_id__add_field_find_external_id.py diff --git a/archaeological_finds/migrations/0016_auto__add_field_treatment_external_id__add_field_historicaltreatment_e.py b/archaeological_finds/old_migrations/0016_auto__add_field_treatment_external_id__add_field_historicaltreatment_e.py index ebb8c209b..ebb8c209b 100644 --- a/archaeological_finds/migrations/0016_auto__add_field_treatment_external_id__add_field_historicaltreatment_e.py +++ b/archaeological_finds/old_migrations/0016_auto__add_field_treatment_external_id__add_field_historicaltreatment_e.py diff --git a/archaeological_finds/migrations/0017_auto__add_field_findsource_external_id__add_field_treatmentsource_exte.py b/archaeological_finds/old_migrations/0017_auto__add_field_findsource_external_id__add_field_treatmentsource_exte.py index ddfcb927e..ddfcb927e 100644 --- a/archaeological_finds/migrations/0017_auto__add_field_findsource_external_id__add_field_treatmentsource_exte.py +++ b/archaeological_finds/old_migrations/0017_auto__add_field_findsource_external_id__add_field_treatmentsource_exte.py diff --git a/archaeological_finds/migrations/0018_auto.py b/archaeological_finds/old_migrations/0018_auto.py index 8ab73cf57..8ab73cf57 100644 --- a/archaeological_finds/migrations/0018_auto.py +++ b/archaeological_finds/old_migrations/0018_auto.py diff --git a/archaeological_finds/migrations/0019_auto__chg_field_preservationtype_txt_idx__chg_field_treatmenttype_txt_.py b/archaeological_finds/old_migrations/0019_auto__chg_field_preservationtype_txt_idx__chg_field_treatmenttype_txt_.py index 56331ba2a..56331ba2a 100644 --- a/archaeological_finds/migrations/0019_auto__chg_field_preservationtype_txt_idx__chg_field_treatmenttype_txt_.py +++ b/archaeological_finds/old_migrations/0019_auto__chg_field_preservationtype_txt_idx__chg_field_treatmenttype_txt_.py diff --git a/archaeological_finds/migrations/0020_auto__chg_field_historicalfind_weight_unit__chg_field_find_weight_unit.py b/archaeological_finds/old_migrations/0020_auto__chg_field_historicalfind_weight_unit__chg_field_find_weight_unit.py index 44ee3d608..44ee3d608 100644 --- a/archaeological_finds/migrations/0020_auto__chg_field_historicalfind_weight_unit__chg_field_find_weight_unit.py +++ b/archaeological_finds/old_migrations/0020_auto__chg_field_historicalfind_weight_unit__chg_field_find_weight_unit.py diff --git a/archaeological_finds/migrations/0021_auto__add_objecttype__add_field_historicalfind_is_complete__add_field_.py b/archaeological_finds/old_migrations/0021_auto__add_objecttype__add_field_historicalfind_is_complete__add_field_.py index 739266877..739266877 100644 --- a/archaeological_finds/migrations/0021_auto__add_objecttype__add_field_historicalfind_is_complete__add_field_.py +++ b/archaeological_finds/old_migrations/0021_auto__add_objecttype__add_field_historicalfind_is_complete__add_field_.py diff --git a/archaeological_finds/migrations/0022_auto__add_field_objecttype_parent.py b/archaeological_finds/old_migrations/0022_auto__add_field_objecttype_parent.py index deff19871..deff19871 100644 --- a/archaeological_finds/migrations/0022_auto__add_field_objecttype_parent.py +++ b/archaeological_finds/old_migrations/0022_auto__add_field_objecttype_parent.py diff --git a/archaeological_finds/migrations/0023_auto__del_field_historicalfind_heigth__add_field_historicalfind_height.py b/archaeological_finds/old_migrations/0023_auto__del_field_historicalfind_heigth__add_field_historicalfind_height.py index 74fc5a8f1..74fc5a8f1 100644 --- a/archaeological_finds/migrations/0023_auto__del_field_historicalfind_heigth__add_field_historicalfind_height.py +++ b/archaeological_finds/old_migrations/0023_auto__del_field_historicalfind_heigth__add_field_historicalfind_height.py diff --git a/archaeological_finds/migrations/0024_auto.py b/archaeological_finds/old_migrations/0024_auto.py index 5a64c5142..5a64c5142 100644 --- a/archaeological_finds/migrations/0024_auto.py +++ b/archaeological_finds/old_migrations/0024_auto.py diff --git a/archaeological_finds/migrations/0025_find_to_finds.py b/archaeological_finds/old_migrations/0025_find_to_finds.py index 30df3b583..30df3b583 100644 --- a/archaeological_finds/migrations/0025_find_to_finds.py +++ b/archaeological_finds/old_migrations/0025_find_to_finds.py diff --git a/archaeological_finds/migrations/0026_auto__del_field_historicalfind_material_type_id__del_field_find_materi.py b/archaeological_finds/old_migrations/0026_auto__del_field_historicalfind_material_type_id__del_field_find_materi.py index ad2471900..ad2471900 100644 --- a/archaeological_finds/migrations/0026_auto__del_field_historicalfind_material_type_id__del_field_find_materi.py +++ b/archaeological_finds/old_migrations/0026_auto__del_field_historicalfind_material_type_id__del_field_find_materi.py diff --git a/archaeological_finds/migrations/0027_auto__add_field_historicalfind_index__add_field_find_index.py b/archaeological_finds/old_migrations/0027_auto__add_field_historicalfind_index__add_field_find_index.py index b1457bd39..b1457bd39 100644 --- a/archaeological_finds/migrations/0027_auto__add_field_historicalfind_index__add_field_find_index.py +++ b/archaeological_finds/old_migrations/0027_auto__add_field_historicalfind_index__add_field_find_index.py diff --git a/archaeological_finds/migrations/0028_auto.py b/archaeological_finds/old_migrations/0028_auto.py index a74e99f50..a74e99f50 100644 --- a/archaeological_finds/migrations/0028_auto.py +++ b/archaeological_finds/old_migrations/0028_auto.py diff --git a/archaeological_finds/migrations/0029_dating_to_datings.py b/archaeological_finds/old_migrations/0029_dating_to_datings.py index a8af268f1..a8af268f1 100644 --- a/archaeological_finds/migrations/0029_dating_to_datings.py +++ b/archaeological_finds/old_migrations/0029_dating_to_datings.py diff --git a/archaeological_finds/migrations/0030_auto__del_field_historicalfind_dating_id__del_field_find_dating.py b/archaeological_finds/old_migrations/0030_auto__del_field_historicalfind_dating_id__del_field_find_dating.py index 08a05efbc..08a05efbc 100644 --- a/archaeological_finds/migrations/0030_auto__del_field_historicalfind_dating_id__del_field_find_dating.py +++ b/archaeological_finds/old_migrations/0030_auto__del_field_historicalfind_dating_id__del_field_find_dating.py diff --git a/archaeological_finds/migrations/0031_auto__add_field_historicalfind_dating_comment__add_field_find_dating_c.py b/archaeological_finds/old_migrations/0031_auto__add_field_historicalfind_dating_comment__add_field_find_dating_c.py index 0909d52fa..0909d52fa 100644 --- a/archaeological_finds/migrations/0031_auto__add_field_historicalfind_dating_comment__add_field_find_dating_c.py +++ b/archaeological_finds/old_migrations/0031_auto__add_field_historicalfind_dating_comment__add_field_find_dating_c.py diff --git a/archaeological_finds/migrations/0032_auto__add_field_historicalfind_checked__add_field_find_checked.py b/archaeological_finds/old_migrations/0032_auto__add_field_historicalfind_checked__add_field_find_checked.py index a8a28822a..a8a28822a 100644 --- a/archaeological_finds/migrations/0032_auto__add_field_historicalfind_checked__add_field_find_checked.py +++ b/archaeological_finds/old_migrations/0032_auto__add_field_historicalfind_checked__add_field_find_checked.py diff --git a/archaeological_finds/migrations/0033_auto__add_field_historicalfind_check_date__add_field_find_check_date.py b/archaeological_finds/old_migrations/0033_auto__add_field_historicalfind_check_date__add_field_find_check_date.py index 57d50bd22..57d50bd22 100644 --- a/archaeological_finds/migrations/0033_auto__add_field_historicalfind_check_date__add_field_find_check_date.py +++ b/archaeological_finds/old_migrations/0033_auto__add_field_historicalfind_check_date__add_field_find_check_date.py diff --git a/archaeological_finds/migrations/0034_auto__add_field_historicalbasefind_cache_short_id__add_field_historica.py b/archaeological_finds/old_migrations/0034_auto__add_field_historicalbasefind_cache_short_id__add_field_historica.py index 4e19f2a99..4e19f2a99 100644 --- a/archaeological_finds/migrations/0034_auto__add_field_historicalbasefind_cache_short_id__add_field_historica.py +++ b/archaeological_finds/old_migrations/0034_auto__add_field_historicalbasefind_cache_short_id__add_field_historica.py diff --git a/archaeological_finds/migrations/0035_auto.py b/archaeological_finds/old_migrations/0035_auto.py index d0f93c6a4..d0f93c6a4 100644 --- a/archaeological_finds/migrations/0035_auto.py +++ b/archaeological_finds/old_migrations/0035_auto.py diff --git a/archaeological_finds/migrations/0036_preservation_to_preservations.py b/archaeological_finds/old_migrations/0036_preservation_to_preservations.py index 4322510e9..4322510e9 100644 --- a/archaeological_finds/migrations/0036_preservation_to_preservations.py +++ b/archaeological_finds/old_migrations/0036_preservation_to_preservations.py diff --git a/archaeological_finds/migrations/0037_auto__del_field_historicalfind_preservation_to_consider_id__del_field_.py b/archaeological_finds/old_migrations/0037_auto__del_field_historicalfind_preservation_to_consider_id__del_field_.py index e69d0ac88..e69d0ac88 100644 --- a/archaeological_finds/migrations/0037_auto__del_field_historicalfind_preservation_to_consider_id__del_field_.py +++ b/archaeological_finds/old_migrations/0037_auto__del_field_historicalfind_preservation_to_consider_id__del_field_.py diff --git a/archaeological_finds/migrations/0038_auto__add_field_historicalbasefind_batch__add_field_basefind_batch.py b/archaeological_finds/old_migrations/0038_auto__add_field_historicalbasefind_batch__add_field_basefind_batch.py index dac8ae01a..dac8ae01a 100644 --- a/archaeological_finds/migrations/0038_auto__add_field_historicalbasefind_batch__add_field_basefind_batch.py +++ b/archaeological_finds/old_migrations/0038_auto__add_field_historicalbasefind_batch__add_field_basefind_batch.py diff --git a/archaeological_finds/migrations/0039_is_isolated_batch.py b/archaeological_finds/old_migrations/0039_is_isolated_batch.py index f3a71751b..f3a71751b 100644 --- a/archaeological_finds/migrations/0039_is_isolated_batch.py +++ b/archaeological_finds/old_migrations/0039_is_isolated_batch.py diff --git a/archaeological_finds/migrations/0040_auto__del_field_historicalbasefind_is_isolated__del_field_basefind_is_.py b/archaeological_finds/old_migrations/0040_auto__del_field_historicalbasefind_is_isolated__del_field_basefind_is_.py index 02b6dbf4a..02b6dbf4a 100644 --- a/archaeological_finds/migrations/0040_auto__del_field_historicalbasefind_is_isolated__del_field_basefind_is_.py +++ b/archaeological_finds/old_migrations/0040_auto__del_field_historicalbasefind_is_isolated__del_field_basefind_is_.py diff --git a/archaeological_finds/migrations/0041_auto__add_integritytype.py b/archaeological_finds/old_migrations/0041_auto__add_integritytype.py index c38d16d6a..c38d16d6a 100644 --- a/archaeological_finds/migrations/0041_auto__add_integritytype.py +++ b/archaeological_finds/old_migrations/0041_auto__add_integritytype.py diff --git a/archaeological_finds/migrations/0042_auto__chg_field_historicalfind_label__chg_field_find_label__chg_field_.py b/archaeological_finds/old_migrations/0042_auto__chg_field_historicalfind_label__chg_field_find_label__chg_field_.py index 9b31f2024..9b31f2024 100644 --- a/archaeological_finds/migrations/0042_auto__chg_field_historicalfind_label__chg_field_find_label__chg_field_.py +++ b/archaeological_finds/old_migrations/0042_auto__chg_field_historicalfind_label__chg_field_find_label__chg_field_.py diff --git a/archaeological_finds/migrations/0043_auto__add_field_findsource_duplicate__chg_field_findsource_internal_re.py b/archaeological_finds/old_migrations/0043_auto__add_field_findsource_duplicate__chg_field_findsource_internal_re.py index 3e288d58d..3e288d58d 100644 --- a/archaeological_finds/migrations/0043_auto__add_field_findsource_duplicate__chg_field_findsource_internal_re.py +++ b/archaeological_finds/old_migrations/0043_auto__add_field_findsource_duplicate__chg_field_findsource_internal_re.py diff --git a/archaeological_finds/migrations/0044_auto__add_field_findsource_receipt_date_in_documentation__add_field_tr.py b/archaeological_finds/old_migrations/0044_auto__add_field_findsource_receipt_date_in_documentation__add_field_tr.py index 2c0c74701..2c0c74701 100644 --- a/archaeological_finds/migrations/0044_auto__add_field_findsource_receipt_date_in_documentation__add_field_tr.py +++ b/archaeological_finds/old_migrations/0044_auto__add_field_findsource_receipt_date_in_documentation__add_field_tr.py diff --git a/archaeological_finds/migrations/0045_auto__add_findbasket__add_unique_findbasket_label_user.py b/archaeological_finds/old_migrations/0045_auto__add_findbasket__add_unique_findbasket_label_user.py index 2879e422a..2879e422a 100644 --- a/archaeological_finds/migrations/0045_auto__add_findbasket__add_unique_findbasket_label_user.py +++ b/archaeological_finds/old_migrations/0045_auto__add_findbasket__add_unique_findbasket_label_user.py diff --git a/archaeological_finds/migrations/0046_auto__add_field_basefind_point__add_field_basefind_line__add_field_bas.py b/archaeological_finds/old_migrations/0046_auto__add_field_basefind_point__add_field_basefind_line__add_field_bas.py index 47898f58a..47898f58a 100644 --- a/archaeological_finds/migrations/0046_auto__add_field_basefind_point__add_field_basefind_line__add_field_bas.py +++ b/archaeological_finds/old_migrations/0046_auto__add_field_basefind_point__add_field_basefind_line__add_field_bas.py diff --git a/archaeological_finds/migrations/0047_auto__add_field_historicalfind_conservatory_comment__add_field_histori.py b/archaeological_finds/old_migrations/0047_auto__add_field_historicalfind_conservatory_comment__add_field_histori.py index 53e9e7643..53e9e7643 100644 --- a/archaeological_finds/migrations/0047_auto__add_field_historicalfind_conservatory_comment__add_field_histori.py +++ b/archaeological_finds/old_migrations/0047_auto__add_field_historicalfind_conservatory_comment__add_field_histori.py diff --git a/archaeological_finds/migrations/0048_auto__add_field_treatmenttype_upstream_is_many__add_field_treatmenttyp.py b/archaeological_finds/old_migrations/0048_auto__add_field_treatmenttype_upstream_is_many__add_field_treatmenttyp.py index 27c628852..27c628852 100644 --- a/archaeological_finds/migrations/0048_auto__add_field_treatmenttype_upstream_is_many__add_field_treatmenttyp.py +++ b/archaeological_finds/old_migrations/0048_auto__add_field_treatmenttype_upstream_is_many__add_field_treatmenttyp.py diff --git a/archaeological_finds/migrations/0049_auto__chg_field_historicalfind_external_id__chg_field_find_external_id.py b/archaeological_finds/old_migrations/0049_auto__chg_field_historicalfind_external_id__chg_field_find_external_id.py index ba9399ab6..ba9399ab6 100644 --- a/archaeological_finds/migrations/0049_auto__chg_field_historicalfind_external_id__chg_field_find_external_id.py +++ b/archaeological_finds/old_migrations/0049_auto__chg_field_historicalfind_external_id__chg_field_find_external_id.py diff --git a/archaeological_finds/migrations/0050_auto__add_field_historicalfind_auto_external_id__add_field_find_auto_e.py b/archaeological_finds/old_migrations/0050_auto__add_field_historicalfind_auto_external_id__add_field_find_auto_e.py index 43745a418..43745a418 100644 --- a/archaeological_finds/migrations/0050_auto__add_field_historicalfind_auto_external_id__add_field_find_auto_e.py +++ b/archaeological_finds/old_migrations/0050_auto__add_field_historicalfind_auto_external_id__add_field_find_auto_e.py diff --git a/archaeological_finds/migrations/0051_auto__add_remarkabilitytype.py b/archaeological_finds/old_migrations/0051_auto__add_remarkabilitytype.py index 879d3cd2c..879d3cd2c 100644 --- a/archaeological_finds/migrations/0051_auto__add_remarkabilitytype.py +++ b/archaeological_finds/old_migrations/0051_auto__add_remarkabilitytype.py diff --git a/archaeological_finds/migrations/0052_auto__add_field_historicalfind_estimated_value__add_field_find_estimat.py b/archaeological_finds/old_migrations/0052_auto__add_field_historicalfind_estimated_value__add_field_find_estimat.py index 01196ccbd..01196ccbd 100644 --- a/archaeological_finds/migrations/0052_auto__add_field_historicalfind_estimated_value__add_field_find_estimat.py +++ b/archaeological_finds/old_migrations/0052_auto__add_field_historicalfind_estimated_value__add_field_find_estimat.py diff --git a/archaeological_finds/migrations/0053_view_find_treatments.py b/archaeological_finds/old_migrations/0053_view_find_treatments.py index 1e06e490b..1e06e490b 100644 --- a/archaeological_finds/migrations/0053_view_find_treatments.py +++ b/archaeological_finds/old_migrations/0053_view_find_treatments.py diff --git a/archaeological_finds/migrations/0054_rename_treatment_views.py b/archaeological_finds/old_migrations/0054_rename_treatment_views.py index 1eccc93c1..1eccc93c1 100644 --- a/archaeological_finds/migrations/0054_rename_treatment_views.py +++ b/archaeological_finds/old_migrations/0054_rename_treatment_views.py diff --git a/archaeological_finds/migrations/0055_auto__add_field_findsource_image__add_field_findsource_thumbnail__add_.py b/archaeological_finds/old_migrations/0055_auto__add_field_findsource_image__add_field_findsource_thumbnail__add_.py index 8ac1a319f..8ac1a319f 100644 --- a/archaeological_finds/migrations/0055_auto__add_field_findsource_image__add_field_findsource_thumbnail__add_.py +++ b/archaeological_finds/old_migrations/0055_auto__add_field_findsource_image__add_field_findsource_thumbnail__add_.py diff --git a/archaeological_finds/migrations/0056_auto__add_field_historicalfind_cached_label__add_field_find_cached_lab.py b/archaeological_finds/old_migrations/0056_auto__add_field_historicalfind_cached_label__add_field_find_cached_lab.py index c0d048ba3..c0d048ba3 100644 --- a/archaeological_finds/migrations/0056_auto__add_field_historicalfind_cached_label__add_field_find_cached_lab.py +++ b/archaeological_finds/old_migrations/0056_auto__add_field_historicalfind_cached_label__add_field_find_cached_lab.py diff --git a/archaeological_finds/migrations/0057_generate_cached_label.py b/archaeological_finds/old_migrations/0057_generate_cached_label.py index 911eb7746..911eb7746 100644 --- a/archaeological_finds/migrations/0057_generate_cached_label.py +++ b/archaeological_finds/old_migrations/0057_generate_cached_label.py diff --git a/archaeological_finds/migrations/0058_auto__chg_field_historicalfind_image__chg_field_historicalfind_thumbna.py b/archaeological_finds/old_migrations/0058_auto__chg_field_historicalfind_image__chg_field_historicalfind_thumbna.py index eb09747d4..eb09747d4 100644 --- a/archaeological_finds/migrations/0058_auto__chg_field_historicalfind_image__chg_field_historicalfind_thumbna.py +++ b/archaeological_finds/old_migrations/0058_auto__chg_field_historicalfind_image__chg_field_historicalfind_thumbna.py diff --git a/archaeological_finds/migrations/0059_auto__add_field_historicalfind_thickness__add_field_find_thickness.py b/archaeological_finds/old_migrations/0059_auto__add_field_historicalfind_thickness__add_field_find_thickness.py index e72ad71e4..e72ad71e4 100644 --- a/archaeological_finds/migrations/0059_auto__add_field_historicalfind_thickness__add_field_find_thickness.py +++ b/archaeological_finds/old_migrations/0059_auto__add_field_historicalfind_thickness__add_field_find_thickness.py diff --git a/archaeological_finds/migrations/0060_auto__add_field_historicalfind_topographic_reference_point__add_field_.py b/archaeological_finds/old_migrations/0060_auto__add_field_historicalfind_topographic_reference_point__add_field_.py index b4855a779..b4855a779 100644 --- a/archaeological_finds/migrations/0060_auto__add_field_historicalfind_topographic_reference_point__add_field_.py +++ b/archaeological_finds/old_migrations/0060_auto__add_field_historicalfind_topographic_reference_point__add_field_.py diff --git a/archaeological_finds/migrations/0061_auto__add_field_historicalfind_min_number_of_individuals__add_field_fi.py b/archaeological_finds/old_migrations/0061_auto__add_field_historicalfind_min_number_of_individuals__add_field_fi.py index 8ae8784f8..8ae8784f8 100644 --- a/archaeological_finds/migrations/0061_auto__add_field_historicalfind_min_number_of_individuals__add_field_fi.py +++ b/archaeological_finds/old_migrations/0061_auto__add_field_historicalfind_min_number_of_individuals__add_field_fi.py diff --git a/archaeological_finds/migrations/0062_auto__del_field_historicaltreatment_other_location__add_field_historic.py b/archaeological_finds/old_migrations/0062_auto__del_field_historicaltreatment_other_location__add_field_historic.py index 61985ec9f..61985ec9f 100644 --- a/archaeological_finds/migrations/0062_auto__del_field_historicaltreatment_other_location__add_field_historic.py +++ b/archaeological_finds/old_migrations/0062_auto__del_field_historicaltreatment_other_location__add_field_historic.py diff --git a/archaeological_finds/migrations/0063_treats_generate_year_index.py b/archaeological_finds/old_migrations/0063_treats_generate_year_index.py index 0c6ddee13..0c6ddee13 100644 --- a/archaeological_finds/migrations/0063_treats_generate_year_index.py +++ b/archaeological_finds/old_migrations/0063_treats_generate_year_index.py diff --git a/archaeological_finds/migrations/0064_auto__add_unique_treatment_index_year.py b/archaeological_finds/old_migrations/0064_auto__add_unique_treatment_index_year.py index 3185fc2ff..3185fc2ff 100644 --- a/archaeological_finds/migrations/0064_auto__add_unique_treatment_index_year.py +++ b/archaeological_finds/old_migrations/0064_auto__add_unique_treatment_index_year.py diff --git a/archaeological_finds/migrations/0065_copy_treatment_types.py b/archaeological_finds/old_migrations/0065_copy_treatment_types.py index b4bdd0a05..b4bdd0a05 100644 --- a/archaeological_finds/migrations/0065_copy_treatment_types.py +++ b/archaeological_finds/old_migrations/0065_copy_treatment_types.py diff --git a/archaeological_finds/migrations/0066_auto__del_field_historicaltreatment_treatment_type_id__del_field_treat.py b/archaeological_finds/old_migrations/0066_auto__del_field_historicaltreatment_treatment_type_id__del_field_treat.py index 2bcca03aa..2bcca03aa 100644 --- a/archaeological_finds/migrations/0066_auto__del_field_historicaltreatment_treatment_type_id__del_field_treat.py +++ b/archaeological_finds/old_migrations/0066_auto__del_field_historicaltreatment_treatment_type_id__del_field_treat.py diff --git a/archaeological_finds/migrations/0067_on_delete_for_views.py b/archaeological_finds/old_migrations/0067_on_delete_for_views.py index f7a744325..f7a744325 100644 --- a/archaeological_finds/migrations/0067_on_delete_for_views.py +++ b/archaeological_finds/old_migrations/0067_on_delete_for_views.py diff --git a/archaeological_finds/migrations/0068_auto__add_treatmentfile__add_unique_treatmentfile_year_index__add_hist.py b/archaeological_finds/old_migrations/0068_auto__add_treatmentfile__add_unique_treatmentfile_year_index__add_hist.py index 5949fa70d..5949fa70d 100644 --- a/archaeological_finds/migrations/0068_auto__add_treatmentfile__add_unique_treatmentfile_year_index__add_hist.py +++ b/archaeological_finds/old_migrations/0068_auto__add_treatmentfile__add_unique_treatmentfile_year_index__add_hist.py diff --git a/archaeological_finds/migrations/0069_auto__add_field_historicaltreatment_file_id__add_field_treatment_file.py b/archaeological_finds/old_migrations/0069_auto__add_field_historicaltreatment_file_id__add_field_treatment_file.py index cba7e6c94..cba7e6c94 100644 --- a/archaeological_finds/migrations/0069_auto__add_field_historicaltreatment_file_id__add_field_treatment_file.py +++ b/archaeological_finds/old_migrations/0069_auto__add_field_historicaltreatment_file_id__add_field_treatment_file.py diff --git a/archaeological_finds/migrations/0070_auto__add_treatmentfilesource.py b/archaeological_finds/old_migrations/0070_auto__add_treatmentfilesource.py index 6793487e0..6793487e0 100644 --- a/archaeological_finds/migrations/0070_auto__add_treatmentfilesource.py +++ b/archaeological_finds/old_migrations/0070_auto__add_treatmentfilesource.py diff --git a/archaeological_finds/migrations/0071_auto__add_field_historicaltreatment_cached_label__add_field_treatment_.py b/archaeological_finds/old_migrations/0071_auto__add_field_historicaltreatment_cached_label__add_field_treatment_.py index bc5bfb611..bc5bfb611 100644 --- a/archaeological_finds/migrations/0071_auto__add_field_historicaltreatment_cached_label__add_field_treatment_.py +++ b/archaeological_finds/old_migrations/0071_auto__add_field_historicaltreatment_cached_label__add_field_treatment_.py diff --git a/archaeological_finds/migrations/0072_auto__add_field_treatmentfile_applicant__add_field_treatmentfile_appli.py b/archaeological_finds/old_migrations/0072_auto__add_field_treatmentfile_applicant__add_field_treatmentfile_appli.py index fd24fe719..fd24fe719 100644 --- a/archaeological_finds/migrations/0072_auto__add_field_treatmentfile_applicant__add_field_treatmentfile_appli.py +++ b/archaeological_finds/old_migrations/0072_auto__add_field_treatmentfile_applicant__add_field_treatmentfile_appli.py diff --git a/archaeological_finds/migrations/0073_auto__add_treatmentstate__add_field_historicaltreatment_treatment_stat.py b/archaeological_finds/old_migrations/0073_auto__add_treatmentstate__add_field_historicaltreatment_treatment_stat.py index b68e13499..b68e13499 100644 --- a/archaeological_finds/migrations/0073_auto__add_treatmentstate__add_field_historicaltreatment_treatment_stat.py +++ b/archaeological_finds/old_migrations/0073_auto__add_treatmentstate__add_field_historicaltreatment_treatment_stat.py diff --git a/archaeological_finds/migrations/0074_auto__add_field_find_collection__add_field_historicalfind_collection_i.py b/archaeological_finds/old_migrations/0074_auto__add_field_find_collection__add_field_historicalfind_collection_i.py index 8bb0a2c44..8bb0a2c44 100644 --- a/archaeological_finds/migrations/0074_auto__add_field_find_collection__add_field_historicalfind_collection_i.py +++ b/archaeological_finds/old_migrations/0074_auto__add_field_find_collection__add_field_historicalfind_collection_i.py diff --git a/archaeological_finds/migrations/0075_auto__chg_field_find_container__chg_field_find_upstream_treatment__chg.py b/archaeological_finds/old_migrations/0075_auto__chg_field_find_container__chg_field_find_upstream_treatment__chg.py index 600f7ca74..600f7ca74 100644 --- a/archaeological_finds/migrations/0075_auto__chg_field_find_container__chg_field_find_upstream_treatment__chg.py +++ b/archaeological_finds/old_migrations/0075_auto__chg_field_find_container__chg_field_find_upstream_treatment__chg.py diff --git a/archaeological_finds/migrations/0076_auto__add_field_treatmenttype_order__add_field_treatmenttype_parent.py b/archaeological_finds/old_migrations/0076_auto__add_field_treatmenttype_order__add_field_treatmenttype_parent.py index 0b07fff4a..0b07fff4a 100644 --- a/archaeological_finds/migrations/0076_auto__add_field_treatmenttype_order__add_field_treatmenttype_parent.py +++ b/archaeological_finds/old_migrations/0076_auto__add_field_treatmenttype_order__add_field_treatmenttype_parent.py diff --git a/archaeological_finds/migrations/0077_auto__add_field_historicaltreatment_estimated_cost__add_field_historic.py b/archaeological_finds/old_migrations/0077_auto__add_field_historicaltreatment_estimated_cost__add_field_historic.py index 720d66973..720d66973 100644 --- a/archaeological_finds/migrations/0077_auto__add_field_historicaltreatment_estimated_cost__add_field_historic.py +++ b/archaeological_finds/old_migrations/0077_auto__add_field_historicaltreatment_estimated_cost__add_field_historic.py diff --git a/archaeological_finds/migrations/0078_fix_treatment_views.py b/archaeological_finds/old_migrations/0078_fix_treatment_views.py index 0bd018e50..0bd018e50 100644 --- a/archaeological_finds/migrations/0078_fix_treatment_views.py +++ b/archaeological_finds/old_migrations/0078_fix_treatment_views.py diff --git a/archaeological_finds/migrations/0079_auto__del_field_find_topographic_reference_point__del_field_historical.py b/archaeological_finds/old_migrations/0079_auto__del_field_find_topographic_reference_point__del_field_historical.py index e2b16f1da..e2b16f1da 100644 --- a/archaeological_finds/migrations/0079_auto__del_field_find_topographic_reference_point__del_field_historical.py +++ b/archaeological_finds/old_migrations/0079_auto__del_field_find_topographic_reference_point__del_field_historical.py diff --git a/archaeological_finds/migrations/0080_auto__add_field_basefind_x__add_field_basefind_y__add_field_basefind_z.py b/archaeological_finds/old_migrations/0080_auto__add_field_basefind_x__add_field_basefind_y__add_field_basefind_z.py index 7559daeab..7559daeab 100644 --- a/archaeological_finds/migrations/0080_auto__add_field_basefind_x__add_field_basefind_y__add_field_basefind_z.py +++ b/archaeological_finds/old_migrations/0080_auto__add_field_basefind_x__add_field_basefind_y__add_field_basefind_z.py diff --git a/archaeological_finds/migrations/0081_regenerate_treatment_views.py b/archaeological_finds/old_migrations/0081_regenerate_treatment_views.py index 9417088c2..9417088c2 100644 --- a/archaeological_finds/migrations/0081_regenerate_treatment_views.py +++ b/archaeological_finds/old_migrations/0081_regenerate_treatment_views.py diff --git a/archaeological_finds/migrations/0082_auto__add_batchtype__add_field_basefind_new_batch__add_field_historica.py b/archaeological_finds/old_migrations/0082_auto__add_batchtype__add_field_basefind_new_batch__add_field_historica.py index 1f1a8edc1..1f1a8edc1 100644 --- a/archaeological_finds/migrations/0082_auto__add_batchtype__add_field_basefind_new_batch__add_field_historica.py +++ b/archaeological_finds/old_migrations/0082_auto__add_batchtype__add_field_basefind_new_batch__add_field_historica.py diff --git a/archaeological_finds/migrations/0083_batch_to_new_batch.py b/archaeological_finds/old_migrations/0083_batch_to_new_batch.py index 2a982d391..2a982d391 100644 --- a/archaeological_finds/migrations/0083_batch_to_new_batch.py +++ b/archaeological_finds/old_migrations/0083_batch_to_new_batch.py diff --git a/archaeological_finds/migrations/0084_auto__del_field_basefind_new_batch__chg_field_basefind_batch__del_fiel.py b/archaeological_finds/old_migrations/0084_auto__del_field_basefind_new_batch__chg_field_basefind_batch__del_fiel.py index 404fb76eb..404fb76eb 100644 --- a/archaeological_finds/migrations/0084_auto__del_field_basefind_new_batch__chg_field_basefind_batch__del_fiel.py +++ b/archaeological_finds/old_migrations/0084_auto__del_field_basefind_new_batch__chg_field_basefind_batch__del_fiel.py diff --git a/archaeological_finds/migrations/0085_create_bulk_update_view.py b/archaeological_finds/old_migrations/0085_create_bulk_update_view.py index c59420fe2..c59420fe2 100644 --- a/archaeological_finds/migrations/0085_create_bulk_update_view.py +++ b/archaeological_finds/old_migrations/0085_create_bulk_update_view.py diff --git a/archaeological_finds/old_migrations/__init__.py b/archaeological_finds/old_migrations/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/archaeological_finds/old_migrations/__init__.py diff --git a/archaeological_finds/templates/ishtar/sheet_find.html b/archaeological_finds/templates/ishtar/sheet_find.html index db192cc9f..1604e2018 100644 --- a/archaeological_finds/templates/ishtar/sheet_find.html +++ b/archaeological_finds/templates/ishtar/sheet_find.html @@ -1,6 +1,5 @@ {% extends "ishtar/sheet.html" %} {% load i18n window_field from_dict link_to_window window_tables window_header humanize %} -{% load url from future %} {% block head_title %}{% trans "Find" %}{% endblock %} {% block content %} diff --git a/archaeological_finds/templates/ishtar/sheet_treatment.html b/archaeological_finds/templates/ishtar/sheet_treatment.html index 9d6c75425..5fc8f2aac 100644 --- a/archaeological_finds/templates/ishtar/sheet_treatment.html +++ b/archaeological_finds/templates/ishtar/sheet_treatment.html @@ -1,6 +1,5 @@ {% extends "ishtar/sheet.html" %} {% load i18n window_field from_dict link_to_window window_tables window_ope_tables window_header humanize %} -{% load url from future %} {% block head_title %}{% trans "Treatment" %}{% endblock %} {% block content %} diff --git a/archaeological_finds/templates/ishtar/sheet_treatmentfile.html b/archaeological_finds/templates/ishtar/sheet_treatmentfile.html index b84f60883..f8fb3e0aa 100644 --- a/archaeological_finds/templates/ishtar/sheet_treatmentfile.html +++ b/archaeological_finds/templates/ishtar/sheet_treatmentfile.html @@ -1,6 +1,5 @@ {% extends "ishtar/sheet.html" %} {% load i18n window_field from_dict link_to_window window_tables window_ope_tables window_header humanize %} -{% load url from future %} {% block head_title %}{% trans "Treatment request" %}{% endblock %} {% block content %} diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index cd6bada77..10860c0f3 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -52,8 +52,11 @@ class FindInit(ContextRecordInit): self.base_finds = [] default = {'label': "Base find"} - if not data_base.get('history_modifier'): - data_base['history_modifier'] = self.get_default_user() + if not data_base.get('history_modifier') or not data_base[ + 'history_modifier'].pk: + user = self.get_default_user() + user.save() + data_base['history_modifier'] = user if force or not data_base.get('context_record'): data_base['context_record'] = self.get_default_context_record( force=force) @@ -146,6 +149,8 @@ class AFindWizardCreationTest(WizardTest, FindInit, TestCase): self.basefind_number + 1) self.assertEqual(models.Find.objects.count(), self.find_number + 1) + find = models.Find.objects.order_by("-pk")[0] + self.assertEqual(find.datings.count(), 1) class ATreatmentWizardCreationTest(WizardTest, FindInit, TestCase): diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py index 9c331ccc9..78ea05e96 100644 --- a/archaeological_finds/urls.py +++ b/archaeological_finds/urls.py @@ -17,7 +17,7 @@ # See the file COPYING for details. -from django.conf.urls import * +from django.conf.urls import patterns, url from ishtar_common.wizards import check_rights import views diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index 680faf421..681296b3c 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -84,9 +84,9 @@ def autocomplete_treatmentfile(request): models.Treatment) \ and not request.user.ishtaruser.has_right('treatmentfile_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 q1 in q.split(' '): @@ -104,7 +104,7 @@ def autocomplete_treatmentfile(request): files = models.TreatmentFile.objects.filter(query)[:limit] data = json.dumps([{'id': file.pk, 'value': unicode(file)} for file in files]) - return HttpResponse(data, mimetype='text/plain') + return HttpResponse(data, content_type='text/plain') show_findsource = show_item(models.FindSource, 'findsource') |