summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-04-14 21:24:46 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-04-14 21:24:46 +0200
commit9faab93c97b94e2dc2db11d3cbd9c0a5535cef52 (patch)
tree46790ab96aa34ec81cd1216eff4518197b35cb9d
parent11185161a0ec5c15a1852fd7bc387b82573b577a (diff)
downloadIshtar-9faab93c97b94e2dc2db11d3cbd9c0a5535cef52.tar.bz2
Ishtar-9faab93c97b94e2dc2db11d3cbd9c0a5535cef52.zip
New migration management
-rw-r--r--Makefile.example18
-rw-r--r--archaeological_context_records/migrations/0001_initial.py893
-rw-r--r--archaeological_context_records/migrations/0002_auto_20170414_2123.py46
-rw-r--r--archaeological_context_records/migrations/0003_auto_20170414_2123.py104
-rw-r--r--archaeological_context_records/old_migrations/0001_initial.py587
-rw-r--r--archaeological_context_records/old_migrations/0002_auto__add_field_contextrecordsource_reference__add_field_contextrecord.py (renamed from archaeological_context_records/migrations/0002_auto__add_field_contextrecordsource_reference__add_field_contextrecord.py)0
-rw-r--r--archaeological_context_records/old_migrations/0003_auto__add_field_contextrecord_history_creator__add_field_historicalcon.py (renamed from archaeological_context_records/migrations/0003_auto__add_field_contextrecord_history_creator__add_field_historicalcon.py)0
-rw-r--r--archaeological_context_records/old_migrations/0004_init_history_creator.py (renamed from archaeological_context_records/migrations/0004_init_history_creator.py)0
-rw-r--r--archaeological_context_records/old_migrations/0005_reinit_history_creator.py (renamed from archaeological_context_records/migrations/0005_reinit_history_creator.py)0
-rw-r--r--archaeological_context_records/old_migrations/0006_auto__chg_field_contextrecord_history_creator__chg_field_contextrecord.py (renamed from archaeological_context_records/migrations/0006_auto__chg_field_contextrecord_history_creator__chg_field_contextrecord.py)0
-rw-r--r--archaeological_context_records/old_migrations/0007_auto__add_relationtype__add_recordrelations.py (renamed from archaeological_context_records/migrations/0007_auto__add_relationtype__add_recordrelations.py)0
-rw-r--r--archaeological_context_records/old_migrations/0008_auto__add_field_contextrecord_external_id__add_field_contextrecord_com.py (renamed from archaeological_context_records/migrations/0008_auto__add_field_contextrecord_external_id__add_field_contextrecord_com.py)0
-rw-r--r--archaeological_context_records/old_migrations/0009_auto__add_field_contextrecordsource_external_id.py (renamed from archaeological_context_records/migrations/0009_auto__add_field_contextrecordsource_external_id.py)0
-rw-r--r--archaeological_context_records/old_migrations/0010_auto.py (renamed from archaeological_context_records/migrations/0010_auto.py)0
-rw-r--r--archaeological_context_records/old_migrations/0011_auto__chg_field_datingtype_txt_idx__chg_field_datingquality_txt_idx__c.py (renamed from archaeological_context_records/migrations/0011_auto__chg_field_datingtype_txt_idx__chg_field_datingquality_txt_idx__c.py)0
-rw-r--r--archaeological_context_records/old_migrations/0012_auto__add_field_dating_precise_dating.py (renamed from archaeological_context_records/migrations/0012_auto__add_field_dating_precise_dating.py)0
-rw-r--r--archaeological_context_records/old_migrations/0013_auto__add_field_contextrecordsource_duplicate__chg_field_contextrecord.py (renamed from archaeological_context_records/migrations/0013_auto__add_field_contextrecordsource_duplicate__chg_field_contextrecord.py)0
-rw-r--r--archaeological_context_records/old_migrations/0014_auto__add_field_contextrecordsource_receipt_date_in_documentation.py (renamed from archaeological_context_records/migrations/0014_auto__add_field_contextrecordsource_receipt_date_in_documentation.py)0
-rw-r--r--archaeological_context_records/old_migrations/0015_auto__add_field_contextrecord_point__add_field_contextrecord_polygon__.py (renamed from archaeological_context_records/migrations/0015_auto__add_field_contextrecord_point__add_field_contextrecord_polygon__.py)0
-rw-r--r--archaeological_context_records/old_migrations/0016_auto__add_field_relationtype_short_label.py (renamed from archaeological_context_records/migrations/0016_auto__add_field_relationtype_short_label.py)0
-rw-r--r--archaeological_context_records/old_migrations/0017_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py (renamed from archaeological_context_records/migrations/0017_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py)0
-rw-r--r--archaeological_context_records/old_migrations/0018_auto__chg_field_contextrecord_external_id__chg_field_historicalcontext.py (renamed from archaeological_context_records/migrations/0018_auto__chg_field_contextrecord_external_id__chg_field_historicalcontext.py)0
-rw-r--r--archaeological_context_records/old_migrations/0019_auto__add_field_contextrecord_auto_external_id__add_field_historicalco.py (renamed from archaeological_context_records/migrations/0019_auto__add_field_contextrecord_auto_external_id__add_field_historicalco.py)0
-rw-r--r--archaeological_context_records/old_migrations/0020_auto__add_field_contextrecord_datings_comment__add_field_historicalcon.py (renamed from archaeological_context_records/migrations/0020_auto__add_field_contextrecord_datings_comment__add_field_historicalcon.py)0
-rw-r--r--archaeological_context_records/old_migrations/0021_auto__chg_field_contextrecord_depth__chg_field_contextrecord_thickness.py (renamed from archaeological_context_records/migrations/0021_auto__chg_field_contextrecord_depth__chg_field_contextrecord_thickness.py)0
-rw-r--r--archaeological_context_records/old_migrations/0022_auto__add_field_contextrecord_image__add_field_contextrecord_thumbnail.py (renamed from archaeological_context_records/migrations/0022_auto__add_field_contextrecord_image__add_field_contextrecord_thumbnail.py)0
-rw-r--r--archaeological_context_records/old_migrations/0023_clean_parcels.py (renamed from archaeological_context_records/migrations/0023_clean_parcels.py)0
-rw-r--r--archaeological_context_records/old_migrations/0024_auto__add_field_contextrecord_cached_label__add_field_historicalcontex.py (renamed from archaeological_context_records/migrations/0024_auto__add_field_contextrecord_cached_label__add_field_historicalcontex.py)0
-rw-r--r--archaeological_context_records/old_migrations/0025_generate_cached_label.py (renamed from archaeological_context_records/migrations/0025_generate_cached_label.py)0
-rw-r--r--archaeological_context_records/old_migrations/0026_auto__chg_field_contextrecord_image__chg_field_contextrecord_thumbnail.py (renamed from archaeological_context_records/migrations/0026_auto__chg_field_contextrecord_image__chg_field_contextrecord_thumbnail.py)0
-rw-r--r--archaeological_context_records/old_migrations/0027_view_record_relations.py (renamed from archaeological_context_records/migrations/0027_view_record_relations.py)0
-rw-r--r--archaeological_context_records/old_migrations/0028_auto__chg_field_contextrecord_location__chg_field_historicalcontextrec.py (renamed from archaeological_context_records/migrations/0028_auto__chg_field_contextrecord_location__chg_field_historicalcontextrec.py)0
-rw-r--r--archaeological_context_records/old_migrations/0029_create_bulk_update_view.py (renamed from archaeological_context_records/migrations/0029_create_bulk_update_view.py)0
-rw-r--r--archaeological_context_records/old_migrations/0030_auto__add_excavationtechnictype__add_field_contextrecord_excavation_te.py (renamed from archaeological_context_records/migrations/0030_auto__add_excavationtechnictype__add_field_contextrecord_excavation_te.py)0
-rw-r--r--archaeological_context_records/old_migrations/0031_auto__add_documentationtype__add_field_contextrecord_diameter__add_fie.py (renamed from archaeological_context_records/migrations/0031_auto__add_documentationtype__add_field_contextrecord_diameter__add_fie.py)0
-rw-r--r--archaeological_context_records/old_migrations/0032_has_furniture_to_documentations.py (renamed from archaeological_context_records/migrations/0032_has_furniture_to_documentations.py)0
-rw-r--r--archaeological_context_records/old_migrations/0033_auto__del_field_contextrecord_has_furniture__del_field_historicalconte.py (renamed from archaeological_context_records/migrations/0033_auto__del_field_contextrecord_has_furniture__del_field_historicalconte.py)0
-rw-r--r--archaeological_context_records/old_migrations/__init__.py (renamed from archaeological_files_pdl/migrations/__init__.py)0
-rw-r--r--archaeological_files/migrations/0001_initial.py503
-rw-r--r--archaeological_files/migrations/0002_auto_20170414_2123.py188
-rw-r--r--archaeological_files/models.py6
-rw-r--r--archaeological_files/old_migrations/0001_initial.py348
-rw-r--r--archaeological_files/old_migrations/0002_views.py (renamed from archaeological_files/migrations/0002_views.py)0
-rw-r--r--archaeological_files/old_migrations/0003_auto__add_field_file_name__add_field_historicalfile_name.py (renamed from archaeological_files/migrations/0003_auto__add_field_file_name__add_field_historicalfile_name.py)0
-rw-r--r--archaeological_files/old_migrations/0004_auto__chg_field_file_numeric_reference__chg_field_historicalfile_numer.py (renamed from archaeological_files/migrations/0004_auto__chg_field_file_numeric_reference__chg_field_historicalfile_numer.py)0
-rw-r--r--archaeological_files/old_migrations/0005_auto__chg_field_file_internal_reference__chg_field_historicalfile_inte.py (renamed from archaeological_files/migrations/0005_auto__chg_field_file_internal_reference__chg_field_historicalfile_inte.py)0
-rw-r--r--archaeological_files/old_migrations/0006_auto__chg_field_file_in_charge.py (renamed from archaeological_files/migrations/0006_auto__chg_field_file_in_charge.py)0
-rw-r--r--archaeological_files/old_migrations/0007_auto__add_field_file_cached_label__add_field_historicalfile_cached_lab.py (renamed from archaeological_files/migrations/0007_auto__add_field_file_cached_label__add_field_historicalfile_cached_lab.py)0
-rw-r--r--archaeological_files/old_migrations/0008_auto__chg_field_file_cached_label__chg_field_historicalfile_cached_lab.py (renamed from archaeological_files/migrations/0008_auto__chg_field_file_cached_label__chg_field_historicalfile_cached_lab.py)0
-rw-r--r--archaeological_files/old_migrations/0009_auto__add_field_file_responsible_town_planning_service__add_field_hist.py (renamed from archaeological_files/migrations/0009_auto__add_field_file_responsible_town_planning_service__add_field_hist.py)0
-rw-r--r--archaeological_files/old_migrations/0010_responsible_town_planning_service_transition.py (renamed from archaeological_files/migrations/0010_responsible_town_planning_service_transition.py)0
-rw-r--r--archaeological_files/old_migrations/0011_auto__del_field_file_town_planning_service__del_field_historicalfile_t.py (renamed from archaeological_files/migrations/0011_auto__del_field_file_town_planning_service__del_field_historicalfile_t.py)0
-rw-r--r--archaeological_files/old_migrations/0012_auto__del_unique_file_internal_reference__add_unique_file_year_interna.py (renamed from archaeological_files/migrations/0012_auto__del_unique_file_internal_reference__add_unique_file_year_interna.py)0
-rw-r--r--archaeological_files/old_migrations/0013_auto__del_unique_file_year_internal_reference.py (renamed from archaeological_files/migrations/0013_auto__del_unique_file_year_internal_reference.py)0
-rw-r--r--archaeological_files/old_migrations/0014_auto__add_field_file_requested_operation_type__add_field_file_organiza.py (renamed from archaeological_files/migrations/0014_auto__add_field_file_requested_operation_type__add_field_file_organiza.py)0
-rw-r--r--archaeological_files/old_migrations/0015_auto__add_field_file_history_creator__add_field_historicalfile_history.py (renamed from archaeological_files/migrations/0015_auto__add_field_file_history_creator__add_field_historicalfile_history.py)0
-rw-r--r--archaeological_files/old_migrations/0016_init_history_creator.py (renamed from archaeological_files/migrations/0016_init_history_creator.py)0
-rw-r--r--archaeological_files/old_migrations/0017_reinit_history_creator.py (renamed from archaeological_files/migrations/0017_reinit_history_creator.py)0
-rw-r--r--archaeological_files/old_migrations/0018_auto__add_field_file_imported_line__chg_field_file_responsible_town_pl.py (renamed from archaeological_files/migrations/0018_auto__add_field_file_imported_line__chg_field_file_responsible_town_pl.py)0
-rw-r--r--archaeological_files/old_migrations/0019_auto__chg_field_file_history_creator__chg_field_file_history_modifier.py (renamed from archaeological_files/migrations/0019_auto__chg_field_file_history_creator__chg_field_file_history_modifier.py)0
-rw-r--r--archaeological_files/old_migrations/0020_auto.py (renamed from archaeological_files/migrations/0020_auto.py)0
-rw-r--r--archaeological_files/old_migrations/0021_auto__chg_field_saisinetype_txt_idx__chg_field_filetype_txt_idx__del_f.py (renamed from archaeological_files/migrations/0021_auto__chg_field_saisinetype_txt_idx__chg_field_filetype_txt_idx__del_f.py)0
-rw-r--r--archaeological_files/old_migrations/0022_auto__add_field_file_corporation_general_contractor__add_field_file_co.py (renamed from archaeological_files/migrations/0022_auto__add_field_file_corporation_general_contractor__add_field_file_co.py)0
-rw-r--r--archaeological_files/old_migrations/0023_auto__del_field_file_corporation_responsible_town_planning_service__ad.py (renamed from archaeological_files/migrations/0023_auto__del_field_file_corporation_responsible_town_planning_service__ad.py)0
-rw-r--r--archaeological_files/old_migrations/0024_auto__chg_field_file_reference_number__chg_field_historicalfile_refere.py (renamed from archaeological_files/migrations/0024_auto__chg_field_file_reference_number__chg_field_historicalfile_refere.py)0
-rw-r--r--archaeological_files/old_migrations/0025_auto__add_field_file_external_id__chg_field_file_name__add_field_histo.py (renamed from archaeological_files/migrations/0025_auto__add_field_file_external_id__chg_field_file_name__add_field_histo.py)0
-rw-r--r--archaeological_files/old_migrations/0026_auto__chg_field_file_cached_label__chg_field_historicalfile_cached_lab.py (renamed from archaeological_files/migrations/0026_auto__chg_field_file_cached_label__chg_field_historicalfile_cached_lab.py)0
-rw-r--r--archaeological_files/old_migrations/0027_auto__chg_field_file_reference_number__chg_field_historicalfile_refere.py (renamed from archaeological_files/migrations/0027_auto__chg_field_file_reference_number__chg_field_historicalfile_refere.py)0
-rw-r--r--archaeological_files/old_migrations/0028_auto__chg_field_file_requested_operation_type.py (renamed from archaeological_files/migrations/0028_auto__chg_field_file_requested_operation_type.py)0
-rw-r--r--archaeological_files/old_migrations/0029_auto__chg_field_file_creation_date__chg_field_historicalfile_creation_.py (renamed from archaeological_files/migrations/0029_auto__chg_field_file_creation_date__chg_field_historicalfile_creation_.py)0
-rw-r--r--archaeological_files/old_migrations/0030_reference_number_to_permit_reference.py (renamed from archaeological_files/migrations/0030_reference_number_to_permit_reference.py)0
-rw-r--r--archaeological_files/old_migrations/0031_auto__del_field_file_reference_number__chg_field_file_permit_reference.py (renamed from archaeological_files/migrations/0031_auto__del_field_file_reference_number__chg_field_file_permit_reference.py)0
-rw-r--r--archaeological_files/old_migrations/0032_auto__add_field_file_auto_external_id__add_field_historicalfile_auto_e.py (renamed from archaeological_files/migrations/0032_auto__add_field_file_auto_external_id__add_field_historicalfile_auto_e.py)0
-rw-r--r--archaeological_files/old_migrations/0033_auto__chg_field_file_total_surface__chg_field_file_total_developed_sur.py (renamed from archaeological_files/migrations/0033_auto__chg_field_file_total_surface__chg_field_file_total_developed_sur.py)0
-rw-r--r--archaeological_files/old_migrations/__init__.py0
-rw-r--r--archaeological_finds/migrations/0001_initial.py1408
-rw-r--r--archaeological_finds/migrations/0002_auto_20170414_2123.py503
-rw-r--r--archaeological_finds/models_treatments.py8
-rw-r--r--archaeological_finds/old_migrations/0001_initial.py814
-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__.py0
-rw-r--r--archaeological_operations/migrations/0001_initial.py1038
-rw-r--r--archaeological_operations/migrations/0002_auto_20170414_2123.py365
-rw-r--r--archaeological_operations/old_migrations/0001_initial.py655
-rw-r--r--archaeological_operations/old_migrations/0002_views.py (renamed from archaeological_operations/migrations/0002_views.py)0
-rw-r--r--archaeological_operations/old_migrations/0003_auto__add_field_operationtype_preventive.py (renamed from archaeological_operations/migrations/0003_auto__add_field_operationtype_preventive.py)0
-rw-r--r--archaeological_operations/old_migrations/0004_auto__chg_field_historicaloperation_year__chg_field_operation_year.py (renamed from archaeological_operations/migrations/0004_auto__chg_field_historicaloperation_year__chg_field_operation_year.py)0
-rw-r--r--archaeological_operations/old_migrations/0005_auto__chg_field_historicaloperation_operation_code__chg_field_operatio.py (renamed from archaeological_operations/migrations/0005_auto__chg_field_historicaloperation_operation_code__chg_field_operatio.py)0
-rw-r--r--archaeological_operations/old_migrations/0006_auto__add_field_operationsource_reference__add_field_operationsource_i.py (renamed from archaeological_operations/migrations/0006_auto__add_field_operationsource_reference__add_field_operationsource_i.py)0
-rw-r--r--archaeological_operations/old_migrations/0007_auto__chg_field_administrativeact_ref_sra__chg_field_historicaladminis.py (renamed from archaeological_operations/migrations/0007_auto__chg_field_administrativeact_ref_sra__chg_field_historicaladminis.py)0
-rw-r--r--archaeological_operations/old_migrations/0008_auto__chg_field_operationsource_index__chg_field_operationsource_title.py (renamed from archaeological_operations/migrations/0008_auto__chg_field_operationsource_index__chg_field_operationsource_title.py)0
-rw-r--r--archaeological_operations/old_migrations/0009_auto__add_field_historicaloperation_cached_label__add_field_operation_.py (renamed from archaeological_operations/migrations/0009_auto__add_field_historicaloperation_cached_label__add_field_operation_.py)0
-rw-r--r--archaeological_operations/old_migrations/0010_auto__chg_field_historicaloperation_cached_label__chg_field_operation_.py (renamed from archaeological_operations/migrations/0010_auto__chg_field_historicaloperation_cached_label__chg_field_operation_.py)0
-rw-r--r--archaeological_operations/old_migrations/0011_auto__add_field_historicaloperation_report_delivery_date__add_field_op.py (renamed from archaeological_operations/migrations/0011_auto__add_field_historicaloperation_report_delivery_date__add_field_op.py)0
-rw-r--r--archaeological_operations/old_migrations/0012_auto.py (renamed from archaeological_operations/migrations/0012_auto.py)0
-rw-r--r--archaeological_operations/old_migrations/0013_auto__add_field_acttype_code.py (renamed from archaeological_operations/migrations/0013_auto__add_field_acttype_code.py)0
-rw-r--r--archaeological_operations/old_migrations/0014_auto__add_archaeologicalsite.py (renamed from archaeological_operations/migrations/0014_auto__add_archaeologicalsite.py)0
-rw-r--r--archaeological_operations/old_migrations/0015_auto__add_unique_archaeologicalsite_reference.py (renamed from archaeological_operations/migrations/0015_auto__add_unique_archaeologicalsite_reference.py)0
-rw-r--r--archaeological_operations/old_migrations/0016_auto__add_field_acttype_indexed__add_field_historicaladministrativeact.py (renamed from archaeological_operations/migrations/0016_auto__add_field_acttype_indexed__add_field_historicaladministrativeact.py)0
-rw-r--r--archaeological_operations/old_migrations/0017_rename_in_charge_to_scientist.py (renamed from archaeological_operations/migrations/0017_rename_in_charge_to_scientist.py)0
-rw-r--r--archaeological_operations/old_migrations/0018_auto__add_field_historicaloperation_in_charge_id__add_field_operation_.py (renamed from archaeological_operations/migrations/0018_auto__add_field_historicaloperation_in_charge_id__add_field_operation_.py)0
-rw-r--r--archaeological_operations/old_migrations/0019_auto__add_field_historicaloperation_operator_id__add_field_operation_o.py (renamed from archaeological_operations/migrations/0019_auto__add_field_historicaloperation_operator_id__add_field_operation_o.py)0
-rw-r--r--archaeological_operations/old_migrations/0020_auto__add_field_parcel_history_creator__add_field_historicaloperation_.py (renamed from archaeological_operations/migrations/0020_auto__add_field_parcel_history_creator__add_field_historicaloperation_.py)0
-rw-r--r--archaeological_operations/old_migrations/0021_init_history_creator.py (renamed from archaeological_operations/migrations/0021_init_history_creator.py)0
-rw-r--r--archaeological_operations/old_migrations/0022_auto__add_field_operationtype_order.py (renamed from archaeological_operations/migrations/0022_auto__add_field_operationtype_order.py)0
-rw-r--r--archaeological_operations/old_migrations/0023_add_year_administrativact.py (renamed from archaeological_operations/migrations/0023_add_year_administrativact.py)0
-rw-r--r--archaeological_operations/old_migrations/0024_reinit_history_creator.py (renamed from archaeological_operations/migrations/0024_reinit_history_creator.py)0
-rw-r--r--archaeological_operations/old_migrations/0025_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py (renamed from archaeological_operations/migrations/0025_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py)0
-rw-r--r--archaeological_operations/old_migrations/0026_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py (renamed from archaeological_operations/migrations/0026_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py)0
-rw-r--r--archaeological_operations/old_migrations/0027_auto__add_field_historicaloperation_creation_date__add_field_operation.py (renamed from archaeological_operations/migrations/0027_auto__add_field_historicaloperation_creation_date__add_field_operation.py)0
-rw-r--r--archaeological_operations/old_migrations/0028_init_creation_date.py (renamed from archaeological_operations/migrations/0028_init_creation_date.py)0
-rw-r--r--archaeological_operations/old_migrations/0029_auto__chg_field_historicaloperation_creation_date__chg_field_operation.py (renamed from archaeological_operations/migrations/0029_auto__chg_field_historicaloperation_creation_date__chg_field_operation.py)0
-rw-r--r--archaeological_operations/old_migrations/0030_auto__chg_field_parcel_history_creator__chg_field_parcel_history_modif.py (renamed from archaeological_operations/migrations/0030_auto__chg_field_parcel_history_creator__chg_field_parcel_history_modif.py)0
-rw-r--r--archaeological_operations/old_migrations/0031_auto__add_field_parcel_address.py (renamed from archaeological_operations/migrations/0031_auto__add_field_parcel_address.py)0
-rw-r--r--archaeological_operations/old_migrations/0032_auto__add_field_operationsource_support_type__add_field_operationsourc.py (renamed from archaeological_operations/migrations/0032_auto__add_field_operationsource_support_type__add_field_operationsourc.py)0
-rw-r--r--archaeological_operations/old_migrations/0033_auto__add_field_parcel_external_id.py (renamed from archaeological_operations/migrations/0033_auto__add_field_parcel_external_id.py)0
-rw-r--r--archaeological_operations/old_migrations/0034_auto__add_field_operationsource_external_id.py (renamed from archaeological_operations/migrations/0034_auto__add_field_operationsource_external_id.py)0
-rw-r--r--archaeological_operations/old_migrations/0035_auto.py (renamed from archaeological_operations/migrations/0035_auto.py)0
-rw-r--r--archaeological_operations/old_migrations/0036_auto.py (renamed from archaeological_operations/migrations/0036_auto.py)0
-rw-r--r--archaeological_operations/old_migrations/0037_auto__chg_field_parcel_parcel_number__chg_field_operationtype_txt_idx_.py (renamed from archaeological_operations/migrations/0037_auto__chg_field_parcel_parcel_number__chg_field_operationtype_txt_idx_.py)0
-rw-r--r--archaeological_operations/old_migrations/0038_auto__add_unique_operation_code_patriarche.py (renamed from archaeological_operations/migrations/0038_auto__add_unique_operation_code_patriarche.py)0
-rw-r--r--archaeological_operations/old_migrations/0039_auto__add_recordrelations__add_relationtype.py (renamed from archaeological_operations/migrations/0039_auto__add_recordrelations__add_relationtype.py)0
-rw-r--r--archaeological_operations/old_migrations/0040_auto__chg_field_parcel_external_id.py (renamed from archaeological_operations/migrations/0040_auto__chg_field_parcel_external_id.py)0
-rw-r--r--archaeological_operations/old_migrations/0041_rename_ope_type_2_ope_type_old.py (renamed from archaeological_operations/migrations/0041_rename_ope_type_2_ope_type_old.py)0
-rw-r--r--archaeological_operations/old_migrations/0042_rename_ope_type_2_ope_type_old_2.py (renamed from archaeological_operations/migrations/0042_rename_ope_type_2_ope_type_old_2.py)0
-rw-r--r--archaeological_operations/old_migrations/0043_auto__add_field_historicaladministrativeact_departments_label__add_fie.py (renamed from archaeological_operations/migrations/0043_auto__add_field_historicaladministrativeact_departments_label__add_fie.py)0
-rw-r--r--archaeological_operations/old_migrations/0044_auto__add_field_historicaloperation_virtual_operation__add_field_histo.py (renamed from archaeological_operations/migrations/0044_auto__add_field_historicaloperation_virtual_operation__add_field_histo.py)0
-rw-r--r--archaeological_operations/old_migrations/0045_auto__chg_field_historicaloperation_common_name__chg_field_operation_c.py (renamed from archaeological_operations/migrations/0045_auto__chg_field_historicaloperation_common_name__chg_field_operation_c.py)0
-rw-r--r--archaeological_operations/old_migrations/0046_auto__add_reportstate__add_field_historicaloperation_report_processing.py (renamed from archaeological_operations/migrations/0046_auto__add_reportstate__add_field_historicaloperation_report_processing.py)0
-rw-r--r--archaeological_operations/old_migrations/0047_auto__add_field_operationsource_duplicate__chg_field_operationsource_i.py (renamed from archaeological_operations/migrations/0047_auto__add_field_operationsource_duplicate__chg_field_operationsource_i.py)0
-rw-r--r--archaeological_operations/old_migrations/0048_auto__add_field_operationsource_receipt_date_in_documentation.py (renamed from archaeological_operations/migrations/0048_auto__add_field_operationsource_receipt_date_in_documentation.py)0
-rw-r--r--archaeological_operations/old_migrations/0049_auto__add_field_historicaloperation_abstract__add_field_operation_abst.py (renamed from archaeological_operations/migrations/0049_auto__add_field_historicaloperation_abstract__add_field_operation_abst.py)0
-rw-r--r--archaeological_operations/old_migrations/0050_auto__chg_field_historicaloperation_code_dracar__chg_field_operation_c.py (renamed from archaeological_operations/migrations/0050_auto__chg_field_historicaloperation_code_dracar__chg_field_operation_c.py)0
-rw-r--r--archaeological_operations/old_migrations/0051_auto__add_field_historicaloperation_point__add_field_historicaloperati.py (renamed from archaeological_operations/migrations/0051_auto__add_field_historicaloperation_point__add_field_historicaloperati.py)0
-rw-r--r--archaeological_operations/old_migrations/0052_auto__add_field_relationtype_short_label.py (renamed from archaeological_operations/migrations/0052_auto__add_field_relationtype_short_label.py)0
-rw-r--r--archaeological_operations/old_migrations/0053_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py (renamed from archaeological_operations/migrations/0053_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py)0
-rw-r--r--archaeological_operations/old_migrations/0054_auto__add_field_parcel_auto_external_id.py (renamed from archaeological_operations/migrations/0054_auto__add_field_parcel_auto_external_id.py)0
-rw-r--r--archaeological_operations/old_migrations/0055_auto__add_field_parcel_public_domain.py (renamed from archaeological_operations/migrations/0055_auto__add_field_parcel_public_domain.py)0
-rw-r--r--archaeological_operations/old_migrations/0056_auto__chg_field_parcel_section.py (renamed from archaeological_operations/migrations/0056_auto__chg_field_parcel_section.py)0
-rw-r--r--archaeological_operations/old_migrations/0057_rename_code_dracar_to_old_code.py (renamed from archaeological_operations/migrations/0057_rename_code_dracar_to_old_code.py)0
-rw-r--r--archaeological_operations/old_migrations/0058_auto__add_field_operationsource_image__add_field_operationsource_thumb.py (renamed from archaeological_operations/migrations/0058_auto__add_field_operationsource_image__add_field_operationsource_thumb.py)0
-rw-r--r--archaeological_operations/old_migrations/0059_auto__add_field_historicaloperation_documentation_deadline__add_field_.py (renamed from archaeological_operations/migrations/0059_auto__add_field_historicaloperation_documentation_deadline__add_field_.py)0
-rw-r--r--archaeological_operations/old_migrations/0060_auto__add_field_historicaloperation_scientific_documentation_comment__.py (renamed from archaeological_operations/migrations/0060_auto__add_field_historicaloperation_scientific_documentation_comment__.py)0
-rw-r--r--archaeological_operations/old_migrations/0061_regenerate_cached_label.py (renamed from archaeological_operations/migrations/0061_regenerate_cached_label.py)0
-rw-r--r--archaeological_operations/old_migrations/0062_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py (renamed from archaeological_operations/migrations/0062_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py)0
-rw-r--r--archaeological_operations/old_migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py (renamed from archaeological_operations/migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py)0
-rw-r--r--archaeological_operations/old_migrations/0064_fix_old_operationtype.py (renamed from archaeological_operations/migrations/0064_fix_old_operationtype.py)0
-rw-r--r--archaeological_operations/old_migrations/0065_auto__add_field_historicaloperation_address__add_field_operation_addre.py (renamed from archaeological_operations/migrations/0065_auto__add_field_historicaloperation_address__add_field_operation_addre.py)0
-rw-r--r--archaeological_operations/old_migrations/0066_regenerate_cached_label.py (renamed from archaeological_operations/migrations/0066_regenerate_cached_label.py)0
-rw-r--r--archaeological_operations/old_migrations/0067_auto.py (renamed from archaeological_operations/migrations/0067_auto.py)0
-rw-r--r--archaeological_operations/old_migrations/__init__.py0
-rw-r--r--archaeological_warehouse/migrations/0001_initial.py399
-rw-r--r--archaeological_warehouse/migrations/0002_auto_20170414_2123.py105
-rw-r--r--archaeological_warehouse/old_migrations/0001_initial.py229
-rw-r--r--archaeological_warehouse/old_migrations/0002_auto__add_field_warehouse_history_creator__add_field_container_history.py (renamed from archaeological_warehouse/migrations/0002_auto__add_field_warehouse_history_creator__add_field_container_history.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0003_auto__add_field_warehouse_email.py (renamed from archaeological_warehouse/migrations/0003_auto__add_field_warehouse_email.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0004_auto__chg_field_warehouse_history_creator__chg_field_warehouse_person_.py (renamed from archaeological_warehouse/migrations/0004_auto__chg_field_warehouse_history_creator__chg_field_warehouse_person_.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0005_auto__chg_field_warehouse_town.py (renamed from archaeological_warehouse/migrations/0005_auto__chg_field_warehouse_town.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0006_auto.py (renamed from archaeological_warehouse/migrations/0006_auto.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0007_auto__chg_field_warehousetype_txt_idx__chg_field_containertype_txt_idx.py (renamed from archaeological_warehouse/migrations/0007_auto__chg_field_warehousetype_txt_idx__chg_field_containertype_txt_idx.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0008_auto__add_field_warehouse_alt_address__add_field_warehouse_alt_address.py (renamed from archaeological_warehouse/migrations/0008_auto__add_field_warehouse_alt_address__add_field_warehouse_alt_address.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0009_auto__chg_field_warehouse_phone_desc3__chg_field_warehouse_phone_desc2.py (renamed from archaeological_warehouse/migrations/0009_auto__chg_field_warehouse_phone_desc3__chg_field_warehouse_phone_desc2.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0010_auto__add_warehousedivisionlink__add_warehousedivision__chg_field_ware.py (renamed from archaeological_warehouse/migrations/0010_auto__add_warehousedivisionlink__add_warehousedivision__chg_field_ware.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0011_auto__add_containerlocalisation__add_unique_containerlocalisation_cont.py (renamed from archaeological_warehouse/migrations/0011_auto__add_containerlocalisation__add_unique_containerlocalisation_cont.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0012_auto__add_field_container_cached_label.py (renamed from archaeological_warehouse/migrations/0012_auto__add_field_container_cached_label.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0013_auto__add_collection.py (renamed from archaeological_warehouse/migrations/0013_auto__add_collection.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0014_auto__add_field_container_cached_location__add_field_container_index.py (renamed from archaeological_warehouse/migrations/0014_auto__add_field_container_cached_location__add_field_container_index.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0015_auto_increment_existing_indexes.py (renamed from archaeological_warehouse/migrations/0015_auto_increment_existing_indexes.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0016_auto__add_unique_container_index_location.py (renamed from archaeological_warehouse/migrations/0016_auto__add_unique_container_index_location.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0017_auto__chg_field_container_comment.py (renamed from archaeological_warehouse/migrations/0017_auto__chg_field_container_comment.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0018_generate_cache_lbl_for_containers.py (renamed from archaeological_warehouse/migrations/0018_generate_cache_lbl_for_containers.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0019_auto__add_field_container_responsible.py (renamed from archaeological_warehouse/migrations/0019_auto__add_field_container_responsible.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0020_generate_cache_lbl_for_containers.py (renamed from archaeological_warehouse/migrations/0020_generate_cache_lbl_for_containers.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0021_auto__chg_field_container_responsible.py (renamed from archaeological_warehouse/migrations/0021_auto__chg_field_container_responsible.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0022_auto__chg_field_containertype_volume.py (renamed from archaeological_warehouse/migrations/0022_auto__chg_field_containertype_volume.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0023_auto__add_field_container_external_id__add_field_container_auto_extern.py (renamed from archaeological_warehouse/migrations/0023_auto__add_field_container_external_id__add_field_container_auto_extern.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0024_generate_cache_lbl_for_containers.py (renamed from archaeological_warehouse/migrations/0024_generate_cache_lbl_for_containers.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0025_auto__add_field_container_image__add_field_container_thumbnail.py (renamed from archaeological_warehouse/migrations/0025_auto__add_field_container_image__add_field_container_thumbnail.py)0
-rw-r--r--archaeological_warehouse/old_migrations/0026_generate_cache_lbl_for_containers.py (renamed from archaeological_warehouse/migrations/0026_generate_cache_lbl_for_containers.py)0
-rw-r--r--archaeological_warehouse/old_migrations/__init__.py0
-rw-r--r--ishtar_common/migrations/0001_initial.py1209
-rw-r--r--ishtar_common/models.py2
-rw-r--r--ishtar_common/old_migrations/0001_initial.py408
-rw-r--r--ishtar_common/old_migrations/0002_auto__chg_field_person_surname.py (renamed from ishtar_common/migrations/0002_auto__chg_field_person_surname.py)0
-rw-r--r--ishtar_common/old_migrations/0003_auto__del_field_person_person_type.py (renamed from ishtar_common/migrations/0003_auto__del_field_person_person_type.py)0
-rw-r--r--ishtar_common/old_migrations/0004_auto.py (renamed from ishtar_common/migrations/0004_auto.py)0
-rw-r--r--ishtar_common/old_migrations/0005_auto__add_documenttemplate.py (renamed from ishtar_common/migrations/0005_auto__add_documenttemplate.py)0
-rw-r--r--ishtar_common/old_migrations/0006_auto__chg_field_organization_name__chg_field_historicalorganization_na.py (renamed from ishtar_common/migrations/0006_auto__chg_field_organization_name__chg_field_historicalorganization_na.py)0
-rw-r--r--ishtar_common/old_migrations/0007_auto__add_field_organization_history_creator__add_field_historicalorga.py (renamed from ishtar_common/migrations/0007_auto__add_field_organization_history_creator__add_field_historicalorga.py)0
-rw-r--r--ishtar_common/old_migrations/0008_init_history_creator.py (renamed from ishtar_common/migrations/0008_init_history_creator.py)0
-rw-r--r--ishtar_common/old_migrations/0009_auto__add_field_organization_email__add_field_historicalorganization_e.py (renamed from ishtar_common/migrations/0009_auto__add_field_organization_email__add_field_historicalorganization_e.py)0
-rw-r--r--ishtar_common/old_migrations/0010_auto__del_wizardstep__del_wizard__add_globalvar__chg_field_person_atta.py (renamed from ishtar_common/migrations/0010_auto__del_wizardstep__del_wizard__add_globalvar__chg_field_person_atta.py)0
-rw-r--r--ishtar_common/old_migrations/0011_auto__chg_field_person_surname__chg_field_person_name.py (renamed from ishtar_common/migrations/0011_auto__chg_field_person_surname__chg_field_person_name.py)0
-rw-r--r--ishtar_common/old_migrations/0012_auto__add_field_person_raw_name__chg_field_person_name.py (renamed from ishtar_common/migrations/0012_auto__add_field_person_raw_name__chg_field_person_name.py)0
-rw-r--r--ishtar_common/old_migrations/0013_auto__add_field_organization_merge_key__add_field_historicalorganizati.py (renamed from ishtar_common/migrations/0013_auto__add_field_organization_merge_key__add_field_historicalorganizati.py)0
-rw-r--r--ishtar_common/old_migrations/0014_auto__chg_field_organization_history_creator__chg_field_organization_h.py (renamed from ishtar_common/migrations/0014_auto__chg_field_organization_history_creator__chg_field_organization_h.py)0
-rw-r--r--ishtar_common/old_migrations/0015_auto__chg_field_organization_town__chg_field_historicalorganization_to.py (renamed from ishtar_common/migrations/0015_auto__chg_field_organization_town__chg_field_historicalorganization_to.py)0
-rw-r--r--ishtar_common/old_migrations/0016_auto__add_import.py (renamed from ishtar_common/migrations/0016_auto__add_import.py)0
-rw-r--r--ishtar_common/old_migrations/0017_auto__add_supporttype__add_format.py (renamed from ishtar_common/migrations/0017_auto__add_supporttype__add_format.py)0
-rw-r--r--ishtar_common/old_migrations/0018_auto__add_itemkey.py (renamed from ishtar_common/migrations/0018_auto__add_itemkey.py)0
-rw-r--r--ishtar_common/old_migrations/0019_auto__add_field_itemkey_importer.py (renamed from ishtar_common/migrations/0019_auto__add_field_itemkey_importer.py)0
-rw-r--r--ishtar_common/old_migrations/0020_auto__chg_field_person_title.py (renamed from ishtar_common/migrations/0020_auto__chg_field_person_title.py)0
-rw-r--r--ishtar_common/old_migrations/0021_auto__add_importerdefault__add_importertype__add_importtarget__add_for.py (renamed from ishtar_common/migrations/0021_auto__add_importerdefault__add_importertype__add_importtarget__add_for.py)0
-rw-r--r--ishtar_common/old_migrations/0022_auto__add_field_import_importer_type.py (renamed from ishtar_common/migrations/0022_auto__add_field_import_importer_type.py)0
-rw-r--r--ishtar_common/old_migrations/0023_auto__add_importerdefaultvalues__del_field_importerdefault_value.py (renamed from ishtar_common/migrations/0023_auto__add_importerdefaultvalues__del_field_importerdefault_value.py)0
-rw-r--r--ishtar_common/old_migrations/0024_auto__add_importerduplicatefield__chg_field_importerdefault_target__ad.py (renamed from ishtar_common/migrations/0024_auto__add_importerduplicatefield__chg_field_importerdefault_target__ad.py)0
-rw-r--r--ishtar_common/old_migrations/0025_auto__add_unique_formatertype_formater_type_many_split_options.py (renamed from ishtar_common/migrations/0025_auto__add_unique_formatertype_formater_type_many_split_options.py)0
-rw-r--r--ishtar_common/old_migrations/0026_auto__add_targetkey__add_unique_targetkey_target_value__add_field_impo.py (renamed from ishtar_common/migrations/0026_auto__add_targetkey__add_unique_targetkey_target_value__add_field_impo.py)0
-rw-r--r--ishtar_common/old_migrations/0027_auto__chg_field_targetkey_target.py (renamed from ishtar_common/migrations/0027_auto__chg_field_targetkey_target.py)0
-rw-r--r--ishtar_common/old_migrations/0028_auto__chg_field_targetkey_key__chg_field_targetkey_value.py (renamed from ishtar_common/migrations/0028_auto__chg_field_targetkey_key__chg_field_targetkey_value.py)0
-rw-r--r--ishtar_common/old_migrations/0029_auto.py (renamed from ishtar_common/migrations/0029_auto.py)0
-rw-r--r--ishtar_common/old_migrations/0030_auto__add_state__chg_field_sourcetype_txt_idx__chg_field_authortype_tx.py (renamed from ishtar_common/migrations/0030_auto__add_state__chg_field_sourcetype_txt_idx__chg_field_authortype_tx.py)0
-rw-r--r--ishtar_common/old_migrations/0031_auto__del_unique_targetkey_target_value__add_unique_targetkey_target_k.py (renamed from ishtar_common/migrations/0031_auto__del_unique_targetkey_target_value__add_unique_targetkey_target_k.py)0
-rw-r--r--ishtar_common/old_migrations/0033_auto__add_field_targetkey_associated_import__add_field_targetkey_assoc.py (renamed from ishtar_common/migrations/0033_auto__add_field_targetkey_associated_import__add_field_targetkey_assoc.py)0
-rw-r--r--ishtar_common/old_migrations/0034_auto__add_field_import_encoding.py (renamed from ishtar_common/migrations/0034_auto__add_field_import_encoding.py)0
-rw-r--r--ishtar_common/old_migrations/0035_auto__add_field_importtarget_force_new__add_field_importerduplicatefie.py (renamed from ishtar_common/migrations/0035_auto__add_field_importtarget_force_new__add_field_importerduplicatefie.py)0
-rw-r--r--ishtar_common/old_migrations/0036_auto__add_field_import_imported_images.py (renamed from ishtar_common/migrations/0036_auto__add_field_import_imported_images.py)0
-rw-r--r--ishtar_common/old_migrations/0037_auto__add_field_importertype_slug.py (renamed from ishtar_common/migrations/0037_auto__add_field_importertype_slug.py)0
-rw-r--r--ishtar_common/old_migrations/0038_auto__add_field_importtarget_comment.py (renamed from ishtar_common/migrations/0038_auto__add_field_importtarget_comment.py)0
-rw-r--r--ishtar_common/old_migrations/0039_auto__add_field_import_match_file.py (renamed from ishtar_common/migrations/0039_auto__add_field_import_match_file.py)0
-rw-r--r--ishtar_common/old_migrations/0040_auto__chg_field_person_title.py (renamed from ishtar_common/migrations/0040_auto__chg_field_person_title.py)0
-rw-r--r--ishtar_common/old_migrations/0041_auto__add_field_importertype_unicity_keys__add_field_importtarget_conc.py (renamed from ishtar_common/migrations/0041_auto__add_field_importertype_unicity_keys__add_field_importtarget_conc.py)0
-rw-r--r--ishtar_common/old_migrations/0042_auto__add_field_importtarget_concat_str__add_unique_importercolumn_col.py (renamed from ishtar_common/migrations/0042_auto__add_field_importtarget_concat_str__add_unique_importercolumn_col.py)0
-rw-r--r--ishtar_common/old_migrations/0043_auto__add_field_importerduplicatefield_concat__add_field_importerdupli.py (renamed from ishtar_common/migrations/0043_auto__add_field_importerduplicatefield_concat__add_field_importerdupli.py)0
-rw-r--r--ishtar_common/old_migrations/0044_auto__add_operationtype.py (renamed from ishtar_common/migrations/0044_auto__add_operationtype.py)0
-rw-r--r--ishtar_common/old_migrations/0045_auto__chg_field_person_merge_key__chg_field_historicalorganization_mer.py (renamed from ishtar_common/migrations/0045_auto__chg_field_person_merge_key__chg_field_historicalorganization_mer.py)0
-rw-r--r--ishtar_common/old_migrations/0046_auto__add_field_person_exclude_from_merge__add_field_historicalorganiz.py (renamed from ishtar_common/migrations/0046_auto__add_field_person_exclude_from_merge__add_field_historicalorganiz.py)0
-rw-r--r--ishtar_common/old_migrations/0047_auto__chg_field_person_exclude_from_merge__chg_field_historicalorganiz.py (renamed from ishtar_common/migrations/0047_auto__chg_field_person_exclude_from_merge__chg_field_historicalorganiz.py)0
-rw-r--r--ishtar_common/old_migrations/0048_auto__add_ishtarsiteprofile.py (renamed from ishtar_common/migrations/0048_auto__add_ishtarsiteprofile.py)0
-rw-r--r--ishtar_common/old_migrations/0049_auto__add_field_person_alt_address__add_field_person_alt_address_compl.py (renamed from ishtar_common/migrations/0049_auto__add_field_person_alt_address__add_field_person_alt_address_compl.py)0
-rw-r--r--ishtar_common/old_migrations/0050_auto__chg_field_person_phone_desc3__chg_field_person_phone_desc2__chg_.py (renamed from ishtar_common/migrations/0050_auto__chg_field_person_phone_desc3__chg_field_person_phone_desc2__chg_.py)0
-rw-r--r--ishtar_common/old_migrations/0051_auto__add_field_ishtarsiteprofile_homepage.py (renamed from ishtar_common/migrations/0051_auto__add_field_ishtarsiteprofile_homepage.py)0
-rw-r--r--ishtar_common/old_migrations/0052_auto__add_field_ishtarsiteprofile_file_external_id__add_field_ishtarsi.py (renamed from ishtar_common/migrations/0052_auto__add_field_ishtarsiteprofile_file_external_id__add_field_ishtarsi.py)0
-rw-r--r--ishtar_common/old_migrations/0053_auto__add_field_ishtarsiteprofile_currency.py (renamed from ishtar_common/migrations/0053_auto__add_field_ishtarsiteprofile_currency.py)0
-rw-r--r--ishtar_common/old_migrations/0054_auto__add_field_ishtarsiteprofile_person_raw_name.py (renamed from ishtar_common/migrations/0054_auto__add_field_ishtarsiteprofile_person_raw_name.py)0
-rw-r--r--ishtar_common/old_migrations/0055_auto.py (renamed from ishtar_common/migrations/0055_auto.py)0
-rw-r--r--ishtar_common/old_migrations/0056_auto__add_titletype__add_field_person_pretitle.py (renamed from ishtar_common/migrations/0056_auto__add_titletype__add_field_person_pretitle.py)0
-rw-r--r--ishtar_common/old_migrations/0057_rename_pretitle_old_title.py (renamed from ishtar_common/migrations/0057_rename_pretitle_old_title.py)0
-rw-r--r--ishtar_common/old_migrations/0058_generate_title.py (renamed from ishtar_common/migrations/0058_generate_title.py)0
-rw-r--r--ishtar_common/old_migrations/0059_rename_exc_from_merge_to_archived.py (renamed from ishtar_common/migrations/0059_rename_exc_from_merge_to_archived.py)0
-rw-r--r--ishtar_common/old_migrations/0060_auto__add_historicalperson.py (renamed from ishtar_common/migrations/0060_auto__add_historicalperson.py)0
-rw-r--r--ishtar_common/old_migrations/0061_auto__add_field_historicalperson_salutation__add_field_person_salutati.py (renamed from ishtar_common/migrations/0061_auto__add_field_historicalperson_salutation__add_field_person_salutati.py)0
-rw-r--r--ishtar_common/old_migrations/0062_remove_ishtar_local_prefix.py (renamed from ishtar_common/migrations/0062_remove_ishtar_local_prefix.py)0
-rw-r--r--ishtar_common/old_migrations/0063_auto__add_field_ishtaruser_advanced_shortcut_menu.py (renamed from ishtar_common/migrations/0063_auto__add_field_ishtaruser_advanced_shortcut_menu.py)0
-rw-r--r--ishtar_common/old_migrations/0064_auto__add_field_importercolumn_label.py (renamed from ishtar_common/migrations/0064_auto__add_field_importercolumn_label.py)0
-rw-r--r--ishtar_common/old_migrations/0065_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py (renamed from ishtar_common/migrations/0065_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py)0
-rw-r--r--ishtar_common/old_migrations/0066_auto__add_field_ishtarsiteprofile_base_color__add_field_ishtarsiteprof.py (renamed from ishtar_common/migrations/0066_auto__add_field_ishtarsiteprofile_base_color__add_field_ishtarsiteprof.py)0
-rw-r--r--ishtar_common/old_migrations/0067_auto__add_field_ishtarsiteprofile_container_external_id__add_field_ish.py (renamed from ishtar_common/migrations/0067_auto__add_field_ishtarsiteprofile_container_external_id__add_field_ish.py)0
-rw-r--r--ishtar_common/old_migrations/0068_auto__add_field_spatialreferencesystem_auth_name.py (renamed from ishtar_common/migrations/0068_auto__add_field_spatialreferencesystem_auth_name.py)0
-rw-r--r--ishtar_common/old_migrations/0069_auto__chg_field_import_error_file__chg_field_import_match_file__chg_fi.py (renamed from ishtar_common/migrations/0069_auto__chg_field_import_error_file__chg_field_import_match_file__chg_fi.py)0
-rw-r--r--ishtar_common/old_migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py (renamed from ishtar_common/migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py)0
-rw-r--r--ishtar_common/old_migrations/0071_migrate_importermodels.py (renamed from ishtar_common/migrations/0071_migrate_importermodels.py)0
-rw-r--r--ishtar_common/old_migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py (renamed from ishtar_common/migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py)0
-rw-r--r--ishtar_common/old_migrations/0073_auto__add_field_importercolumn_export_field_name.py (renamed from ishtar_common/migrations/0073_auto__add_field_importercolumn_export_field_name.py)0
-rw-r--r--ishtar_common/old_migrations/0074_auto__add_field_import_name.py (renamed from ishtar_common/migrations/0074_auto__add_field_import_name.py)0
-rw-r--r--ishtar_common/old_migrations/0075_auto__add_field_authortype_order.py (renamed from ishtar_common/migrations/0075_auto__add_field_authortype_order.py)0
-rw-r--r--ishtar_common/old_migrations/__init__.py0
-rw-r--r--ishtar_common/utils.py4
341 files changed, 6794 insertions, 3046 deletions
diff --git a/Makefile.example b/Makefile.example
index abbaf9202..35b26afc4 100644
--- a/Makefile.example
+++ b/Makefile.example
@@ -66,10 +66,6 @@ pylint:
done
fresh_syncdb:
- cd $(project); $(PYTHON) ./manage.py syncdb --noinput 2> /dev/null > /dev/null
- cd $(project); $(PYTHON) ./manage.py migrate ishtar_common 2> /dev/null > /dev/null
- if [[ '$(apps)' == *archaeological_files* ]]; then cd $(project); $(PYTHON) ./manage.py migrate archaeological_files 2> /dev/null > /dev/null; fi
- $(PYTHON) ./manage.py migrate archaeological_operations 2> /dev/null > /dev/null
cd $(project); $(PYTHON) ./manage.py migrate 2> /dev/null > /dev/null
echo "* load default data"
# data migrations have created some default data - return to a clean state
@@ -103,7 +99,6 @@ fresh_syncdb:
rm /tmp/site.json
syncdb:
- cd $(project); $(PYTHON) manage.py syncdb --noinput
cd $(project); $(PYTHON) manage.py migrate
shell:
@@ -128,18 +123,11 @@ compilemessages:
collectstatic:
cd $(project);$(PYTHON) manage.py collectstatic --noinput
-schemamigrations:
- cd $(project);\
- for APP in $(apps); do \
- echo "* schemamigration for "$$APP; \
- $(PYTHON) manage.py schemamigration --auto $$APP; \
- done
-
-schemamigrations_initial:
+migrations:
cd $(project);\
for APP in $(apps); do \
- echo "* schemamigration for "$$APP; \
- $(PYTHON) manage.py schemamigration --initial $$APP; \
+ echo "* makemigrations for "$$APP; \
+ $(PYTHON) ./manage.py makemigrations $$APP; \
done
generate_doc:
diff --git a/archaeological_context_records/migrations/0001_initial.py b/archaeological_context_records/migrations/0001_initial.py
index 599a6d4f7..7f8602afc 100644
--- a/archaeological_context_records/migrations/0001_initial.py
+++ b/archaeological_context_records/migrations/0001_initial.py
@@ -1,587 +1,318 @@
# -*- coding: utf-8 -*-
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
+from __future__ import unicode_literals
+from django.db import models, migrations
+import re
+import django.contrib.gis.db.models.fields
+import django.db.models.deletion
+from django.conf import settings
+import ishtar_common.models
+import django.core.validators
-class Migration(SchemaMigration):
- def forwards(self, orm):
- # Adding model 'DatingType'
- db.create_table('archaeological_context_records_datingtype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ))
- db.send_create_signal('archaeological_context_records', ['DatingType'])
+class Migration(migrations.Migration):
- # Adding model 'DatingQuality'
- db.create_table('archaeological_context_records_datingquality', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ))
- db.send_create_signal('archaeological_context_records', ['DatingQuality'])
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ]
- # Adding model 'Dating'
- db.create_table('archaeological_context_records_dating', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('period', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.Period'])),
- ('start_date', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('end_date', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('dating_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_context_records.DatingType'], null=True, blank=True)),
- ('quality', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_context_records.DatingQuality'], null=True, blank=True)),
- ))
- db.send_create_signal('archaeological_context_records', ['Dating'])
-
- # Adding model 'Unit'
- db.create_table('archaeological_context_records_unit', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ('order', self.gf('django.db.models.fields.IntegerField')()),
- ('parent', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_context_records.Unit'], null=True, blank=True)),
- ))
- db.send_create_signal('archaeological_context_records', ['Unit'])
-
- # Adding model 'ActivityType'
- db.create_table('archaeological_context_records_activitytype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ('order', self.gf('django.db.models.fields.IntegerField')()),
- ))
- db.send_create_signal('archaeological_context_records', ['ActivityType'])
-
- # Adding model 'IdentificationType'
- db.create_table('archaeological_context_records_identificationtype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ('order', self.gf('django.db.models.fields.IntegerField')()),
- ))
- db.send_create_signal('archaeological_context_records', ['IdentificationType'])
-
- # Adding model 'HistoricalContextRecord'
- db.create_table('archaeological_context_records_historicalcontextrecord', (
- ('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)),
- ('parcel_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('operation_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=200)),
- ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('length', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('width', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('thickness', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('depth', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('location', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)),
- ('unit_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('has_furniture', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
- ('filling', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('interpretation', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('taq', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('taq_estimated', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('tpq', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('tpq_estimated', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('identification_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('activity_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_context_records', ['HistoricalContextRecord'])
-
- # Adding model 'ContextRecord'
- db.create_table('archaeological_context_records_contextrecord', (
- ('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'])),
- ('parcel', self.gf('django.db.models.fields.related.ForeignKey')(related_name='context_record', to=orm['archaeological_operations.Parcel'])),
- ('operation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='context_record', to=orm['archaeological_operations.Operation'])),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=200)),
- ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('length', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('width', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('thickness', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('depth', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('location', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)),
- ('unit', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['archaeological_context_records.Unit'])),
- ('has_furniture', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
- ('filling', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('interpretation', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('taq', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('taq_estimated', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('tpq', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('tpq_estimated', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('identification', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_context_records.IdentificationType'], null=True, blank=True)),
- ('activity', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_context_records.ActivityType'], null=True, blank=True)),
- ))
- db.send_create_signal('archaeological_context_records', ['ContextRecord'])
-
- # Adding M2M table for field datings on 'ContextRecord'
- db.create_table('archaeological_context_records_contextrecord_datings', (
- ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
- ('contextrecord', models.ForeignKey(orm['archaeological_context_records.contextrecord'], null=False)),
- ('dating', models.ForeignKey(orm['archaeological_context_records.dating'], null=False))
- ))
- db.create_unique('archaeological_context_records_contextrecord_datings', ['contextrecord_id', 'dating_id'])
-
- # Adding model 'ContextRecordSource'
- db.create_table('archaeological_context_records_contextrecordsource', (
- ('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)),
- ('context_record', self.gf('django.db.models.fields.related.ForeignKey')(related_name='source', to=orm['archaeological_context_records.ContextRecord'])),
- ))
- db.send_create_signal('archaeological_context_records', ['ContextRecordSource'])
-
- # Adding M2M table for field authors on 'ContextRecordSource'
- db.create_table('archaeological_context_records_contextrecordsource_authors', (
- ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
- ('contextrecordsource', models.ForeignKey(orm['archaeological_context_records.contextrecordsource'], null=False)),
- ('author', models.ForeignKey(orm['ishtar_common.author'], null=False))
- ))
- db.create_unique('archaeological_context_records_contextrecordsource_authors', ['contextrecordsource_id', 'author_id'])
-
-
- def backwards(self, orm):
- # Deleting model 'DatingType'
- db.delete_table('archaeological_context_records_datingtype')
-
- # Deleting model 'DatingQuality'
- db.delete_table('archaeological_context_records_datingquality')
-
- # Deleting model 'Dating'
- db.delete_table('archaeological_context_records_dating')
-
- # Deleting model 'Unit'
- db.delete_table('archaeological_context_records_unit')
-
- # Deleting model 'ActivityType'
- db.delete_table('archaeological_context_records_activitytype')
-
- # Deleting model 'IdentificationType'
- db.delete_table('archaeological_context_records_identificationtype')
-
- # Deleting model 'HistoricalContextRecord'
- db.delete_table('archaeological_context_records_historicalcontextrecord')
-
- # Deleting model 'ContextRecord'
- db.delete_table('archaeological_context_records_contextrecord')
-
- # Removing M2M table for field datings on 'ContextRecord'
- db.delete_table('archaeological_context_records_contextrecord_datings')
-
- # Deleting model 'ContextRecordSource'
- db.delete_table('archaeological_context_records_contextrecordsource')
-
- # Removing M2M table for field authors on 'ContextRecordSource'
- db.delete_table('archaeological_context_records_contextrecordsource_authors')
-
-
- 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.contextrecordsource': {
- 'Meta': {'object_name': 'ContextRecordSource'},
- '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'}),
- 'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_context_records.ContextRecord']"}),
- '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'})
- },
- '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.historicalcontextrecord': {
- 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalContextRecord'},
- 'activity_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- '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_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'}),
- 'identification_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'parcel_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
- },
- '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_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'})
- },
- '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_context_records'] \ No newline at end of file
+ operations = [
+ migrations.CreateModel(
+ name='RecordRelationView',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ],
+ options={
+ 'db_table': 'record_relations',
+ 'managed': False,
+ },
+ ),
+ migrations.CreateModel(
+ name='ActivityType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(verbose_name='Order')),
+ ],
+ options={
+ 'ordering': ('order',),
+ 'verbose_name': 'Activity Type',
+ 'verbose_name_plural': 'Activity Types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='ContextRecord',
+ 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')),
+ ('label', models.CharField(max_length=200, verbose_name='ID')),
+ ('description', models.TextField(null=True, verbose_name='Description', blank=True)),
+ ('comment', models.TextField(null=True, verbose_name='General comment', blank=True)),
+ ('opening_date', models.DateField(null=True, verbose_name="Date d'ouverture", blank=True)),
+ ('closing_date', models.DateField(null=True, verbose_name='End date', blank=True)),
+ ('length', models.FloatField(null=True, verbose_name='Length (m)', blank=True)),
+ ('width', models.FloatField(null=True, verbose_name='Width (m)', blank=True)),
+ ('thickness', models.FloatField(null=True, verbose_name='Thickness (m)', blank=True)),
+ ('diameter', models.FloatField(null=True, verbose_name='Diameter (m)', blank=True)),
+ ('depth', models.FloatField(null=True, verbose_name='Depth (m)', blank=True)),
+ ('depth_of_appearance', models.FloatField(null=True, verbose_name='Depth of appearance (m)', blank=True)),
+ ('location', models.TextField(help_text='A short description of the location of the context record', null=True, verbose_name='Location', blank=True)),
+ ('datings_comment', models.TextField(null=True, verbose_name='Comment on datings', blank=True)),
+ ('filling', models.TextField(null=True, verbose_name='Filling', blank=True)),
+ ('interpretation', models.TextField(null=True, verbose_name='Interpretation', blank=True)),
+ ('taq', models.IntegerField(help_text='"Terminus Ante Quem" the context record can\'t have been created after this date', null=True, verbose_name='TAQ', blank=True)),
+ ('taq_estimated', models.IntegerField(help_text='Estimation of a "Terminus Ante Quem"', null=True, verbose_name='Estimated TAQ', blank=True)),
+ ('tpq', models.IntegerField(help_text='"Terminus Post Quem" the context record can\'t have been created before this date', null=True, verbose_name='TPQ', blank=True)),
+ ('tpq_estimated', models.IntegerField(help_text='Estimation of a "Terminus Post Quem"', null=True, verbose_name='Estimated TPQ', blank=True)),
+ ('point', django.contrib.gis.db.models.fields.PointField(srid=4326, dim=3, null=True, verbose_name='Point', blank=True)),
+ ('polygon', django.contrib.gis.db.models.fields.PolygonField(srid=4326, null=True, verbose_name='Polygon', blank=True)),
+ ('cached_label', models.TextField(null=True, verbose_name='Cached name', blank=True)),
+ ],
+ options={
+ 'ordering': ('cached_label',),
+ 'verbose_name': 'Context Record',
+ 'verbose_name_plural': 'Context Record',
+ 'permissions': (('view_contextrecord', "Peut voir toutes les Unit\xe9s d'Enregistrement"), ('view_own_contextrecord', "Peut voir sa propre Unit\xe9 d'Enregistrement"), ('add_own_contextrecord', "Peut ajouter sa propre Unit\xe9 d'Enregistrement"), ('change_own_contextrecord', "Peut modifier sa propre Unit\xe9 d'Enregistrement"), ('delete_own_contextrecord', "Peut supprimer sa propre Unit\xe9 d'Enregistrement")),
+ },
+ bases=(models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter, ishtar_common.models.ShortMenuItem),
+ ),
+ migrations.CreateModel(
+ name='ContextRecordSource',
+ 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': 'Context record documentation',
+ 'verbose_name_plural': 'Context record documentations',
+ 'permissions': (('view_contextrecordsource', 'Can view all Context record sources'), ('view_own_contextrecordsource', 'Can view own Context record source'), ('add_own_contextrecordsource', 'Can add own Context record source'), ('change_own_contextrecordsource', 'Can change own Context record source'), ('delete_own_contextrecordsource', 'Can delete own Context record source')),
+ },
+ bases=(ishtar_common.models.OwnPerms, models.Model),
+ ),
+ migrations.CreateModel(
+ name='Dating',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('start_date', models.IntegerField(null=True, verbose_name='Start date', blank=True)),
+ ('end_date', models.IntegerField(null=True, verbose_name='End date', blank=True)),
+ ('precise_dating', models.TextField(null=True, verbose_name='Precise dating', blank=True)),
+ ],
+ options={
+ 'verbose_name': 'Dating',
+ 'verbose_name_plural': 'Datings',
+ },
+ ),
+ migrations.CreateModel(
+ name='DatingQuality',
+ 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': 'Dating quality type',
+ 'verbose_name_plural': 'Dating quality types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='DatingType',
+ 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': 'Dating type',
+ 'verbose_name_plural': 'Dating types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='DocumentationType',
+ 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': 'Documentation type',
+ 'verbose_name_plural': 'Documentation types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='ExcavationTechnicType',
+ 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': 'Excavation technique type',
+ 'verbose_name_plural': 'Excavation technique types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='HistoricalContextRecord',
+ 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')),
+ ('label', models.CharField(max_length=200, verbose_name='ID')),
+ ('description', models.TextField(null=True, verbose_name='Description', blank=True)),
+ ('comment', models.TextField(null=True, verbose_name='General comment', blank=True)),
+ ('opening_date', models.DateField(null=True, verbose_name="Date d'ouverture", blank=True)),
+ ('closing_date', models.DateField(null=True, verbose_name='End date', blank=True)),
+ ('length', models.FloatField(null=True, verbose_name='Length (m)', blank=True)),
+ ('width', models.FloatField(null=True, verbose_name='Width (m)', blank=True)),
+ ('thickness', models.FloatField(null=True, verbose_name='Thickness (m)', blank=True)),
+ ('diameter', models.FloatField(null=True, verbose_name='Diameter (m)', blank=True)),
+ ('depth', models.FloatField(null=True, verbose_name='Depth (m)', blank=True)),
+ ('depth_of_appearance', models.FloatField(null=True, verbose_name='Depth of appearance (m)', blank=True)),
+ ('location', models.TextField(help_text='A short description of the location of the context record', null=True, verbose_name='Location', blank=True)),
+ ('datings_comment', models.TextField(null=True, verbose_name='Comment on datings', blank=True)),
+ ('filling', models.TextField(null=True, verbose_name='Filling', blank=True)),
+ ('interpretation', models.TextField(null=True, verbose_name='Interpretation', blank=True)),
+ ('taq', models.IntegerField(help_text='"Terminus Ante Quem" the context record can\'t have been created after this date', null=True, verbose_name='TAQ', blank=True)),
+ ('taq_estimated', models.IntegerField(help_text='Estimation of a "Terminus Ante Quem"', null=True, verbose_name='Estimated TAQ', blank=True)),
+ ('tpq', models.IntegerField(help_text='"Terminus Post Quem" the context record can\'t have been created before this date', null=True, verbose_name='TPQ', blank=True)),
+ ('tpq_estimated', models.IntegerField(help_text='Estimation of a "Terminus Post Quem"', null=True, verbose_name='Estimated TPQ', blank=True)),
+ ('point', django.contrib.gis.db.models.fields.PointField(srid=4326, dim=3, null=True, verbose_name='Point', blank=True)),
+ ('polygon', django.contrib.gis.db.models.fields.PolygonField(srid=4326, null=True, verbose_name='Polygon', 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')])),
+ ('activity', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_context_records.ActivityType', null=True)),
+ ('excavation_technic', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_context_records.ExcavationTechnicType', null=True)),
+ ('history_creator', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to=settings.AUTH_USER_MODEL, null=True)),
+ ('history_modifier', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to=settings.AUTH_USER_MODEL, null=True)),
+ ('history_user', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, null=True)),
+ ],
+ options={
+ 'ordering': ('-history_date', '-history_id'),
+ 'get_latest_by': 'history_date',
+ 'verbose_name': 'historical Context Record',
+ },
+ ),
+ migrations.CreateModel(
+ name='IdentificationType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(verbose_name='Order')),
+ ],
+ options={
+ 'ordering': ('order', 'label'),
+ 'verbose_name': 'Identification Type',
+ 'verbose_name_plural': 'Identification Types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='RecordRelations',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('left_record', models.ForeignKey(related_name='right_relations', to='archaeological_context_records.ContextRecord')),
+ ],
+ options={
+ 'verbose_name': 'Record relation',
+ 'verbose_name_plural': 'Record relations',
+ },
+ bases=(ishtar_common.models.GeneralRecordRelations, models.Model),
+ ),
+ migrations.CreateModel(
+ name='RelationType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(default=1, verbose_name='Order')),
+ ('symmetrical', models.BooleanField(verbose_name='Symmetrical')),
+ ('tiny_label', models.CharField(max_length=50, null=True, verbose_name='Tiny label', blank=True)),
+ ('inverse_relation', models.ForeignKey(verbose_name='Inverse relation', blank=True, to='archaeological_context_records.RelationType', null=True)),
+ ],
+ options={
+ 'ordering': ('order', 'label'),
+ 'verbose_name': 'Relation type',
+ 'verbose_name_plural': 'Relation types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='Unit',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(verbose_name='Order')),
+ ('parent', models.ForeignKey(verbose_name='Parent context record type', blank=True, to='archaeological_context_records.Unit', null=True)),
+ ],
+ options={
+ 'ordering': ('order', 'label'),
+ 'verbose_name': 'Context record Type',
+ 'verbose_name_plural': 'Context record Types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.AddField(
+ model_name='recordrelations',
+ name='relation_type',
+ field=models.ForeignKey(to='archaeological_context_records.RelationType'),
+ ),
+ migrations.AddField(
+ model_name='recordrelations',
+ name='right_record',
+ field=models.ForeignKey(related_name='left_relations', to='archaeological_context_records.ContextRecord'),
+ ),
+ migrations.AddField(
+ model_name='historicalcontextrecord',
+ name='identification',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_context_records.IdentificationType', null=True),
+ ),
+ ]
diff --git a/archaeological_context_records/migrations/0002_auto_20170414_2123.py b/archaeological_context_records/migrations/0002_auto_20170414_2123.py
new file mode 100644
index 000000000..ba54b3e65
--- /dev/null
+++ b/archaeological_context_records/migrations/0002_auto_20170414_2123.py
@@ -0,0 +1,46 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_operations', '0001_initial'),
+ ('archaeological_context_records', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='historicalcontextrecord',
+ name='operation',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_operations.Operation', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalcontextrecord',
+ name='parcel',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_operations.Parcel', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalcontextrecord',
+ name='unit',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_context_records.Unit', null=True),
+ ),
+ migrations.AddField(
+ model_name='dating',
+ name='dating_type',
+ field=models.ForeignKey(verbose_name='Dating type', blank=True, to='archaeological_context_records.DatingType', null=True),
+ ),
+ migrations.AddField(
+ model_name='dating',
+ name='period',
+ field=models.ForeignKey(verbose_name='Period', to='archaeological_operations.Period'),
+ ),
+ migrations.AddField(
+ model_name='dating',
+ name='quality',
+ field=models.ForeignKey(verbose_name='Quality', blank=True, to='archaeological_context_records.DatingQuality', null=True),
+ ),
+ ]
diff --git a/archaeological_context_records/migrations/0003_auto_20170414_2123.py b/archaeological_context_records/migrations/0003_auto_20170414_2123.py
new file mode 100644
index 000000000..9595b8997
--- /dev/null
+++ b/archaeological_context_records/migrations/0003_auto_20170414_2123.py
@@ -0,0 +1,104 @@
+# -*- 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'),
+ ('archaeological_context_records', '0002_auto_20170414_2123'),
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('ishtar_common', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='contextrecordsource',
+ name='authors',
+ field=models.ManyToManyField(related_name='contextrecordsource_related', verbose_name='Authors', to='ishtar_common.Author'),
+ ),
+ migrations.AddField(
+ model_name='contextrecordsource',
+ name='context_record',
+ field=models.ForeignKey(related_name='source', verbose_name='Context record', to='archaeological_context_records.ContextRecord'),
+ ),
+ migrations.AddField(
+ model_name='contextrecordsource',
+ name='format_type',
+ field=models.ForeignKey(verbose_name='Format', blank=True, to='ishtar_common.Format', null=True),
+ ),
+ migrations.AddField(
+ model_name='contextrecordsource',
+ name='source_type',
+ field=models.ForeignKey(verbose_name='Type', to='ishtar_common.SourceType'),
+ ),
+ migrations.AddField(
+ model_name='contextrecordsource',
+ name='support_type',
+ field=models.ForeignKey(verbose_name='Support', blank=True, to='ishtar_common.SupportType', null=True),
+ ),
+ migrations.AddField(
+ model_name='contextrecord',
+ name='activity',
+ field=models.ForeignKey(verbose_name='Activity', blank=True, to='archaeological_context_records.ActivityType', null=True),
+ ),
+ migrations.AddField(
+ model_name='contextrecord',
+ name='datings',
+ field=models.ManyToManyField(to='archaeological_context_records.Dating'),
+ ),
+ migrations.AddField(
+ model_name='contextrecord',
+ name='documentations',
+ field=models.ManyToManyField(to='archaeological_context_records.DocumentationType', blank=True),
+ ),
+ migrations.AddField(
+ model_name='contextrecord',
+ name='excavation_technic',
+ field=models.ForeignKey(verbose_name='Excavation technique', blank=True, to='archaeological_context_records.ExcavationTechnicType', null=True),
+ ),
+ migrations.AddField(
+ model_name='contextrecord',
+ 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='contextrecord',
+ 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='contextrecord',
+ name='identification',
+ field=models.ForeignKey(verbose_name='Identification', blank=True, to='archaeological_context_records.IdentificationType', null=True),
+ ),
+ migrations.AddField(
+ model_name='contextrecord',
+ name='imports',
+ field=models.ManyToManyField(related_name='imported_archaeological_context_records_contextrecord', to='ishtar_common.Import', blank=True),
+ ),
+ migrations.AddField(
+ model_name='contextrecord',
+ name='operation',
+ field=models.ForeignKey(related_name='context_record', verbose_name='Operation', to='archaeological_operations.Operation'),
+ ),
+ migrations.AddField(
+ model_name='contextrecord',
+ name='parcel',
+ field=models.ForeignKey(related_name='context_record', verbose_name='Parcel', to='archaeological_operations.Parcel'),
+ ),
+ migrations.AddField(
+ model_name='contextrecord',
+ name='related_context_records',
+ field=models.ManyToManyField(to='archaeological_context_records.ContextRecord', through='archaeological_context_records.RecordRelations', blank=True),
+ ),
+ migrations.AddField(
+ model_name='contextrecord',
+ name='unit',
+ field=models.ForeignKey(related_name='+', verbose_name='Context record type', blank=True, to='archaeological_context_records.Unit', null=True),
+ ),
+ ]
diff --git a/archaeological_context_records/old_migrations/0001_initial.py b/archaeological_context_records/old_migrations/0001_initial.py
new file mode 100644
index 000000000..599a6d4f7
--- /dev/null
+++ b/archaeological_context_records/old_migrations/0001_initial.py
@@ -0,0 +1,587 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding model 'DatingType'
+ db.create_table('archaeological_context_records_datingtype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ))
+ db.send_create_signal('archaeological_context_records', ['DatingType'])
+
+ # Adding model 'DatingQuality'
+ db.create_table('archaeological_context_records_datingquality', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ))
+ db.send_create_signal('archaeological_context_records', ['DatingQuality'])
+
+ # Adding model 'Dating'
+ db.create_table('archaeological_context_records_dating', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('period', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.Period'])),
+ ('start_date', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('end_date', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('dating_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_context_records.DatingType'], null=True, blank=True)),
+ ('quality', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_context_records.DatingQuality'], null=True, blank=True)),
+ ))
+ db.send_create_signal('archaeological_context_records', ['Dating'])
+
+ # Adding model 'Unit'
+ db.create_table('archaeological_context_records_unit', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ('order', self.gf('django.db.models.fields.IntegerField')()),
+ ('parent', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_context_records.Unit'], null=True, blank=True)),
+ ))
+ db.send_create_signal('archaeological_context_records', ['Unit'])
+
+ # Adding model 'ActivityType'
+ db.create_table('archaeological_context_records_activitytype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ('order', self.gf('django.db.models.fields.IntegerField')()),
+ ))
+ db.send_create_signal('archaeological_context_records', ['ActivityType'])
+
+ # Adding model 'IdentificationType'
+ db.create_table('archaeological_context_records_identificationtype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ('order', self.gf('django.db.models.fields.IntegerField')()),
+ ))
+ db.send_create_signal('archaeological_context_records', ['IdentificationType'])
+
+ # Adding model 'HistoricalContextRecord'
+ db.create_table('archaeological_context_records_historicalcontextrecord', (
+ ('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)),
+ ('parcel_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('operation_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=200)),
+ ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('length', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('width', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('thickness', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('depth', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('location', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)),
+ ('unit_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('has_furniture', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
+ ('filling', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('interpretation', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('taq', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('taq_estimated', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('tpq', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('tpq_estimated', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('identification_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('activity_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_context_records', ['HistoricalContextRecord'])
+
+ # Adding model 'ContextRecord'
+ db.create_table('archaeological_context_records_contextrecord', (
+ ('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'])),
+ ('parcel', self.gf('django.db.models.fields.related.ForeignKey')(related_name='context_record', to=orm['archaeological_operations.Parcel'])),
+ ('operation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='context_record', to=orm['archaeological_operations.Operation'])),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=200)),
+ ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('length', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('width', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('thickness', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('depth', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('location', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)),
+ ('unit', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['archaeological_context_records.Unit'])),
+ ('has_furniture', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
+ ('filling', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('interpretation', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('taq', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('taq_estimated', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('tpq', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('tpq_estimated', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('identification', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_context_records.IdentificationType'], null=True, blank=True)),
+ ('activity', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_context_records.ActivityType'], null=True, blank=True)),
+ ))
+ db.send_create_signal('archaeological_context_records', ['ContextRecord'])
+
+ # Adding M2M table for field datings on 'ContextRecord'
+ db.create_table('archaeological_context_records_contextrecord_datings', (
+ ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+ ('contextrecord', models.ForeignKey(orm['archaeological_context_records.contextrecord'], null=False)),
+ ('dating', models.ForeignKey(orm['archaeological_context_records.dating'], null=False))
+ ))
+ db.create_unique('archaeological_context_records_contextrecord_datings', ['contextrecord_id', 'dating_id'])
+
+ # Adding model 'ContextRecordSource'
+ db.create_table('archaeological_context_records_contextrecordsource', (
+ ('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)),
+ ('context_record', self.gf('django.db.models.fields.related.ForeignKey')(related_name='source', to=orm['archaeological_context_records.ContextRecord'])),
+ ))
+ db.send_create_signal('archaeological_context_records', ['ContextRecordSource'])
+
+ # Adding M2M table for field authors on 'ContextRecordSource'
+ db.create_table('archaeological_context_records_contextrecordsource_authors', (
+ ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+ ('contextrecordsource', models.ForeignKey(orm['archaeological_context_records.contextrecordsource'], null=False)),
+ ('author', models.ForeignKey(orm['ishtar_common.author'], null=False))
+ ))
+ db.create_unique('archaeological_context_records_contextrecordsource_authors', ['contextrecordsource_id', 'author_id'])
+
+
+ def backwards(self, orm):
+ # Deleting model 'DatingType'
+ db.delete_table('archaeological_context_records_datingtype')
+
+ # Deleting model 'DatingQuality'
+ db.delete_table('archaeological_context_records_datingquality')
+
+ # Deleting model 'Dating'
+ db.delete_table('archaeological_context_records_dating')
+
+ # Deleting model 'Unit'
+ db.delete_table('archaeological_context_records_unit')
+
+ # Deleting model 'ActivityType'
+ db.delete_table('archaeological_context_records_activitytype')
+
+ # Deleting model 'IdentificationType'
+ db.delete_table('archaeological_context_records_identificationtype')
+
+ # Deleting model 'HistoricalContextRecord'
+ db.delete_table('archaeological_context_records_historicalcontextrecord')
+
+ # Deleting model 'ContextRecord'
+ db.delete_table('archaeological_context_records_contextrecord')
+
+ # Removing M2M table for field datings on 'ContextRecord'
+ db.delete_table('archaeological_context_records_contextrecord_datings')
+
+ # Deleting model 'ContextRecordSource'
+ db.delete_table('archaeological_context_records_contextrecordsource')
+
+ # Removing M2M table for field authors on 'ContextRecordSource'
+ db.delete_table('archaeological_context_records_contextrecordsource_authors')
+
+
+ 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.contextrecordsource': {
+ 'Meta': {'object_name': 'ContextRecordSource'},
+ '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'}),
+ 'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ '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'})
+ },
+ '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.historicalcontextrecord': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalContextRecord'},
+ 'activity_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ '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_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'}),
+ 'identification_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'parcel_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ '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_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'})
+ },
+ '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_context_records'] \ No newline at end of file
diff --git a/archaeological_context_records/migrations/0002_auto__add_field_contextrecordsource_reference__add_field_contextrecord.py b/archaeological_context_records/old_migrations/0002_auto__add_field_contextrecordsource_reference__add_field_contextrecord.py
index 07be02460..07be02460 100644
--- a/archaeological_context_records/migrations/0002_auto__add_field_contextrecordsource_reference__add_field_contextrecord.py
+++ b/archaeological_context_records/old_migrations/0002_auto__add_field_contextrecordsource_reference__add_field_contextrecord.py
diff --git a/archaeological_context_records/migrations/0003_auto__add_field_contextrecord_history_creator__add_field_historicalcon.py b/archaeological_context_records/old_migrations/0003_auto__add_field_contextrecord_history_creator__add_field_historicalcon.py
index e00de4865..e00de4865 100644
--- a/archaeological_context_records/migrations/0003_auto__add_field_contextrecord_history_creator__add_field_historicalcon.py
+++ b/archaeological_context_records/old_migrations/0003_auto__add_field_contextrecord_history_creator__add_field_historicalcon.py
diff --git a/archaeological_context_records/migrations/0004_init_history_creator.py b/archaeological_context_records/old_migrations/0004_init_history_creator.py
index b231214a4..b231214a4 100644
--- a/archaeological_context_records/migrations/0004_init_history_creator.py
+++ b/archaeological_context_records/old_migrations/0004_init_history_creator.py
diff --git a/archaeological_context_records/migrations/0005_reinit_history_creator.py b/archaeological_context_records/old_migrations/0005_reinit_history_creator.py
index 7e4f62200..7e4f62200 100644
--- a/archaeological_context_records/migrations/0005_reinit_history_creator.py
+++ b/archaeological_context_records/old_migrations/0005_reinit_history_creator.py
diff --git a/archaeological_context_records/migrations/0006_auto__chg_field_contextrecord_history_creator__chg_field_contextrecord.py b/archaeological_context_records/old_migrations/0006_auto__chg_field_contextrecord_history_creator__chg_field_contextrecord.py
index 0d9a3b5da..0d9a3b5da 100644
--- a/archaeological_context_records/migrations/0006_auto__chg_field_contextrecord_history_creator__chg_field_contextrecord.py
+++ b/archaeological_context_records/old_migrations/0006_auto__chg_field_contextrecord_history_creator__chg_field_contextrecord.py
diff --git a/archaeological_context_records/migrations/0007_auto__add_relationtype__add_recordrelations.py b/archaeological_context_records/old_migrations/0007_auto__add_relationtype__add_recordrelations.py
index c9c7d2842..c9c7d2842 100644
--- a/archaeological_context_records/migrations/0007_auto__add_relationtype__add_recordrelations.py
+++ b/archaeological_context_records/old_migrations/0007_auto__add_relationtype__add_recordrelations.py
diff --git a/archaeological_context_records/migrations/0008_auto__add_field_contextrecord_external_id__add_field_contextrecord_com.py b/archaeological_context_records/old_migrations/0008_auto__add_field_contextrecord_external_id__add_field_contextrecord_com.py
index 133406cf1..133406cf1 100644
--- a/archaeological_context_records/migrations/0008_auto__add_field_contextrecord_external_id__add_field_contextrecord_com.py
+++ b/archaeological_context_records/old_migrations/0008_auto__add_field_contextrecord_external_id__add_field_contextrecord_com.py
diff --git a/archaeological_context_records/migrations/0009_auto__add_field_contextrecordsource_external_id.py b/archaeological_context_records/old_migrations/0009_auto__add_field_contextrecordsource_external_id.py
index cc0b83c99..cc0b83c99 100644
--- a/archaeological_context_records/migrations/0009_auto__add_field_contextrecordsource_external_id.py
+++ b/archaeological_context_records/old_migrations/0009_auto__add_field_contextrecordsource_external_id.py
diff --git a/archaeological_context_records/migrations/0010_auto.py b/archaeological_context_records/old_migrations/0010_auto.py
index f04e73c4c..f04e73c4c 100644
--- a/archaeological_context_records/migrations/0010_auto.py
+++ b/archaeological_context_records/old_migrations/0010_auto.py
diff --git a/archaeological_context_records/migrations/0011_auto__chg_field_datingtype_txt_idx__chg_field_datingquality_txt_idx__c.py b/archaeological_context_records/old_migrations/0011_auto__chg_field_datingtype_txt_idx__chg_field_datingquality_txt_idx__c.py
index dec4559be..dec4559be 100644
--- a/archaeological_context_records/migrations/0011_auto__chg_field_datingtype_txt_idx__chg_field_datingquality_txt_idx__c.py
+++ b/archaeological_context_records/old_migrations/0011_auto__chg_field_datingtype_txt_idx__chg_field_datingquality_txt_idx__c.py
diff --git a/archaeological_context_records/migrations/0012_auto__add_field_dating_precise_dating.py b/archaeological_context_records/old_migrations/0012_auto__add_field_dating_precise_dating.py
index 3bd640ea3..3bd640ea3 100644
--- a/archaeological_context_records/migrations/0012_auto__add_field_dating_precise_dating.py
+++ b/archaeological_context_records/old_migrations/0012_auto__add_field_dating_precise_dating.py
diff --git a/archaeological_context_records/migrations/0013_auto__add_field_contextrecordsource_duplicate__chg_field_contextrecord.py b/archaeological_context_records/old_migrations/0013_auto__add_field_contextrecordsource_duplicate__chg_field_contextrecord.py
index 2bed4037f..2bed4037f 100644
--- a/archaeological_context_records/migrations/0013_auto__add_field_contextrecordsource_duplicate__chg_field_contextrecord.py
+++ b/archaeological_context_records/old_migrations/0013_auto__add_field_contextrecordsource_duplicate__chg_field_contextrecord.py
diff --git a/archaeological_context_records/migrations/0014_auto__add_field_contextrecordsource_receipt_date_in_documentation.py b/archaeological_context_records/old_migrations/0014_auto__add_field_contextrecordsource_receipt_date_in_documentation.py
index 61649e977..61649e977 100644
--- a/archaeological_context_records/migrations/0014_auto__add_field_contextrecordsource_receipt_date_in_documentation.py
+++ b/archaeological_context_records/old_migrations/0014_auto__add_field_contextrecordsource_receipt_date_in_documentation.py
diff --git a/archaeological_context_records/migrations/0015_auto__add_field_contextrecord_point__add_field_contextrecord_polygon__.py b/archaeological_context_records/old_migrations/0015_auto__add_field_contextrecord_point__add_field_contextrecord_polygon__.py
index ba49c8e49..ba49c8e49 100644
--- a/archaeological_context_records/migrations/0015_auto__add_field_contextrecord_point__add_field_contextrecord_polygon__.py
+++ b/archaeological_context_records/old_migrations/0015_auto__add_field_contextrecord_point__add_field_contextrecord_polygon__.py
diff --git a/archaeological_context_records/migrations/0016_auto__add_field_relationtype_short_label.py b/archaeological_context_records/old_migrations/0016_auto__add_field_relationtype_short_label.py
index 022de2e93..022de2e93 100644
--- a/archaeological_context_records/migrations/0016_auto__add_field_relationtype_short_label.py
+++ b/archaeological_context_records/old_migrations/0016_auto__add_field_relationtype_short_label.py
diff --git a/archaeological_context_records/migrations/0017_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py b/archaeological_context_records/old_migrations/0017_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py
index fb49cce27..fb49cce27 100644
--- a/archaeological_context_records/migrations/0017_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py
+++ b/archaeological_context_records/old_migrations/0017_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py
diff --git a/archaeological_context_records/migrations/0018_auto__chg_field_contextrecord_external_id__chg_field_historicalcontext.py b/archaeological_context_records/old_migrations/0018_auto__chg_field_contextrecord_external_id__chg_field_historicalcontext.py
index 0a5d3c569..0a5d3c569 100644
--- a/archaeological_context_records/migrations/0018_auto__chg_field_contextrecord_external_id__chg_field_historicalcontext.py
+++ b/archaeological_context_records/old_migrations/0018_auto__chg_field_contextrecord_external_id__chg_field_historicalcontext.py
diff --git a/archaeological_context_records/migrations/0019_auto__add_field_contextrecord_auto_external_id__add_field_historicalco.py b/archaeological_context_records/old_migrations/0019_auto__add_field_contextrecord_auto_external_id__add_field_historicalco.py
index 8a0d056e3..8a0d056e3 100644
--- a/archaeological_context_records/migrations/0019_auto__add_field_contextrecord_auto_external_id__add_field_historicalco.py
+++ b/archaeological_context_records/old_migrations/0019_auto__add_field_contextrecord_auto_external_id__add_field_historicalco.py
diff --git a/archaeological_context_records/migrations/0020_auto__add_field_contextrecord_datings_comment__add_field_historicalcon.py b/archaeological_context_records/old_migrations/0020_auto__add_field_contextrecord_datings_comment__add_field_historicalcon.py
index c4600591e..c4600591e 100644
--- a/archaeological_context_records/migrations/0020_auto__add_field_contextrecord_datings_comment__add_field_historicalcon.py
+++ b/archaeological_context_records/old_migrations/0020_auto__add_field_contextrecord_datings_comment__add_field_historicalcon.py
diff --git a/archaeological_context_records/migrations/0021_auto__chg_field_contextrecord_depth__chg_field_contextrecord_thickness.py b/archaeological_context_records/old_migrations/0021_auto__chg_field_contextrecord_depth__chg_field_contextrecord_thickness.py
index c48d595a7..c48d595a7 100644
--- a/archaeological_context_records/migrations/0021_auto__chg_field_contextrecord_depth__chg_field_contextrecord_thickness.py
+++ b/archaeological_context_records/old_migrations/0021_auto__chg_field_contextrecord_depth__chg_field_contextrecord_thickness.py
diff --git a/archaeological_context_records/migrations/0022_auto__add_field_contextrecord_image__add_field_contextrecord_thumbnail.py b/archaeological_context_records/old_migrations/0022_auto__add_field_contextrecord_image__add_field_contextrecord_thumbnail.py
index 616951092..616951092 100644
--- a/archaeological_context_records/migrations/0022_auto__add_field_contextrecord_image__add_field_contextrecord_thumbnail.py
+++ b/archaeological_context_records/old_migrations/0022_auto__add_field_contextrecord_image__add_field_contextrecord_thumbnail.py
diff --git a/archaeological_context_records/migrations/0023_clean_parcels.py b/archaeological_context_records/old_migrations/0023_clean_parcels.py
index cd38a1deb..cd38a1deb 100644
--- a/archaeological_context_records/migrations/0023_clean_parcels.py
+++ b/archaeological_context_records/old_migrations/0023_clean_parcels.py
diff --git a/archaeological_context_records/migrations/0024_auto__add_field_contextrecord_cached_label__add_field_historicalcontex.py b/archaeological_context_records/old_migrations/0024_auto__add_field_contextrecord_cached_label__add_field_historicalcontex.py
index 675326715..675326715 100644
--- a/archaeological_context_records/migrations/0024_auto__add_field_contextrecord_cached_label__add_field_historicalcontex.py
+++ b/archaeological_context_records/old_migrations/0024_auto__add_field_contextrecord_cached_label__add_field_historicalcontex.py
diff --git a/archaeological_context_records/migrations/0025_generate_cached_label.py b/archaeological_context_records/old_migrations/0025_generate_cached_label.py
index 1c559b21a..1c559b21a 100644
--- a/archaeological_context_records/migrations/0025_generate_cached_label.py
+++ b/archaeological_context_records/old_migrations/0025_generate_cached_label.py
diff --git a/archaeological_context_records/migrations/0026_auto__chg_field_contextrecord_image__chg_field_contextrecord_thumbnail.py b/archaeological_context_records/old_migrations/0026_auto__chg_field_contextrecord_image__chg_field_contextrecord_thumbnail.py
index d17c902c5..d17c902c5 100644
--- a/archaeological_context_records/migrations/0026_auto__chg_field_contextrecord_image__chg_field_contextrecord_thumbnail.py
+++ b/archaeological_context_records/old_migrations/0026_auto__chg_field_contextrecord_image__chg_field_contextrecord_thumbnail.py
diff --git a/archaeological_context_records/migrations/0027_view_record_relations.py b/archaeological_context_records/old_migrations/0027_view_record_relations.py
index ebf4a1349..ebf4a1349 100644
--- a/archaeological_context_records/migrations/0027_view_record_relations.py
+++ b/archaeological_context_records/old_migrations/0027_view_record_relations.py
diff --git a/archaeological_context_records/migrations/0028_auto__chg_field_contextrecord_location__chg_field_historicalcontextrec.py b/archaeological_context_records/old_migrations/0028_auto__chg_field_contextrecord_location__chg_field_historicalcontextrec.py
index ef2c330cb..ef2c330cb 100644
--- a/archaeological_context_records/migrations/0028_auto__chg_field_contextrecord_location__chg_field_historicalcontextrec.py
+++ b/archaeological_context_records/old_migrations/0028_auto__chg_field_contextrecord_location__chg_field_historicalcontextrec.py
diff --git a/archaeological_context_records/migrations/0029_create_bulk_update_view.py b/archaeological_context_records/old_migrations/0029_create_bulk_update_view.py
index 1dc20a752..1dc20a752 100644
--- a/archaeological_context_records/migrations/0029_create_bulk_update_view.py
+++ b/archaeological_context_records/old_migrations/0029_create_bulk_update_view.py
diff --git a/archaeological_context_records/migrations/0030_auto__add_excavationtechnictype__add_field_contextrecord_excavation_te.py b/archaeological_context_records/old_migrations/0030_auto__add_excavationtechnictype__add_field_contextrecord_excavation_te.py
index 3a4097451..3a4097451 100644
--- a/archaeological_context_records/migrations/0030_auto__add_excavationtechnictype__add_field_contextrecord_excavation_te.py
+++ b/archaeological_context_records/old_migrations/0030_auto__add_excavationtechnictype__add_field_contextrecord_excavation_te.py
diff --git a/archaeological_context_records/migrations/0031_auto__add_documentationtype__add_field_contextrecord_diameter__add_fie.py b/archaeological_context_records/old_migrations/0031_auto__add_documentationtype__add_field_contextrecord_diameter__add_fie.py
index f56f26e9f..f56f26e9f 100644
--- a/archaeological_context_records/migrations/0031_auto__add_documentationtype__add_field_contextrecord_diameter__add_fie.py
+++ b/archaeological_context_records/old_migrations/0031_auto__add_documentationtype__add_field_contextrecord_diameter__add_fie.py
diff --git a/archaeological_context_records/migrations/0032_has_furniture_to_documentations.py b/archaeological_context_records/old_migrations/0032_has_furniture_to_documentations.py
index 0b5de776a..0b5de776a 100644
--- a/archaeological_context_records/migrations/0032_has_furniture_to_documentations.py
+++ b/archaeological_context_records/old_migrations/0032_has_furniture_to_documentations.py
diff --git a/archaeological_context_records/migrations/0033_auto__del_field_contextrecord_has_furniture__del_field_historicalconte.py b/archaeological_context_records/old_migrations/0033_auto__del_field_contextrecord_has_furniture__del_field_historicalconte.py
index 65c5d54da..65c5d54da 100644
--- a/archaeological_context_records/migrations/0033_auto__del_field_contextrecord_has_furniture__del_field_historicalconte.py
+++ b/archaeological_context_records/old_migrations/0033_auto__del_field_contextrecord_has_furniture__del_field_historicalconte.py
diff --git a/archaeological_files_pdl/migrations/__init__.py b/archaeological_context_records/old_migrations/__init__.py
index e69de29bb..e69de29bb 100644
--- a/archaeological_files_pdl/migrations/__init__.py
+++ b/archaeological_context_records/old_migrations/__init__.py
diff --git a/archaeological_files/migrations/0001_initial.py b/archaeological_files/migrations/0001_initial.py
index b69998442..878be3902 100644
--- a/archaeological_files/migrations/0001_initial.py
+++ b/archaeological_files/migrations/0001_initial.py
@@ -1,348 +1,159 @@
# -*- coding: utf-8 -*-
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
- # Adding model 'FileType'
- db.create_table('archaeological_files_filetype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ))
- db.send_create_signal('archaeological_files', ['FileType'])
-
- # Adding model 'PermitType'
- db.create_table('archaeological_files_permittype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ))
- db.send_create_signal('archaeological_files', ['PermitType'])
-
- # Adding model 'SaisineType'
- db.create_table('archaeological_files_saisinetype', (
- ('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)),
- ('delay', self.gf('django.db.models.fields.IntegerField')()),
- ))
- db.send_create_signal('archaeological_files', ['SaisineType'])
-
- # Adding model 'HistoricalFile'
- db.create_table('archaeological_files_historicalfile', (
- ('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)),
- ('year', self.gf('django.db.models.fields.IntegerField')(default=2012)),
- ('numeric_reference', self.gf('django.db.models.fields.IntegerField')()),
- ('internal_reference', self.gf('django.db.models.fields.CharField')(max_length=60, db_index=True)),
- ('file_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('in_charge_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('general_contractor_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('town_planning_service_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('permit_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('permit_reference', self.gf('django.db.models.fields.CharField')(max_length=60, null=True, blank=True)),
- ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
- ('creation_date', self.gf('django.db.models.fields.DateField')(default=datetime.date.today)),
- ('reception_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
- ('related_file_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('saisine_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('reference_number', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('total_surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('total_developed_surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('history_id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('history_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
- ('history_user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)),
- ('history_type', self.gf('django.db.models.fields.CharField')(max_length=1)),
- ))
- db.send_create_signal('archaeological_files', ['HistoricalFile'])
-
- # Adding model 'File'
- db.create_table('archaeological_files_file', (
- ('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'])),
- ('year', self.gf('django.db.models.fields.IntegerField')(default=2012)),
- ('numeric_reference', self.gf('django.db.models.fields.IntegerField')()),
- ('internal_reference', self.gf('django.db.models.fields.CharField')(unique=True, max_length=60)),
- ('file_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_files.FileType'])),
- ('in_charge', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['ishtar_common.Person'])),
- ('general_contractor', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])),
- ('town_planning_service', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Organization'])),
- ('permit_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_files.PermitType'], null=True, blank=True)),
- ('permit_reference', self.gf('django.db.models.fields.CharField')(max_length=60, null=True, blank=True)),
- ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
- ('creation_date', self.gf('django.db.models.fields.DateField')(default=datetime.date.today)),
- ('reception_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
- ('related_file', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_files.File'], null=True, blank=True)),
- ('saisine_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_files.SaisineType'], null=True, blank=True)),
- ('reference_number', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('total_surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('total_developed_surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ))
- db.send_create_signal('archaeological_files', ['File'])
-
- # Adding M2M table for field towns on 'File'
- db.create_table('archaeological_files_file_towns', (
- ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
- ('file', models.ForeignKey(orm['archaeological_files.file'], null=False)),
- ('town', models.ForeignKey(orm['ishtar_common.town'], null=False))
- ))
- db.create_unique('archaeological_files_file_towns', ['file_id', 'town_id'])
-
+from __future__ import unicode_literals
- def backwards(self, orm):
- # Deleting model 'FileType'
- db.delete_table('archaeological_files_filetype')
-
- # Deleting model 'PermitType'
- db.delete_table('archaeological_files_permittype')
-
- # Deleting model 'SaisineType'
- db.delete_table('archaeological_files_saisinetype')
-
- # Deleting model 'HistoricalFile'
- db.delete_table('archaeological_files_historicalfile')
-
- # Deleting model 'File'
- db.delete_table('archaeological_files_file')
-
- # Removing M2M table for field towns on 'File'
- db.delete_table('archaeological_files_file_towns')
-
-
- models = {
- 'archaeological_files.file': {
- 'Meta': {'ordering': "['-year', '-numeric_reference']", 'object_name': 'File'},
- 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
- 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}),
- 'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
- 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.Person']"}),
- 'internal_reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60'}),
- 'numeric_reference': ('django.db.models.fields.IntegerField', [], {}),
- 'permit_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}),
- 'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}),
- 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
- 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'reference_number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}),
- 'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}),
- 'total_developed_surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'total_surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
- 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}),
- 'year': ('django.db.models.fields.IntegerField', [], {'default': '2012'})
- },
- 'archaeological_files.filebydepartment': {
- 'Meta': {'object_name': 'FileByDepartment', 'db_table': "'file_department'", 'managed': 'False'},
- 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
- 'file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
- },
- '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.historicalfile': {
- 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalFile'},
- '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'general_contractor_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
- 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
- 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'db_index': 'True'}),
- 'numeric_reference': ('django.db.models.fields.IntegerField', [], {}),
- 'permit_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}),
- 'permit_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'saisine_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'year': ('django.db.models.fields.IntegerField', [], {'default': '2012'})
- },
- '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'})
- },
- '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.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.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_files'] \ No newline at end of file
+from django.db import models, migrations
+import datetime
+import archaeological_operations.models
+import ishtar_common.utils
+import ishtar_common.models
+import re
+import django.core.validators
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='FileByDepartment',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ],
+ options={
+ 'db_table': 'file_department',
+ 'managed': False,
+ },
+ ),
+ migrations.CreateModel(
+ name='File',
+ 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')),
+ ('numeric_reference', models.IntegerField(null=True, verbose_name='Numeric reference', blank=True)),
+ ('internal_reference', models.CharField(max_length=60, null=True, verbose_name='Internal reference', blank=True)),
+ ('external_id', models.CharField(max_length=120, null=True, verbose_name='External ID', blank=True)),
+ ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')),
+ ('name', models.TextField(null=True, verbose_name='Name', blank=True)),
+ ('raw_general_contractor', models.CharField(max_length=200, null=True, verbose_name='General contractor (raw)', blank=True)),
+ ('raw_town_planning_service', models.CharField(max_length=200, null=True, verbose_name='Planning service (raw)', blank=True)),
+ ('permit_reference', models.TextField(null=True, verbose_name='Permit reference', 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)),
+ ('instruction_deadline', models.DateField(null=True, verbose_name='Instruction deadline', blank=True)),
+ ('total_surface', models.FloatField(null=True, verbose_name='Total surface (m2)', blank=True)),
+ ('total_developed_surface', models.FloatField(null=True, verbose_name='Total developed surface (m2)', blank=True)),
+ ('locality', models.CharField(max_length=100, null=True, verbose_name='Locality', blank=True)),
+ ('address', models.TextField(null=True, verbose_name='Main address', blank=True)),
+ ('postal_code', models.CharField(max_length=10, null=True, verbose_name='Main address - postal code', blank=True)),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('research_comment', models.TextField(null=True, verbose_name='Research archaeology comment', blank=True)),
+ ('classified_area', models.NullBooleanField(verbose_name='Classified area')),
+ ('protected_area', models.NullBooleanField(verbose_name='Protected area')),
+ ('cira_advised', models.NullBooleanField(verbose_name='Passage en CIRA')),
+ ('mh_register', models.NullBooleanField(verbose_name='Sur Monument Historique class\xe9')),
+ ('mh_listing', models.NullBooleanField(verbose_name='Sur Monument Historique inscrit')),
+ ('cached_label', models.TextField(null=True, verbose_name='Cached name', blank=True)),
+ ('imported_line', models.TextField(null=True, verbose_name='Imported line', blank=True)),
+ ],
+ options={
+ 'ordering': ('cached_label',),
+ 'verbose_name': 'Archaeological file',
+ 'verbose_name_plural': 'Archaeological files',
+ 'permissions': (('view_file', 'Peut voir tous les Dossiers'), ('view_own_file', 'Peut voir son propre Dossier'), ('add_own_file', 'Peut ajouter son propre Dossier'), ('change_own_file', 'Peut modifier son propre Dossier'), ('delete_own_file', 'Peut supprimer son propre Dossier'), ('close_file', 'Peut clore un Dossier')),
+ },
+ bases=(archaeological_operations.models.ClosedItem, models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter, ishtar_common.models.ShortMenuItem, ishtar_common.models.DashboardFormItem),
+ ),
+ migrations.CreateModel(
+ name='FileType',
+ 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': 'Archaeological file type',
+ 'verbose_name_plural': 'Archaeological file types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='HistoricalFile',
+ 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')),
+ ('numeric_reference', models.IntegerField(null=True, verbose_name='Numeric reference', blank=True)),
+ ('internal_reference', models.CharField(max_length=60, null=True, verbose_name='Internal reference', blank=True)),
+ ('external_id', models.CharField(max_length=120, null=True, verbose_name='External ID', blank=True)),
+ ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')),
+ ('name', models.TextField(null=True, verbose_name='Name', blank=True)),
+ ('raw_general_contractor', models.CharField(max_length=200, null=True, verbose_name='General contractor (raw)', blank=True)),
+ ('raw_town_planning_service', models.CharField(max_length=200, null=True, verbose_name='Planning service (raw)', blank=True)),
+ ('permit_reference', models.TextField(null=True, verbose_name='Permit reference', 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)),
+ ('instruction_deadline', models.DateField(null=True, verbose_name='Instruction deadline', blank=True)),
+ ('total_surface', models.FloatField(null=True, verbose_name='Total surface (m2)', blank=True)),
+ ('total_developed_surface', models.FloatField(null=True, verbose_name='Total developed surface (m2)', blank=True)),
+ ('locality', models.CharField(max_length=100, null=True, verbose_name='Locality', blank=True)),
+ ('address', models.TextField(null=True, verbose_name='Main address', blank=True)),
+ ('postal_code', models.CharField(max_length=10, null=True, verbose_name='Main address - postal code', blank=True)),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('research_comment', models.TextField(null=True, verbose_name='Research archaeology comment', blank=True)),
+ ('classified_area', models.NullBooleanField(verbose_name='Classified area')),
+ ('protected_area', models.NullBooleanField(verbose_name='Protected area')),
+ ('cira_advised', models.NullBooleanField(verbose_name='Passage en CIRA')),
+ ('mh_register', models.NullBooleanField(verbose_name='Sur Monument Historique class\xe9')),
+ ('mh_listing', models.NullBooleanField(verbose_name='Sur Monument Historique inscrit')),
+ ('cached_label', models.TextField(null=True, verbose_name='Cached name', blank=True)),
+ ('imported_line', models.TextField(null=True, verbose_name='Imported line', 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 Archaeological file',
+ },
+ ),
+ migrations.CreateModel(
+ name='PermitType',
+ 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': 'Permit type',
+ 'verbose_name_plural': 'Permit types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='SaisineType',
+ 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')),
+ ('delay', models.IntegerField(default=30, verbose_name='Delay (in days)')),
+ ],
+ options={
+ 'ordering': ('label',),
+ 'verbose_name': 'Type de saisine',
+ 'verbose_name_plural': 'Types de saisine',
+ },
+ bases=(ishtar_common.models.Cached, models.Model, ishtar_common.models.ValueGetter),
+ ),
+ ]
diff --git a/archaeological_files/migrations/0002_auto_20170414_2123.py b/archaeological_files/migrations/0002_auto_20170414_2123.py
new file mode 100644
index 000000000..a8c8d7075
--- /dev/null
+++ b/archaeological_files/migrations/0002_auto_20170414_2123.py
@@ -0,0 +1,188 @@
+# -*- 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_files', '0001_initial'),
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('ishtar_common', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='historicalfile',
+ name='corporation_general_contractor',
+ 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='historicalfile',
+ name='file_type',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_files.FileType', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalfile',
+ name='general_contractor',
+ 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='historicalfile',
+ 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='historicalfile',
+ 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='historicalfile',
+ 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='historicalfile',
+ 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='historicalfile',
+ name='main_town',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Town', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalfile',
+ 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='historicalfile',
+ name='permit_type',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_files.PermitType', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalfile',
+ name='planning_service',
+ 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='historicalfile',
+ name='related_file',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_files.File', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalfile',
+ name='requested_operation_type',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.OperationType', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalfile',
+ name='responsible_town_planning_service',
+ 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='historicalfile',
+ name='saisine_type',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_files.SaisineType', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalfile',
+ name='scientist',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='file',
+ name='corporation_general_contractor',
+ field=models.ForeignKey(related_name='general_contractor_files', on_delete=django.db.models.deletion.SET_NULL, verbose_name='General contractor organization', blank=True, to='ishtar_common.Organization', null=True),
+ ),
+ migrations.AddField(
+ model_name='file',
+ name='departments',
+ field=models.ManyToManyField(to='ishtar_common.Department', verbose_name='Departments', blank=True),
+ ),
+ migrations.AddField(
+ model_name='file',
+ name='file_type',
+ field=models.ForeignKey(verbose_name='File type', to='archaeological_files.FileType'),
+ ),
+ migrations.AddField(
+ model_name='file',
+ name='general_contractor',
+ field=models.ForeignKey(related_name='general_contractor_files', on_delete=django.db.models.deletion.SET_NULL, verbose_name='General contractor', blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='file',
+ 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='file',
+ 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='file',
+ name='imports',
+ field=models.ManyToManyField(related_name='imported_archaeological_files_file', to='ishtar_common.Import', blank=True),
+ ),
+ migrations.AddField(
+ model_name='file',
+ name='in_charge',
+ field=models.ForeignKey(related_name='file_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='file',
+ name='main_town',
+ field=models.ForeignKey(related_name='file_main', verbose_name='Town', blank=True, to='ishtar_common.Town', null=True),
+ ),
+ migrations.AddField(
+ model_name='file',
+ name='organization',
+ field=models.ForeignKey(related_name='files', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Organization', blank=True, to='ishtar_common.Organization', null=True),
+ ),
+ migrations.AddField(
+ model_name='file',
+ name='permit_type',
+ field=models.ForeignKey(verbose_name='Permit type', blank=True, to='archaeological_files.PermitType', null=True),
+ ),
+ migrations.AddField(
+ model_name='file',
+ name='planning_service',
+ field=models.ForeignKey(related_name='planning_service_files', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Planning service organization', blank=True, to='ishtar_common.Organization', null=True),
+ ),
+ migrations.AddField(
+ model_name='file',
+ name='related_file',
+ field=models.ForeignKey(verbose_name='Related file', blank=True, to='archaeological_files.File', null=True),
+ ),
+ migrations.AddField(
+ model_name='file',
+ name='requested_operation_type',
+ field=models.ForeignKey(related_name='+', verbose_name='Requested operation type', blank=True, to='ishtar_common.OperationType', null=True),
+ ),
+ migrations.AddField(
+ model_name='file',
+ name='responsible_town_planning_service',
+ field=models.ForeignKey(related_name='responsible_town_planning_service_files', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Responsible for planning service', blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='file',
+ name='saisine_type',
+ field=models.ForeignKey(verbose_name='Type de saisine', blank=True, to='archaeological_files.SaisineType', null=True),
+ ),
+ migrations.AddField(
+ model_name='file',
+ name='scientist',
+ field=models.ForeignKey(related_name='scientist', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Scientist in charge', blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='file',
+ name='towns',
+ field=models.ManyToManyField(related_name='file', verbose_name='Towns', to='ishtar_common.Town'),
+ ),
+ ]
diff --git a/archaeological_files/models.py b/archaeological_files/models.py
index 08c7edf8c..412cceb46 100644
--- a/archaeological_files/models.py
+++ b/archaeological_files/models.py
@@ -26,7 +26,8 @@ from django.db.models import Q, Count, Sum
from django.db.models.signals import post_save, m2m_changed, post_delete
from django.utils.translation import ugettext_lazy as _, ugettext
-from ishtar_common.utils import cached_label_changed, get_cache
+from ishtar_common.utils import cached_label_changed, get_cache, \
+ get_current_year
from ishtar_common.models import GeneralType, BaseHistorizedItem, \
HistoricalRecords, OwnPerms, Person, Organization, Department, Town, \
@@ -105,8 +106,7 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
}
# fields
- year = models.IntegerField(_(u"Year"),
- default=lambda: datetime.datetime.now().year)
+ year = models.IntegerField(_(u"Year"), default=get_current_year)
numeric_reference = models.IntegerField(
_(u"Numeric reference"), blank=True, null=True)
internal_reference = models.CharField(_(u"Internal reference"), blank=True,
diff --git a/archaeological_files/old_migrations/0001_initial.py b/archaeological_files/old_migrations/0001_initial.py
new file mode 100644
index 000000000..b69998442
--- /dev/null
+++ b/archaeological_files/old_migrations/0001_initial.py
@@ -0,0 +1,348 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding model 'FileType'
+ db.create_table('archaeological_files_filetype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ))
+ db.send_create_signal('archaeological_files', ['FileType'])
+
+ # Adding model 'PermitType'
+ db.create_table('archaeological_files_permittype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ))
+ db.send_create_signal('archaeological_files', ['PermitType'])
+
+ # Adding model 'SaisineType'
+ db.create_table('archaeological_files_saisinetype', (
+ ('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)),
+ ('delay', self.gf('django.db.models.fields.IntegerField')()),
+ ))
+ db.send_create_signal('archaeological_files', ['SaisineType'])
+
+ # Adding model 'HistoricalFile'
+ db.create_table('archaeological_files_historicalfile', (
+ ('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)),
+ ('year', self.gf('django.db.models.fields.IntegerField')(default=2012)),
+ ('numeric_reference', self.gf('django.db.models.fields.IntegerField')()),
+ ('internal_reference', self.gf('django.db.models.fields.CharField')(max_length=60, db_index=True)),
+ ('file_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('in_charge_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('general_contractor_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('town_planning_service_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('permit_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('permit_reference', self.gf('django.db.models.fields.CharField')(max_length=60, null=True, blank=True)),
+ ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+ ('creation_date', self.gf('django.db.models.fields.DateField')(default=datetime.date.today)),
+ ('reception_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+ ('related_file_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('saisine_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('reference_number', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('total_surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('total_developed_surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('history_id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('history_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
+ ('history_user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)),
+ ('history_type', self.gf('django.db.models.fields.CharField')(max_length=1)),
+ ))
+ db.send_create_signal('archaeological_files', ['HistoricalFile'])
+
+ # Adding model 'File'
+ db.create_table('archaeological_files_file', (
+ ('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'])),
+ ('year', self.gf('django.db.models.fields.IntegerField')(default=2012)),
+ ('numeric_reference', self.gf('django.db.models.fields.IntegerField')()),
+ ('internal_reference', self.gf('django.db.models.fields.CharField')(unique=True, max_length=60)),
+ ('file_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_files.FileType'])),
+ ('in_charge', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['ishtar_common.Person'])),
+ ('general_contractor', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])),
+ ('town_planning_service', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Organization'])),
+ ('permit_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_files.PermitType'], null=True, blank=True)),
+ ('permit_reference', self.gf('django.db.models.fields.CharField')(max_length=60, null=True, blank=True)),
+ ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+ ('creation_date', self.gf('django.db.models.fields.DateField')(default=datetime.date.today)),
+ ('reception_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+ ('related_file', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_files.File'], null=True, blank=True)),
+ ('saisine_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_files.SaisineType'], null=True, blank=True)),
+ ('reference_number', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('total_surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('total_developed_surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ))
+ db.send_create_signal('archaeological_files', ['File'])
+
+ # Adding M2M table for field towns on 'File'
+ db.create_table('archaeological_files_file_towns', (
+ ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+ ('file', models.ForeignKey(orm['archaeological_files.file'], null=False)),
+ ('town', models.ForeignKey(orm['ishtar_common.town'], null=False))
+ ))
+ db.create_unique('archaeological_files_file_towns', ['file_id', 'town_id'])
+
+
+ def backwards(self, orm):
+ # Deleting model 'FileType'
+ db.delete_table('archaeological_files_filetype')
+
+ # Deleting model 'PermitType'
+ db.delete_table('archaeological_files_permittype')
+
+ # Deleting model 'SaisineType'
+ db.delete_table('archaeological_files_saisinetype')
+
+ # Deleting model 'HistoricalFile'
+ db.delete_table('archaeological_files_historicalfile')
+
+ # Deleting model 'File'
+ db.delete_table('archaeological_files_file')
+
+ # Removing M2M table for field towns on 'File'
+ db.delete_table('archaeological_files_file_towns')
+
+
+ models = {
+ 'archaeological_files.file': {
+ 'Meta': {'ordering': "['-year', '-numeric_reference']", 'object_name': 'File'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}),
+ 'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.Person']"}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60'}),
+ 'numeric_reference': ('django.db.models.fields.IntegerField', [], {}),
+ 'permit_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}),
+ 'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'reference_number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}),
+ 'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}),
+ 'total_developed_surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'total_surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'default': '2012'})
+ },
+ 'archaeological_files.filebydepartment': {
+ 'Meta': {'object_name': 'FileByDepartment', 'db_table': "'file_department'", 'managed': 'False'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+ },
+ '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.historicalfile': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalFile'},
+ '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'general_contractor_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
+ 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'db_index': 'True'}),
+ 'numeric_reference': ('django.db.models.fields.IntegerField', [], {}),
+ 'permit_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}),
+ 'permit_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'saisine_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'default': '2012'})
+ },
+ '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'})
+ },
+ '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.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.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_files'] \ No newline at end of file
diff --git a/archaeological_files/migrations/0002_views.py b/archaeological_files/old_migrations/0002_views.py
index dfbb466ec..dfbb466ec 100644
--- a/archaeological_files/migrations/0002_views.py
+++ b/archaeological_files/old_migrations/0002_views.py
diff --git a/archaeological_files/migrations/0003_auto__add_field_file_name__add_field_historicalfile_name.py b/archaeological_files/old_migrations/0003_auto__add_field_file_name__add_field_historicalfile_name.py
index 9dd744073..9dd744073 100644
--- a/archaeological_files/migrations/0003_auto__add_field_file_name__add_field_historicalfile_name.py
+++ b/archaeological_files/old_migrations/0003_auto__add_field_file_name__add_field_historicalfile_name.py
diff --git a/archaeological_files/migrations/0004_auto__chg_field_file_numeric_reference__chg_field_historicalfile_numer.py b/archaeological_files/old_migrations/0004_auto__chg_field_file_numeric_reference__chg_field_historicalfile_numer.py
index bcd4f7061..bcd4f7061 100644
--- a/archaeological_files/migrations/0004_auto__chg_field_file_numeric_reference__chg_field_historicalfile_numer.py
+++ b/archaeological_files/old_migrations/0004_auto__chg_field_file_numeric_reference__chg_field_historicalfile_numer.py
diff --git a/archaeological_files/migrations/0005_auto__chg_field_file_internal_reference__chg_field_historicalfile_inte.py b/archaeological_files/old_migrations/0005_auto__chg_field_file_internal_reference__chg_field_historicalfile_inte.py
index 2a26cdc3e..2a26cdc3e 100644
--- a/archaeological_files/migrations/0005_auto__chg_field_file_internal_reference__chg_field_historicalfile_inte.py
+++ b/archaeological_files/old_migrations/0005_auto__chg_field_file_internal_reference__chg_field_historicalfile_inte.py
diff --git a/archaeological_files/migrations/0006_auto__chg_field_file_in_charge.py b/archaeological_files/old_migrations/0006_auto__chg_field_file_in_charge.py
index 3c7ec0f50..3c7ec0f50 100644
--- a/archaeological_files/migrations/0006_auto__chg_field_file_in_charge.py
+++ b/archaeological_files/old_migrations/0006_auto__chg_field_file_in_charge.py
diff --git a/archaeological_files/migrations/0007_auto__add_field_file_cached_label__add_field_historicalfile_cached_lab.py b/archaeological_files/old_migrations/0007_auto__add_field_file_cached_label__add_field_historicalfile_cached_lab.py
index 92e979bd4..92e979bd4 100644
--- a/archaeological_files/migrations/0007_auto__add_field_file_cached_label__add_field_historicalfile_cached_lab.py
+++ b/archaeological_files/old_migrations/0007_auto__add_field_file_cached_label__add_field_historicalfile_cached_lab.py
diff --git a/archaeological_files/migrations/0008_auto__chg_field_file_cached_label__chg_field_historicalfile_cached_lab.py b/archaeological_files/old_migrations/0008_auto__chg_field_file_cached_label__chg_field_historicalfile_cached_lab.py
index 93fb7e01f..93fb7e01f 100644
--- a/archaeological_files/migrations/0008_auto__chg_field_file_cached_label__chg_field_historicalfile_cached_lab.py
+++ b/archaeological_files/old_migrations/0008_auto__chg_field_file_cached_label__chg_field_historicalfile_cached_lab.py
diff --git a/archaeological_files/migrations/0009_auto__add_field_file_responsible_town_planning_service__add_field_hist.py b/archaeological_files/old_migrations/0009_auto__add_field_file_responsible_town_planning_service__add_field_hist.py
index 39d2b9267..39d2b9267 100644
--- a/archaeological_files/migrations/0009_auto__add_field_file_responsible_town_planning_service__add_field_hist.py
+++ b/archaeological_files/old_migrations/0009_auto__add_field_file_responsible_town_planning_service__add_field_hist.py
diff --git a/archaeological_files/migrations/0010_responsible_town_planning_service_transition.py b/archaeological_files/old_migrations/0010_responsible_town_planning_service_transition.py
index 80771c562..80771c562 100644
--- a/archaeological_files/migrations/0010_responsible_town_planning_service_transition.py
+++ b/archaeological_files/old_migrations/0010_responsible_town_planning_service_transition.py
diff --git a/archaeological_files/migrations/0011_auto__del_field_file_town_planning_service__del_field_historicalfile_t.py b/archaeological_files/old_migrations/0011_auto__del_field_file_town_planning_service__del_field_historicalfile_t.py
index fb2af402a..fb2af402a 100644
--- a/archaeological_files/migrations/0011_auto__del_field_file_town_planning_service__del_field_historicalfile_t.py
+++ b/archaeological_files/old_migrations/0011_auto__del_field_file_town_planning_service__del_field_historicalfile_t.py
diff --git a/archaeological_files/migrations/0012_auto__del_unique_file_internal_reference__add_unique_file_year_interna.py b/archaeological_files/old_migrations/0012_auto__del_unique_file_internal_reference__add_unique_file_year_interna.py
index da1695457..da1695457 100644
--- a/archaeological_files/migrations/0012_auto__del_unique_file_internal_reference__add_unique_file_year_interna.py
+++ b/archaeological_files/old_migrations/0012_auto__del_unique_file_internal_reference__add_unique_file_year_interna.py
diff --git a/archaeological_files/migrations/0013_auto__del_unique_file_year_internal_reference.py b/archaeological_files/old_migrations/0013_auto__del_unique_file_year_internal_reference.py
index 24df2cb2c..24df2cb2c 100644
--- a/archaeological_files/migrations/0013_auto__del_unique_file_year_internal_reference.py
+++ b/archaeological_files/old_migrations/0013_auto__del_unique_file_year_internal_reference.py
diff --git a/archaeological_files/migrations/0014_auto__add_field_file_requested_operation_type__add_field_file_organiza.py b/archaeological_files/old_migrations/0014_auto__add_field_file_requested_operation_type__add_field_file_organiza.py
index aeb1faec1..aeb1faec1 100644
--- a/archaeological_files/migrations/0014_auto__add_field_file_requested_operation_type__add_field_file_organiza.py
+++ b/archaeological_files/old_migrations/0014_auto__add_field_file_requested_operation_type__add_field_file_organiza.py
diff --git a/archaeological_files/migrations/0015_auto__add_field_file_history_creator__add_field_historicalfile_history.py b/archaeological_files/old_migrations/0015_auto__add_field_file_history_creator__add_field_historicalfile_history.py
index 3be3e48ac..3be3e48ac 100644
--- a/archaeological_files/migrations/0015_auto__add_field_file_history_creator__add_field_historicalfile_history.py
+++ b/archaeological_files/old_migrations/0015_auto__add_field_file_history_creator__add_field_historicalfile_history.py
diff --git a/archaeological_files/migrations/0016_init_history_creator.py b/archaeological_files/old_migrations/0016_init_history_creator.py
index 32eef3c9c..32eef3c9c 100644
--- a/archaeological_files/migrations/0016_init_history_creator.py
+++ b/archaeological_files/old_migrations/0016_init_history_creator.py
diff --git a/archaeological_files/migrations/0017_reinit_history_creator.py b/archaeological_files/old_migrations/0017_reinit_history_creator.py
index 003c6f25d..003c6f25d 100644
--- a/archaeological_files/migrations/0017_reinit_history_creator.py
+++ b/archaeological_files/old_migrations/0017_reinit_history_creator.py
diff --git a/archaeological_files/migrations/0018_auto__add_field_file_imported_line__chg_field_file_responsible_town_pl.py b/archaeological_files/old_migrations/0018_auto__add_field_file_imported_line__chg_field_file_responsible_town_pl.py
index 4555145a3..4555145a3 100644
--- a/archaeological_files/migrations/0018_auto__add_field_file_imported_line__chg_field_file_responsible_town_pl.py
+++ b/archaeological_files/old_migrations/0018_auto__add_field_file_imported_line__chg_field_file_responsible_town_pl.py
diff --git a/archaeological_files/migrations/0019_auto__chg_field_file_history_creator__chg_field_file_history_modifier.py b/archaeological_files/old_migrations/0019_auto__chg_field_file_history_creator__chg_field_file_history_modifier.py
index 74794228a..74794228a 100644
--- a/archaeological_files/migrations/0019_auto__chg_field_file_history_creator__chg_field_file_history_modifier.py
+++ b/archaeological_files/old_migrations/0019_auto__chg_field_file_history_creator__chg_field_file_history_modifier.py
diff --git a/archaeological_files/migrations/0020_auto.py b/archaeological_files/old_migrations/0020_auto.py
index e6ecdfb3c..e6ecdfb3c 100644
--- a/archaeological_files/migrations/0020_auto.py
+++ b/archaeological_files/old_migrations/0020_auto.py
diff --git a/archaeological_files/migrations/0021_auto__chg_field_saisinetype_txt_idx__chg_field_filetype_txt_idx__del_f.py b/archaeological_files/old_migrations/0021_auto__chg_field_saisinetype_txt_idx__chg_field_filetype_txt_idx__del_f.py
index de4898d89..de4898d89 100644
--- a/archaeological_files/migrations/0021_auto__chg_field_saisinetype_txt_idx__chg_field_filetype_txt_idx__del_f.py
+++ b/archaeological_files/old_migrations/0021_auto__chg_field_saisinetype_txt_idx__chg_field_filetype_txt_idx__del_f.py
diff --git a/archaeological_files/migrations/0022_auto__add_field_file_corporation_general_contractor__add_field_file_co.py b/archaeological_files/old_migrations/0022_auto__add_field_file_corporation_general_contractor__add_field_file_co.py
index ddea52773..ddea52773 100644
--- a/archaeological_files/migrations/0022_auto__add_field_file_corporation_general_contractor__add_field_file_co.py
+++ b/archaeological_files/old_migrations/0022_auto__add_field_file_corporation_general_contractor__add_field_file_co.py
diff --git a/archaeological_files/migrations/0023_auto__del_field_file_corporation_responsible_town_planning_service__ad.py b/archaeological_files/old_migrations/0023_auto__del_field_file_corporation_responsible_town_planning_service__ad.py
index b58229e78..b58229e78 100644
--- a/archaeological_files/migrations/0023_auto__del_field_file_corporation_responsible_town_planning_service__ad.py
+++ b/archaeological_files/old_migrations/0023_auto__del_field_file_corporation_responsible_town_planning_service__ad.py
diff --git a/archaeological_files/migrations/0024_auto__chg_field_file_reference_number__chg_field_historicalfile_refere.py b/archaeological_files/old_migrations/0024_auto__chg_field_file_reference_number__chg_field_historicalfile_refere.py
index 7d297a328..7d297a328 100644
--- a/archaeological_files/migrations/0024_auto__chg_field_file_reference_number__chg_field_historicalfile_refere.py
+++ b/archaeological_files/old_migrations/0024_auto__chg_field_file_reference_number__chg_field_historicalfile_refere.py
diff --git a/archaeological_files/migrations/0025_auto__add_field_file_external_id__chg_field_file_name__add_field_histo.py b/archaeological_files/old_migrations/0025_auto__add_field_file_external_id__chg_field_file_name__add_field_histo.py
index 37ea1dd46..37ea1dd46 100644
--- a/archaeological_files/migrations/0025_auto__add_field_file_external_id__chg_field_file_name__add_field_histo.py
+++ b/archaeological_files/old_migrations/0025_auto__add_field_file_external_id__chg_field_file_name__add_field_histo.py
diff --git a/archaeological_files/migrations/0026_auto__chg_field_file_cached_label__chg_field_historicalfile_cached_lab.py b/archaeological_files/old_migrations/0026_auto__chg_field_file_cached_label__chg_field_historicalfile_cached_lab.py
index a90353c6c..a90353c6c 100644
--- a/archaeological_files/migrations/0026_auto__chg_field_file_cached_label__chg_field_historicalfile_cached_lab.py
+++ b/archaeological_files/old_migrations/0026_auto__chg_field_file_cached_label__chg_field_historicalfile_cached_lab.py
diff --git a/archaeological_files/migrations/0027_auto__chg_field_file_reference_number__chg_field_historicalfile_refere.py b/archaeological_files/old_migrations/0027_auto__chg_field_file_reference_number__chg_field_historicalfile_refere.py
index 345660bb4..345660bb4 100644
--- a/archaeological_files/migrations/0027_auto__chg_field_file_reference_number__chg_field_historicalfile_refere.py
+++ b/archaeological_files/old_migrations/0027_auto__chg_field_file_reference_number__chg_field_historicalfile_refere.py
diff --git a/archaeological_files/migrations/0028_auto__chg_field_file_requested_operation_type.py b/archaeological_files/old_migrations/0028_auto__chg_field_file_requested_operation_type.py
index 303e09b0f..303e09b0f 100644
--- a/archaeological_files/migrations/0028_auto__chg_field_file_requested_operation_type.py
+++ b/archaeological_files/old_migrations/0028_auto__chg_field_file_requested_operation_type.py
diff --git a/archaeological_files/migrations/0029_auto__chg_field_file_creation_date__chg_field_historicalfile_creation_.py b/archaeological_files/old_migrations/0029_auto__chg_field_file_creation_date__chg_field_historicalfile_creation_.py
index 52a9f70e4..52a9f70e4 100644
--- a/archaeological_files/migrations/0029_auto__chg_field_file_creation_date__chg_field_historicalfile_creation_.py
+++ b/archaeological_files/old_migrations/0029_auto__chg_field_file_creation_date__chg_field_historicalfile_creation_.py
diff --git a/archaeological_files/migrations/0030_reference_number_to_permit_reference.py b/archaeological_files/old_migrations/0030_reference_number_to_permit_reference.py
index 8a37b5085..8a37b5085 100644
--- a/archaeological_files/migrations/0030_reference_number_to_permit_reference.py
+++ b/archaeological_files/old_migrations/0030_reference_number_to_permit_reference.py
diff --git a/archaeological_files/migrations/0031_auto__del_field_file_reference_number__chg_field_file_permit_reference.py b/archaeological_files/old_migrations/0031_auto__del_field_file_reference_number__chg_field_file_permit_reference.py
index 7178855a8..7178855a8 100644
--- a/archaeological_files/migrations/0031_auto__del_field_file_reference_number__chg_field_file_permit_reference.py
+++ b/archaeological_files/old_migrations/0031_auto__del_field_file_reference_number__chg_field_file_permit_reference.py
diff --git a/archaeological_files/migrations/0032_auto__add_field_file_auto_external_id__add_field_historicalfile_auto_e.py b/archaeological_files/old_migrations/0032_auto__add_field_file_auto_external_id__add_field_historicalfile_auto_e.py
index 6dd172587..6dd172587 100644
--- a/archaeological_files/migrations/0032_auto__add_field_file_auto_external_id__add_field_historicalfile_auto_e.py
+++ b/archaeological_files/old_migrations/0032_auto__add_field_file_auto_external_id__add_field_historicalfile_auto_e.py
diff --git a/archaeological_files/migrations/0033_auto__chg_field_file_total_surface__chg_field_file_total_developed_sur.py b/archaeological_files/old_migrations/0033_auto__chg_field_file_total_surface__chg_field_file_total_developed_sur.py
index d9097bd6d..d9097bd6d 100644
--- a/archaeological_files/migrations/0033_auto__chg_field_file_total_surface__chg_field_file_total_developed_sur.py
+++ b/archaeological_files/old_migrations/0033_auto__chg_field_file_total_surface__chg_field_file_total_developed_sur.py
diff --git a/archaeological_files/old_migrations/__init__.py b/archaeological_files/old_migrations/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/archaeological_files/old_migrations/__init__.py
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/models_treatments.py b/archaeological_finds/models_treatments.py
index 8fcf37b9c..5dacb72f8 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,
@@ -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)
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_operations/migrations/0001_initial.py b/archaeological_operations/migrations/0001_initial.py
index c5b4619ab..7effdc075 100644
--- a/archaeological_operations/migrations/0001_initial.py
+++ b/archaeological_operations/migrations/0001_initial.py
@@ -1,655 +1,387 @@
# -*- coding: utf-8 -*-
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
- depends_on = (('archaeological_files', '0001_initial.py'), )
-
- def forwards(self, orm):
- # Adding model 'OperationType'
- db.create_table('archaeological_operations_operationtype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ))
- db.send_create_signal('archaeological_operations', ['OperationType'])
-
- # Adding model 'RemainType'
- db.create_table('archaeological_operations_remaintype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ))
- db.send_create_signal('archaeological_operations', ['RemainType'])
-
- # Adding model 'Period'
- db.create_table('archaeological_operations_period', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ('order', self.gf('django.db.models.fields.IntegerField')()),
- ('start_date', self.gf('django.db.models.fields.IntegerField')()),
- ('end_date', self.gf('django.db.models.fields.IntegerField')()),
- ('parent', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.Period'], null=True, blank=True)),
- ))
- db.send_create_signal('archaeological_operations', ['Period'])
-
- # Adding model 'HistoricalOperation'
- db.create_table('archaeological_operations_historicaloperation', (
- ('id', self.gf('django.db.models.fields.IntegerField')(db_index=True, blank=True)),
- ('history_modifier_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('start_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
- ('excavation_end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
- ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
- ('in_charge_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('year', self.gf('django.db.models.fields.IntegerField')()),
- ('operation_code', self.gf('django.db.models.fields.IntegerField')()),
- ('associated_file_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('operation_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('scheduled_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('optional_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('effective_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('code_patriarche', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('code_dracar', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
- ('fnap_financing', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)),
- ('fnap_cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('zoning_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
- ('large_area_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
- ('geoarchaeological_context_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
- ('operator_reference', self.gf('django.db.models.fields.CharField')(max_length=20, null=True, blank=True)),
- ('common_name', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('history_id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('history_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
- ('history_user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)),
- ('history_type', self.gf('django.db.models.fields.CharField')(max_length=1)),
- ))
- db.send_create_signal('archaeological_operations', ['HistoricalOperation'])
-
- # Adding model 'Operation'
- db.create_table('archaeological_operations_operation', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])),
- ('start_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
- ('excavation_end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
- ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
- ('in_charge', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])),
- ('year', self.gf('django.db.models.fields.IntegerField')()),
- ('operation_code', self.gf('django.db.models.fields.IntegerField')()),
- ('associated_file', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='operations', null=True, to=orm['archaeological_files.File'])),
- ('operation_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['archaeological_operations.OperationType'])),
- ('surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('scheduled_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('optional_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('effective_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('code_patriarche', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('code_dracar', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
- ('fnap_financing', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)),
- ('fnap_cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('zoning_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
- ('large_area_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
- ('geoarchaeological_context_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
- ('operator_reference', self.gf('django.db.models.fields.CharField')(max_length=20, null=True, blank=True)),
- ('common_name', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ))
- db.send_create_signal('archaeological_operations', ['Operation'])
-
- # Adding M2M table for field remains on 'Operation'
- db.create_table('archaeological_operations_operation_remains', (
- ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
- ('operation', models.ForeignKey(orm['archaeological_operations.operation'], null=False)),
- ('remaintype', models.ForeignKey(orm['archaeological_operations.remaintype'], null=False))
- ))
- db.create_unique('archaeological_operations_operation_remains', ['operation_id', 'remaintype_id'])
-
- # Adding M2M table for field towns on 'Operation'
- db.create_table('archaeological_operations_operation_towns', (
- ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
- ('operation', models.ForeignKey(orm['archaeological_operations.operation'], null=False)),
- ('town', models.ForeignKey(orm['ishtar_common.town'], null=False))
- ))
- db.create_unique('archaeological_operations_operation_towns', ['operation_id', 'town_id'])
-
- # Adding M2M table for field periods on 'Operation'
- db.create_table('archaeological_operations_operation_periods', (
- ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
- ('operation', models.ForeignKey(orm['archaeological_operations.operation'], null=False)),
- ('period', models.ForeignKey(orm['archaeological_operations.period'], null=False))
- ))
- db.create_unique('archaeological_operations_operation_periods', ['operation_id', 'period_id'])
-
- # Adding model 'OperationSource'
- db.create_table('archaeological_operations_operationsource', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('title', self.gf('django.db.models.fields.CharField')(max_length=200)),
- ('source_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.SourceType'])),
- ('associated_url', self.gf('django.db.models.fields.URLField')(max_length=200, null=True, blank=True)),
- ('receipt_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
- ('creation_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
- ('operation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='source', to=orm['archaeological_operations.Operation'])),
- ('index', self.gf('django.db.models.fields.IntegerField')()),
- ))
- db.send_create_signal('archaeological_operations', ['OperationSource'])
-
- # Adding M2M table for field authors on 'OperationSource'
- db.create_table('archaeological_operations_operationsource_authors', (
- ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
- ('operationsource', models.ForeignKey(orm['archaeological_operations.operationsource'], null=False)),
- ('author', models.ForeignKey(orm['ishtar_common.author'], null=False))
- ))
- db.create_unique('archaeological_operations_operationsource_authors', ['operationsource_id', 'author_id'])
-
- # Adding model 'ActType'
- db.create_table('archaeological_operations_acttype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ('intented_to', self.gf('django.db.models.fields.CharField')(max_length=1)),
- ))
- db.send_create_signal('archaeological_operations', ['ActType'])
-
- # Adding model 'HistoricalAdministrativeAct'
- db.create_table('archaeological_operations_historicaladministrativeact', (
- ('id', self.gf('django.db.models.fields.IntegerField')(db_index=True, blank=True)),
- ('history_modifier_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('act_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('in_charge_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('operator_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('scientific_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('signatory_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('operation_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('associated_file_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('signature_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
- ('act_object', self.gf('django.db.models.fields.CharField')(max_length=200)),
- ('ref_sra', self.gf('django.db.models.fields.CharField')(max_length=15)),
- ('history_id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('history_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
- ('history_user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)),
- ('history_type', self.gf('django.db.models.fields.CharField')(max_length=1)),
- ))
- db.send_create_signal('archaeological_operations', ['HistoricalAdministrativeAct'])
-
- # Adding model 'AdministrativeAct'
- db.create_table('archaeological_operations_administrativeact', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])),
- ('act_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.ActType'])),
- ('in_charge', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])),
- ('operator', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Organization'], null=True, blank=True)),
- ('scientific', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])),
- ('signatory', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])),
- ('operation', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='administrative_act', null=True, to=orm['archaeological_operations.Operation'])),
- ('associated_file', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='administrative_act', null=True, to=orm['archaeological_files.File'])),
- ('signature_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
- ('act_object', self.gf('django.db.models.fields.CharField')(max_length=200)),
- ('ref_sra', self.gf('django.db.models.fields.CharField')(max_length=15)),
- ))
- db.send_create_signal('archaeological_operations', ['AdministrativeAct'])
-
- # Adding model 'Parcel'
- db.create_table('archaeological_operations_parcel', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])),
- ('history_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)),
- ('associated_file', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='parcels', null=True, to=orm['archaeological_files.File'])),
- ('operation', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='parcels', null=True, to=orm['archaeological_operations.Operation'])),
- ('year', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('town', self.gf('django.db.models.fields.related.ForeignKey')(related_name='parcels', to=orm['ishtar_common.Town'])),
- ('section', self.gf('django.db.models.fields.CharField')(max_length=4)),
- ('parcel_number', self.gf('django.db.models.fields.CharField')(max_length=6)),
- ))
- db.send_create_signal('archaeological_operations', ['Parcel'])
-
- # Adding model 'ParcelOwner'
- db.create_table('archaeological_operations_parcelowner', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])),
- ('history_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)),
- ('owner', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'])),
- ('parcel', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.Parcel'])),
- ('start_date', self.gf('django.db.models.fields.DateField')()),
- ('end_date', self.gf('django.db.models.fields.DateField')()),
- ))
- db.send_create_signal('archaeological_operations', ['ParcelOwner'])
-
+from __future__ import unicode_literals
- def backwards(self, orm):
- # Deleting model 'OperationType'
- db.delete_table('archaeological_operations_operationtype')
-
- # Deleting model 'RemainType'
- db.delete_table('archaeological_operations_remaintype')
-
- # Deleting model 'Period'
- db.delete_table('archaeological_operations_period')
-
- # Deleting model 'HistoricalOperation'
- db.delete_table('archaeological_operations_historicaloperation')
-
- # Deleting model 'Operation'
- db.delete_table('archaeological_operations_operation')
-
- # Removing M2M table for field remains on 'Operation'
- db.delete_table('archaeological_operations_operation_remains')
-
- # Removing M2M table for field towns on 'Operation'
- db.delete_table('archaeological_operations_operation_towns')
-
- # Removing M2M table for field periods on 'Operation'
- db.delete_table('archaeological_operations_operation_periods')
-
- # Deleting model 'OperationSource'
- db.delete_table('archaeological_operations_operationsource')
-
- # Removing M2M table for field authors on 'OperationSource'
- db.delete_table('archaeological_operations_operationsource_authors')
-
- # Deleting model 'ActType'
- db.delete_table('archaeological_operations_acttype')
-
- # Deleting model 'HistoricalAdministrativeAct'
- db.delete_table('archaeological_operations_historicaladministrativeact')
-
- # Deleting model 'AdministrativeAct'
- db.delete_table('archaeological_operations_administrativeact')
-
- # Deleting model 'Parcel'
- db.delete_table('archaeological_operations_parcel')
-
- # Deleting model 'ParcelOwner'
- db.delete_table('archaeological_operations_parcelowner')
-
-
- models = {
- 'archaeological_files.file': {
- 'Meta': {'ordering': "['-year', '-numeric_reference']", 'object_name': 'File'},
- 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
- 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}),
- 'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
- 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.Person']"}),
- 'internal_reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60'}),
- 'numeric_reference': ('django.db.models.fields.IntegerField', [], {}),
- 'permit_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}),
- 'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}),
- 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
- 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'reference_number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}),
- 'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}),
- 'total_developed_surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'total_surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
- 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}),
- 'year': ('django.db.models.fields.IntegerField', [], {'default': '2012'})
- },
- 'archaeological_files.filetype': {
- 'Meta': {'object_name': 'FileType'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'archaeological_files.permittype': {
- 'Meta': {'object_name': 'PermitType'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'archaeological_files.saisinetype': {
- 'Meta': {'object_name': 'SaisineType'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'delay': ('django.db.models.fields.IntegerField', [], {}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'archaeological_operations.acttype': {
- 'Meta': {'object_name': 'ActType'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'intented_to': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'archaeological_operations.administrativeact': {
- 'Meta': {'object_name': 'AdministrativeAct'},
- 'act_object': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
- 'act_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ActType']"}),
- 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
- 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
- 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}),
- 'operator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Organization']", 'null': 'True', 'blank': 'True'}),
- 'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15'}),
- 'scientific': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
- 'signatory': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
- 'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'})
- },
- 'archaeological_operations.historicaladministrativeact': {
- 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalAdministrativeAct'},
- 'act_object': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
- 'act_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
- 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
- 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15'}),
- 'scientific_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'signatory_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'})
- },
- 'archaeological_operations.historicaloperation': {
- 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOperation'},
- 'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'code_dracar': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
- 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'common_name': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}),
- 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
- 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
- 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
- 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
- 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
- 'operation_code': ('django.db.models.fields.IntegerField', [], {}),
- 'operation_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
- 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'year': ('django.db.models.fields.IntegerField', [], {}),
- 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'})
- },
- 'archaeological_operations.operation': {
- 'Meta': {'object_name': 'Operation'},
- 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
- 'code_dracar': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
- 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'common_name': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}),
- 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
- 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
- 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
- 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
- 'operation_code': ('django.db.models.fields.IntegerField', [], {}),
- 'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['archaeological_operations.OperationType']"}),
- 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
- 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_operations.Period']", 'symmetrical': 'False'}),
- 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_operations.RemainType']", 'symmetrical': 'False'}),
- 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.Town']", 'symmetrical': 'False'}),
- 'year': ('django.db.models.fields.IntegerField', [], {}),
- 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'})
- },
- 'archaeological_operations.operationbydepartment': {
- 'Meta': {'object_name': 'OperationByDepartment', 'db_table': "'operation_department'", 'managed': 'False'},
- 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'operation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Operation']"})
- },
- 'archaeological_operations.operationsource': {
- 'Meta': {'object_name': 'OperationSource'},
- 'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.Author']", 'symmetrical': 'False'}),
- 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'index': ('django.db.models.fields.IntegerField', [], {}),
- 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_operations.Operation']"}),
- 'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
- },
- 'archaeological_operations.operationtype': {
- 'Meta': {'object_name': 'OperationType'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'archaeological_operations.parcel': {
- 'Meta': {'object_name': 'Parcel'},
- 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
- 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}),
- 'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6'}),
- 'section': ('django.db.models.fields.CharField', [], {'max_length': '4'}),
- 'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}),
- 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
- },
- 'archaeological_operations.parcelowner': {
- 'Meta': {'object_name': 'ParcelOwner'},
- 'end_date': ('django.db.models.fields.DateField', [], {}),
- 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']"}),
- 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Parcel']"}),
- 'start_date': ('django.db.models.fields.DateField', [], {})
- },
- 'archaeological_operations.period': {
- 'Meta': {'object_name': 'Period'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'end_date': ('django.db.models.fields.IntegerField', [], {}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'order': ('django.db.models.fields.IntegerField', [], {}),
- 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
- 'start_date': ('django.db.models.fields.IntegerField', [], {}),
- 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'archaeological_operations.remaintype': {
- 'Meta': {'object_name': 'RemainType'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'contenttypes.contenttype': {
- 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
- 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
- },
- 'ishtar_common.arrondissement': {
- 'Meta': {'object_name': 'Arrondissement'},
- 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
- },
- 'ishtar_common.author': {
- 'Meta': {'object_name': 'Author'},
- 'author_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.AuthorType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']"})
- },
- 'ishtar_common.authortype': {
- 'Meta': {'object_name': 'AuthorType'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'ishtar_common.canton': {
- 'Meta': {'object_name': 'Canton'},
- 'arrondissement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Arrondissement']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
- },
- 'ishtar_common.department': {
- 'Meta': {'ordering': "['number']", 'object_name': 'Department'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
- 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'})
- },
- 'ishtar_common.organization': {
- 'Meta': {'object_name': 'Organization'},
- 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
- 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}),
- 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
- 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
- 'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'})
- },
- 'ishtar_common.organizationtype': {
- 'Meta': {'object_name': 'OrganizationType'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'ishtar_common.person': {
- 'Meta': {'object_name': 'Person'},
- 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Organization']", 'null': 'True', 'blank': 'True'}),
- 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
- 'email': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'}),
- 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
- 'person_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.PersonType']"}),
- 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
- 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
- 'surname': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '2'}),
- 'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'})
- },
- 'ishtar_common.persontype': {
- 'Meta': {'object_name': 'PersonType'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'rights': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.WizardStep']", 'symmetrical': 'False'}),
- 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'ishtar_common.sourcetype': {
- 'Meta': {'object_name': 'SourceType'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'ishtar_common.town': {
- 'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'},
- 'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}),
- 'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}),
- 'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}),
- 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
- },
- 'ishtar_common.wizard': {
- 'Meta': {'ordering': "['url_name']", 'object_name': 'Wizard'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'url_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'})
- },
- 'ishtar_common.wizardstep': {
- 'Meta': {'ordering': "['wizard', 'order']", 'object_name': 'WizardStep'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'order': ('django.db.models.fields.IntegerField', [], {}),
- 'url_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'wizard': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Wizard']"})
- }
- }
-
- complete_apps = ['archaeological_operations']
+from django.db import models, migrations
+import datetime
+import re
+import django.contrib.gis.db.models.fields
+import archaeological_operations.models
+import django.db.models.deletion
+from django.conf import settings
+import ishtar_common.models
+import django.core.validators
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='OperationByDepartment',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ],
+ options={
+ 'db_table': 'operation_department',
+ 'managed': False,
+ },
+ ),
+ migrations.CreateModel(
+ name='ActType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('intented_to', models.CharField(max_length=2, verbose_name='Intended to', choices=[(b'F', 'Archaeological file'), (b'O', 'Operation'), (b'TF', 'Treatment request'), (b'T', 'Treatment')])),
+ ('code', models.CharField(max_length=10, null=True, verbose_name='Code', blank=True)),
+ ('indexed', models.BooleanField(default=False, verbose_name='Indexed')),
+ ],
+ options={
+ 'ordering': ('label',),
+ 'verbose_name': 'Act type',
+ 'verbose_name_plural': 'Act types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='AdministrativeAct',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('index', models.IntegerField(null=True, verbose_name='Index', blank=True)),
+ ('signature_date', models.DateField(null=True, verbose_name='Signature date', blank=True)),
+ ('year', models.IntegerField(null=True, verbose_name='Year', blank=True)),
+ ('act_object', models.TextField(max_length=300, null=True, verbose_name='Object', blank=True)),
+ ('ref_sra', models.CharField(max_length=15, null=True, verbose_name='R\xe9f\xe9rence SRA', blank=True)),
+ ('departments_label', models.TextField(help_text='Cached values get from associated departments', null=True, verbose_name='Departments', blank=True)),
+ ('towns_label', models.TextField(help_text='Cached values get from associated towns', null=True, verbose_name='Towns', blank=True)),
+ ],
+ options={
+ 'ordering': ('year', 'signature_date', 'index', 'act_type'),
+ 'verbose_name': 'Administrative act',
+ 'verbose_name_plural': 'Administrative acts',
+ 'permissions': (('view_administrativeact', 'Peut voir tous les Actes administratifs'), ('view_own_administrativeact', 'Peut voir son propre Acte administratif'), ('add_own_administrativeact', 'Peut ajouter son propre Acte administratif'), ('change_own_administrativeact', 'Peut modifier son propre Acte administratif'), ('delete_own_administrativeact', 'Peut supprimer son propre Acte administratif')),
+ },
+ bases=(models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter),
+ ),
+ migrations.CreateModel(
+ name='ArchaeologicalSite',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('reference', models.CharField(unique=True, max_length=20, verbose_name='Reference')),
+ ('name', models.CharField(max_length=200, null=True, verbose_name='Name', blank=True)),
+ ],
+ options={
+ 'verbose_name': 'Archaeological site',
+ 'verbose_name_plural': 'Archaeological sites',
+ 'permissions': (('view_archaeologicalsite', 'Peut voir toutes les Entit\xe9s arch\xe9ologiques'), ('view_own_archaeologicalsite', 'Peut voir ses propres Entit\xe9s arch\xe9ologiques'), ('add_own_archaeologicalsite', 'Peut ajouter ses propres Entit\xe9s arch\xe9ologique'), ('change_own_archaeologicalsite', 'Peut modifier sa propre Entit\xe9 arch\xe9ologique'), ('delete_own_archaeologicalsite', 'Peut supprimer ses propres Entit\xe9s arch\xe9ologiques')),
+ },
+ ),
+ migrations.CreateModel(
+ name='HistoricalAdministrativeAct',
+ fields=[
+ ('id', models.IntegerField(verbose_name='ID', db_index=True, auto_created=True, blank=True)),
+ ('index', models.IntegerField(null=True, verbose_name='Index', blank=True)),
+ ('signature_date', models.DateField(null=True, verbose_name='Signature date', blank=True)),
+ ('year', models.IntegerField(null=True, verbose_name='Year', blank=True)),
+ ('act_object', models.TextField(max_length=300, null=True, verbose_name='Object', blank=True)),
+ ('ref_sra', models.CharField(max_length=15, null=True, verbose_name='R\xe9f\xe9rence SRA', blank=True)),
+ ('departments_label', models.TextField(help_text='Cached values get from associated departments', null=True, verbose_name='Departments', blank=True)),
+ ('towns_label', models.TextField(help_text='Cached values get from associated towns', null=True, verbose_name='Towns', blank=True)),
+ ('history_id', models.AutoField(serialize=False, primary_key=True)),
+ ('history_date', models.DateTimeField()),
+ ('history_type', models.CharField(max_length=1, choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')])),
+ ],
+ options={
+ 'ordering': ('-history_date', '-history_id'),
+ 'get_latest_by': 'history_date',
+ 'verbose_name': 'historical Administrative act',
+ },
+ ),
+ migrations.CreateModel(
+ name='HistoricalOperation',
+ fields=[
+ ('id', models.IntegerField(verbose_name='ID', db_index=True, auto_created=True, blank=True)),
+ ('image', models.TextField(max_length=255, null=True, blank=True)),
+ ('thumbnail', models.TextField(max_length=255, null=True, blank=True)),
+ ('creation_date', models.DateField(default=datetime.date.today, verbose_name='Creation date')),
+ ('end_date', models.DateField(null=True, verbose_name='Closing date', blank=True)),
+ ('start_date', models.DateField(null=True, verbose_name='Start date', blank=True)),
+ ('excavation_end_date', models.DateField(null=True, verbose_name='Excavation end date', blank=True)),
+ ('report_delivery_date', models.DateField(null=True, verbose_name='Report delivery date', blank=True)),
+ ('year', models.IntegerField(null=True, verbose_name='Year', blank=True)),
+ ('operation_code', models.IntegerField(null=True, verbose_name='Numeric reference', blank=True)),
+ ('surface', models.IntegerField(null=True, verbose_name='Surface (m2)', blank=True)),
+ ('cost', models.IntegerField(null=True, verbose_name='Cost (euros)', blank=True)),
+ ('scheduled_man_days', models.IntegerField(null=True, verbose_name='Scheduled man-days', blank=True)),
+ ('optional_man_days', models.IntegerField(null=True, verbose_name='Optional man-days', blank=True)),
+ ('effective_man_days', models.IntegerField(null=True, verbose_name='Effective man-days', blank=True)),
+ ('old_code', models.CharField(max_length=200, null=True, verbose_name='Old code', blank=True)),
+ ('code_patriarche', models.IntegerField(db_index=True, null=True, verbose_name='Code PATRIARCHE', blank=True)),
+ ('fnap_financing', models.FloatField(null=True, verbose_name='Financement FNAP (%)', blank=True)),
+ ('fnap_cost', models.IntegerField(null=True, verbose_name='Financement FNAP (\u20ac)', blank=True)),
+ ('zoning_prescription', models.NullBooleanField(verbose_name='Prescription on zoning')),
+ ('large_area_prescription', models.NullBooleanField(verbose_name='Prescription on large area')),
+ ('geoarchaeological_context_prescription', models.NullBooleanField(verbose_name='Prescription on geoarchaeological context')),
+ ('negative_result', models.NullBooleanField(verbose_name='R\xe9sultat consid\xe9r\xe9 comme n\xe9gatif')),
+ ('cira_date', models.DateField(null=True, verbose_name='Date avis CIRA', blank=True)),
+ ('eas_number', models.CharField(max_length=20, null=True, verbose_name="Num\xe9ro de l'EA", blank=True)),
+ ('operator_reference', models.CharField(max_length=20, null=True, verbose_name='Operator reference', blank=True)),
+ ('common_name', models.TextField(null=True, verbose_name='Generic name', blank=True)),
+ ('address', models.TextField(null=True, verbose_name='Address / Locality', blank=True)),
+ ('comment', models.TextField(null=True, verbose_name='General comment', blank=True)),
+ ('scientific_documentation_comment', models.TextField(null=True, verbose_name='Comment about scientific documentation', blank=True)),
+ ('cached_label', models.CharField(max_length=500, null=True, verbose_name='Cached name', blank=True)),
+ ('virtual_operation', models.BooleanField(default=False, help_text='If checked, it means that this operation have not been officialy registered.', verbose_name='Virtual operation')),
+ ('record_quality', models.CharField(blank=True, max_length=2, null=True, verbose_name='Record quality', choices=[(b'ND', 'Not documented'), (b'A', 'Arbitrary'), (b'R', 'Reliable')])),
+ ('abstract', models.TextField(null=True, verbose_name='Abstract', blank=True)),
+ ('documentation_deadline', models.DateField(null=True, verbose_name='Deadline for submission of the documentation', blank=True)),
+ ('documentation_received', models.NullBooleanField(verbose_name='Documentation received')),
+ ('finds_deadline', models.DateField(null=True, verbose_name='Deadline for submission of the finds', blank=True)),
+ ('finds_received', models.NullBooleanField(verbose_name='Finds received')),
+ ('point', django.contrib.gis.db.models.fields.PointField(srid=4326, null=True, verbose_name='Point', blank=True)),
+ ('multi_polygon', django.contrib.gis.db.models.fields.MultiPolygonField(srid=4326, null=True, verbose_name='Multi polygon', blank=True)),
+ ('history_id', models.AutoField(serialize=False, primary_key=True)),
+ ('history_date', models.DateTimeField()),
+ ('history_type', models.CharField(max_length=1, choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')])),
+ ],
+ options={
+ 'ordering': ('-history_date', '-history_id'),
+ 'get_latest_by': 'history_date',
+ 'verbose_name': 'historical Operation',
+ },
+ ),
+ migrations.CreateModel(
+ name='Operation',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('image', models.ImageField(max_length=255, null=True, upload_to=b'upload/', blank=True)),
+ ('thumbnail', models.ImageField(max_length=255, null=True, upload_to=b'upload/thumbs/', blank=True)),
+ ('creation_date', models.DateField(default=datetime.date.today, verbose_name='Creation date')),
+ ('end_date', models.DateField(null=True, verbose_name='Closing date', blank=True)),
+ ('start_date', models.DateField(null=True, verbose_name='Start date', blank=True)),
+ ('excavation_end_date', models.DateField(null=True, verbose_name='Excavation end date', blank=True)),
+ ('report_delivery_date', models.DateField(null=True, verbose_name='Report delivery date', blank=True)),
+ ('year', models.IntegerField(null=True, verbose_name='Year', blank=True)),
+ ('operation_code', models.IntegerField(null=True, verbose_name='Numeric reference', blank=True)),
+ ('surface', models.IntegerField(null=True, verbose_name='Surface (m2)', blank=True)),
+ ('cost', models.IntegerField(null=True, verbose_name='Cost (euros)', blank=True)),
+ ('scheduled_man_days', models.IntegerField(null=True, verbose_name='Scheduled man-days', blank=True)),
+ ('optional_man_days', models.IntegerField(null=True, verbose_name='Optional man-days', blank=True)),
+ ('effective_man_days', models.IntegerField(null=True, verbose_name='Effective man-days', blank=True)),
+ ('old_code', models.CharField(max_length=200, null=True, verbose_name='Old code', blank=True)),
+ ('code_patriarche', models.IntegerField(unique=True, null=True, verbose_name='Code PATRIARCHE', blank=True)),
+ ('fnap_financing', models.FloatField(null=True, verbose_name='Financement FNAP (%)', blank=True)),
+ ('fnap_cost', models.IntegerField(null=True, verbose_name='Financement FNAP (\u20ac)', blank=True)),
+ ('zoning_prescription', models.NullBooleanField(verbose_name='Prescription on zoning')),
+ ('large_area_prescription', models.NullBooleanField(verbose_name='Prescription on large area')),
+ ('geoarchaeological_context_prescription', models.NullBooleanField(verbose_name='Prescription on geoarchaeological context')),
+ ('negative_result', models.NullBooleanField(verbose_name='R\xe9sultat consid\xe9r\xe9 comme n\xe9gatif')),
+ ('cira_date', models.DateField(null=True, verbose_name='Date avis CIRA', blank=True)),
+ ('eas_number', models.CharField(max_length=20, null=True, verbose_name="Num\xe9ro de l'EA", blank=True)),
+ ('operator_reference', models.CharField(max_length=20, null=True, verbose_name='Operator reference', blank=True)),
+ ('common_name', models.TextField(null=True, verbose_name='Generic name', blank=True)),
+ ('address', models.TextField(null=True, verbose_name='Address / Locality', blank=True)),
+ ('comment', models.TextField(null=True, verbose_name='General comment', blank=True)),
+ ('scientific_documentation_comment', models.TextField(null=True, verbose_name='Comment about scientific documentation', blank=True)),
+ ('cached_label', models.CharField(max_length=500, null=True, verbose_name='Cached name', blank=True)),
+ ('virtual_operation', models.BooleanField(default=False, help_text='If checked, it means that this operation have not been officialy registered.', verbose_name='Virtual operation')),
+ ('record_quality', models.CharField(blank=True, max_length=2, null=True, verbose_name='Record quality', choices=[(b'ND', 'Not documented'), (b'A', 'Arbitrary'), (b'R', 'Reliable')])),
+ ('abstract', models.TextField(null=True, verbose_name='Abstract', blank=True)),
+ ('documentation_deadline', models.DateField(null=True, verbose_name='Deadline for submission of the documentation', blank=True)),
+ ('documentation_received', models.NullBooleanField(verbose_name='Documentation received')),
+ ('finds_deadline', models.DateField(null=True, verbose_name='Deadline for submission of the finds', blank=True)),
+ ('finds_received', models.NullBooleanField(verbose_name='Finds received')),
+ ('point', django.contrib.gis.db.models.fields.PointField(srid=4326, null=True, verbose_name='Point', blank=True)),
+ ('multi_polygon', django.contrib.gis.db.models.fields.MultiPolygonField(srid=4326, null=True, verbose_name='Multi polygon', blank=True)),
+ ],
+ options={
+ 'ordering': ('cached_label',),
+ 'verbose_name': 'Operation',
+ 'verbose_name_plural': 'Operations',
+ 'permissions': (('view_operation', 'Peut voir toutes les Op\xe9rations'), ('view_own_operation', 'Peut voir sa propre Op\xe9ration'), ('add_own_operation', 'Peut ajouter sa propre Op\xe9ration'), ('change_own_operation', 'Peut modifier sa propre Op\xe9ration'), ('delete_own_operation', 'Peut supprimer sa propre Op\xe9ration'), ('close_operation', 'Peut clore une Op\xe9ration')),
+ },
+ bases=(archaeological_operations.models.ClosedItem, models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter, ishtar_common.models.ShortMenuItem, ishtar_common.models.DashboardFormItem),
+ ),
+ migrations.CreateModel(
+ name='OperationSource',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('image', models.ImageField(max_length=255, null=True, upload_to=b'upload/', blank=True)),
+ ('thumbnail', models.ImageField(max_length=255, null=True, upload_to=b'upload/thumbs/', blank=True)),
+ ('title', models.CharField(max_length=300, verbose_name='Title')),
+ ('external_id', models.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')),
+ ('index', models.IntegerField(null=True, verbose_name='Index', blank=True)),
+ ],
+ options={
+ 'verbose_name': 'Operation documentation',
+ 'verbose_name_plural': 'Operation documentations',
+ 'permissions': (('view_operationsource', "Peut voir toutes les Documentations d'op\xe9ration"), ('view_own_operationsource', "Peut voir sa propre Documentation d'op\xe9ration"), ('add_own_operationsource', "Peut ajouter sa propre Documentation d'op\xe9ration"), ('change_own_operationsource', "Peut modifier sa propre Documentation d'op\xe9ration"), ('delete_own_operationsource', "Peut supprimer sa propre Documentation d'op\xe9ration")),
+ },
+ bases=(ishtar_common.models.OwnPerms, models.Model),
+ ),
+ migrations.CreateModel(
+ name='OperationTypeOld',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(default=1, verbose_name='Order')),
+ ('preventive', models.BooleanField(default=True, verbose_name='Is preventive')),
+ ],
+ options={
+ 'ordering': ['-preventive', 'order', 'label'],
+ 'verbose_name': 'Operation type old',
+ 'verbose_name_plural': 'Operation types old',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='Parcel',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('history_date', models.DateTimeField(default=datetime.datetime.now)),
+ ('year', models.IntegerField(null=True, verbose_name='Year', blank=True)),
+ ('section', models.CharField(max_length=4, null=True, verbose_name='Section', blank=True)),
+ ('parcel_number', models.CharField(max_length=6, null=True, verbose_name='Parcel number', blank=True)),
+ ('public_domain', models.BooleanField(default=False, verbose_name='Public domain')),
+ ('external_id', models.CharField(max_length=100, null=True, verbose_name='External ID', blank=True)),
+ ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')),
+ ('address', models.TextField(null=True, verbose_name='Address - Locality', blank=True)),
+ ],
+ options={
+ 'ordering': ('year', 'section', 'parcel_number'),
+ 'verbose_name': 'Parcel',
+ 'verbose_name_plural': 'Parcels',
+ },
+ ),
+ migrations.CreateModel(
+ name='ParcelOwner',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('history_date', models.DateTimeField(default=datetime.datetime.now)),
+ ('start_date', models.DateField(verbose_name='Start date')),
+ ('end_date', models.DateField(verbose_name='End date')),
+ ('history_creator', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Creator', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
+ ('history_modifier', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Last editor', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
+ ],
+ options={
+ 'verbose_name': 'Parcel owner',
+ 'verbose_name_plural': 'Parcel owners',
+ },
+ ),
+ migrations.CreateModel(
+ name='Period',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(verbose_name='Order')),
+ ('start_date', models.IntegerField(verbose_name='Start date')),
+ ('end_date', models.IntegerField(verbose_name='End date')),
+ ('parent', models.ForeignKey(verbose_name='Parent period', blank=True, to='archaeological_operations.Period', null=True)),
+ ],
+ options={
+ 'ordering': ('order',),
+ 'verbose_name': 'Type Period',
+ 'verbose_name_plural': 'Types Period',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='RecordRelations',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('left_record', models.ForeignKey(related_name='right_relations', to='archaeological_operations.Operation')),
+ ],
+ options={
+ 'ordering': ('left_record', 'relation_type'),
+ 'verbose_name': 'Operation record relation',
+ 'verbose_name_plural': 'Operation record relations',
+ },
+ bases=(ishtar_common.models.GeneralRecordRelations, models.Model),
+ ),
+ migrations.CreateModel(
+ name='RelationType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(default=1, verbose_name='Order')),
+ ('symmetrical', models.BooleanField(verbose_name='Symmetrical')),
+ ('tiny_label', models.CharField(max_length=50, null=True, verbose_name='Tiny label', blank=True)),
+ ('inverse_relation', models.ForeignKey(verbose_name='Inverse relation', blank=True, to='archaeological_operations.RelationType', null=True)),
+ ],
+ options={
+ 'ordering': ('order', 'label'),
+ 'verbose_name': 'Operation relation type',
+ 'verbose_name_plural': 'Operation relation types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='RemainType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ],
+ options={
+ 'ordering': ('label',),
+ 'verbose_name': 'Remain type',
+ 'verbose_name_plural': 'Remain types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='ReportState',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(verbose_name='Order')),
+ ],
+ options={
+ 'ordering': ('order',),
+ 'verbose_name': 'Type of report state',
+ 'verbose_name_plural': 'Types of report state',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.AddField(
+ model_name='recordrelations',
+ name='relation_type',
+ field=models.ForeignKey(to='archaeological_operations.RelationType'),
+ ),
+ migrations.AddField(
+ model_name='recordrelations',
+ name='right_record',
+ field=models.ForeignKey(related_name='left_relations', to='archaeological_operations.Operation'),
+ ),
+ ]
diff --git a/archaeological_operations/migrations/0002_auto_20170414_2123.py b/archaeological_operations/migrations/0002_auto_20170414_2123.py
new file mode 100644
index 000000000..fc9f93911
--- /dev/null
+++ b/archaeological_operations/migrations/0002_auto_20170414_2123.py
@@ -0,0 +1,365 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+import django.db.models.deletion
+from django.conf import settings
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_finds', '0002_auto_20170414_2123'),
+ ('archaeological_operations', '0001_initial'),
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('ishtar_common', '0001_initial'),
+ ('archaeological_files', '0002_auto_20170414_2123'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='parcelowner',
+ name='imports',
+ field=models.ManyToManyField(related_name='imported_archaeological_operations_parcelowner', to='ishtar_common.Import', blank=True),
+ ),
+ migrations.AddField(
+ model_name='parcelowner',
+ name='owner',
+ field=models.ForeignKey(related_name='parcel_owner', verbose_name='Owner', to='ishtar_common.Person'),
+ ),
+ migrations.AddField(
+ model_name='parcelowner',
+ name='parcel',
+ field=models.ForeignKey(related_name='owners', verbose_name='Parcel', to='archaeological_operations.Parcel'),
+ ),
+ migrations.AddField(
+ model_name='parcel',
+ name='associated_file',
+ field=models.ForeignKey(related_name='parcels', verbose_name='File', blank=True, to='archaeological_files.File', null=True),
+ ),
+ migrations.AddField(
+ model_name='parcel',
+ name='history_creator',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Creator', blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='parcel',
+ name='history_modifier',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Last editor', blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='parcel',
+ name='imports',
+ field=models.ManyToManyField(related_name='imported_archaeological_operations_parcel', to='ishtar_common.Import', blank=True),
+ ),
+ migrations.AddField(
+ model_name='parcel',
+ name='operation',
+ field=models.ForeignKey(related_name='parcels', verbose_name='Operation', blank=True, to='archaeological_operations.Operation', null=True),
+ ),
+ migrations.AddField(
+ model_name='parcel',
+ name='town',
+ field=models.ForeignKey(related_name='parcels', verbose_name='Town', to='ishtar_common.Town'),
+ ),
+ migrations.AddField(
+ model_name='operationsource',
+ name='authors',
+ field=models.ManyToManyField(related_name='operationsource_related', verbose_name='Authors', to='ishtar_common.Author'),
+ ),
+ migrations.AddField(
+ model_name='operationsource',
+ name='format_type',
+ field=models.ForeignKey(verbose_name='Format', blank=True, to='ishtar_common.Format', null=True),
+ ),
+ migrations.AddField(
+ model_name='operationsource',
+ name='operation',
+ field=models.ForeignKey(related_name='source', verbose_name='Operation', to='archaeological_operations.Operation'),
+ ),
+ migrations.AddField(
+ model_name='operationsource',
+ name='source_type',
+ field=models.ForeignKey(verbose_name='Type', to='ishtar_common.SourceType'),
+ ),
+ migrations.AddField(
+ model_name='operationsource',
+ name='support_type',
+ field=models.ForeignKey(verbose_name='Support', blank=True, to='ishtar_common.SupportType', null=True),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='archaeological_sites',
+ field=models.ManyToManyField(to='archaeological_operations.ArchaeologicalSite', verbose_name='Archaeological sites', blank=True),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='associated_file',
+ field=models.ForeignKey(related_name='operations', verbose_name='File', blank=True, to='archaeological_files.File', null=True),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='cira_rapporteur',
+ field=models.ForeignKey(related_name='cira_rapporteur', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Rapporteur CIRA', blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='collaborators',
+ field=models.ManyToManyField(related_name='operation_collaborator', verbose_name='Collaborators', to='ishtar_common.Person', blank=True),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='history_creator',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Creator', blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='history_modifier',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Last editor', blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='imports',
+ field=models.ManyToManyField(related_name='imported_archaeological_operations_operation', to='ishtar_common.Import', blank=True),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='in_charge',
+ field=models.ForeignKey(related_name='operation_responsability', on_delete=django.db.models.deletion.SET_NULL, verbose_name='In charge', blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='operation_type',
+ field=models.ForeignKey(related_name='+', verbose_name='Operation type', to='ishtar_common.OperationType'),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='operator',
+ field=models.ForeignKey(related_name='operator', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Operator', blank=True, to='ishtar_common.Organization', null=True),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='periods',
+ field=models.ManyToManyField(to='archaeological_operations.Period', verbose_name='Periods', blank=True),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='remains',
+ field=models.ManyToManyField(to='archaeological_operations.RemainType', verbose_name='Remains', blank=True),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='report_processing',
+ field=models.ForeignKey(verbose_name='Report processing', blank=True, to='archaeological_operations.ReportState', null=True),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='scientist',
+ field=models.ForeignKey(related_name='operation_scientist_responsability', on_delete=django.db.models.deletion.SET_NULL, verbose_name='In charge scientist', blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='towns',
+ field=models.ManyToManyField(related_name='operations', verbose_name='Towns', to='ishtar_common.Town'),
+ ),
+ migrations.AddField(
+ model_name='historicaloperation',
+ name='associated_file',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_files.File', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaloperation',
+ name='cira_rapporteur',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaloperation',
+ name='history_creator',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaloperation',
+ name='history_modifier',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaloperation',
+ name='history_user',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaloperation',
+ name='in_charge',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaloperation',
+ name='operation_type',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.OperationType', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaloperation',
+ name='operator',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Organization', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaloperation',
+ name='report_processing',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_operations.ReportState', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaloperation',
+ name='scientist',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaladministrativeact',
+ name='act_type',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_operations.ActType', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaladministrativeact',
+ name='associated_file',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_files.File', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaladministrativeact',
+ name='history_creator',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaladministrativeact',
+ name='history_modifier',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaladministrativeact',
+ name='history_user',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaladministrativeact',
+ name='in_charge',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaladministrativeact',
+ name='operation',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_operations.Operation', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaladministrativeact',
+ name='operator',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Organization', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaladministrativeact',
+ name='scientist',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaladministrativeact',
+ name='signatory',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaladministrativeact',
+ name='treatment',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_finds.Treatment', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicaladministrativeact',
+ name='treatment_file',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='archaeological_finds.TreatmentFile', null=True),
+ ),
+ migrations.AddField(
+ model_name='archaeologicalsite',
+ name='history_creator',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Creator', blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='archaeologicalsite',
+ name='history_modifier',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Last editor', blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='archaeologicalsite',
+ name='imports',
+ field=models.ManyToManyField(related_name='imported_archaeological_operations_archaeologicalsite', to='ishtar_common.Import', blank=True),
+ ),
+ migrations.AddField(
+ model_name='archaeologicalsite',
+ name='periods',
+ field=models.ManyToManyField(to='archaeological_operations.Period', verbose_name='Periods', blank=True),
+ ),
+ migrations.AddField(
+ model_name='archaeologicalsite',
+ name='remains',
+ field=models.ManyToManyField(to='archaeological_operations.RemainType', verbose_name='Remains', blank=True),
+ ),
+ migrations.AddField(
+ model_name='administrativeact',
+ name='act_type',
+ field=models.ForeignKey(verbose_name='Act type', to='archaeological_operations.ActType'),
+ ),
+ migrations.AddField(
+ model_name='administrativeact',
+ name='associated_file',
+ field=models.ForeignKey(related_name='administrative_act', verbose_name='Archaeological file', blank=True, to='archaeological_files.File', null=True),
+ ),
+ migrations.AddField(
+ model_name='administrativeact',
+ name='history_creator',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Creator', blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='administrativeact',
+ name='history_modifier',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Last editor', blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='administrativeact',
+ name='imports',
+ field=models.ManyToManyField(related_name='imported_archaeological_operations_administrativeact', to='ishtar_common.Import', blank=True),
+ ),
+ migrations.AddField(
+ model_name='administrativeact',
+ name='in_charge',
+ field=models.ForeignKey(related_name='adminact_operation_in_charge', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Person in charge of the operation', blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='administrativeact',
+ name='operation',
+ field=models.ForeignKey(related_name='administrative_act', verbose_name='Operation', blank=True, to='archaeological_operations.Operation', null=True),
+ ),
+ migrations.AddField(
+ model_name='administrativeact',
+ name='operator',
+ field=models.ForeignKey(related_name='adminact_operator', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Archaeological preventive operator', blank=True, to='ishtar_common.Organization', null=True),
+ ),
+ migrations.AddField(
+ model_name='administrativeact',
+ name='scientist',
+ field=models.ForeignKey(related_name='adminact_scientist', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Scientist in charge', blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='administrativeact',
+ name='signatory',
+ field=models.ForeignKey(related_name='signatory', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Signatory', blank=True, to='ishtar_common.Person', null=True),
+ ),
+ migrations.AddField(
+ model_name='administrativeact',
+ name='treatment',
+ field=models.ForeignKey(related_name='administrative_act', verbose_name='Treatment', blank=True, to='archaeological_finds.Treatment', null=True),
+ ),
+ migrations.AddField(
+ model_name='administrativeact',
+ name='treatment_file',
+ field=models.ForeignKey(related_name='administrative_act', verbose_name='Treatment request', blank=True, to='archaeological_finds.TreatmentFile', null=True),
+ ),
+ migrations.AddField(
+ model_name='acttype',
+ name='associated_template',
+ field=models.ManyToManyField(related_name='acttypes', verbose_name='Associated template', to='ishtar_common.DocumentTemplate', blank=True),
+ ),
+ ]
diff --git a/archaeological_operations/old_migrations/0001_initial.py b/archaeological_operations/old_migrations/0001_initial.py
new file mode 100644
index 000000000..c5b4619ab
--- /dev/null
+++ b/archaeological_operations/old_migrations/0001_initial.py
@@ -0,0 +1,655 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+ depends_on = (('archaeological_files', '0001_initial.py'), )
+
+ def forwards(self, orm):
+ # Adding model 'OperationType'
+ db.create_table('archaeological_operations_operationtype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ))
+ db.send_create_signal('archaeological_operations', ['OperationType'])
+
+ # Adding model 'RemainType'
+ db.create_table('archaeological_operations_remaintype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ))
+ db.send_create_signal('archaeological_operations', ['RemainType'])
+
+ # Adding model 'Period'
+ db.create_table('archaeological_operations_period', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ('order', self.gf('django.db.models.fields.IntegerField')()),
+ ('start_date', self.gf('django.db.models.fields.IntegerField')()),
+ ('end_date', self.gf('django.db.models.fields.IntegerField')()),
+ ('parent', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.Period'], null=True, blank=True)),
+ ))
+ db.send_create_signal('archaeological_operations', ['Period'])
+
+ # Adding model 'HistoricalOperation'
+ db.create_table('archaeological_operations_historicaloperation', (
+ ('id', self.gf('django.db.models.fields.IntegerField')(db_index=True, blank=True)),
+ ('history_modifier_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('start_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+ ('excavation_end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+ ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+ ('in_charge_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('year', self.gf('django.db.models.fields.IntegerField')()),
+ ('operation_code', self.gf('django.db.models.fields.IntegerField')()),
+ ('associated_file_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('operation_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('scheduled_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('optional_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('effective_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('code_patriarche', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('code_dracar', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
+ ('fnap_financing', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)),
+ ('fnap_cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('zoning_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
+ ('large_area_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
+ ('geoarchaeological_context_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
+ ('operator_reference', self.gf('django.db.models.fields.CharField')(max_length=20, null=True, blank=True)),
+ ('common_name', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('history_id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('history_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
+ ('history_user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)),
+ ('history_type', self.gf('django.db.models.fields.CharField')(max_length=1)),
+ ))
+ db.send_create_signal('archaeological_operations', ['HistoricalOperation'])
+
+ # Adding model 'Operation'
+ db.create_table('archaeological_operations_operation', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])),
+ ('start_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+ ('excavation_end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+ ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+ ('in_charge', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])),
+ ('year', self.gf('django.db.models.fields.IntegerField')()),
+ ('operation_code', self.gf('django.db.models.fields.IntegerField')()),
+ ('associated_file', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='operations', null=True, to=orm['archaeological_files.File'])),
+ ('operation_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['archaeological_operations.OperationType'])),
+ ('surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('scheduled_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('optional_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('effective_man_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('code_patriarche', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('code_dracar', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
+ ('fnap_financing', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)),
+ ('fnap_cost', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('zoning_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
+ ('large_area_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
+ ('geoarchaeological_context_prescription', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)),
+ ('operator_reference', self.gf('django.db.models.fields.CharField')(max_length=20, null=True, blank=True)),
+ ('common_name', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ))
+ db.send_create_signal('archaeological_operations', ['Operation'])
+
+ # Adding M2M table for field remains on 'Operation'
+ db.create_table('archaeological_operations_operation_remains', (
+ ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+ ('operation', models.ForeignKey(orm['archaeological_operations.operation'], null=False)),
+ ('remaintype', models.ForeignKey(orm['archaeological_operations.remaintype'], null=False))
+ ))
+ db.create_unique('archaeological_operations_operation_remains', ['operation_id', 'remaintype_id'])
+
+ # Adding M2M table for field towns on 'Operation'
+ db.create_table('archaeological_operations_operation_towns', (
+ ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+ ('operation', models.ForeignKey(orm['archaeological_operations.operation'], null=False)),
+ ('town', models.ForeignKey(orm['ishtar_common.town'], null=False))
+ ))
+ db.create_unique('archaeological_operations_operation_towns', ['operation_id', 'town_id'])
+
+ # Adding M2M table for field periods on 'Operation'
+ db.create_table('archaeological_operations_operation_periods', (
+ ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+ ('operation', models.ForeignKey(orm['archaeological_operations.operation'], null=False)),
+ ('period', models.ForeignKey(orm['archaeological_operations.period'], null=False))
+ ))
+ db.create_unique('archaeological_operations_operation_periods', ['operation_id', 'period_id'])
+
+ # Adding model 'OperationSource'
+ db.create_table('archaeological_operations_operationsource', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('title', self.gf('django.db.models.fields.CharField')(max_length=200)),
+ ('source_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.SourceType'])),
+ ('associated_url', self.gf('django.db.models.fields.URLField')(max_length=200, null=True, blank=True)),
+ ('receipt_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+ ('creation_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+ ('operation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='source', to=orm['archaeological_operations.Operation'])),
+ ('index', self.gf('django.db.models.fields.IntegerField')()),
+ ))
+ db.send_create_signal('archaeological_operations', ['OperationSource'])
+
+ # Adding M2M table for field authors on 'OperationSource'
+ db.create_table('archaeological_operations_operationsource_authors', (
+ ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+ ('operationsource', models.ForeignKey(orm['archaeological_operations.operationsource'], null=False)),
+ ('author', models.ForeignKey(orm['ishtar_common.author'], null=False))
+ ))
+ db.create_unique('archaeological_operations_operationsource_authors', ['operationsource_id', 'author_id'])
+
+ # Adding model 'ActType'
+ db.create_table('archaeological_operations_acttype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ('intented_to', self.gf('django.db.models.fields.CharField')(max_length=1)),
+ ))
+ db.send_create_signal('archaeological_operations', ['ActType'])
+
+ # Adding model 'HistoricalAdministrativeAct'
+ db.create_table('archaeological_operations_historicaladministrativeact', (
+ ('id', self.gf('django.db.models.fields.IntegerField')(db_index=True, blank=True)),
+ ('history_modifier_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('act_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('in_charge_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('operator_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('scientific_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('signatory_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('operation_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('associated_file_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('signature_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+ ('act_object', self.gf('django.db.models.fields.CharField')(max_length=200)),
+ ('ref_sra', self.gf('django.db.models.fields.CharField')(max_length=15)),
+ ('history_id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('history_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
+ ('history_user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)),
+ ('history_type', self.gf('django.db.models.fields.CharField')(max_length=1)),
+ ))
+ db.send_create_signal('archaeological_operations', ['HistoricalAdministrativeAct'])
+
+ # Adding model 'AdministrativeAct'
+ db.create_table('archaeological_operations_administrativeact', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])),
+ ('act_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.ActType'])),
+ ('in_charge', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])),
+ ('operator', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Organization'], null=True, blank=True)),
+ ('scientific', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])),
+ ('signatory', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.Person'])),
+ ('operation', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='administrative_act', null=True, to=orm['archaeological_operations.Operation'])),
+ ('associated_file', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='administrative_act', null=True, to=orm['archaeological_files.File'])),
+ ('signature_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+ ('act_object', self.gf('django.db.models.fields.CharField')(max_length=200)),
+ ('ref_sra', self.gf('django.db.models.fields.CharField')(max_length=15)),
+ ))
+ db.send_create_signal('archaeological_operations', ['AdministrativeAct'])
+
+ # Adding model 'Parcel'
+ db.create_table('archaeological_operations_parcel', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])),
+ ('history_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)),
+ ('associated_file', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='parcels', null=True, to=orm['archaeological_files.File'])),
+ ('operation', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='parcels', null=True, to=orm['archaeological_operations.Operation'])),
+ ('year', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('town', self.gf('django.db.models.fields.related.ForeignKey')(related_name='parcels', to=orm['ishtar_common.Town'])),
+ ('section', self.gf('django.db.models.fields.CharField')(max_length=4)),
+ ('parcel_number', self.gf('django.db.models.fields.CharField')(max_length=6)),
+ ))
+ db.send_create_signal('archaeological_operations', ['Parcel'])
+
+ # Adding model 'ParcelOwner'
+ db.create_table('archaeological_operations_parcelowner', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])),
+ ('history_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)),
+ ('owner', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'])),
+ ('parcel', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.Parcel'])),
+ ('start_date', self.gf('django.db.models.fields.DateField')()),
+ ('end_date', self.gf('django.db.models.fields.DateField')()),
+ ))
+ db.send_create_signal('archaeological_operations', ['ParcelOwner'])
+
+
+ def backwards(self, orm):
+ # Deleting model 'OperationType'
+ db.delete_table('archaeological_operations_operationtype')
+
+ # Deleting model 'RemainType'
+ db.delete_table('archaeological_operations_remaintype')
+
+ # Deleting model 'Period'
+ db.delete_table('archaeological_operations_period')
+
+ # Deleting model 'HistoricalOperation'
+ db.delete_table('archaeological_operations_historicaloperation')
+
+ # Deleting model 'Operation'
+ db.delete_table('archaeological_operations_operation')
+
+ # Removing M2M table for field remains on 'Operation'
+ db.delete_table('archaeological_operations_operation_remains')
+
+ # Removing M2M table for field towns on 'Operation'
+ db.delete_table('archaeological_operations_operation_towns')
+
+ # Removing M2M table for field periods on 'Operation'
+ db.delete_table('archaeological_operations_operation_periods')
+
+ # Deleting model 'OperationSource'
+ db.delete_table('archaeological_operations_operationsource')
+
+ # Removing M2M table for field authors on 'OperationSource'
+ db.delete_table('archaeological_operations_operationsource_authors')
+
+ # Deleting model 'ActType'
+ db.delete_table('archaeological_operations_acttype')
+
+ # Deleting model 'HistoricalAdministrativeAct'
+ db.delete_table('archaeological_operations_historicaladministrativeact')
+
+ # Deleting model 'AdministrativeAct'
+ db.delete_table('archaeological_operations_administrativeact')
+
+ # Deleting model 'Parcel'
+ db.delete_table('archaeological_operations_parcel')
+
+ # Deleting model 'ParcelOwner'
+ db.delete_table('archaeological_operations_parcelowner')
+
+
+ models = {
+ 'archaeological_files.file': {
+ 'Meta': {'ordering': "['-year', '-numeric_reference']", 'object_name': 'File'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}),
+ 'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.Person']"}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60'}),
+ 'numeric_reference': ('django.db.models.fields.IntegerField', [], {}),
+ 'permit_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}),
+ 'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'reference_number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}),
+ 'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}),
+ 'total_developed_surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'total_surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'default': '2012'})
+ },
+ 'archaeological_files.filetype': {
+ 'Meta': {'object_name': 'FileType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'archaeological_files.permittype': {
+ 'Meta': {'object_name': 'PermitType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'archaeological_files.saisinetype': {
+ 'Meta': {'object_name': 'SaisineType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'delay': ('django.db.models.fields.IntegerField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'archaeological_operations.acttype': {
+ 'Meta': {'object_name': 'ActType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'intented_to': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'archaeological_operations.administrativeact': {
+ 'Meta': {'object_name': 'AdministrativeAct'},
+ 'act_object': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'act_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ActType']"}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}),
+ 'operator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Organization']", 'null': 'True', 'blank': 'True'}),
+ 'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15'}),
+ 'scientific': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'signatory': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.historicaladministrativeact': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalAdministrativeAct'},
+ 'act_object': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'act_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
+ 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15'}),
+ 'scientific_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'signatory_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.historicaloperation': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOperation'},
+ 'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'code_dracar': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'common_name': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}),
+ 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
+ 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_code': ('django.db.models.fields.IntegerField', [], {}),
+ 'operation_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {}),
+ 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.operation': {
+ 'Meta': {'object_name': 'Operation'},
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'code_dracar': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'common_name': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}),
+ 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_code': ('django.db.models.fields.IntegerField', [], {}),
+ 'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['archaeological_operations.OperationType']"}),
+ 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_operations.Period']", 'symmetrical': 'False'}),
+ 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_operations.RemainType']", 'symmetrical': 'False'}),
+ 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.Town']", 'symmetrical': 'False'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {}),
+ 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.operationbydepartment': {
+ 'Meta': {'object_name': 'OperationByDepartment', 'db_table': "'operation_department'", 'managed': 'False'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Operation']"})
+ },
+ 'archaeological_operations.operationsource': {
+ 'Meta': {'object_name': 'OperationSource'},
+ 'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.Author']", 'symmetrical': 'False'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'index': ('django.db.models.fields.IntegerField', [], {}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_operations.Operation']"}),
+ 'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+ },
+ 'archaeological_operations.operationtype': {
+ 'Meta': {'object_name': 'OperationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'archaeological_operations.parcel': {
+ 'Meta': {'object_name': 'Parcel'},
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}),
+ 'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6'}),
+ 'section': ('django.db.models.fields.CharField', [], {'max_length': '4'}),
+ 'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.parcelowner': {
+ 'Meta': {'object_name': 'ParcelOwner'},
+ 'end_date': ('django.db.models.fields.DateField', [], {}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']"}),
+ 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Parcel']"}),
+ 'start_date': ('django.db.models.fields.DateField', [], {})
+ },
+ 'archaeological_operations.period': {
+ 'Meta': {'object_name': 'Period'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'archaeological_operations.remaintype': {
+ 'Meta': {'object_name': 'RemainType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.arrondissement': {
+ 'Meta': {'object_name': 'Arrondissement'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.author': {
+ 'Meta': {'object_name': 'Author'},
+ 'author_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.AuthorType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']"})
+ },
+ 'ishtar_common.authortype': {
+ 'Meta': {'object_name': 'AuthorType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'ishtar_common.canton': {
+ 'Meta': {'object_name': 'Canton'},
+ 'arrondissement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Arrondissement']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.department': {
+ 'Meta': {'ordering': "['number']", 'object_name': 'Department'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'})
+ },
+ 'ishtar_common.organization': {
+ 'Meta': {'object_name': 'Organization'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.organizationtype': {
+ 'Meta': {'object_name': 'OrganizationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'ishtar_common.person': {
+ 'Meta': {'object_name': 'Person'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Organization']", 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'person_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.PersonType']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'surname': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '2'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.persontype': {
+ 'Meta': {'object_name': 'PersonType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'rights': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.WizardStep']", 'symmetrical': 'False'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'ishtar_common.sourcetype': {
+ 'Meta': {'object_name': 'SourceType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'ishtar_common.town': {
+ 'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'},
+ 'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}),
+ 'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}),
+ 'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.wizard': {
+ 'Meta': {'ordering': "['url_name']", 'object_name': 'Wizard'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'url_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'})
+ },
+ 'ishtar_common.wizardstep': {
+ 'Meta': {'ordering': "['wizard', 'order']", 'object_name': 'WizardStep'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'url_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'wizard': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Wizard']"})
+ }
+ }
+
+ complete_apps = ['archaeological_operations']
diff --git a/archaeological_operations/migrations/0002_views.py b/archaeological_operations/old_migrations/0002_views.py
index a9d4e3665..a9d4e3665 100644
--- a/archaeological_operations/migrations/0002_views.py
+++ b/archaeological_operations/old_migrations/0002_views.py
diff --git a/archaeological_operations/migrations/0003_auto__add_field_operationtype_preventive.py b/archaeological_operations/old_migrations/0003_auto__add_field_operationtype_preventive.py
index 4f13d1e9f..4f13d1e9f 100644
--- a/archaeological_operations/migrations/0003_auto__add_field_operationtype_preventive.py
+++ b/archaeological_operations/old_migrations/0003_auto__add_field_operationtype_preventive.py
diff --git a/archaeological_operations/migrations/0004_auto__chg_field_historicaloperation_year__chg_field_operation_year.py b/archaeological_operations/old_migrations/0004_auto__chg_field_historicaloperation_year__chg_field_operation_year.py
index 2747317d3..2747317d3 100644
--- a/archaeological_operations/migrations/0004_auto__chg_field_historicaloperation_year__chg_field_operation_year.py
+++ b/archaeological_operations/old_migrations/0004_auto__chg_field_historicaloperation_year__chg_field_operation_year.py
diff --git a/archaeological_operations/migrations/0005_auto__chg_field_historicaloperation_operation_code__chg_field_operatio.py b/archaeological_operations/old_migrations/0005_auto__chg_field_historicaloperation_operation_code__chg_field_operatio.py
index 5465c9909..5465c9909 100644
--- a/archaeological_operations/migrations/0005_auto__chg_field_historicaloperation_operation_code__chg_field_operatio.py
+++ b/archaeological_operations/old_migrations/0005_auto__chg_field_historicaloperation_operation_code__chg_field_operatio.py
diff --git a/archaeological_operations/migrations/0006_auto__add_field_operationsource_reference__add_field_operationsource_i.py b/archaeological_operations/old_migrations/0006_auto__add_field_operationsource_reference__add_field_operationsource_i.py
index 65a281677..65a281677 100644
--- a/archaeological_operations/migrations/0006_auto__add_field_operationsource_reference__add_field_operationsource_i.py
+++ b/archaeological_operations/old_migrations/0006_auto__add_field_operationsource_reference__add_field_operationsource_i.py
diff --git a/archaeological_operations/migrations/0007_auto__chg_field_administrativeact_ref_sra__chg_field_historicaladminis.py b/archaeological_operations/old_migrations/0007_auto__chg_field_administrativeact_ref_sra__chg_field_historicaladminis.py
index b4b3f9726..b4b3f9726 100644
--- a/archaeological_operations/migrations/0007_auto__chg_field_administrativeact_ref_sra__chg_field_historicaladminis.py
+++ b/archaeological_operations/old_migrations/0007_auto__chg_field_administrativeact_ref_sra__chg_field_historicaladminis.py
diff --git a/archaeological_operations/migrations/0008_auto__chg_field_operationsource_index__chg_field_operationsource_title.py b/archaeological_operations/old_migrations/0008_auto__chg_field_operationsource_index__chg_field_operationsource_title.py
index 5fb8d9ad3..5fb8d9ad3 100644
--- a/archaeological_operations/migrations/0008_auto__chg_field_operationsource_index__chg_field_operationsource_title.py
+++ b/archaeological_operations/old_migrations/0008_auto__chg_field_operationsource_index__chg_field_operationsource_title.py
diff --git a/archaeological_operations/migrations/0009_auto__add_field_historicaloperation_cached_label__add_field_operation_.py b/archaeological_operations/old_migrations/0009_auto__add_field_historicaloperation_cached_label__add_field_operation_.py
index 2a789c5de..2a789c5de 100644
--- a/archaeological_operations/migrations/0009_auto__add_field_historicaloperation_cached_label__add_field_operation_.py
+++ b/archaeological_operations/old_migrations/0009_auto__add_field_historicaloperation_cached_label__add_field_operation_.py
diff --git a/archaeological_operations/migrations/0010_auto__chg_field_historicaloperation_cached_label__chg_field_operation_.py b/archaeological_operations/old_migrations/0010_auto__chg_field_historicaloperation_cached_label__chg_field_operation_.py
index ce6d106be..ce6d106be 100644
--- a/archaeological_operations/migrations/0010_auto__chg_field_historicaloperation_cached_label__chg_field_operation_.py
+++ b/archaeological_operations/old_migrations/0010_auto__chg_field_historicaloperation_cached_label__chg_field_operation_.py
diff --git a/archaeological_operations/migrations/0011_auto__add_field_historicaloperation_report_delivery_date__add_field_op.py b/archaeological_operations/old_migrations/0011_auto__add_field_historicaloperation_report_delivery_date__add_field_op.py
index 78ee2dc3e..78ee2dc3e 100644
--- a/archaeological_operations/migrations/0011_auto__add_field_historicaloperation_report_delivery_date__add_field_op.py
+++ b/archaeological_operations/old_migrations/0011_auto__add_field_historicaloperation_report_delivery_date__add_field_op.py
diff --git a/archaeological_operations/migrations/0012_auto.py b/archaeological_operations/old_migrations/0012_auto.py
index 311f3f3d3..311f3f3d3 100644
--- a/archaeological_operations/migrations/0012_auto.py
+++ b/archaeological_operations/old_migrations/0012_auto.py
diff --git a/archaeological_operations/migrations/0013_auto__add_field_acttype_code.py b/archaeological_operations/old_migrations/0013_auto__add_field_acttype_code.py
index 273c8cd24..273c8cd24 100644
--- a/archaeological_operations/migrations/0013_auto__add_field_acttype_code.py
+++ b/archaeological_operations/old_migrations/0013_auto__add_field_acttype_code.py
diff --git a/archaeological_operations/migrations/0014_auto__add_archaeologicalsite.py b/archaeological_operations/old_migrations/0014_auto__add_archaeologicalsite.py
index 47733dc35..47733dc35 100644
--- a/archaeological_operations/migrations/0014_auto__add_archaeologicalsite.py
+++ b/archaeological_operations/old_migrations/0014_auto__add_archaeologicalsite.py
diff --git a/archaeological_operations/migrations/0015_auto__add_unique_archaeologicalsite_reference.py b/archaeological_operations/old_migrations/0015_auto__add_unique_archaeologicalsite_reference.py
index 3982d3d4d..3982d3d4d 100644
--- a/archaeological_operations/migrations/0015_auto__add_unique_archaeologicalsite_reference.py
+++ b/archaeological_operations/old_migrations/0015_auto__add_unique_archaeologicalsite_reference.py
diff --git a/archaeological_operations/migrations/0016_auto__add_field_acttype_indexed__add_field_historicaladministrativeact.py b/archaeological_operations/old_migrations/0016_auto__add_field_acttype_indexed__add_field_historicaladministrativeact.py
index c5b4ac2ed..c5b4ac2ed 100644
--- a/archaeological_operations/migrations/0016_auto__add_field_acttype_indexed__add_field_historicaladministrativeact.py
+++ b/archaeological_operations/old_migrations/0016_auto__add_field_acttype_indexed__add_field_historicaladministrativeact.py
diff --git a/archaeological_operations/migrations/0017_rename_in_charge_to_scientist.py b/archaeological_operations/old_migrations/0017_rename_in_charge_to_scientist.py
index 30946e383..30946e383 100644
--- a/archaeological_operations/migrations/0017_rename_in_charge_to_scientist.py
+++ b/archaeological_operations/old_migrations/0017_rename_in_charge_to_scientist.py
diff --git a/archaeological_operations/migrations/0018_auto__add_field_historicaloperation_in_charge_id__add_field_operation_.py b/archaeological_operations/old_migrations/0018_auto__add_field_historicaloperation_in_charge_id__add_field_operation_.py
index d5cf3c4bd..d5cf3c4bd 100644
--- a/archaeological_operations/migrations/0018_auto__add_field_historicaloperation_in_charge_id__add_field_operation_.py
+++ b/archaeological_operations/old_migrations/0018_auto__add_field_historicaloperation_in_charge_id__add_field_operation_.py
diff --git a/archaeological_operations/migrations/0019_auto__add_field_historicaloperation_operator_id__add_field_operation_o.py b/archaeological_operations/old_migrations/0019_auto__add_field_historicaloperation_operator_id__add_field_operation_o.py
index 375ac67df..375ac67df 100644
--- a/archaeological_operations/migrations/0019_auto__add_field_historicaloperation_operator_id__add_field_operation_o.py
+++ b/archaeological_operations/old_migrations/0019_auto__add_field_historicaloperation_operator_id__add_field_operation_o.py
diff --git a/archaeological_operations/migrations/0020_auto__add_field_parcel_history_creator__add_field_historicaloperation_.py b/archaeological_operations/old_migrations/0020_auto__add_field_parcel_history_creator__add_field_historicaloperation_.py
index 4614eba32..4614eba32 100644
--- a/archaeological_operations/migrations/0020_auto__add_field_parcel_history_creator__add_field_historicaloperation_.py
+++ b/archaeological_operations/old_migrations/0020_auto__add_field_parcel_history_creator__add_field_historicaloperation_.py
diff --git a/archaeological_operations/migrations/0021_init_history_creator.py b/archaeological_operations/old_migrations/0021_init_history_creator.py
index 5d0f7c780..5d0f7c780 100644
--- a/archaeological_operations/migrations/0021_init_history_creator.py
+++ b/archaeological_operations/old_migrations/0021_init_history_creator.py
diff --git a/archaeological_operations/migrations/0022_auto__add_field_operationtype_order.py b/archaeological_operations/old_migrations/0022_auto__add_field_operationtype_order.py
index 379711ec9..379711ec9 100644
--- a/archaeological_operations/migrations/0022_auto__add_field_operationtype_order.py
+++ b/archaeological_operations/old_migrations/0022_auto__add_field_operationtype_order.py
diff --git a/archaeological_operations/migrations/0023_add_year_administrativact.py b/archaeological_operations/old_migrations/0023_add_year_administrativact.py
index bf1712db4..bf1712db4 100644
--- a/archaeological_operations/migrations/0023_add_year_administrativact.py
+++ b/archaeological_operations/old_migrations/0023_add_year_administrativact.py
diff --git a/archaeological_operations/migrations/0024_reinit_history_creator.py b/archaeological_operations/old_migrations/0024_reinit_history_creator.py
index 8a6b1f819..8a6b1f819 100644
--- a/archaeological_operations/migrations/0024_reinit_history_creator.py
+++ b/archaeological_operations/old_migrations/0024_reinit_history_creator.py
diff --git a/archaeological_operations/migrations/0025_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py b/archaeological_operations/old_migrations/0025_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py
index b30bfc1d5..b30bfc1d5 100644
--- a/archaeological_operations/migrations/0025_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py
+++ b/archaeological_operations/old_migrations/0025_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py
diff --git a/archaeological_operations/migrations/0026_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py b/archaeological_operations/old_migrations/0026_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py
index 0f75dd757..0f75dd757 100644
--- a/archaeological_operations/migrations/0026_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py
+++ b/archaeological_operations/old_migrations/0026_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py
diff --git a/archaeological_operations/migrations/0027_auto__add_field_historicaloperation_creation_date__add_field_operation.py b/archaeological_operations/old_migrations/0027_auto__add_field_historicaloperation_creation_date__add_field_operation.py
index 2a21c1569..2a21c1569 100644
--- a/archaeological_operations/migrations/0027_auto__add_field_historicaloperation_creation_date__add_field_operation.py
+++ b/archaeological_operations/old_migrations/0027_auto__add_field_historicaloperation_creation_date__add_field_operation.py
diff --git a/archaeological_operations/migrations/0028_init_creation_date.py b/archaeological_operations/old_migrations/0028_init_creation_date.py
index 0136fb217..0136fb217 100644
--- a/archaeological_operations/migrations/0028_init_creation_date.py
+++ b/archaeological_operations/old_migrations/0028_init_creation_date.py
diff --git a/archaeological_operations/migrations/0029_auto__chg_field_historicaloperation_creation_date__chg_field_operation.py b/archaeological_operations/old_migrations/0029_auto__chg_field_historicaloperation_creation_date__chg_field_operation.py
index d5b36444a..d5b36444a 100644
--- a/archaeological_operations/migrations/0029_auto__chg_field_historicaloperation_creation_date__chg_field_operation.py
+++ b/archaeological_operations/old_migrations/0029_auto__chg_field_historicaloperation_creation_date__chg_field_operation.py
diff --git a/archaeological_operations/migrations/0030_auto__chg_field_parcel_history_creator__chg_field_parcel_history_modif.py b/archaeological_operations/old_migrations/0030_auto__chg_field_parcel_history_creator__chg_field_parcel_history_modif.py
index 07e168a33..07e168a33 100644
--- a/archaeological_operations/migrations/0030_auto__chg_field_parcel_history_creator__chg_field_parcel_history_modif.py
+++ b/archaeological_operations/old_migrations/0030_auto__chg_field_parcel_history_creator__chg_field_parcel_history_modif.py
diff --git a/archaeological_operations/migrations/0031_auto__add_field_parcel_address.py b/archaeological_operations/old_migrations/0031_auto__add_field_parcel_address.py
index 05554006c..05554006c 100644
--- a/archaeological_operations/migrations/0031_auto__add_field_parcel_address.py
+++ b/archaeological_operations/old_migrations/0031_auto__add_field_parcel_address.py
diff --git a/archaeological_operations/migrations/0032_auto__add_field_operationsource_support_type__add_field_operationsourc.py b/archaeological_operations/old_migrations/0032_auto__add_field_operationsource_support_type__add_field_operationsourc.py
index 3a4932c86..3a4932c86 100644
--- a/archaeological_operations/migrations/0032_auto__add_field_operationsource_support_type__add_field_operationsourc.py
+++ b/archaeological_operations/old_migrations/0032_auto__add_field_operationsource_support_type__add_field_operationsourc.py
diff --git a/archaeological_operations/migrations/0033_auto__add_field_parcel_external_id.py b/archaeological_operations/old_migrations/0033_auto__add_field_parcel_external_id.py
index 1d0e2f4ab..1d0e2f4ab 100644
--- a/archaeological_operations/migrations/0033_auto__add_field_parcel_external_id.py
+++ b/archaeological_operations/old_migrations/0033_auto__add_field_parcel_external_id.py
diff --git a/archaeological_operations/migrations/0034_auto__add_field_operationsource_external_id.py b/archaeological_operations/old_migrations/0034_auto__add_field_operationsource_external_id.py
index 6c982967a..6c982967a 100644
--- a/archaeological_operations/migrations/0034_auto__add_field_operationsource_external_id.py
+++ b/archaeological_operations/old_migrations/0034_auto__add_field_operationsource_external_id.py
diff --git a/archaeological_operations/migrations/0035_auto.py b/archaeological_operations/old_migrations/0035_auto.py
index 5fde976e9..5fde976e9 100644
--- a/archaeological_operations/migrations/0035_auto.py
+++ b/archaeological_operations/old_migrations/0035_auto.py
diff --git a/archaeological_operations/migrations/0036_auto.py b/archaeological_operations/old_migrations/0036_auto.py
index af1df3887..af1df3887 100644
--- a/archaeological_operations/migrations/0036_auto.py
+++ b/archaeological_operations/old_migrations/0036_auto.py
diff --git a/archaeological_operations/migrations/0037_auto__chg_field_parcel_parcel_number__chg_field_operationtype_txt_idx_.py b/archaeological_operations/old_migrations/0037_auto__chg_field_parcel_parcel_number__chg_field_operationtype_txt_idx_.py
index aa023a7eb..aa023a7eb 100644
--- a/archaeological_operations/migrations/0037_auto__chg_field_parcel_parcel_number__chg_field_operationtype_txt_idx_.py
+++ b/archaeological_operations/old_migrations/0037_auto__chg_field_parcel_parcel_number__chg_field_operationtype_txt_idx_.py
diff --git a/archaeological_operations/migrations/0038_auto__add_unique_operation_code_patriarche.py b/archaeological_operations/old_migrations/0038_auto__add_unique_operation_code_patriarche.py
index 738aa011d..738aa011d 100644
--- a/archaeological_operations/migrations/0038_auto__add_unique_operation_code_patriarche.py
+++ b/archaeological_operations/old_migrations/0038_auto__add_unique_operation_code_patriarche.py
diff --git a/archaeological_operations/migrations/0039_auto__add_recordrelations__add_relationtype.py b/archaeological_operations/old_migrations/0039_auto__add_recordrelations__add_relationtype.py
index ba75d27ad..ba75d27ad 100644
--- a/archaeological_operations/migrations/0039_auto__add_recordrelations__add_relationtype.py
+++ b/archaeological_operations/old_migrations/0039_auto__add_recordrelations__add_relationtype.py
diff --git a/archaeological_operations/migrations/0040_auto__chg_field_parcel_external_id.py b/archaeological_operations/old_migrations/0040_auto__chg_field_parcel_external_id.py
index ebdb74ebd..ebdb74ebd 100644
--- a/archaeological_operations/migrations/0040_auto__chg_field_parcel_external_id.py
+++ b/archaeological_operations/old_migrations/0040_auto__chg_field_parcel_external_id.py
diff --git a/archaeological_operations/migrations/0041_rename_ope_type_2_ope_type_old.py b/archaeological_operations/old_migrations/0041_rename_ope_type_2_ope_type_old.py
index f50ae07ad..f50ae07ad 100644
--- a/archaeological_operations/migrations/0041_rename_ope_type_2_ope_type_old.py
+++ b/archaeological_operations/old_migrations/0041_rename_ope_type_2_ope_type_old.py
diff --git a/archaeological_operations/migrations/0042_rename_ope_type_2_ope_type_old_2.py b/archaeological_operations/old_migrations/0042_rename_ope_type_2_ope_type_old_2.py
index dc2b6e1a6..dc2b6e1a6 100644
--- a/archaeological_operations/migrations/0042_rename_ope_type_2_ope_type_old_2.py
+++ b/archaeological_operations/old_migrations/0042_rename_ope_type_2_ope_type_old_2.py
diff --git a/archaeological_operations/migrations/0043_auto__add_field_historicaladministrativeact_departments_label__add_fie.py b/archaeological_operations/old_migrations/0043_auto__add_field_historicaladministrativeact_departments_label__add_fie.py
index 30a5a6073..30a5a6073 100644
--- a/archaeological_operations/migrations/0043_auto__add_field_historicaladministrativeact_departments_label__add_fie.py
+++ b/archaeological_operations/old_migrations/0043_auto__add_field_historicaladministrativeact_departments_label__add_fie.py
diff --git a/archaeological_operations/migrations/0044_auto__add_field_historicaloperation_virtual_operation__add_field_histo.py b/archaeological_operations/old_migrations/0044_auto__add_field_historicaloperation_virtual_operation__add_field_histo.py
index 0c18442ad..0c18442ad 100644
--- a/archaeological_operations/migrations/0044_auto__add_field_historicaloperation_virtual_operation__add_field_histo.py
+++ b/archaeological_operations/old_migrations/0044_auto__add_field_historicaloperation_virtual_operation__add_field_histo.py
diff --git a/archaeological_operations/migrations/0045_auto__chg_field_historicaloperation_common_name__chg_field_operation_c.py b/archaeological_operations/old_migrations/0045_auto__chg_field_historicaloperation_common_name__chg_field_operation_c.py
index fd907b595..fd907b595 100644
--- a/archaeological_operations/migrations/0045_auto__chg_field_historicaloperation_common_name__chg_field_operation_c.py
+++ b/archaeological_operations/old_migrations/0045_auto__chg_field_historicaloperation_common_name__chg_field_operation_c.py
diff --git a/archaeological_operations/migrations/0046_auto__add_reportstate__add_field_historicaloperation_report_processing.py b/archaeological_operations/old_migrations/0046_auto__add_reportstate__add_field_historicaloperation_report_processing.py
index dc45a5485..dc45a5485 100644
--- a/archaeological_operations/migrations/0046_auto__add_reportstate__add_field_historicaloperation_report_processing.py
+++ b/archaeological_operations/old_migrations/0046_auto__add_reportstate__add_field_historicaloperation_report_processing.py
diff --git a/archaeological_operations/migrations/0047_auto__add_field_operationsource_duplicate__chg_field_operationsource_i.py b/archaeological_operations/old_migrations/0047_auto__add_field_operationsource_duplicate__chg_field_operationsource_i.py
index c31f53436..c31f53436 100644
--- a/archaeological_operations/migrations/0047_auto__add_field_operationsource_duplicate__chg_field_operationsource_i.py
+++ b/archaeological_operations/old_migrations/0047_auto__add_field_operationsource_duplicate__chg_field_operationsource_i.py
diff --git a/archaeological_operations/migrations/0048_auto__add_field_operationsource_receipt_date_in_documentation.py b/archaeological_operations/old_migrations/0048_auto__add_field_operationsource_receipt_date_in_documentation.py
index 90a2fc415..90a2fc415 100644
--- a/archaeological_operations/migrations/0048_auto__add_field_operationsource_receipt_date_in_documentation.py
+++ b/archaeological_operations/old_migrations/0048_auto__add_field_operationsource_receipt_date_in_documentation.py
diff --git a/archaeological_operations/migrations/0049_auto__add_field_historicaloperation_abstract__add_field_operation_abst.py b/archaeological_operations/old_migrations/0049_auto__add_field_historicaloperation_abstract__add_field_operation_abst.py
index 3bdc0e750..3bdc0e750 100644
--- a/archaeological_operations/migrations/0049_auto__add_field_historicaloperation_abstract__add_field_operation_abst.py
+++ b/archaeological_operations/old_migrations/0049_auto__add_field_historicaloperation_abstract__add_field_operation_abst.py
diff --git a/archaeological_operations/migrations/0050_auto__chg_field_historicaloperation_code_dracar__chg_field_operation_c.py b/archaeological_operations/old_migrations/0050_auto__chg_field_historicaloperation_code_dracar__chg_field_operation_c.py
index 0ce1008ce..0ce1008ce 100644
--- a/archaeological_operations/migrations/0050_auto__chg_field_historicaloperation_code_dracar__chg_field_operation_c.py
+++ b/archaeological_operations/old_migrations/0050_auto__chg_field_historicaloperation_code_dracar__chg_field_operation_c.py
diff --git a/archaeological_operations/migrations/0051_auto__add_field_historicaloperation_point__add_field_historicaloperati.py b/archaeological_operations/old_migrations/0051_auto__add_field_historicaloperation_point__add_field_historicaloperati.py
index 3157e0d54..3157e0d54 100644
--- a/archaeological_operations/migrations/0051_auto__add_field_historicaloperation_point__add_field_historicaloperati.py
+++ b/archaeological_operations/old_migrations/0051_auto__add_field_historicaloperation_point__add_field_historicaloperati.py
diff --git a/archaeological_operations/migrations/0052_auto__add_field_relationtype_short_label.py b/archaeological_operations/old_migrations/0052_auto__add_field_relationtype_short_label.py
index 8e39337a3..8e39337a3 100644
--- a/archaeological_operations/migrations/0052_auto__add_field_relationtype_short_label.py
+++ b/archaeological_operations/old_migrations/0052_auto__add_field_relationtype_short_label.py
diff --git a/archaeological_operations/migrations/0053_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py b/archaeological_operations/old_migrations/0053_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py
index b3edcfa72..b3edcfa72 100644
--- a/archaeological_operations/migrations/0053_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py
+++ b/archaeological_operations/old_migrations/0053_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py
diff --git a/archaeological_operations/migrations/0054_auto__add_field_parcel_auto_external_id.py b/archaeological_operations/old_migrations/0054_auto__add_field_parcel_auto_external_id.py
index e2c0b2340..e2c0b2340 100644
--- a/archaeological_operations/migrations/0054_auto__add_field_parcel_auto_external_id.py
+++ b/archaeological_operations/old_migrations/0054_auto__add_field_parcel_auto_external_id.py
diff --git a/archaeological_operations/migrations/0055_auto__add_field_parcel_public_domain.py b/archaeological_operations/old_migrations/0055_auto__add_field_parcel_public_domain.py
index 90b5b533d..90b5b533d 100644
--- a/archaeological_operations/migrations/0055_auto__add_field_parcel_public_domain.py
+++ b/archaeological_operations/old_migrations/0055_auto__add_field_parcel_public_domain.py
diff --git a/archaeological_operations/migrations/0056_auto__chg_field_parcel_section.py b/archaeological_operations/old_migrations/0056_auto__chg_field_parcel_section.py
index c5c954f45..c5c954f45 100644
--- a/archaeological_operations/migrations/0056_auto__chg_field_parcel_section.py
+++ b/archaeological_operations/old_migrations/0056_auto__chg_field_parcel_section.py
diff --git a/archaeological_operations/migrations/0057_rename_code_dracar_to_old_code.py b/archaeological_operations/old_migrations/0057_rename_code_dracar_to_old_code.py
index 57100315e..57100315e 100644
--- a/archaeological_operations/migrations/0057_rename_code_dracar_to_old_code.py
+++ b/archaeological_operations/old_migrations/0057_rename_code_dracar_to_old_code.py
diff --git a/archaeological_operations/migrations/0058_auto__add_field_operationsource_image__add_field_operationsource_thumb.py b/archaeological_operations/old_migrations/0058_auto__add_field_operationsource_image__add_field_operationsource_thumb.py
index 9dc794c86..9dc794c86 100644
--- a/archaeological_operations/migrations/0058_auto__add_field_operationsource_image__add_field_operationsource_thumb.py
+++ b/archaeological_operations/old_migrations/0058_auto__add_field_operationsource_image__add_field_operationsource_thumb.py
diff --git a/archaeological_operations/migrations/0059_auto__add_field_historicaloperation_documentation_deadline__add_field_.py b/archaeological_operations/old_migrations/0059_auto__add_field_historicaloperation_documentation_deadline__add_field_.py
index 17a1cc7db..17a1cc7db 100644
--- a/archaeological_operations/migrations/0059_auto__add_field_historicaloperation_documentation_deadline__add_field_.py
+++ b/archaeological_operations/old_migrations/0059_auto__add_field_historicaloperation_documentation_deadline__add_field_.py
diff --git a/archaeological_operations/migrations/0060_auto__add_field_historicaloperation_scientific_documentation_comment__.py b/archaeological_operations/old_migrations/0060_auto__add_field_historicaloperation_scientific_documentation_comment__.py
index 76f3e6ac4..76f3e6ac4 100644
--- a/archaeological_operations/migrations/0060_auto__add_field_historicaloperation_scientific_documentation_comment__.py
+++ b/archaeological_operations/old_migrations/0060_auto__add_field_historicaloperation_scientific_documentation_comment__.py
diff --git a/archaeological_operations/migrations/0061_regenerate_cached_label.py b/archaeological_operations/old_migrations/0061_regenerate_cached_label.py
index 91beb8138..91beb8138 100644
--- a/archaeological_operations/migrations/0061_regenerate_cached_label.py
+++ b/archaeological_operations/old_migrations/0061_regenerate_cached_label.py
diff --git a/archaeological_operations/migrations/0062_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py b/archaeological_operations/old_migrations/0062_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py
index 528a6533b..528a6533b 100644
--- a/archaeological_operations/migrations/0062_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py
+++ b/archaeological_operations/old_migrations/0062_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py
diff --git a/archaeological_operations/migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py b/archaeological_operations/old_migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py
index 9ceffa8a3..9ceffa8a3 100644
--- a/archaeological_operations/migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py
+++ b/archaeological_operations/old_migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py
diff --git a/archaeological_operations/migrations/0064_fix_old_operationtype.py b/archaeological_operations/old_migrations/0064_fix_old_operationtype.py
index 4ea054f65..4ea054f65 100644
--- a/archaeological_operations/migrations/0064_fix_old_operationtype.py
+++ b/archaeological_operations/old_migrations/0064_fix_old_operationtype.py
diff --git a/archaeological_operations/migrations/0065_auto__add_field_historicaloperation_address__add_field_operation_addre.py b/archaeological_operations/old_migrations/0065_auto__add_field_historicaloperation_address__add_field_operation_addre.py
index 8626cfcf4..8626cfcf4 100644
--- a/archaeological_operations/migrations/0065_auto__add_field_historicaloperation_address__add_field_operation_addre.py
+++ b/archaeological_operations/old_migrations/0065_auto__add_field_historicaloperation_address__add_field_operation_addre.py
diff --git a/archaeological_operations/migrations/0066_regenerate_cached_label.py b/archaeological_operations/old_migrations/0066_regenerate_cached_label.py
index 0475b0065..0475b0065 100644
--- a/archaeological_operations/migrations/0066_regenerate_cached_label.py
+++ b/archaeological_operations/old_migrations/0066_regenerate_cached_label.py
diff --git a/archaeological_operations/migrations/0067_auto.py b/archaeological_operations/old_migrations/0067_auto.py
index f09437198..f09437198 100644
--- a/archaeological_operations/migrations/0067_auto.py
+++ b/archaeological_operations/old_migrations/0067_auto.py
diff --git a/archaeological_operations/old_migrations/__init__.py b/archaeological_operations/old_migrations/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/archaeological_operations/old_migrations/__init__.py
diff --git a/archaeological_warehouse/migrations/0001_initial.py b/archaeological_warehouse/migrations/0001_initial.py
index 6c3b14e75..13abc0afa 100644
--- a/archaeological_warehouse/migrations/0001_initial.py
+++ b/archaeological_warehouse/migrations/0001_initial.py
@@ -1,229 +1,182 @@
# -*- coding: utf-8 -*-
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
- # Adding model 'WarehouseType'
- db.create_table('archaeological_warehouse_warehousetype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ))
- db.send_create_signal('archaeological_warehouse', ['WarehouseType'])
-
- # Adding model 'Warehouse'
- db.create_table('archaeological_warehouse_warehouse', (
- ('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'])),
- ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
- ('town', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
- ('country', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
- ('phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
- ('mobile_phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=40)),
- ('warehouse_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_warehouse.WarehouseType'])),
- ('person_in_charge', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'], null=True, blank=True)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ))
- db.send_create_signal('archaeological_warehouse', ['Warehouse'])
-
- # Adding model 'ContainerType'
- db.create_table('archaeological_warehouse_containertype', (
- ('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)),
- ('length', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('width', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('height', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('volume', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('reference', self.gf('django.db.models.fields.CharField')(max_length=30)),
- ))
- db.send_create_signal('archaeological_warehouse', ['ContainerType'])
+from __future__ import unicode_literals
- # Adding model 'Container'
- db.create_table('archaeological_warehouse_container', (
- ('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)),
- ('location', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_warehouse.Warehouse'])),
- ('container_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_warehouse.ContainerType'])),
- ('reference', self.gf('django.db.models.fields.CharField')(max_length=40)),
- ('comment', self.gf('django.db.models.fields.TextField')()),
- ))
- db.send_create_signal('archaeological_warehouse', ['Container'])
-
-
- def backwards(self, orm):
- # Deleting model 'WarehouseType'
- db.delete_table('archaeological_warehouse_warehousetype')
-
- # Deleting model 'Warehouse'
- db.delete_table('archaeological_warehouse_warehouse')
-
- # Deleting model 'ContainerType'
- db.delete_table('archaeological_warehouse_containertype')
+from django.db import models, migrations
+import datetime
+import django.core.validators
+import django.db.models.deletion
+from django.conf import settings
+import re
+import ishtar_common.models
- # Deleting model 'Container'
- db.delete_table('archaeological_warehouse_container')
+class Migration(migrations.Migration):
- models = {
- '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.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.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']"})
- }
- }
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ]
- complete_apps = ['archaeological_warehouse'] \ No newline at end of file
+ operations = [
+ migrations.CreateModel(
+ name='Collection',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('history_date', models.DateTimeField(default=datetime.datetime.now)),
+ ('name', models.CharField(max_length=200, null=True, verbose_name='Name', blank=True)),
+ ('description', models.TextField(null=True, verbose_name='Description', blank=True)),
+ ],
+ options={
+ 'ordering': ('name',),
+ 'verbose_name': 'Collection',
+ 'verbose_name_plural': 'Collection',
+ },
+ ),
+ migrations.CreateModel(
+ name='Container',
+ 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)),
+ ('history_date', models.DateTimeField(default=datetime.datetime.now)),
+ ('reference', models.CharField(max_length=40, verbose_name='Container ref.')),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('cached_label', models.CharField(max_length=500, null=True, verbose_name='Localisation', blank=True)),
+ ('cached_location', models.CharField(max_length=500, null=True, verbose_name='Cached location', blank=True)),
+ ('index', models.IntegerField(default=0, verbose_name='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')),
+ ],
+ options={
+ 'ordering': ('cached_label',),
+ 'verbose_name': 'Container',
+ 'verbose_name_plural': 'Containers',
+ },
+ ),
+ migrations.CreateModel(
+ name='ContainerLocalisation',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('reference', models.CharField(default=b'', max_length=200, verbose_name='Reference')),
+ ],
+ options={
+ 'ordering': ('container', 'division__order'),
+ 'verbose_name': 'Container localisation',
+ 'verbose_name_plural': 'Container localisations',
+ },
+ ),
+ migrations.CreateModel(
+ name='ContainerType',
+ 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')),
+ ('length', models.IntegerField(null=True, verbose_name='Length (mm)', blank=True)),
+ ('width', models.IntegerField(null=True, verbose_name='Width (mm)', blank=True)),
+ ('height', models.IntegerField(null=True, verbose_name='Height (mm)', blank=True)),
+ ('volume', models.FloatField(null=True, verbose_name='Volume (l)', blank=True)),
+ ('reference', models.CharField(max_length=30, verbose_name='Ref.')),
+ ],
+ options={
+ 'ordering': ('label',),
+ 'verbose_name': 'Container type',
+ 'verbose_name_plural': 'Container types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='Warehouse',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('address', models.TextField(null=True, verbose_name='Address', blank=True)),
+ ('address_complement', models.TextField(null=True, verbose_name='Address complement', blank=True)),
+ ('postal_code', models.CharField(max_length=10, null=True, verbose_name='Postal code', blank=True)),
+ ('town', models.CharField(max_length=70, null=True, verbose_name='Town', blank=True)),
+ ('country', models.CharField(max_length=30, null=True, verbose_name='Country', blank=True)),
+ ('alt_address', models.TextField(null=True, verbose_name='Other address: address', blank=True)),
+ ('alt_address_complement', models.TextField(null=True, verbose_name='Other address: address complement', blank=True)),
+ ('alt_postal_code', models.CharField(max_length=10, null=True, verbose_name='Other address: postal code', blank=True)),
+ ('alt_town', models.CharField(max_length=70, null=True, verbose_name='Other address: town', blank=True)),
+ ('alt_country', models.CharField(max_length=30, null=True, verbose_name='Other address: country', blank=True)),
+ ('phone', models.CharField(max_length=18, null=True, verbose_name='Phone', blank=True)),
+ ('phone_desc', models.CharField(max_length=300, null=True, verbose_name='Phone description', blank=True)),
+ ('phone2', models.CharField(max_length=18, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone_desc2', models.CharField(max_length=300, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone3', models.CharField(max_length=18, null=True, verbose_name='Phone 3', blank=True)),
+ ('phone_desc3', models.CharField(max_length=300, null=True, verbose_name='Phone description 3', blank=True)),
+ ('raw_phone', models.TextField(null=True, verbose_name='Raw phone', blank=True)),
+ ('mobile_phone', models.CharField(max_length=18, null=True, verbose_name='Mobile phone', blank=True)),
+ ('email', models.EmailField(max_length=300, null=True, verbose_name='Email', blank=True)),
+ ('alt_address_is_prefered', models.BooleanField(default=False, verbose_name='Alternative address is prefered')),
+ ('name', models.CharField(max_length=200, verbose_name='Name')),
+ ('comment', models.TextField(null=True, verbose_name='Comment', 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')),
+ ],
+ options={
+ 'verbose_name': 'Warehouse',
+ 'verbose_name_plural': 'Warehouses',
+ 'permissions': (('view_warehouse', 'Peut voir tous les D\xe9p\xf4ts'), ('view_own_warehouse', 'Peut voir son propre D\xe9p\xf4t'), ('add_own_warehouse', 'Peut ajouter son propre D\xe9p\xf4t'), ('change_own_warehouse', 'Peut modifier son propre D\xe9p\xf4t'), ('delete_own_warehouse', 'Peut supprimer son propre D\xe9p\xf4t')),
+ },
+ bases=(models.Model, ishtar_common.models.DashboardFormItem, ishtar_common.models.OwnPerms),
+ ),
+ migrations.CreateModel(
+ name='WarehouseDivision',
+ 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={
+ 'verbose_name': 'Warehouse division type',
+ 'verbose_name_plural': 'Warehouse division types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='WarehouseDivisionLink',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('order', models.IntegerField(default=10, verbose_name='Order')),
+ ('division', models.ForeignKey(to='archaeological_warehouse.WarehouseDivision')),
+ ('warehouse', models.ForeignKey(to='archaeological_warehouse.Warehouse')),
+ ],
+ options={
+ 'ordering': ('warehouse', 'order'),
+ },
+ ),
+ migrations.CreateModel(
+ name='WarehouseType',
+ 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': 'Warehouse type',
+ 'verbose_name_plural': 'Warehouse types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.AddField(
+ model_name='warehouse',
+ name='associated_divisions',
+ field=models.ManyToManyField(to='archaeological_warehouse.WarehouseDivision', verbose_name='Divisions', through='archaeological_warehouse.WarehouseDivisionLink', blank=True),
+ ),
+ migrations.AddField(
+ model_name='warehouse',
+ 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='warehouse',
+ 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),
+ ),
+ ]
diff --git a/archaeological_warehouse/migrations/0002_auto_20170414_2123.py b/archaeological_warehouse/migrations/0002_auto_20170414_2123.py
new file mode 100644
index 000000000..5b9c92785
--- /dev/null
+++ b/archaeological_warehouse/migrations/0002_auto_20170414_2123.py
@@ -0,0 +1,105 @@
+# -*- 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_warehouse', '0001_initial'),
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('ishtar_common', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='warehouse',
+ name='imports',
+ field=models.ManyToManyField(related_name='imported_archaeological_warehouse_warehouse', to='ishtar_common.Import', blank=True),
+ ),
+ migrations.AddField(
+ model_name='warehouse',
+ name='person_in_charge',
+ field=models.ForeignKey(related_name='warehouse_in_charge', 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='warehouse',
+ name='warehouse_type',
+ field=models.ForeignKey(verbose_name='Warehouse type', to='archaeological_warehouse.WarehouseType'),
+ ),
+ migrations.AddField(
+ model_name='containerlocalisation',
+ name='container',
+ field=models.ForeignKey(related_name='division', verbose_name='Container', to='archaeological_warehouse.Container'),
+ ),
+ migrations.AddField(
+ model_name='containerlocalisation',
+ name='division',
+ field=models.ForeignKey(verbose_name='Division', to='archaeological_warehouse.WarehouseDivisionLink'),
+ ),
+ migrations.AddField(
+ model_name='container',
+ name='container_type',
+ field=models.ForeignKey(verbose_name='Container type', to='archaeological_warehouse.ContainerType'),
+ ),
+ migrations.AddField(
+ model_name='container',
+ 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='container',
+ 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='container',
+ name='imports',
+ field=models.ManyToManyField(related_name='imported_archaeological_warehouse_container', to='ishtar_common.Import', blank=True),
+ ),
+ migrations.AddField(
+ model_name='container',
+ name='location',
+ field=models.ForeignKey(related_name='containers', verbose_name='Location (warehouse)', to='archaeological_warehouse.Warehouse'),
+ ),
+ migrations.AddField(
+ model_name='container',
+ name='responsible',
+ field=models.ForeignKey(related_name='owned_containers', verbose_name='Responsible warehouse', to='archaeological_warehouse.Warehouse'),
+ ),
+ migrations.AddField(
+ model_name='collection',
+ 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='collection',
+ 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='collection',
+ name='imports',
+ field=models.ManyToManyField(related_name='imported_archaeological_warehouse_collection', to='ishtar_common.Import', blank=True),
+ ),
+ migrations.AddField(
+ model_name='collection',
+ name='warehouse',
+ field=models.ForeignKey(related_name='collections', verbose_name='Warehouse', to='archaeological_warehouse.Warehouse'),
+ ),
+ migrations.AlterUniqueTogether(
+ name='warehousedivisionlink',
+ unique_together=set([('warehouse', 'division')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='containerlocalisation',
+ unique_together=set([('container', 'division')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='container',
+ unique_together=set([('index', 'location')]),
+ ),
+ ]
diff --git a/archaeological_warehouse/old_migrations/0001_initial.py b/archaeological_warehouse/old_migrations/0001_initial.py
new file mode 100644
index 000000000..6c3b14e75
--- /dev/null
+++ b/archaeological_warehouse/old_migrations/0001_initial.py
@@ -0,0 +1,229 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding model 'WarehouseType'
+ db.create_table('archaeological_warehouse_warehousetype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ))
+ db.send_create_signal('archaeological_warehouse', ['WarehouseType'])
+
+ # Adding model 'Warehouse'
+ db.create_table('archaeological_warehouse_warehouse', (
+ ('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'])),
+ ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
+ ('town', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
+ ('country', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
+ ('phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
+ ('mobile_phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=40)),
+ ('warehouse_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_warehouse.WarehouseType'])),
+ ('person_in_charge', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'], null=True, blank=True)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ))
+ db.send_create_signal('archaeological_warehouse', ['Warehouse'])
+
+ # Adding model 'ContainerType'
+ db.create_table('archaeological_warehouse_containertype', (
+ ('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)),
+ ('length', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('width', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('height', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('volume', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('reference', self.gf('django.db.models.fields.CharField')(max_length=30)),
+ ))
+ db.send_create_signal('archaeological_warehouse', ['ContainerType'])
+
+ # Adding model 'Container'
+ db.create_table('archaeological_warehouse_container', (
+ ('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)),
+ ('location', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_warehouse.Warehouse'])),
+ ('container_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_warehouse.ContainerType'])),
+ ('reference', self.gf('django.db.models.fields.CharField')(max_length=40)),
+ ('comment', self.gf('django.db.models.fields.TextField')()),
+ ))
+ db.send_create_signal('archaeological_warehouse', ['Container'])
+
+
+ def backwards(self, orm):
+ # Deleting model 'WarehouseType'
+ db.delete_table('archaeological_warehouse_warehousetype')
+
+ # Deleting model 'Warehouse'
+ db.delete_table('archaeological_warehouse_warehouse')
+
+ # Deleting model 'ContainerType'
+ db.delete_table('archaeological_warehouse_containertype')
+
+ # Deleting model 'Container'
+ db.delete_table('archaeological_warehouse_container')
+
+
+ models = {
+ '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.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.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_warehouse'] \ No newline at end of file
diff --git a/archaeological_warehouse/migrations/0002_auto__add_field_warehouse_history_creator__add_field_container_history.py b/archaeological_warehouse/old_migrations/0002_auto__add_field_warehouse_history_creator__add_field_container_history.py
index 75bd47a45..75bd47a45 100644
--- a/archaeological_warehouse/migrations/0002_auto__add_field_warehouse_history_creator__add_field_container_history.py
+++ b/archaeological_warehouse/old_migrations/0002_auto__add_field_warehouse_history_creator__add_field_container_history.py
diff --git a/archaeological_warehouse/migrations/0003_auto__add_field_warehouse_email.py b/archaeological_warehouse/old_migrations/0003_auto__add_field_warehouse_email.py
index bcfabba98..bcfabba98 100644
--- a/archaeological_warehouse/migrations/0003_auto__add_field_warehouse_email.py
+++ b/archaeological_warehouse/old_migrations/0003_auto__add_field_warehouse_email.py
diff --git a/archaeological_warehouse/migrations/0004_auto__chg_field_warehouse_history_creator__chg_field_warehouse_person_.py b/archaeological_warehouse/old_migrations/0004_auto__chg_field_warehouse_history_creator__chg_field_warehouse_person_.py
index 66d7c4926..66d7c4926 100644
--- a/archaeological_warehouse/migrations/0004_auto__chg_field_warehouse_history_creator__chg_field_warehouse_person_.py
+++ b/archaeological_warehouse/old_migrations/0004_auto__chg_field_warehouse_history_creator__chg_field_warehouse_person_.py
diff --git a/archaeological_warehouse/migrations/0005_auto__chg_field_warehouse_town.py b/archaeological_warehouse/old_migrations/0005_auto__chg_field_warehouse_town.py
index c8f67c425..c8f67c425 100644
--- a/archaeological_warehouse/migrations/0005_auto__chg_field_warehouse_town.py
+++ b/archaeological_warehouse/old_migrations/0005_auto__chg_field_warehouse_town.py
diff --git a/archaeological_warehouse/migrations/0006_auto.py b/archaeological_warehouse/old_migrations/0006_auto.py
index fae8058d6..fae8058d6 100644
--- a/archaeological_warehouse/migrations/0006_auto.py
+++ b/archaeological_warehouse/old_migrations/0006_auto.py
diff --git a/archaeological_warehouse/migrations/0007_auto__chg_field_warehousetype_txt_idx__chg_field_containertype_txt_idx.py b/archaeological_warehouse/old_migrations/0007_auto__chg_field_warehousetype_txt_idx__chg_field_containertype_txt_idx.py
index a823623b9..a823623b9 100644
--- a/archaeological_warehouse/migrations/0007_auto__chg_field_warehousetype_txt_idx__chg_field_containertype_txt_idx.py
+++ b/archaeological_warehouse/old_migrations/0007_auto__chg_field_warehousetype_txt_idx__chg_field_containertype_txt_idx.py
diff --git a/archaeological_warehouse/migrations/0008_auto__add_field_warehouse_alt_address__add_field_warehouse_alt_address.py b/archaeological_warehouse/old_migrations/0008_auto__add_field_warehouse_alt_address__add_field_warehouse_alt_address.py
index b543a501e..b543a501e 100644
--- a/archaeological_warehouse/migrations/0008_auto__add_field_warehouse_alt_address__add_field_warehouse_alt_address.py
+++ b/archaeological_warehouse/old_migrations/0008_auto__add_field_warehouse_alt_address__add_field_warehouse_alt_address.py
diff --git a/archaeological_warehouse/migrations/0009_auto__chg_field_warehouse_phone_desc3__chg_field_warehouse_phone_desc2.py b/archaeological_warehouse/old_migrations/0009_auto__chg_field_warehouse_phone_desc3__chg_field_warehouse_phone_desc2.py
index 008faea54..008faea54 100644
--- a/archaeological_warehouse/migrations/0009_auto__chg_field_warehouse_phone_desc3__chg_field_warehouse_phone_desc2.py
+++ b/archaeological_warehouse/old_migrations/0009_auto__chg_field_warehouse_phone_desc3__chg_field_warehouse_phone_desc2.py
diff --git a/archaeological_warehouse/migrations/0010_auto__add_warehousedivisionlink__add_warehousedivision__chg_field_ware.py b/archaeological_warehouse/old_migrations/0010_auto__add_warehousedivisionlink__add_warehousedivision__chg_field_ware.py
index 306ebe290..306ebe290 100644
--- a/archaeological_warehouse/migrations/0010_auto__add_warehousedivisionlink__add_warehousedivision__chg_field_ware.py
+++ b/archaeological_warehouse/old_migrations/0010_auto__add_warehousedivisionlink__add_warehousedivision__chg_field_ware.py
diff --git a/archaeological_warehouse/migrations/0011_auto__add_containerlocalisation__add_unique_containerlocalisation_cont.py b/archaeological_warehouse/old_migrations/0011_auto__add_containerlocalisation__add_unique_containerlocalisation_cont.py
index 0b63f4d5b..0b63f4d5b 100644
--- a/archaeological_warehouse/migrations/0011_auto__add_containerlocalisation__add_unique_containerlocalisation_cont.py
+++ b/archaeological_warehouse/old_migrations/0011_auto__add_containerlocalisation__add_unique_containerlocalisation_cont.py
diff --git a/archaeological_warehouse/migrations/0012_auto__add_field_container_cached_label.py b/archaeological_warehouse/old_migrations/0012_auto__add_field_container_cached_label.py
index 2ffeaa231..2ffeaa231 100644
--- a/archaeological_warehouse/migrations/0012_auto__add_field_container_cached_label.py
+++ b/archaeological_warehouse/old_migrations/0012_auto__add_field_container_cached_label.py
diff --git a/archaeological_warehouse/migrations/0013_auto__add_collection.py b/archaeological_warehouse/old_migrations/0013_auto__add_collection.py
index 52c7e841e..52c7e841e 100644
--- a/archaeological_warehouse/migrations/0013_auto__add_collection.py
+++ b/archaeological_warehouse/old_migrations/0013_auto__add_collection.py
diff --git a/archaeological_warehouse/migrations/0014_auto__add_field_container_cached_location__add_field_container_index.py b/archaeological_warehouse/old_migrations/0014_auto__add_field_container_cached_location__add_field_container_index.py
index 4e267e1ac..4e267e1ac 100644
--- a/archaeological_warehouse/migrations/0014_auto__add_field_container_cached_location__add_field_container_index.py
+++ b/archaeological_warehouse/old_migrations/0014_auto__add_field_container_cached_location__add_field_container_index.py
diff --git a/archaeological_warehouse/migrations/0015_auto_increment_existing_indexes.py b/archaeological_warehouse/old_migrations/0015_auto_increment_existing_indexes.py
index 138c2165d..138c2165d 100644
--- a/archaeological_warehouse/migrations/0015_auto_increment_existing_indexes.py
+++ b/archaeological_warehouse/old_migrations/0015_auto_increment_existing_indexes.py
diff --git a/archaeological_warehouse/migrations/0016_auto__add_unique_container_index_location.py b/archaeological_warehouse/old_migrations/0016_auto__add_unique_container_index_location.py
index 055497078..055497078 100644
--- a/archaeological_warehouse/migrations/0016_auto__add_unique_container_index_location.py
+++ b/archaeological_warehouse/old_migrations/0016_auto__add_unique_container_index_location.py
diff --git a/archaeological_warehouse/migrations/0017_auto__chg_field_container_comment.py b/archaeological_warehouse/old_migrations/0017_auto__chg_field_container_comment.py
index bb6d2585e..bb6d2585e 100644
--- a/archaeological_warehouse/migrations/0017_auto__chg_field_container_comment.py
+++ b/archaeological_warehouse/old_migrations/0017_auto__chg_field_container_comment.py
diff --git a/archaeological_warehouse/migrations/0018_generate_cache_lbl_for_containers.py b/archaeological_warehouse/old_migrations/0018_generate_cache_lbl_for_containers.py
index 2e3e62c23..2e3e62c23 100644
--- a/archaeological_warehouse/migrations/0018_generate_cache_lbl_for_containers.py
+++ b/archaeological_warehouse/old_migrations/0018_generate_cache_lbl_for_containers.py
diff --git a/archaeological_warehouse/migrations/0019_auto__add_field_container_responsible.py b/archaeological_warehouse/old_migrations/0019_auto__add_field_container_responsible.py
index 21612d227..21612d227 100644
--- a/archaeological_warehouse/migrations/0019_auto__add_field_container_responsible.py
+++ b/archaeological_warehouse/old_migrations/0019_auto__add_field_container_responsible.py
diff --git a/archaeological_warehouse/migrations/0020_generate_cache_lbl_for_containers.py b/archaeological_warehouse/old_migrations/0020_generate_cache_lbl_for_containers.py
index 4c6e08dbe..4c6e08dbe 100644
--- a/archaeological_warehouse/migrations/0020_generate_cache_lbl_for_containers.py
+++ b/archaeological_warehouse/old_migrations/0020_generate_cache_lbl_for_containers.py
diff --git a/archaeological_warehouse/migrations/0021_auto__chg_field_container_responsible.py b/archaeological_warehouse/old_migrations/0021_auto__chg_field_container_responsible.py
index 65df3991b..65df3991b 100644
--- a/archaeological_warehouse/migrations/0021_auto__chg_field_container_responsible.py
+++ b/archaeological_warehouse/old_migrations/0021_auto__chg_field_container_responsible.py
diff --git a/archaeological_warehouse/migrations/0022_auto__chg_field_containertype_volume.py b/archaeological_warehouse/old_migrations/0022_auto__chg_field_containertype_volume.py
index 4c0d67711..4c0d67711 100644
--- a/archaeological_warehouse/migrations/0022_auto__chg_field_containertype_volume.py
+++ b/archaeological_warehouse/old_migrations/0022_auto__chg_field_containertype_volume.py
diff --git a/archaeological_warehouse/migrations/0023_auto__add_field_container_external_id__add_field_container_auto_extern.py b/archaeological_warehouse/old_migrations/0023_auto__add_field_container_external_id__add_field_container_auto_extern.py
index 05fd10ffd..05fd10ffd 100644
--- a/archaeological_warehouse/migrations/0023_auto__add_field_container_external_id__add_field_container_auto_extern.py
+++ b/archaeological_warehouse/old_migrations/0023_auto__add_field_container_external_id__add_field_container_auto_extern.py
diff --git a/archaeological_warehouse/migrations/0024_generate_cache_lbl_for_containers.py b/archaeological_warehouse/old_migrations/0024_generate_cache_lbl_for_containers.py
index 51449c167..51449c167 100644
--- a/archaeological_warehouse/migrations/0024_generate_cache_lbl_for_containers.py
+++ b/archaeological_warehouse/old_migrations/0024_generate_cache_lbl_for_containers.py
diff --git a/archaeological_warehouse/migrations/0025_auto__add_field_container_image__add_field_container_thumbnail.py b/archaeological_warehouse/old_migrations/0025_auto__add_field_container_image__add_field_container_thumbnail.py
index cc1f02807..cc1f02807 100644
--- a/archaeological_warehouse/migrations/0025_auto__add_field_container_image__add_field_container_thumbnail.py
+++ b/archaeological_warehouse/old_migrations/0025_auto__add_field_container_image__add_field_container_thumbnail.py
diff --git a/archaeological_warehouse/migrations/0026_generate_cache_lbl_for_containers.py b/archaeological_warehouse/old_migrations/0026_generate_cache_lbl_for_containers.py
index 85df1bf21..85df1bf21 100644
--- a/archaeological_warehouse/migrations/0026_generate_cache_lbl_for_containers.py
+++ b/archaeological_warehouse/old_migrations/0026_generate_cache_lbl_for_containers.py
diff --git a/archaeological_warehouse/old_migrations/__init__.py b/archaeological_warehouse/old_migrations/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/archaeological_warehouse/old_migrations/__init__.py
diff --git a/ishtar_common/migrations/0001_initial.py b/ishtar_common/migrations/0001_initial.py
index fc22881bc..94f6bb415 100644
--- a/ishtar_common/migrations/0001_initial.py
+++ b/ishtar_common/migrations/0001_initial.py
@@ -1,408 +1,803 @@
# -*- coding: utf-8 -*-
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
- # Adding model 'Wizard'
- db.create_table('ishtar_common_wizard', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('url_name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=128)),
- ))
- db.send_create_signal('ishtar_common', ['Wizard'])
-
- # Adding model 'WizardStep'
- db.create_table('ishtar_common_wizardstep', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('order', self.gf('django.db.models.fields.IntegerField')()),
- ('wizard', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Wizard'])),
- ('url_name', self.gf('django.db.models.fields.CharField')(max_length=128)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=128)),
- ))
- db.send_create_signal('ishtar_common', ['WizardStep'])
-
- # Adding model 'Department'
- db.create_table('ishtar_common_department', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=30)),
- ('number', self.gf('django.db.models.fields.CharField')(unique=True, max_length=3)),
- ))
- db.send_create_signal('ishtar_common', ['Department'])
-
- # Adding model 'OrganizationType'
- db.create_table('ishtar_common_organizationtype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ))
- db.send_create_signal('ishtar_common', ['OrganizationType'])
-
- # Adding model 'HistoricalOrganization'
- db.create_table('ishtar_common_historicalorganization', (
- ('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)),
- ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
- ('town', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
- ('country', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
- ('phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
- ('mobile_phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('organization_type_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('ishtar_common', ['HistoricalOrganization'])
-
- # Adding model 'Organization'
- db.create_table('ishtar_common_organization', (
- ('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'])),
- ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
- ('town', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
- ('country', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
- ('phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
- ('mobile_phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('organization_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.OrganizationType'])),
- ))
- db.send_create_signal('ishtar_common', ['Organization'])
-
- # Adding model 'PersonType'
- db.create_table('ishtar_common_persontype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ))
- db.send_create_signal('ishtar_common', ['PersonType'])
-
- # Adding M2M table for field rights on 'PersonType'
- db.create_table('ishtar_common_persontype_rights', (
- ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
- ('persontype', models.ForeignKey(orm['ishtar_common.persontype'], null=False)),
- ('wizardstep', models.ForeignKey(orm['ishtar_common.wizardstep'], null=False))
- ))
- db.create_unique('ishtar_common_persontype_rights', ['persontype_id', 'wizardstep_id'])
-
- # Adding model 'Person'
- db.create_table('ishtar_common_person', (
- ('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'])),
- ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
- ('town', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
- ('country', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
- ('phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
- ('mobile_phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
- ('title', self.gf('django.db.models.fields.CharField')(max_length=2)),
- ('surname', self.gf('django.db.models.fields.CharField')(max_length=20)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=30)),
- ('email', self.gf('django.db.models.fields.CharField')(max_length=40, null=True, blank=True)),
- ('person_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.PersonType'])),
- ('attached_to', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Organization'], null=True, blank=True)),
- ))
- db.send_create_signal('ishtar_common', ['Person'])
-
- # Adding model 'IshtarUser'
- db.create_table('ishtar_common_ishtaruser', (
- ('user_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['auth.User'], unique=True, primary_key=True)),
- ('person', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'], unique=True)),
- ))
- db.send_create_signal('ishtar_common', ['IshtarUser'])
-
- # Adding model 'AuthorType'
- db.create_table('ishtar_common_authortype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ))
- db.send_create_signal('ishtar_common', ['AuthorType'])
-
- # Adding model 'Author'
- db.create_table('ishtar_common_author', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('person', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'])),
- ('author_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.AuthorType'])),
- ))
- db.send_create_signal('ishtar_common', ['Author'])
-
- # Adding model 'SourceType'
- db.create_table('ishtar_common_sourcetype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ))
- db.send_create_signal('ishtar_common', ['SourceType'])
-
- # Adding model 'Arrondissement'
- db.create_table('ishtar_common_arrondissement', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=30)),
- ('department', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Department'])),
- ))
- db.send_create_signal('ishtar_common', ['Arrondissement'])
-
- # Adding model 'Canton'
- db.create_table('ishtar_common_canton', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=30)),
- ('arrondissement', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Arrondissement'])),
- ))
- db.send_create_signal('ishtar_common', ['Canton'])
-
- # Adding model 'Town'
- db.create_table('ishtar_common_town', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('center', self.gf('django.contrib.gis.db.models.fields.PointField')(srid=27572, null=True, blank=True)),
- ('numero_insee', self.gf('django.db.models.fields.CharField')(unique=True, max_length=6)),
- ('departement', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Department'], null=True, blank=True)),
- ('canton', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Canton'], null=True, blank=True)),
- ))
- db.send_create_signal('ishtar_common', ['Town'])
-
-
- def backwards(self, orm):
- # Deleting model 'Wizard'
- db.delete_table('ishtar_common_wizard')
-
- # Deleting model 'WizardStep'
- db.delete_table('ishtar_common_wizardstep')
-
- # Deleting model 'Department'
- db.delete_table('ishtar_common_department')
-
- # Deleting model 'OrganizationType'
- db.delete_table('ishtar_common_organizationtype')
-
- # Deleting model 'HistoricalOrganization'
- db.delete_table('ishtar_common_historicalorganization')
-
- # Deleting model 'Organization'
- db.delete_table('ishtar_common_organization')
-
- # Deleting model 'PersonType'
- db.delete_table('ishtar_common_persontype')
-
- # Removing M2M table for field rights on 'PersonType'
- db.delete_table('ishtar_common_persontype_rights')
-
- # Deleting model 'Person'
- db.delete_table('ishtar_common_person')
-
- # Deleting model 'IshtarUser'
- db.delete_table('ishtar_common_ishtaruser')
-
- # Deleting model 'AuthorType'
- db.delete_table('ishtar_common_authortype')
-
- # Deleting model 'Author'
- db.delete_table('ishtar_common_author')
-
- # Deleting model 'SourceType'
- db.delete_table('ishtar_common_sourcetype')
-
- # Deleting model 'Arrondissement'
- db.delete_table('ishtar_common_arrondissement')
-
- # Deleting model 'Canton'
- db.delete_table('ishtar_common_canton')
-
- # Deleting model 'Town'
- db.delete_table('ishtar_common_town')
-
-
- models = {
- '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.historicalorganization': {
- 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOrganization'},
- '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_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'}),
- '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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'})
- },
- 'ishtar_common.ishtaruser': {
- 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']},
- 'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']", 'unique': 'True'}),
- 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
- },
- '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 = ['ishtar_common'] \ No newline at end of file
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+import re
+import django.contrib.gis.db.models.fields
+import ishtar_common.models
+import django.contrib.auth.models
+import django.db.models.deletion
+from django.conf import settings
+import django.core.validators
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('contenttypes', '0002_remove_content_type_name'),
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('auth', '0007_auto_20170414_2049'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Arrondissement',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=30, verbose_name='Nom')),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Author',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ],
+ options={
+ 'ordering': ('author_type__order', 'person__name'),
+ 'verbose_name': 'Author',
+ 'verbose_name_plural': 'Authors',
+ 'permissions': (('view_author', 'Can view all Authors'), ('view_own_author', 'Can view own Author'), ('add_own_author', 'Can add own Author'), ('change_own_author', 'Can change own Author'), ('delete_own_author', 'Can delete own Author')),
+ },
+ ),
+ migrations.CreateModel(
+ name='AuthorType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(default=1, verbose_name='Order')),
+ ],
+ options={
+ 'ordering': ['order', 'label'],
+ 'verbose_name': 'Author type',
+ 'verbose_name_plural': 'Author types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='Canton',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=30, verbose_name='Nom')),
+ ('arrondissement', models.ForeignKey(verbose_name='Arrondissement', to='ishtar_common.Arrondissement')),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Department',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=30, verbose_name='Label')),
+ ('number', models.CharField(unique=True, max_length=3, verbose_name='Number')),
+ ],
+ options={
+ 'ordering': ['number'],
+ 'verbose_name': 'Department',
+ 'verbose_name_plural': 'Departments',
+ },
+ ),
+ migrations.CreateModel(
+ name='DocumentTemplate',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=100, verbose_name='Name')),
+ ('template', models.FileField(upload_to=b'upload/templates/', verbose_name='Template')),
+ ('associated_object_name', models.CharField(max_length=100, verbose_name='Associated object', choices=[(b'archaeological_operations.models.AdministrativeAct', 'Administrative Act')])),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ],
+ options={
+ 'ordering': ['associated_object_name', 'name'],
+ 'verbose_name': 'Document template',
+ 'verbose_name_plural': 'Document templates',
+ },
+ ),
+ migrations.CreateModel(
+ name='Format',
+ 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': 'Format type',
+ 'verbose_name_plural': 'Format types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='FormaterType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('formater_type', models.CharField(max_length=20, verbose_name='Formater type', choices=[(b'IntegerFormater', 'Integer'), (b'FloatFormater', 'Float'), (b'UnicodeFormater', 'String'), (b'DateFormater', 'Date'), (b'TypeFormater', 'Type'), (b'YearFormater', 'Year'), (b'StrToBoolean', 'String to boolean'), (b'FileFormater', 'File'), (b'UnknowType', 'Unknow type')])),
+ ('options', models.CharField(max_length=500, null=True, verbose_name='Options', blank=True)),
+ ('many_split', models.CharField(max_length=10, null=True, verbose_name='Split character(s)', blank=True)),
+ ],
+ options={
+ 'ordering': ('formater_type', 'options'),
+ 'verbose_name': 'Importer - Formater type',
+ 'verbose_name_plural': 'Importer - Formater types',
+ },
+ ),
+ migrations.CreateModel(
+ name='GlobalVar',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('slug', models.SlugField(unique=True, verbose_name='Variable name')),
+ ('description', models.TextField(null=True, verbose_name='Description of the variable', blank=True)),
+ ('value', models.TextField(null=True, verbose_name='Value', blank=True)),
+ ],
+ options={
+ 'ordering': ['slug'],
+ 'verbose_name': 'Global variable',
+ 'verbose_name_plural': 'Global variables',
+ },
+ bases=(models.Model, ishtar_common.models.Cached),
+ ),
+ migrations.CreateModel(
+ name='HistoricalOrganization',
+ fields=[
+ ('id', models.IntegerField(verbose_name='ID', db_index=True, auto_created=True, blank=True)),
+ ('address', models.TextField(null=True, verbose_name='Address', blank=True)),
+ ('address_complement', models.TextField(null=True, verbose_name='Address complement', blank=True)),
+ ('postal_code', models.CharField(max_length=10, null=True, verbose_name='Postal code', blank=True)),
+ ('town', models.CharField(max_length=70, null=True, verbose_name='Town', blank=True)),
+ ('country', models.CharField(max_length=30, null=True, verbose_name='Country', blank=True)),
+ ('alt_address', models.TextField(null=True, verbose_name='Other address: address', blank=True)),
+ ('alt_address_complement', models.TextField(null=True, verbose_name='Other address: address complement', blank=True)),
+ ('alt_postal_code', models.CharField(max_length=10, null=True, verbose_name='Other address: postal code', blank=True)),
+ ('alt_town', models.CharField(max_length=70, null=True, verbose_name='Other address: town', blank=True)),
+ ('alt_country', models.CharField(max_length=30, null=True, verbose_name='Other address: country', blank=True)),
+ ('phone', models.CharField(max_length=18, null=True, verbose_name='Phone', blank=True)),
+ ('phone_desc', models.CharField(max_length=300, null=True, verbose_name='Phone description', blank=True)),
+ ('phone2', models.CharField(max_length=18, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone_desc2', models.CharField(max_length=300, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone3', models.CharField(max_length=18, null=True, verbose_name='Phone 3', blank=True)),
+ ('phone_desc3', models.CharField(max_length=300, null=True, verbose_name='Phone description 3', blank=True)),
+ ('raw_phone', models.TextField(null=True, verbose_name='Raw phone', blank=True)),
+ ('mobile_phone', models.CharField(max_length=18, null=True, verbose_name='Mobile phone', blank=True)),
+ ('email', models.EmailField(max_length=300, null=True, verbose_name='Email', blank=True)),
+ ('alt_address_is_prefered', models.BooleanField(default=False, verbose_name='Alternative address is prefered')),
+ ('merge_key', models.TextField(null=True, verbose_name='Merge key', blank=True)),
+ ('archived', models.NullBooleanField(default=False)),
+ ('name', models.CharField(max_length=500, verbose_name='Name')),
+ ('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 Organization',
+ },
+ ),
+ migrations.CreateModel(
+ name='HistoricalPerson',
+ fields=[
+ ('id', models.IntegerField(verbose_name='ID', db_index=True, auto_created=True, blank=True)),
+ ('address', models.TextField(null=True, verbose_name='Address', blank=True)),
+ ('address_complement', models.TextField(null=True, verbose_name='Address complement', blank=True)),
+ ('postal_code', models.CharField(max_length=10, null=True, verbose_name='Postal code', blank=True)),
+ ('town', models.CharField(max_length=70, null=True, verbose_name='Town', blank=True)),
+ ('country', models.CharField(max_length=30, null=True, verbose_name='Country', blank=True)),
+ ('alt_address', models.TextField(null=True, verbose_name='Other address: address', blank=True)),
+ ('alt_address_complement', models.TextField(null=True, verbose_name='Other address: address complement', blank=True)),
+ ('alt_postal_code', models.CharField(max_length=10, null=True, verbose_name='Other address: postal code', blank=True)),
+ ('alt_town', models.CharField(max_length=70, null=True, verbose_name='Other address: town', blank=True)),
+ ('alt_country', models.CharField(max_length=30, null=True, verbose_name='Other address: country', blank=True)),
+ ('phone', models.CharField(max_length=18, null=True, verbose_name='Phone', blank=True)),
+ ('phone_desc', models.CharField(max_length=300, null=True, verbose_name='Phone description', blank=True)),
+ ('phone2', models.CharField(max_length=18, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone_desc2', models.CharField(max_length=300, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone3', models.CharField(max_length=18, null=True, verbose_name='Phone 3', blank=True)),
+ ('phone_desc3', models.CharField(max_length=300, null=True, verbose_name='Phone description 3', blank=True)),
+ ('raw_phone', models.TextField(null=True, verbose_name='Raw phone', blank=True)),
+ ('mobile_phone', models.CharField(max_length=18, null=True, verbose_name='Mobile phone', blank=True)),
+ ('email', models.EmailField(max_length=300, null=True, verbose_name='Email', blank=True)),
+ ('alt_address_is_prefered', models.BooleanField(default=False, verbose_name='Alternative address is prefered')),
+ ('merge_key', models.TextField(null=True, verbose_name='Merge key', blank=True)),
+ ('archived', models.NullBooleanField(default=False)),
+ ('old_title', models.CharField(blank=True, max_length=100, null=True, verbose_name='Title', choices=[(b'Mr', 'Mr'), (b'Ms', 'Miss'), (b'Mr and Miss', 'Mr and Mrs'), (b'Md', 'Mrs'), (b'Dr', 'Doctor')])),
+ ('salutation', models.CharField(max_length=200, null=True, verbose_name='Salutation', blank=True)),
+ ('surname', models.CharField(max_length=50, null=True, verbose_name='Surname', blank=True)),
+ ('name', models.CharField(max_length=200, null=True, verbose_name='Name', blank=True)),
+ ('raw_name', models.CharField(max_length=300, null=True, verbose_name='Raw name', blank=True)),
+ ('contact_type', models.CharField(max_length=300, null=True, verbose_name='Contact type', blank=True)),
+ ('comment', models.TextField(null=True, verbose_name='Comment', 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 Person',
+ },
+ ),
+ migrations.CreateModel(
+ name='Import',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=500, null=True, verbose_name='Name', blank=True)),
+ ('imported_file', models.FileField(upload_to=b'upload/imports/', max_length=220, verbose_name='Imported file')),
+ ('imported_images', models.FileField(max_length=220, upload_to=b'upload/imports/', null=True, verbose_name='Associated images (zip file)', blank=True)),
+ ('encoding', models.CharField(default=b'utf-8', max_length=15, verbose_name='Encoding', choices=[(b'windows-1252', b'windows-1252'), (b'ISO-8859-15', b'ISO-8859-15'), (b'utf-8', b'utf-8')])),
+ ('skip_lines', models.IntegerField(default=1, verbose_name='Skip lines')),
+ ('error_file', models.FileField(max_length=255, upload_to=b'upload/imports/', null=True, verbose_name='Error file', blank=True)),
+ ('result_file', models.FileField(max_length=255, upload_to=b'upload/imports/', null=True, verbose_name='Result file', blank=True)),
+ ('match_file', models.FileField(max_length=255, upload_to=b'upload/imports/', null=True, verbose_name='Match file', blank=True)),
+ ('state', models.CharField(default=b'C', max_length=2, verbose_name='State', choices=[(b'C', 'Created'), (b'AP', 'Analyse in progress'), (b'A', 'Analysed'), (b'P', 'Import pending'), (b'IP', 'Import in progress'), (b'FE', 'Finished with errors'), (b'F', 'Finished'), (b'AC', 'Archived')])),
+ ('conservative_import', models.BooleanField(default=False, help_text=b'If set to true, do not overload existing values', verbose_name='Conservative import')),
+ ('creation_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation date', null=True)),
+ ('end_date', models.DateTimeField(verbose_name='End date', null=True, editable=False, blank=True)),
+ ('seconds_remaining', models.IntegerField(verbose_name='Remaining seconds', null=True, editable=False, blank=True)),
+ ],
+ options={
+ 'verbose_name': 'Import',
+ 'verbose_name_plural': 'Imports',
+ },
+ ),
+ migrations.CreateModel(
+ name='ImporterColumn',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=200, null=True, verbose_name='Label', blank=True)),
+ ('col_number', models.IntegerField(default=1, verbose_name='Column number')),
+ ('description', models.TextField(null=True, verbose_name='Description', blank=True)),
+ ('required', models.BooleanField(default=False, verbose_name='Required')),
+ ('export_field_name', models.CharField(help_text='Fill this field if the field name is ambiguous for export. For instance: concatenated fields.', max_length=200, null=True, verbose_name='Export field name', blank=True)),
+ ],
+ options={
+ 'ordering': ('importer_type', 'col_number'),
+ 'verbose_name': 'Importer - Column',
+ 'verbose_name_plural': 'Importer - Columns',
+ },
+ ),
+ migrations.CreateModel(
+ name='ImporterDefault',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('target', models.CharField(max_length=500, verbose_name='Target')),
+ ],
+ options={
+ 'verbose_name': 'Importer - Default',
+ 'verbose_name_plural': 'Importer - Defaults',
+ },
+ ),
+ migrations.CreateModel(
+ name='ImporterDefaultValues',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('target', models.CharField(max_length=500, verbose_name='Target')),
+ ('value', models.CharField(max_length=500, verbose_name='Value')),
+ ('default_target', models.ForeignKey(related_name='default_values', to='ishtar_common.ImporterDefault')),
+ ],
+ options={
+ 'verbose_name': 'Importer - Default value',
+ 'verbose_name_plural': 'Importer - Default values',
+ },
+ ),
+ migrations.CreateModel(
+ name='ImporterDuplicateField',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('field_name', models.CharField(max_length=200, null=True, verbose_name='Field name', blank=True)),
+ ('force_new', models.BooleanField(default=False, verbose_name='Force creation of new items')),
+ ('concat', models.BooleanField(default=False, verbose_name='Concatenate with existing')),
+ ('concat_str', models.CharField(max_length=5, null=True, verbose_name='Concatenate character', blank=True)),
+ ('column', models.ForeignKey(related_name='duplicate_fields', to='ishtar_common.ImporterColumn')),
+ ],
+ options={
+ 'verbose_name': 'Importer - Duplicate field',
+ 'verbose_name_plural': 'Importer - Duplicate fields',
+ },
+ ),
+ migrations.CreateModel(
+ name='ImporterModel',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=200, verbose_name='Name')),
+ ('klass', models.CharField(max_length=200, verbose_name='Class name')),
+ ],
+ options={
+ 'ordering': ('name',),
+ 'verbose_name': 'Importer - Model',
+ 'verbose_name_plural': 'Importer - Models',
+ },
+ ),
+ migrations.CreateModel(
+ name='ImporterType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=100, null=True, verbose_name='Name', blank=True)),
+ ('slug', models.SlugField(null=True, max_length=100, blank=True, unique=True, verbose_name='Slug')),
+ ('description', models.CharField(max_length=500, null=True, verbose_name='Description', blank=True)),
+ ('is_template', models.BooleanField(default=False, verbose_name='Is template')),
+ ('unicity_keys', models.CharField(max_length=500, null=True, verbose_name='Unicity keys (separator ";")', blank=True)),
+ ('associated_models', models.ForeignKey(related_name='+', verbose_name='Associated model', blank=True, to='ishtar_common.ImporterModel', null=True)),
+ ('created_models', models.ManyToManyField(help_text='Leave blank for no restrictions', related_name='+', verbose_name='Models that can accept new items', to='ishtar_common.ImporterModel', blank=True)),
+ ],
+ options={
+ 'ordering': ('name',),
+ 'verbose_name': 'Importer - Type',
+ 'verbose_name_plural': 'Importer - Types',
+ },
+ ),
+ migrations.CreateModel(
+ name='ImportTarget',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('target', models.CharField(max_length=500, verbose_name='Target')),
+ ('force_new', models.BooleanField(default=False, verbose_name='Force creation of new items')),
+ ('concat', models.BooleanField(default=False, verbose_name='Concatenate with existing')),
+ ('concat_str', models.CharField(max_length=5, null=True, verbose_name='Concatenate character', blank=True)),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('column', models.ForeignKey(related_name='targets', to='ishtar_common.ImporterColumn')),
+ ('formater_type', models.ForeignKey(to='ishtar_common.FormaterType')),
+ ],
+ options={
+ 'verbose_name': 'Importer - Target',
+ 'verbose_name_plural': 'Importer - Targets',
+ },
+ ),
+ migrations.CreateModel(
+ name='IshtarSiteProfile',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.TextField(verbose_name='Name')),
+ ('slug', models.SlugField(unique=True, verbose_name='Slug')),
+ ('description', models.TextField(null=True, verbose_name='Description', blank=True)),
+ ('base_color', models.CharField(default=b'rgba(0, 0, 0, 0)', max_length=200, verbose_name='CSS color code for base module')),
+ ('files', models.BooleanField(default=False, verbose_name='Files module')),
+ ('files_color', models.CharField(default=b'rgba(0, 32, 210, 0.1)', max_length=200, verbose_name='CSS color code for files module')),
+ ('context_record', models.BooleanField(default=False, verbose_name='Context records module')),
+ ('context_record_color', models.CharField(default=b'rgba(210,200,0,0.2)', max_length=200, verbose_name='CSS color code for context record module')),
+ ('find', models.BooleanField(default=False, help_text='Need context records module', verbose_name='Finds module')),
+ ('find_color', models.CharField(default=b'rgba(210,0,0,0.15)', max_length=200, verbose_name='CSS color code for find module')),
+ ('warehouse', models.BooleanField(default=False, help_text='Need finds module', verbose_name='Warehouses module')),
+ ('warehouse_color', models.CharField(default=b'rgba(10,20,200,0.15)', max_length=200, verbose_name='CSS code for warehouse module')),
+ ('mapping', models.BooleanField(default=False, verbose_name='Mapping module')),
+ ('mapping_color', models.CharField(default=b'rgba(72, 236, 0, 0.15)', max_length=200, verbose_name='CSS code for mapping module')),
+ ('homepage', models.TextField(help_text='Homepage of Ishtar - if not defined a default homepage will appear. Use the markdown syntax. {random_image} can be used to display a random image.', null=True, verbose_name='Home page', blank=True)),
+ ('file_external_id', models.TextField(default=b'{year}-{numeric_reference}', help_text='Formula to manage file external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='File external id')),
+ ('parcel_external_id', models.TextField(default=b'{associated_file__external_id}{operation__code_patriarche}-{town__numero_insee}-{section}{parcel_number}', help_text='Formula to manage parcel external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Parcel external id')),
+ ('context_record_external_id', models.TextField(default=b'{parcel__external_id}-{label}', help_text='Formula to manage context record external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Context record external id')),
+ ('base_find_external_id', models.TextField(default=b'{context_record__external_id}-{label}', help_text='Formula to manage base find external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Base find external id')),
+ ('find_external_id', models.TextField(default=b'{get_first_base_find__context_record__external_id}-{label}', help_text='Formula to manage find external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Find external id')),
+ ('container_external_id', models.TextField(default=b'{responsible__external_id}-{index}', help_text='Formula to manage container external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Container external id')),
+ ('warehouse_external_id', models.TextField(default=b'{name|slug}', help_text='Formula to manage warehouse external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Warehouse external id')),
+ ('person_raw_name', models.TextField(default=b'{name|upper} {surname}', help_text='Formula to manage person raw_name. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Raw name for person')),
+ ('active', models.BooleanField(default=False, verbose_name='Current active')),
+ ('currency', models.CharField(default='\u20ac', max_length=b'5', verbose_name='Currency', choices=[('\u20ac', 'Euro'), ('$', 'US dollar')])),
+ ],
+ options={
+ 'ordering': ['label'],
+ 'verbose_name': 'Ishtar site profile',
+ 'verbose_name_plural': 'Ishtar site profiles',
+ },
+ bases=(models.Model, ishtar_common.models.Cached),
+ ),
+ migrations.CreateModel(
+ name='IshtarUser',
+ fields=[
+ ('user_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to=settings.AUTH_USER_MODEL)),
+ ('advanced_shortcut_menu', models.BooleanField(default=False, verbose_name='Advanced shortcut menu')),
+ ],
+ options={
+ 'verbose_name': 'Ishtar user',
+ 'verbose_name_plural': 'Ishtar users',
+ },
+ bases=('auth.user',),
+ managers=[
+ (b'objects', django.contrib.auth.models.UserManager()),
+ ],
+ ),
+ migrations.CreateModel(
+ name='ItemKey',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('key', models.CharField(max_length=100, verbose_name='Key')),
+ ('object_id', models.PositiveIntegerField()),
+ ('content_type', models.ForeignKey(to='contenttypes.ContentType')),
+ ('importer', models.ForeignKey(blank=True, to='ishtar_common.Import', help_text='Specific key to an import', null=True)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='OperationType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(default=1, verbose_name='Order')),
+ ('preventive', models.BooleanField(default=True, verbose_name='Is preventive')),
+ ],
+ options={
+ 'ordering': ['-preventive', 'order', 'label'],
+ 'verbose_name': 'Operation type',
+ 'verbose_name_plural': 'Operation types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='Organization',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('address', models.TextField(null=True, verbose_name='Address', blank=True)),
+ ('address_complement', models.TextField(null=True, verbose_name='Address complement', blank=True)),
+ ('postal_code', models.CharField(max_length=10, null=True, verbose_name='Postal code', blank=True)),
+ ('town', models.CharField(max_length=70, null=True, verbose_name='Town', blank=True)),
+ ('country', models.CharField(max_length=30, null=True, verbose_name='Country', blank=True)),
+ ('alt_address', models.TextField(null=True, verbose_name='Other address: address', blank=True)),
+ ('alt_address_complement', models.TextField(null=True, verbose_name='Other address: address complement', blank=True)),
+ ('alt_postal_code', models.CharField(max_length=10, null=True, verbose_name='Other address: postal code', blank=True)),
+ ('alt_town', models.CharField(max_length=70, null=True, verbose_name='Other address: town', blank=True)),
+ ('alt_country', models.CharField(max_length=30, null=True, verbose_name='Other address: country', blank=True)),
+ ('phone', models.CharField(max_length=18, null=True, verbose_name='Phone', blank=True)),
+ ('phone_desc', models.CharField(max_length=300, null=True, verbose_name='Phone description', blank=True)),
+ ('phone2', models.CharField(max_length=18, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone_desc2', models.CharField(max_length=300, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone3', models.CharField(max_length=18, null=True, verbose_name='Phone 3', blank=True)),
+ ('phone_desc3', models.CharField(max_length=300, null=True, verbose_name='Phone description 3', blank=True)),
+ ('raw_phone', models.TextField(null=True, verbose_name='Raw phone', blank=True)),
+ ('mobile_phone', models.CharField(max_length=18, null=True, verbose_name='Mobile phone', blank=True)),
+ ('email', models.EmailField(max_length=300, null=True, verbose_name='Email', blank=True)),
+ ('alt_address_is_prefered', models.BooleanField(default=False, verbose_name='Alternative address is prefered')),
+ ('merge_key', models.TextField(null=True, verbose_name='Merge key', blank=True)),
+ ('archived', models.NullBooleanField(default=False)),
+ ('name', models.CharField(max_length=500, verbose_name='Name')),
+ ('history_creator', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Creator', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
+ ('history_modifier', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Last editor', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
+ ('imports', models.ManyToManyField(related_name='imported_ishtar_common_organization', to='ishtar_common.Import', blank=True)),
+ ('merge_candidate', models.ManyToManyField(related_name='merge_candidate_rel_+', to='ishtar_common.Organization', blank=True)),
+ ('merge_exclusion', models.ManyToManyField(related_name='merge_exclusion_rel_+', to='ishtar_common.Organization', blank=True)),
+ ],
+ options={
+ 'verbose_name': 'Organization',
+ 'verbose_name_plural': 'Organizations',
+ 'permissions': (('view_organization', 'Peut voir toutes les Organisations'), ('view_own_organization', 'Peut voir sa propre Organisation'), ('add_own_organization', 'Peut ajouter sa propre Organisation'), ('change_own_organization', 'Peut modifier sa propre Organisation'), ('delete_own_organization', 'Peut supprimer sa propre Organisation')),
+ },
+ bases=(models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter),
+ ),
+ migrations.CreateModel(
+ name='OrganizationType',
+ 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': 'Organization type',
+ 'verbose_name_plural': 'Organization types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='Person',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('address', models.TextField(null=True, verbose_name='Address', blank=True)),
+ ('address_complement', models.TextField(null=True, verbose_name='Address complement', blank=True)),
+ ('postal_code', models.CharField(max_length=10, null=True, verbose_name='Postal code', blank=True)),
+ ('town', models.CharField(max_length=70, null=True, verbose_name='Town', blank=True)),
+ ('country', models.CharField(max_length=30, null=True, verbose_name='Country', blank=True)),
+ ('alt_address', models.TextField(null=True, verbose_name='Other address: address', blank=True)),
+ ('alt_address_complement', models.TextField(null=True, verbose_name='Other address: address complement', blank=True)),
+ ('alt_postal_code', models.CharField(max_length=10, null=True, verbose_name='Other address: postal code', blank=True)),
+ ('alt_town', models.CharField(max_length=70, null=True, verbose_name='Other address: town', blank=True)),
+ ('alt_country', models.CharField(max_length=30, null=True, verbose_name='Other address: country', blank=True)),
+ ('phone', models.CharField(max_length=18, null=True, verbose_name='Phone', blank=True)),
+ ('phone_desc', models.CharField(max_length=300, null=True, verbose_name='Phone description', blank=True)),
+ ('phone2', models.CharField(max_length=18, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone_desc2', models.CharField(max_length=300, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone3', models.CharField(max_length=18, null=True, verbose_name='Phone 3', blank=True)),
+ ('phone_desc3', models.CharField(max_length=300, null=True, verbose_name='Phone description 3', blank=True)),
+ ('raw_phone', models.TextField(null=True, verbose_name='Raw phone', blank=True)),
+ ('mobile_phone', models.CharField(max_length=18, null=True, verbose_name='Mobile phone', blank=True)),
+ ('email', models.EmailField(max_length=300, null=True, verbose_name='Email', blank=True)),
+ ('alt_address_is_prefered', models.BooleanField(default=False, verbose_name='Alternative address is prefered')),
+ ('merge_key', models.TextField(null=True, verbose_name='Merge key', blank=True)),
+ ('archived', models.NullBooleanField(default=False)),
+ ('old_title', models.CharField(blank=True, max_length=100, null=True, verbose_name='Title', choices=[(b'Mr', 'Mr'), (b'Ms', 'Miss'), (b'Mr and Miss', 'Mr and Mrs'), (b'Md', 'Mrs'), (b'Dr', 'Doctor')])),
+ ('salutation', models.CharField(max_length=200, null=True, verbose_name='Salutation', blank=True)),
+ ('surname', models.CharField(max_length=50, null=True, verbose_name='Surname', blank=True)),
+ ('name', models.CharField(max_length=200, null=True, verbose_name='Name', blank=True)),
+ ('raw_name', models.CharField(max_length=300, null=True, verbose_name='Raw name', blank=True)),
+ ('contact_type', models.CharField(max_length=300, null=True, verbose_name='Contact type', blank=True)),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('attached_to', models.ForeignKey(related_name='members', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Is attached to', blank=True, to='ishtar_common.Organization', null=True)),
+ ('history_creator', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Creator', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
+ ('history_modifier', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Last editor', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
+ ('imports', models.ManyToManyField(related_name='imported_ishtar_common_person', to='ishtar_common.Import', blank=True)),
+ ('merge_candidate', models.ManyToManyField(related_name='merge_candidate_rel_+', to='ishtar_common.Person', blank=True)),
+ ('merge_exclusion', models.ManyToManyField(related_name='merge_exclusion_rel_+', to='ishtar_common.Person', blank=True)),
+ ],
+ options={
+ 'verbose_name': 'Person',
+ 'verbose_name_plural': 'Persons',
+ 'permissions': (('view_person', 'Peut voir toutes les Personnes'), ('view_own_person', 'Peut voir sa propre Personne'), ('add_own_person', 'Peut ajouter sa propre Personne'), ('change_own_person', 'Peut modifier sa propre Personne'), ('delete_own_person', 'Peut supprimer sa propre Personne')),
+ },
+ bases=(models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter),
+ ),
+ migrations.CreateModel(
+ name='PersonType',
+ 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')),
+ ('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
+ ],
+ options={
+ 'ordering': ('label',),
+ 'verbose_name': 'Person type',
+ 'verbose_name_plural': 'Person types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='Regexp',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=100, verbose_name='Name')),
+ ('description', models.CharField(max_length=500, null=True, verbose_name='Description', blank=True)),
+ ('regexp', models.CharField(max_length=500, verbose_name='Regular expression')),
+ ],
+ options={
+ 'verbose_name': 'Importer - Regular expression',
+ 'verbose_name_plural': 'Importer - Regular expressions',
+ },
+ ),
+ migrations.CreateModel(
+ name='SourceType',
+ 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': 'Source type',
+ 'verbose_name_plural': 'Source types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='SpatialReferenceSystem',
+ 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')),
+ ('auth_name', models.CharField(default=b'EPSG', max_length=256, verbose_name='Authority name')),
+ ('srid', models.IntegerField(verbose_name='Authority SRID')),
+ ],
+ options={
+ 'ordering': ('label',),
+ 'verbose_name': 'Spatial reference system',
+ 'verbose_name_plural': 'Spatial reference systems',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='State',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=30, verbose_name='Label')),
+ ('number', models.CharField(unique=True, max_length=3, verbose_name='Number')),
+ ],
+ options={
+ 'ordering': ['number'],
+ 'verbose_name': 'State',
+ },
+ ),
+ migrations.CreateModel(
+ name='SupportType',
+ 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={
+ 'verbose_name': 'Support type',
+ 'verbose_name_plural': 'Support types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='TargetKey',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('key', models.TextField(verbose_name='Key')),
+ ('value', models.TextField(null=True, verbose_name='Value', blank=True)),
+ ('is_set', models.BooleanField(default=False, verbose_name='Is set')),
+ ('associated_import', models.ForeignKey(blank=True, to='ishtar_common.Import', null=True)),
+ ('associated_user', models.ForeignKey(blank=True, to='ishtar_common.IshtarUser', null=True)),
+ ('target', models.ForeignKey(related_name='keys', to='ishtar_common.ImportTarget')),
+ ],
+ options={
+ 'verbose_name': 'Importer - Target key',
+ 'verbose_name_plural': 'Importer - Targets keys',
+ },
+ ),
+ migrations.CreateModel(
+ name='TitleType',
+ 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': 'Title type',
+ 'verbose_name_plural': 'Title types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='Town',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=100, verbose_name='Name')),
+ ('surface', models.IntegerField(null=True, verbose_name='Surface (m2)', blank=True)),
+ ('center', django.contrib.gis.db.models.fields.PointField(srid=27572, null=True, verbose_name='Localisation', blank=True)),
+ ('numero_insee', models.CharField(unique=True, max_length=6, verbose_name='Num\xe9ro INSEE')),
+ ('canton', models.ForeignKey(verbose_name='Canton', blank=True, to='ishtar_common.Canton', null=True)),
+ ('departement', models.ForeignKey(verbose_name='D\xe9partement', blank=True, to='ishtar_common.Department', null=True)),
+ ('imports', models.ManyToManyField(related_name='imported_ishtar_common_town', to='ishtar_common.Import', blank=True)),
+ ],
+ options={
+ 'ordering': ['numero_insee'],
+ 'verbose_name': 'Town',
+ 'verbose_name_plural': 'Towns',
+ },
+ ),
+ migrations.AddField(
+ model_name='person',
+ name='person_types',
+ field=models.ManyToManyField(to='ishtar_common.PersonType', verbose_name='Types'),
+ ),
+ migrations.AddField(
+ model_name='person',
+ name='title',
+ field=models.ForeignKey(verbose_name='Title', blank=True, to='ishtar_common.TitleType', null=True),
+ ),
+ migrations.AddField(
+ model_name='organization',
+ name='organization_type',
+ field=models.ForeignKey(verbose_name='Type', to='ishtar_common.OrganizationType'),
+ ),
+ migrations.AddField(
+ model_name='ishtaruser',
+ name='person',
+ field=models.OneToOneField(related_name='ishtaruser', verbose_name='Person', to='ishtar_common.Person'),
+ ),
+ migrations.AddField(
+ model_name='importtarget',
+ name='regexp_filter',
+ field=models.ForeignKey(blank=True, to='ishtar_common.Regexp', null=True),
+ ),
+ migrations.AddField(
+ model_name='importertype',
+ name='users',
+ field=models.ManyToManyField(to='ishtar_common.IshtarUser', verbose_name='Users', blank=True),
+ ),
+ migrations.AddField(
+ model_name='importerdefault',
+ name='importer_type',
+ field=models.ForeignKey(related_name='defaults', to='ishtar_common.ImporterType'),
+ ),
+ migrations.AddField(
+ model_name='importercolumn',
+ name='importer_type',
+ field=models.ForeignKey(related_name='columns', to='ishtar_common.ImporterType'),
+ ),
+ migrations.AddField(
+ model_name='importercolumn',
+ name='regexp_pre_filter',
+ field=models.ForeignKey(blank=True, to='ishtar_common.Regexp', null=True),
+ ),
+ migrations.AddField(
+ model_name='import',
+ name='importer_type',
+ field=models.ForeignKey(to='ishtar_common.ImporterType'),
+ ),
+ migrations.AddField(
+ model_name='import',
+ name='user',
+ field=models.ForeignKey(to='ishtar_common.IshtarUser'),
+ ),
+ migrations.AddField(
+ model_name='historicalperson',
+ name='attached_to',
+ 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='historicalperson',
+ 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='historicalperson',
+ 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='historicalperson',
+ 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='historicalperson',
+ name='title',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.TitleType', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalorganization',
+ 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='historicalorganization',
+ 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='historicalorganization',
+ 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='historicalorganization',
+ name='organization_type',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.OrganizationType', null=True),
+ ),
+ migrations.AlterUniqueTogether(
+ name='formatertype',
+ unique_together=set([('formater_type', 'options', 'many_split')]),
+ ),
+ migrations.AddField(
+ model_name='department',
+ name='state',
+ field=models.ForeignKey(verbose_name='State', blank=True, to='ishtar_common.State', null=True),
+ ),
+ migrations.AddField(
+ model_name='author',
+ name='author_type',
+ field=models.ForeignKey(verbose_name='Author type', to='ishtar_common.AuthorType'),
+ ),
+ migrations.AddField(
+ model_name='author',
+ name='person',
+ field=models.ForeignKey(related_name='author', verbose_name='Person', to='ishtar_common.Person'),
+ ),
+ migrations.AddField(
+ model_name='arrondissement',
+ name='department',
+ field=models.ForeignKey(verbose_name='D\xe9partement', to='ishtar_common.Department'),
+ ),
+ migrations.AlterUniqueTogether(
+ name='targetkey',
+ unique_together=set([('target', 'key', 'associated_user', 'associated_import')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='importercolumn',
+ unique_together=set([('importer_type', 'col_number')]),
+ ),
+ ]
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index e1a643ea3..d70bcd426 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -251,7 +251,7 @@ def is_unique(cls, field):
return func
-class OwnPerms:
+class OwnPerms(object):
"""
Manage special permissions for object's owner
"""
diff --git a/ishtar_common/old_migrations/0001_initial.py b/ishtar_common/old_migrations/0001_initial.py
new file mode 100644
index 000000000..fc22881bc
--- /dev/null
+++ b/ishtar_common/old_migrations/0001_initial.py
@@ -0,0 +1,408 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding model 'Wizard'
+ db.create_table('ishtar_common_wizard', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('url_name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=128)),
+ ))
+ db.send_create_signal('ishtar_common', ['Wizard'])
+
+ # Adding model 'WizardStep'
+ db.create_table('ishtar_common_wizardstep', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('order', self.gf('django.db.models.fields.IntegerField')()),
+ ('wizard', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Wizard'])),
+ ('url_name', self.gf('django.db.models.fields.CharField')(max_length=128)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=128)),
+ ))
+ db.send_create_signal('ishtar_common', ['WizardStep'])
+
+ # Adding model 'Department'
+ db.create_table('ishtar_common_department', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=30)),
+ ('number', self.gf('django.db.models.fields.CharField')(unique=True, max_length=3)),
+ ))
+ db.send_create_signal('ishtar_common', ['Department'])
+
+ # Adding model 'OrganizationType'
+ db.create_table('ishtar_common_organizationtype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ))
+ db.send_create_signal('ishtar_common', ['OrganizationType'])
+
+ # Adding model 'HistoricalOrganization'
+ db.create_table('ishtar_common_historicalorganization', (
+ ('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)),
+ ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
+ ('town', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
+ ('country', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
+ ('phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
+ ('mobile_phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('organization_type_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('ishtar_common', ['HistoricalOrganization'])
+
+ # Adding model 'Organization'
+ db.create_table('ishtar_common_organization', (
+ ('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'])),
+ ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
+ ('town', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
+ ('country', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
+ ('phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
+ ('mobile_phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('organization_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.OrganizationType'])),
+ ))
+ db.send_create_signal('ishtar_common', ['Organization'])
+
+ # Adding model 'PersonType'
+ db.create_table('ishtar_common_persontype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ))
+ db.send_create_signal('ishtar_common', ['PersonType'])
+
+ # Adding M2M table for field rights on 'PersonType'
+ db.create_table('ishtar_common_persontype_rights', (
+ ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+ ('persontype', models.ForeignKey(orm['ishtar_common.persontype'], null=False)),
+ ('wizardstep', models.ForeignKey(orm['ishtar_common.wizardstep'], null=False))
+ ))
+ db.create_unique('ishtar_common_persontype_rights', ['persontype_id', 'wizardstep_id'])
+
+ # Adding model 'Person'
+ db.create_table('ishtar_common_person', (
+ ('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'])),
+ ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
+ ('town', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
+ ('country', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
+ ('phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
+ ('mobile_phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
+ ('title', self.gf('django.db.models.fields.CharField')(max_length=2)),
+ ('surname', self.gf('django.db.models.fields.CharField')(max_length=20)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=30)),
+ ('email', self.gf('django.db.models.fields.CharField')(max_length=40, null=True, blank=True)),
+ ('person_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.PersonType'])),
+ ('attached_to', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Organization'], null=True, blank=True)),
+ ))
+ db.send_create_signal('ishtar_common', ['Person'])
+
+ # Adding model 'IshtarUser'
+ db.create_table('ishtar_common_ishtaruser', (
+ ('user_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['auth.User'], unique=True, primary_key=True)),
+ ('person', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'], unique=True)),
+ ))
+ db.send_create_signal('ishtar_common', ['IshtarUser'])
+
+ # Adding model 'AuthorType'
+ db.create_table('ishtar_common_authortype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ))
+ db.send_create_signal('ishtar_common', ['AuthorType'])
+
+ # Adding model 'Author'
+ db.create_table('ishtar_common_author', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('person', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'])),
+ ('author_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.AuthorType'])),
+ ))
+ db.send_create_signal('ishtar_common', ['Author'])
+
+ # Adding model 'SourceType'
+ db.create_table('ishtar_common_sourcetype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ))
+ db.send_create_signal('ishtar_common', ['SourceType'])
+
+ # Adding model 'Arrondissement'
+ db.create_table('ishtar_common_arrondissement', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=30)),
+ ('department', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Department'])),
+ ))
+ db.send_create_signal('ishtar_common', ['Arrondissement'])
+
+ # Adding model 'Canton'
+ db.create_table('ishtar_common_canton', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=30)),
+ ('arrondissement', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Arrondissement'])),
+ ))
+ db.send_create_signal('ishtar_common', ['Canton'])
+
+ # Adding model 'Town'
+ db.create_table('ishtar_common_town', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('center', self.gf('django.contrib.gis.db.models.fields.PointField')(srid=27572, null=True, blank=True)),
+ ('numero_insee', self.gf('django.db.models.fields.CharField')(unique=True, max_length=6)),
+ ('departement', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Department'], null=True, blank=True)),
+ ('canton', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Canton'], null=True, blank=True)),
+ ))
+ db.send_create_signal('ishtar_common', ['Town'])
+
+
+ def backwards(self, orm):
+ # Deleting model 'Wizard'
+ db.delete_table('ishtar_common_wizard')
+
+ # Deleting model 'WizardStep'
+ db.delete_table('ishtar_common_wizardstep')
+
+ # Deleting model 'Department'
+ db.delete_table('ishtar_common_department')
+
+ # Deleting model 'OrganizationType'
+ db.delete_table('ishtar_common_organizationtype')
+
+ # Deleting model 'HistoricalOrganization'
+ db.delete_table('ishtar_common_historicalorganization')
+
+ # Deleting model 'Organization'
+ db.delete_table('ishtar_common_organization')
+
+ # Deleting model 'PersonType'
+ db.delete_table('ishtar_common_persontype')
+
+ # Removing M2M table for field rights on 'PersonType'
+ db.delete_table('ishtar_common_persontype_rights')
+
+ # Deleting model 'Person'
+ db.delete_table('ishtar_common_person')
+
+ # Deleting model 'IshtarUser'
+ db.delete_table('ishtar_common_ishtaruser')
+
+ # Deleting model 'AuthorType'
+ db.delete_table('ishtar_common_authortype')
+
+ # Deleting model 'Author'
+ db.delete_table('ishtar_common_author')
+
+ # Deleting model 'SourceType'
+ db.delete_table('ishtar_common_sourcetype')
+
+ # Deleting model 'Arrondissement'
+ db.delete_table('ishtar_common_arrondissement')
+
+ # Deleting model 'Canton'
+ db.delete_table('ishtar_common_canton')
+
+ # Deleting model 'Town'
+ db.delete_table('ishtar_common_town')
+
+
+ models = {
+ '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.historicalorganization': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOrganization'},
+ '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_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'}),
+ '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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'})
+ },
+ 'ishtar_common.ishtaruser': {
+ 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']},
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']", 'unique': 'True'}),
+ 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
+ },
+ '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 = ['ishtar_common'] \ No newline at end of file
diff --git a/ishtar_common/migrations/0002_auto__chg_field_person_surname.py b/ishtar_common/old_migrations/0002_auto__chg_field_person_surname.py
index 105144aac..105144aac 100644
--- a/ishtar_common/migrations/0002_auto__chg_field_person_surname.py
+++ b/ishtar_common/old_migrations/0002_auto__chg_field_person_surname.py
diff --git a/ishtar_common/migrations/0003_auto__del_field_person_person_type.py b/ishtar_common/old_migrations/0003_auto__del_field_person_person_type.py
index 369568ecc..369568ecc 100644
--- a/ishtar_common/migrations/0003_auto__del_field_person_person_type.py
+++ b/ishtar_common/old_migrations/0003_auto__del_field_person_person_type.py
diff --git a/ishtar_common/migrations/0004_auto.py b/ishtar_common/old_migrations/0004_auto.py
index 074080757..074080757 100644
--- a/ishtar_common/migrations/0004_auto.py
+++ b/ishtar_common/old_migrations/0004_auto.py
diff --git a/ishtar_common/migrations/0005_auto__add_documenttemplate.py b/ishtar_common/old_migrations/0005_auto__add_documenttemplate.py
index 383ee5a32..383ee5a32 100644
--- a/ishtar_common/migrations/0005_auto__add_documenttemplate.py
+++ b/ishtar_common/old_migrations/0005_auto__add_documenttemplate.py
diff --git a/ishtar_common/migrations/0006_auto__chg_field_organization_name__chg_field_historicalorganization_na.py b/ishtar_common/old_migrations/0006_auto__chg_field_organization_name__chg_field_historicalorganization_na.py
index f852608a3..f852608a3 100644
--- a/ishtar_common/migrations/0006_auto__chg_field_organization_name__chg_field_historicalorganization_na.py
+++ b/ishtar_common/old_migrations/0006_auto__chg_field_organization_name__chg_field_historicalorganization_na.py
diff --git a/ishtar_common/migrations/0007_auto__add_field_organization_history_creator__add_field_historicalorga.py b/ishtar_common/old_migrations/0007_auto__add_field_organization_history_creator__add_field_historicalorga.py
index 5423b758e..5423b758e 100644
--- a/ishtar_common/migrations/0007_auto__add_field_organization_history_creator__add_field_historicalorga.py
+++ b/ishtar_common/old_migrations/0007_auto__add_field_organization_history_creator__add_field_historicalorga.py
diff --git a/ishtar_common/migrations/0008_init_history_creator.py b/ishtar_common/old_migrations/0008_init_history_creator.py
index c28292e61..c28292e61 100644
--- a/ishtar_common/migrations/0008_init_history_creator.py
+++ b/ishtar_common/old_migrations/0008_init_history_creator.py
diff --git a/ishtar_common/migrations/0009_auto__add_field_organization_email__add_field_historicalorganization_e.py b/ishtar_common/old_migrations/0009_auto__add_field_organization_email__add_field_historicalorganization_e.py
index 1ef247b56..1ef247b56 100644
--- a/ishtar_common/migrations/0009_auto__add_field_organization_email__add_field_historicalorganization_e.py
+++ b/ishtar_common/old_migrations/0009_auto__add_field_organization_email__add_field_historicalorganization_e.py
diff --git a/ishtar_common/migrations/0010_auto__del_wizardstep__del_wizard__add_globalvar__chg_field_person_atta.py b/ishtar_common/old_migrations/0010_auto__del_wizardstep__del_wizard__add_globalvar__chg_field_person_atta.py
index 4bba74da9..4bba74da9 100644
--- a/ishtar_common/migrations/0010_auto__del_wizardstep__del_wizard__add_globalvar__chg_field_person_atta.py
+++ b/ishtar_common/old_migrations/0010_auto__del_wizardstep__del_wizard__add_globalvar__chg_field_person_atta.py
diff --git a/ishtar_common/migrations/0011_auto__chg_field_person_surname__chg_field_person_name.py b/ishtar_common/old_migrations/0011_auto__chg_field_person_surname__chg_field_person_name.py
index a21e00efb..a21e00efb 100644
--- a/ishtar_common/migrations/0011_auto__chg_field_person_surname__chg_field_person_name.py
+++ b/ishtar_common/old_migrations/0011_auto__chg_field_person_surname__chg_field_person_name.py
diff --git a/ishtar_common/migrations/0012_auto__add_field_person_raw_name__chg_field_person_name.py b/ishtar_common/old_migrations/0012_auto__add_field_person_raw_name__chg_field_person_name.py
index 015956610..015956610 100644
--- a/ishtar_common/migrations/0012_auto__add_field_person_raw_name__chg_field_person_name.py
+++ b/ishtar_common/old_migrations/0012_auto__add_field_person_raw_name__chg_field_person_name.py
diff --git a/ishtar_common/migrations/0013_auto__add_field_organization_merge_key__add_field_historicalorganizati.py b/ishtar_common/old_migrations/0013_auto__add_field_organization_merge_key__add_field_historicalorganizati.py
index b0934572d..b0934572d 100644
--- a/ishtar_common/migrations/0013_auto__add_field_organization_merge_key__add_field_historicalorganizati.py
+++ b/ishtar_common/old_migrations/0013_auto__add_field_organization_merge_key__add_field_historicalorganizati.py
diff --git a/ishtar_common/migrations/0014_auto__chg_field_organization_history_creator__chg_field_organization_h.py b/ishtar_common/old_migrations/0014_auto__chg_field_organization_history_creator__chg_field_organization_h.py
index 86783b8fd..86783b8fd 100644
--- a/ishtar_common/migrations/0014_auto__chg_field_organization_history_creator__chg_field_organization_h.py
+++ b/ishtar_common/old_migrations/0014_auto__chg_field_organization_history_creator__chg_field_organization_h.py
diff --git a/ishtar_common/migrations/0015_auto__chg_field_organization_town__chg_field_historicalorganization_to.py b/ishtar_common/old_migrations/0015_auto__chg_field_organization_town__chg_field_historicalorganization_to.py
index d5d1c4742..d5d1c4742 100644
--- a/ishtar_common/migrations/0015_auto__chg_field_organization_town__chg_field_historicalorganization_to.py
+++ b/ishtar_common/old_migrations/0015_auto__chg_field_organization_town__chg_field_historicalorganization_to.py
diff --git a/ishtar_common/migrations/0016_auto__add_import.py b/ishtar_common/old_migrations/0016_auto__add_import.py
index f7d87ff13..f7d87ff13 100644
--- a/ishtar_common/migrations/0016_auto__add_import.py
+++ b/ishtar_common/old_migrations/0016_auto__add_import.py
diff --git a/ishtar_common/migrations/0017_auto__add_supporttype__add_format.py b/ishtar_common/old_migrations/0017_auto__add_supporttype__add_format.py
index 7ce790321..7ce790321 100644
--- a/ishtar_common/migrations/0017_auto__add_supporttype__add_format.py
+++ b/ishtar_common/old_migrations/0017_auto__add_supporttype__add_format.py
diff --git a/ishtar_common/migrations/0018_auto__add_itemkey.py b/ishtar_common/old_migrations/0018_auto__add_itemkey.py
index 4de340549..4de340549 100644
--- a/ishtar_common/migrations/0018_auto__add_itemkey.py
+++ b/ishtar_common/old_migrations/0018_auto__add_itemkey.py
diff --git a/ishtar_common/migrations/0019_auto__add_field_itemkey_importer.py b/ishtar_common/old_migrations/0019_auto__add_field_itemkey_importer.py
index 9206279d1..9206279d1 100644
--- a/ishtar_common/migrations/0019_auto__add_field_itemkey_importer.py
+++ b/ishtar_common/old_migrations/0019_auto__add_field_itemkey_importer.py
diff --git a/ishtar_common/migrations/0020_auto__chg_field_person_title.py b/ishtar_common/old_migrations/0020_auto__chg_field_person_title.py
index 8d4674ace..8d4674ace 100644
--- a/ishtar_common/migrations/0020_auto__chg_field_person_title.py
+++ b/ishtar_common/old_migrations/0020_auto__chg_field_person_title.py
diff --git a/ishtar_common/migrations/0021_auto__add_importerdefault__add_importertype__add_importtarget__add_for.py b/ishtar_common/old_migrations/0021_auto__add_importerdefault__add_importertype__add_importtarget__add_for.py
index 21f6e5f78..21f6e5f78 100644
--- a/ishtar_common/migrations/0021_auto__add_importerdefault__add_importertype__add_importtarget__add_for.py
+++ b/ishtar_common/old_migrations/0021_auto__add_importerdefault__add_importertype__add_importtarget__add_for.py
diff --git a/ishtar_common/migrations/0022_auto__add_field_import_importer_type.py b/ishtar_common/old_migrations/0022_auto__add_field_import_importer_type.py
index d5091b542..d5091b542 100644
--- a/ishtar_common/migrations/0022_auto__add_field_import_importer_type.py
+++ b/ishtar_common/old_migrations/0022_auto__add_field_import_importer_type.py
diff --git a/ishtar_common/migrations/0023_auto__add_importerdefaultvalues__del_field_importerdefault_value.py b/ishtar_common/old_migrations/0023_auto__add_importerdefaultvalues__del_field_importerdefault_value.py
index 74c5e0a1c..74c5e0a1c 100644
--- a/ishtar_common/migrations/0023_auto__add_importerdefaultvalues__del_field_importerdefault_value.py
+++ b/ishtar_common/old_migrations/0023_auto__add_importerdefaultvalues__del_field_importerdefault_value.py
diff --git a/ishtar_common/migrations/0024_auto__add_importerduplicatefield__chg_field_importerdefault_target__ad.py b/ishtar_common/old_migrations/0024_auto__add_importerduplicatefield__chg_field_importerdefault_target__ad.py
index d5d3293f0..d5d3293f0 100644
--- a/ishtar_common/migrations/0024_auto__add_importerduplicatefield__chg_field_importerdefault_target__ad.py
+++ b/ishtar_common/old_migrations/0024_auto__add_importerduplicatefield__chg_field_importerdefault_target__ad.py
diff --git a/ishtar_common/migrations/0025_auto__add_unique_formatertype_formater_type_many_split_options.py b/ishtar_common/old_migrations/0025_auto__add_unique_formatertype_formater_type_many_split_options.py
index 73c88ce1a..73c88ce1a 100644
--- a/ishtar_common/migrations/0025_auto__add_unique_formatertype_formater_type_many_split_options.py
+++ b/ishtar_common/old_migrations/0025_auto__add_unique_formatertype_formater_type_many_split_options.py
diff --git a/ishtar_common/migrations/0026_auto__add_targetkey__add_unique_targetkey_target_value__add_field_impo.py b/ishtar_common/old_migrations/0026_auto__add_targetkey__add_unique_targetkey_target_value__add_field_impo.py
index b4752a48e..b4752a48e 100644
--- a/ishtar_common/migrations/0026_auto__add_targetkey__add_unique_targetkey_target_value__add_field_impo.py
+++ b/ishtar_common/old_migrations/0026_auto__add_targetkey__add_unique_targetkey_target_value__add_field_impo.py
diff --git a/ishtar_common/migrations/0027_auto__chg_field_targetkey_target.py b/ishtar_common/old_migrations/0027_auto__chg_field_targetkey_target.py
index d6ea7e10a..d6ea7e10a 100644
--- a/ishtar_common/migrations/0027_auto__chg_field_targetkey_target.py
+++ b/ishtar_common/old_migrations/0027_auto__chg_field_targetkey_target.py
diff --git a/ishtar_common/migrations/0028_auto__chg_field_targetkey_key__chg_field_targetkey_value.py b/ishtar_common/old_migrations/0028_auto__chg_field_targetkey_key__chg_field_targetkey_value.py
index b99480a2b..b99480a2b 100644
--- a/ishtar_common/migrations/0028_auto__chg_field_targetkey_key__chg_field_targetkey_value.py
+++ b/ishtar_common/old_migrations/0028_auto__chg_field_targetkey_key__chg_field_targetkey_value.py
diff --git a/ishtar_common/migrations/0029_auto.py b/ishtar_common/old_migrations/0029_auto.py
index 9bcf818b5..9bcf818b5 100644
--- a/ishtar_common/migrations/0029_auto.py
+++ b/ishtar_common/old_migrations/0029_auto.py
diff --git a/ishtar_common/migrations/0030_auto__add_state__chg_field_sourcetype_txt_idx__chg_field_authortype_tx.py b/ishtar_common/old_migrations/0030_auto__add_state__chg_field_sourcetype_txt_idx__chg_field_authortype_tx.py
index cd5d06576..cd5d06576 100644
--- a/ishtar_common/migrations/0030_auto__add_state__chg_field_sourcetype_txt_idx__chg_field_authortype_tx.py
+++ b/ishtar_common/old_migrations/0030_auto__add_state__chg_field_sourcetype_txt_idx__chg_field_authortype_tx.py
diff --git a/ishtar_common/migrations/0031_auto__del_unique_targetkey_target_value__add_unique_targetkey_target_k.py b/ishtar_common/old_migrations/0031_auto__del_unique_targetkey_target_value__add_unique_targetkey_target_k.py
index 7fddc0fca..7fddc0fca 100644
--- a/ishtar_common/migrations/0031_auto__del_unique_targetkey_target_value__add_unique_targetkey_target_k.py
+++ b/ishtar_common/old_migrations/0031_auto__del_unique_targetkey_target_value__add_unique_targetkey_target_k.py
diff --git a/ishtar_common/migrations/0033_auto__add_field_targetkey_associated_import__add_field_targetkey_assoc.py b/ishtar_common/old_migrations/0033_auto__add_field_targetkey_associated_import__add_field_targetkey_assoc.py
index 2a6c8fc15..2a6c8fc15 100644
--- a/ishtar_common/migrations/0033_auto__add_field_targetkey_associated_import__add_field_targetkey_assoc.py
+++ b/ishtar_common/old_migrations/0033_auto__add_field_targetkey_associated_import__add_field_targetkey_assoc.py
diff --git a/ishtar_common/migrations/0034_auto__add_field_import_encoding.py b/ishtar_common/old_migrations/0034_auto__add_field_import_encoding.py
index 2774b3c15..2774b3c15 100644
--- a/ishtar_common/migrations/0034_auto__add_field_import_encoding.py
+++ b/ishtar_common/old_migrations/0034_auto__add_field_import_encoding.py
diff --git a/ishtar_common/migrations/0035_auto__add_field_importtarget_force_new__add_field_importerduplicatefie.py b/ishtar_common/old_migrations/0035_auto__add_field_importtarget_force_new__add_field_importerduplicatefie.py
index 2a396ee62..2a396ee62 100644
--- a/ishtar_common/migrations/0035_auto__add_field_importtarget_force_new__add_field_importerduplicatefie.py
+++ b/ishtar_common/old_migrations/0035_auto__add_field_importtarget_force_new__add_field_importerduplicatefie.py
diff --git a/ishtar_common/migrations/0036_auto__add_field_import_imported_images.py b/ishtar_common/old_migrations/0036_auto__add_field_import_imported_images.py
index d0741abca..d0741abca 100644
--- a/ishtar_common/migrations/0036_auto__add_field_import_imported_images.py
+++ b/ishtar_common/old_migrations/0036_auto__add_field_import_imported_images.py
diff --git a/ishtar_common/migrations/0037_auto__add_field_importertype_slug.py b/ishtar_common/old_migrations/0037_auto__add_field_importertype_slug.py
index c7bf06c5d..c7bf06c5d 100644
--- a/ishtar_common/migrations/0037_auto__add_field_importertype_slug.py
+++ b/ishtar_common/old_migrations/0037_auto__add_field_importertype_slug.py
diff --git a/ishtar_common/migrations/0038_auto__add_field_importtarget_comment.py b/ishtar_common/old_migrations/0038_auto__add_field_importtarget_comment.py
index a2cbe1579..a2cbe1579 100644
--- a/ishtar_common/migrations/0038_auto__add_field_importtarget_comment.py
+++ b/ishtar_common/old_migrations/0038_auto__add_field_importtarget_comment.py
diff --git a/ishtar_common/migrations/0039_auto__add_field_import_match_file.py b/ishtar_common/old_migrations/0039_auto__add_field_import_match_file.py
index 6df3e81a8..6df3e81a8 100644
--- a/ishtar_common/migrations/0039_auto__add_field_import_match_file.py
+++ b/ishtar_common/old_migrations/0039_auto__add_field_import_match_file.py
diff --git a/ishtar_common/migrations/0040_auto__chg_field_person_title.py b/ishtar_common/old_migrations/0040_auto__chg_field_person_title.py
index 2623f9eae..2623f9eae 100644
--- a/ishtar_common/migrations/0040_auto__chg_field_person_title.py
+++ b/ishtar_common/old_migrations/0040_auto__chg_field_person_title.py
diff --git a/ishtar_common/migrations/0041_auto__add_field_importertype_unicity_keys__add_field_importtarget_conc.py b/ishtar_common/old_migrations/0041_auto__add_field_importertype_unicity_keys__add_field_importtarget_conc.py
index 990f35efc..990f35efc 100644
--- a/ishtar_common/migrations/0041_auto__add_field_importertype_unicity_keys__add_field_importtarget_conc.py
+++ b/ishtar_common/old_migrations/0041_auto__add_field_importertype_unicity_keys__add_field_importtarget_conc.py
diff --git a/ishtar_common/migrations/0042_auto__add_field_importtarget_concat_str__add_unique_importercolumn_col.py b/ishtar_common/old_migrations/0042_auto__add_field_importtarget_concat_str__add_unique_importercolumn_col.py
index 7f8bac846..7f8bac846 100644
--- a/ishtar_common/migrations/0042_auto__add_field_importtarget_concat_str__add_unique_importercolumn_col.py
+++ b/ishtar_common/old_migrations/0042_auto__add_field_importtarget_concat_str__add_unique_importercolumn_col.py
diff --git a/ishtar_common/migrations/0043_auto__add_field_importerduplicatefield_concat__add_field_importerdupli.py b/ishtar_common/old_migrations/0043_auto__add_field_importerduplicatefield_concat__add_field_importerdupli.py
index efde90aca..efde90aca 100644
--- a/ishtar_common/migrations/0043_auto__add_field_importerduplicatefield_concat__add_field_importerdupli.py
+++ b/ishtar_common/old_migrations/0043_auto__add_field_importerduplicatefield_concat__add_field_importerdupli.py
diff --git a/ishtar_common/migrations/0044_auto__add_operationtype.py b/ishtar_common/old_migrations/0044_auto__add_operationtype.py
index f623809de..f623809de 100644
--- a/ishtar_common/migrations/0044_auto__add_operationtype.py
+++ b/ishtar_common/old_migrations/0044_auto__add_operationtype.py
diff --git a/ishtar_common/migrations/0045_auto__chg_field_person_merge_key__chg_field_historicalorganization_mer.py b/ishtar_common/old_migrations/0045_auto__chg_field_person_merge_key__chg_field_historicalorganization_mer.py
index 39114eba5..39114eba5 100644
--- a/ishtar_common/migrations/0045_auto__chg_field_person_merge_key__chg_field_historicalorganization_mer.py
+++ b/ishtar_common/old_migrations/0045_auto__chg_field_person_merge_key__chg_field_historicalorganization_mer.py
diff --git a/ishtar_common/migrations/0046_auto__add_field_person_exclude_from_merge__add_field_historicalorganiz.py b/ishtar_common/old_migrations/0046_auto__add_field_person_exclude_from_merge__add_field_historicalorganiz.py
index e0dbc9222..e0dbc9222 100644
--- a/ishtar_common/migrations/0046_auto__add_field_person_exclude_from_merge__add_field_historicalorganiz.py
+++ b/ishtar_common/old_migrations/0046_auto__add_field_person_exclude_from_merge__add_field_historicalorganiz.py
diff --git a/ishtar_common/migrations/0047_auto__chg_field_person_exclude_from_merge__chg_field_historicalorganiz.py b/ishtar_common/old_migrations/0047_auto__chg_field_person_exclude_from_merge__chg_field_historicalorganiz.py
index 4bc7b8a48..4bc7b8a48 100644
--- a/ishtar_common/migrations/0047_auto__chg_field_person_exclude_from_merge__chg_field_historicalorganiz.py
+++ b/ishtar_common/old_migrations/0047_auto__chg_field_person_exclude_from_merge__chg_field_historicalorganiz.py
diff --git a/ishtar_common/migrations/0048_auto__add_ishtarsiteprofile.py b/ishtar_common/old_migrations/0048_auto__add_ishtarsiteprofile.py
index 5a2c21bf1..5a2c21bf1 100644
--- a/ishtar_common/migrations/0048_auto__add_ishtarsiteprofile.py
+++ b/ishtar_common/old_migrations/0048_auto__add_ishtarsiteprofile.py
diff --git a/ishtar_common/migrations/0049_auto__add_field_person_alt_address__add_field_person_alt_address_compl.py b/ishtar_common/old_migrations/0049_auto__add_field_person_alt_address__add_field_person_alt_address_compl.py
index d64e3a964..d64e3a964 100644
--- a/ishtar_common/migrations/0049_auto__add_field_person_alt_address__add_field_person_alt_address_compl.py
+++ b/ishtar_common/old_migrations/0049_auto__add_field_person_alt_address__add_field_person_alt_address_compl.py
diff --git a/ishtar_common/migrations/0050_auto__chg_field_person_phone_desc3__chg_field_person_phone_desc2__chg_.py b/ishtar_common/old_migrations/0050_auto__chg_field_person_phone_desc3__chg_field_person_phone_desc2__chg_.py
index b68b3b9bb..b68b3b9bb 100644
--- a/ishtar_common/migrations/0050_auto__chg_field_person_phone_desc3__chg_field_person_phone_desc2__chg_.py
+++ b/ishtar_common/old_migrations/0050_auto__chg_field_person_phone_desc3__chg_field_person_phone_desc2__chg_.py
diff --git a/ishtar_common/migrations/0051_auto__add_field_ishtarsiteprofile_homepage.py b/ishtar_common/old_migrations/0051_auto__add_field_ishtarsiteprofile_homepage.py
index 7f8c65857..7f8c65857 100644
--- a/ishtar_common/migrations/0051_auto__add_field_ishtarsiteprofile_homepage.py
+++ b/ishtar_common/old_migrations/0051_auto__add_field_ishtarsiteprofile_homepage.py
diff --git a/ishtar_common/migrations/0052_auto__add_field_ishtarsiteprofile_file_external_id__add_field_ishtarsi.py b/ishtar_common/old_migrations/0052_auto__add_field_ishtarsiteprofile_file_external_id__add_field_ishtarsi.py
index 7b902a432..7b902a432 100644
--- a/ishtar_common/migrations/0052_auto__add_field_ishtarsiteprofile_file_external_id__add_field_ishtarsi.py
+++ b/ishtar_common/old_migrations/0052_auto__add_field_ishtarsiteprofile_file_external_id__add_field_ishtarsi.py
diff --git a/ishtar_common/migrations/0053_auto__add_field_ishtarsiteprofile_currency.py b/ishtar_common/old_migrations/0053_auto__add_field_ishtarsiteprofile_currency.py
index 04d293b04..04d293b04 100644
--- a/ishtar_common/migrations/0053_auto__add_field_ishtarsiteprofile_currency.py
+++ b/ishtar_common/old_migrations/0053_auto__add_field_ishtarsiteprofile_currency.py
diff --git a/ishtar_common/migrations/0054_auto__add_field_ishtarsiteprofile_person_raw_name.py b/ishtar_common/old_migrations/0054_auto__add_field_ishtarsiteprofile_person_raw_name.py
index 06e380189..06e380189 100644
--- a/ishtar_common/migrations/0054_auto__add_field_ishtarsiteprofile_person_raw_name.py
+++ b/ishtar_common/old_migrations/0054_auto__add_field_ishtarsiteprofile_person_raw_name.py
diff --git a/ishtar_common/migrations/0055_auto.py b/ishtar_common/old_migrations/0055_auto.py
index db41eb868..db41eb868 100644
--- a/ishtar_common/migrations/0055_auto.py
+++ b/ishtar_common/old_migrations/0055_auto.py
diff --git a/ishtar_common/migrations/0056_auto__add_titletype__add_field_person_pretitle.py b/ishtar_common/old_migrations/0056_auto__add_titletype__add_field_person_pretitle.py
index 6db62c107..6db62c107 100644
--- a/ishtar_common/migrations/0056_auto__add_titletype__add_field_person_pretitle.py
+++ b/ishtar_common/old_migrations/0056_auto__add_titletype__add_field_person_pretitle.py
diff --git a/ishtar_common/migrations/0057_rename_pretitle_old_title.py b/ishtar_common/old_migrations/0057_rename_pretitle_old_title.py
index 8a13b6c88..8a13b6c88 100644
--- a/ishtar_common/migrations/0057_rename_pretitle_old_title.py
+++ b/ishtar_common/old_migrations/0057_rename_pretitle_old_title.py
diff --git a/ishtar_common/migrations/0058_generate_title.py b/ishtar_common/old_migrations/0058_generate_title.py
index d30850cab..d30850cab 100644
--- a/ishtar_common/migrations/0058_generate_title.py
+++ b/ishtar_common/old_migrations/0058_generate_title.py
diff --git a/ishtar_common/migrations/0059_rename_exc_from_merge_to_archived.py b/ishtar_common/old_migrations/0059_rename_exc_from_merge_to_archived.py
index c329b76e2..c329b76e2 100644
--- a/ishtar_common/migrations/0059_rename_exc_from_merge_to_archived.py
+++ b/ishtar_common/old_migrations/0059_rename_exc_from_merge_to_archived.py
diff --git a/ishtar_common/migrations/0060_auto__add_historicalperson.py b/ishtar_common/old_migrations/0060_auto__add_historicalperson.py
index a1db55c37..a1db55c37 100644
--- a/ishtar_common/migrations/0060_auto__add_historicalperson.py
+++ b/ishtar_common/old_migrations/0060_auto__add_historicalperson.py
diff --git a/ishtar_common/migrations/0061_auto__add_field_historicalperson_salutation__add_field_person_salutati.py b/ishtar_common/old_migrations/0061_auto__add_field_historicalperson_salutation__add_field_person_salutati.py
index eb3b34a26..eb3b34a26 100644
--- a/ishtar_common/migrations/0061_auto__add_field_historicalperson_salutation__add_field_person_salutati.py
+++ b/ishtar_common/old_migrations/0061_auto__add_field_historicalperson_salutation__add_field_person_salutati.py
diff --git a/ishtar_common/migrations/0062_remove_ishtar_local_prefix.py b/ishtar_common/old_migrations/0062_remove_ishtar_local_prefix.py
index b1406a111..b1406a111 100644
--- a/ishtar_common/migrations/0062_remove_ishtar_local_prefix.py
+++ b/ishtar_common/old_migrations/0062_remove_ishtar_local_prefix.py
diff --git a/ishtar_common/migrations/0063_auto__add_field_ishtaruser_advanced_shortcut_menu.py b/ishtar_common/old_migrations/0063_auto__add_field_ishtaruser_advanced_shortcut_menu.py
index 19a076913..19a076913 100644
--- a/ishtar_common/migrations/0063_auto__add_field_ishtaruser_advanced_shortcut_menu.py
+++ b/ishtar_common/old_migrations/0063_auto__add_field_ishtaruser_advanced_shortcut_menu.py
diff --git a/ishtar_common/migrations/0064_auto__add_field_importercolumn_label.py b/ishtar_common/old_migrations/0064_auto__add_field_importercolumn_label.py
index 2f2b6efcc..2f2b6efcc 100644
--- a/ishtar_common/migrations/0064_auto__add_field_importercolumn_label.py
+++ b/ishtar_common/old_migrations/0064_auto__add_field_importercolumn_label.py
diff --git a/ishtar_common/migrations/0065_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py b/ishtar_common/old_migrations/0065_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py
index 2c1dc8a49..2c1dc8a49 100644
--- a/ishtar_common/migrations/0065_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py
+++ b/ishtar_common/old_migrations/0065_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py
diff --git a/ishtar_common/migrations/0066_auto__add_field_ishtarsiteprofile_base_color__add_field_ishtarsiteprof.py b/ishtar_common/old_migrations/0066_auto__add_field_ishtarsiteprofile_base_color__add_field_ishtarsiteprof.py
index 16baf8881..16baf8881 100644
--- a/ishtar_common/migrations/0066_auto__add_field_ishtarsiteprofile_base_color__add_field_ishtarsiteprof.py
+++ b/ishtar_common/old_migrations/0066_auto__add_field_ishtarsiteprofile_base_color__add_field_ishtarsiteprof.py
diff --git a/ishtar_common/migrations/0067_auto__add_field_ishtarsiteprofile_container_external_id__add_field_ish.py b/ishtar_common/old_migrations/0067_auto__add_field_ishtarsiteprofile_container_external_id__add_field_ish.py
index 2bff66138..2bff66138 100644
--- a/ishtar_common/migrations/0067_auto__add_field_ishtarsiteprofile_container_external_id__add_field_ish.py
+++ b/ishtar_common/old_migrations/0067_auto__add_field_ishtarsiteprofile_container_external_id__add_field_ish.py
diff --git a/ishtar_common/migrations/0068_auto__add_field_spatialreferencesystem_auth_name.py b/ishtar_common/old_migrations/0068_auto__add_field_spatialreferencesystem_auth_name.py
index a7f83884d..a7f83884d 100644
--- a/ishtar_common/migrations/0068_auto__add_field_spatialreferencesystem_auth_name.py
+++ b/ishtar_common/old_migrations/0068_auto__add_field_spatialreferencesystem_auth_name.py
diff --git a/ishtar_common/migrations/0069_auto__chg_field_import_error_file__chg_field_import_match_file__chg_fi.py b/ishtar_common/old_migrations/0069_auto__chg_field_import_error_file__chg_field_import_match_file__chg_fi.py
index 1fbccf642..1fbccf642 100644
--- a/ishtar_common/migrations/0069_auto__chg_field_import_error_file__chg_field_import_match_file__chg_fi.py
+++ b/ishtar_common/old_migrations/0069_auto__chg_field_import_error_file__chg_field_import_match_file__chg_fi.py
diff --git a/ishtar_common/migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py b/ishtar_common/old_migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py
index b78e71bbf..b78e71bbf 100644
--- a/ishtar_common/migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py
+++ b/ishtar_common/old_migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py
diff --git a/ishtar_common/migrations/0071_migrate_importermodels.py b/ishtar_common/old_migrations/0071_migrate_importermodels.py
index cc9b6f449..cc9b6f449 100644
--- a/ishtar_common/migrations/0071_migrate_importermodels.py
+++ b/ishtar_common/old_migrations/0071_migrate_importermodels.py
diff --git a/ishtar_common/migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py b/ishtar_common/old_migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py
index 9d1c9f55c..9d1c9f55c 100644
--- a/ishtar_common/migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py
+++ b/ishtar_common/old_migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py
diff --git a/ishtar_common/migrations/0073_auto__add_field_importercolumn_export_field_name.py b/ishtar_common/old_migrations/0073_auto__add_field_importercolumn_export_field_name.py
index a2b5ed719..a2b5ed719 100644
--- a/ishtar_common/migrations/0073_auto__add_field_importercolumn_export_field_name.py
+++ b/ishtar_common/old_migrations/0073_auto__add_field_importercolumn_export_field_name.py
diff --git a/ishtar_common/migrations/0074_auto__add_field_import_name.py b/ishtar_common/old_migrations/0074_auto__add_field_import_name.py
index 8374ce83f..8374ce83f 100644
--- a/ishtar_common/migrations/0074_auto__add_field_import_name.py
+++ b/ishtar_common/old_migrations/0074_auto__add_field_import_name.py
diff --git a/ishtar_common/migrations/0075_auto__add_field_authortype_order.py b/ishtar_common/old_migrations/0075_auto__add_field_authortype_order.py
index e768e57de..e768e57de 100644
--- a/ishtar_common/migrations/0075_auto__add_field_authortype_order.py
+++ b/ishtar_common/old_migrations/0075_auto__add_field_authortype_order.py
diff --git a/ishtar_common/old_migrations/__init__.py b/ishtar_common/old_migrations/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ishtar_common/old_migrations/__init__.py
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py
index f1e2e4b96..962db5945 100644
--- a/ishtar_common/utils.py
+++ b/ishtar_common/utils.py
@@ -31,6 +31,10 @@ from django.utils.translation import ugettext_lazy as _, ugettext
from django.template.defaultfilters import slugify
+def get_current_year():
+ return datetime.datetime.now().year
+
+
def get_cache(cls, extra_args=[]):
cache_key = u"{}-{}-{}".format(
settings.PROJECT_SLUG, cls._meta.app_label, cls.__name__)