diff options
| -rw-r--r-- | Makefile.example | 18 | ||||
| -rw-r--r-- | archaeological_context_records/migrations/0001_initial.py | 893 | ||||
| -rw-r--r-- | archaeological_context_records/migrations/0002_auto_20170414_2123.py | 46 | ||||
| -rw-r--r-- | archaeological_context_records/migrations/0003_auto_20170414_2123.py | 104 | ||||
| -rw-r--r-- | archaeological_context_records/old_migrations/0001_initial.py | 587 | ||||
| -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.py | 503 | ||||
| -rw-r--r-- | archaeological_files/migrations/0002_auto_20170414_2123.py | 188 | ||||
| -rw-r--r-- | archaeological_files/models.py | 6 | ||||
| -rw-r--r-- | archaeological_files/old_migrations/0001_initial.py | 348 | ||||
| -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__.py | 0 | ||||
| -rw-r--r-- | archaeological_finds/migrations/0001_initial.py | 1408 | ||||
| -rw-r--r-- | archaeological_finds/migrations/0002_auto_20170414_2123.py | 503 | ||||
| -rw-r--r-- | archaeological_finds/models_treatments.py | 8 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0001_initial.py | 814 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0002_auto__add_field_findsource_reference__add_field_findsource_internal_re.py (renamed from archaeological_finds/migrations/0002_auto__add_field_findsource_reference__add_field_findsource_internal_re.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0003_auto__add_field_materialtype_code.py (renamed from archaeological_finds/migrations/0003_auto__add_field_materialtype_code.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0004_auto__add_field_historicalfind_image__add_field_historicalfind_thumbna.py (renamed from archaeological_finds/migrations/0004_auto__add_field_historicalfind_image__add_field_historicalfind_thumbna.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0005_auto__add_conservatorystate__add_field_historicalfind_conservatory_sta.py (renamed from archaeological_finds/migrations/0005_auto__add_conservatorystate__add_field_historicalfind_conservatory_sta.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0006_auto__add_field_historicalfind_history_creator_id__add_field_treatment.py (renamed from archaeological_finds/migrations/0006_auto__add_field_historicalfind_history_creator_id__add_field_treatment.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0007_init_history_creator.py (renamed from archaeological_finds/migrations/0007_init_history_creator.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0008_reinit_history_creator.py (renamed from archaeological_finds/migrations/0008_reinit_history_creator.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0009_auto__chg_field_materialtype_recommendation__chg_field_treatment_perso.py (renamed from archaeological_finds/migrations/0009_auto__chg_field_materialtype_recommendation__chg_field_treatment_perso.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0010_auto__chg_field_treatment_history_creator__chg_field_treatment_history.py (renamed from archaeological_finds/migrations/0010_auto__chg_field_treatment_history_creator__chg_field_treatment_history.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0011_auto__add_field_historicalfind_weight_unit__add_field_historicalfind_d.py (renamed from archaeological_finds/migrations/0011_auto__add_field_historicalfind_weight_unit__add_field_historicalfind_d.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0012_auto__add_preservationtype__add_field_historicalfind_preservation_to_c.py (renamed from archaeological_finds/migrations/0012_auto__add_preservationtype__add_field_historicalfind_preservation_to_c.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0013_auto__del_field_historicalfind_discovery_date__del_field_find_discover.py (renamed from archaeological_finds/migrations/0013_auto__del_field_historicalfind_discovery_date__del_field_find_discover.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0014_auto__chg_field_find_dating.py (renamed from archaeological_finds/migrations/0014_auto__chg_field_find_dating.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0015_auto__add_field_historicalfind_external_id__add_field_find_external_id.py (renamed from archaeological_finds/migrations/0015_auto__add_field_historicalfind_external_id__add_field_find_external_id.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0016_auto__add_field_treatment_external_id__add_field_historicaltreatment_e.py (renamed from archaeological_finds/migrations/0016_auto__add_field_treatment_external_id__add_field_historicaltreatment_e.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0017_auto__add_field_findsource_external_id__add_field_treatmentsource_exte.py (renamed from archaeological_finds/migrations/0017_auto__add_field_findsource_external_id__add_field_treatmentsource_exte.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0018_auto.py (renamed from archaeological_finds/migrations/0018_auto.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0019_auto__chg_field_preservationtype_txt_idx__chg_field_treatmenttype_txt_.py (renamed from archaeological_finds/migrations/0019_auto__chg_field_preservationtype_txt_idx__chg_field_treatmenttype_txt_.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0020_auto__chg_field_historicalfind_weight_unit__chg_field_find_weight_unit.py (renamed from archaeological_finds/migrations/0020_auto__chg_field_historicalfind_weight_unit__chg_field_find_weight_unit.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0021_auto__add_objecttype__add_field_historicalfind_is_complete__add_field_.py (renamed from archaeological_finds/migrations/0021_auto__add_objecttype__add_field_historicalfind_is_complete__add_field_.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0022_auto__add_field_objecttype_parent.py (renamed from archaeological_finds/migrations/0022_auto__add_field_objecttype_parent.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0023_auto__del_field_historicalfind_heigth__add_field_historicalfind_height.py (renamed from archaeological_finds/migrations/0023_auto__del_field_historicalfind_heigth__add_field_historicalfind_height.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0024_auto.py (renamed from archaeological_finds/migrations/0024_auto.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0025_find_to_finds.py (renamed from archaeological_finds/migrations/0025_find_to_finds.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0026_auto__del_field_historicalfind_material_type_id__del_field_find_materi.py (renamed from archaeological_finds/migrations/0026_auto__del_field_historicalfind_material_type_id__del_field_find_materi.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0027_auto__add_field_historicalfind_index__add_field_find_index.py (renamed from archaeological_finds/migrations/0027_auto__add_field_historicalfind_index__add_field_find_index.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0028_auto.py (renamed from archaeological_finds/migrations/0028_auto.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0029_dating_to_datings.py (renamed from archaeological_finds/migrations/0029_dating_to_datings.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0030_auto__del_field_historicalfind_dating_id__del_field_find_dating.py (renamed from archaeological_finds/migrations/0030_auto__del_field_historicalfind_dating_id__del_field_find_dating.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0031_auto__add_field_historicalfind_dating_comment__add_field_find_dating_c.py (renamed from archaeological_finds/migrations/0031_auto__add_field_historicalfind_dating_comment__add_field_find_dating_c.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0032_auto__add_field_historicalfind_checked__add_field_find_checked.py (renamed from archaeological_finds/migrations/0032_auto__add_field_historicalfind_checked__add_field_find_checked.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0033_auto__add_field_historicalfind_check_date__add_field_find_check_date.py (renamed from archaeological_finds/migrations/0033_auto__add_field_historicalfind_check_date__add_field_find_check_date.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0034_auto__add_field_historicalbasefind_cache_short_id__add_field_historica.py (renamed from archaeological_finds/migrations/0034_auto__add_field_historicalbasefind_cache_short_id__add_field_historica.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0035_auto.py (renamed from archaeological_finds/migrations/0035_auto.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0036_preservation_to_preservations.py (renamed from archaeological_finds/migrations/0036_preservation_to_preservations.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0037_auto__del_field_historicalfind_preservation_to_consider_id__del_field_.py (renamed from archaeological_finds/migrations/0037_auto__del_field_historicalfind_preservation_to_consider_id__del_field_.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0038_auto__add_field_historicalbasefind_batch__add_field_basefind_batch.py (renamed from archaeological_finds/migrations/0038_auto__add_field_historicalbasefind_batch__add_field_basefind_batch.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0039_is_isolated_batch.py (renamed from archaeological_finds/migrations/0039_is_isolated_batch.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0040_auto__del_field_historicalbasefind_is_isolated__del_field_basefind_is_.py (renamed from archaeological_finds/migrations/0040_auto__del_field_historicalbasefind_is_isolated__del_field_basefind_is_.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0041_auto__add_integritytype.py (renamed from archaeological_finds/migrations/0041_auto__add_integritytype.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0042_auto__chg_field_historicalfind_label__chg_field_find_label__chg_field_.py (renamed from archaeological_finds/migrations/0042_auto__chg_field_historicalfind_label__chg_field_find_label__chg_field_.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0043_auto__add_field_findsource_duplicate__chg_field_findsource_internal_re.py (renamed from archaeological_finds/migrations/0043_auto__add_field_findsource_duplicate__chg_field_findsource_internal_re.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0044_auto__add_field_findsource_receipt_date_in_documentation__add_field_tr.py (renamed from archaeological_finds/migrations/0044_auto__add_field_findsource_receipt_date_in_documentation__add_field_tr.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0045_auto__add_findbasket__add_unique_findbasket_label_user.py (renamed from archaeological_finds/migrations/0045_auto__add_findbasket__add_unique_findbasket_label_user.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0046_auto__add_field_basefind_point__add_field_basefind_line__add_field_bas.py (renamed from archaeological_finds/migrations/0046_auto__add_field_basefind_point__add_field_basefind_line__add_field_bas.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0047_auto__add_field_historicalfind_conservatory_comment__add_field_histori.py (renamed from archaeological_finds/migrations/0047_auto__add_field_historicalfind_conservatory_comment__add_field_histori.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0048_auto__add_field_treatmenttype_upstream_is_many__add_field_treatmenttyp.py (renamed from archaeological_finds/migrations/0048_auto__add_field_treatmenttype_upstream_is_many__add_field_treatmenttyp.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0049_auto__chg_field_historicalfind_external_id__chg_field_find_external_id.py (renamed from archaeological_finds/migrations/0049_auto__chg_field_historicalfind_external_id__chg_field_find_external_id.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0050_auto__add_field_historicalfind_auto_external_id__add_field_find_auto_e.py (renamed from archaeological_finds/migrations/0050_auto__add_field_historicalfind_auto_external_id__add_field_find_auto_e.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0051_auto__add_remarkabilitytype.py (renamed from archaeological_finds/migrations/0051_auto__add_remarkabilitytype.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0052_auto__add_field_historicalfind_estimated_value__add_field_find_estimat.py (renamed from archaeological_finds/migrations/0052_auto__add_field_historicalfind_estimated_value__add_field_find_estimat.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0053_view_find_treatments.py (renamed from archaeological_finds/migrations/0053_view_find_treatments.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0054_rename_treatment_views.py (renamed from archaeological_finds/migrations/0054_rename_treatment_views.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0055_auto__add_field_findsource_image__add_field_findsource_thumbnail__add_.py (renamed from archaeological_finds/migrations/0055_auto__add_field_findsource_image__add_field_findsource_thumbnail__add_.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0056_auto__add_field_historicalfind_cached_label__add_field_find_cached_lab.py (renamed from archaeological_finds/migrations/0056_auto__add_field_historicalfind_cached_label__add_field_find_cached_lab.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0057_generate_cached_label.py (renamed from archaeological_finds/migrations/0057_generate_cached_label.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0058_auto__chg_field_historicalfind_image__chg_field_historicalfind_thumbna.py (renamed from archaeological_finds/migrations/0058_auto__chg_field_historicalfind_image__chg_field_historicalfind_thumbna.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0059_auto__add_field_historicalfind_thickness__add_field_find_thickness.py (renamed from archaeological_finds/migrations/0059_auto__add_field_historicalfind_thickness__add_field_find_thickness.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0060_auto__add_field_historicalfind_topographic_reference_point__add_field_.py (renamed from archaeological_finds/migrations/0060_auto__add_field_historicalfind_topographic_reference_point__add_field_.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0061_auto__add_field_historicalfind_min_number_of_individuals__add_field_fi.py (renamed from archaeological_finds/migrations/0061_auto__add_field_historicalfind_min_number_of_individuals__add_field_fi.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0062_auto__del_field_historicaltreatment_other_location__add_field_historic.py (renamed from archaeological_finds/migrations/0062_auto__del_field_historicaltreatment_other_location__add_field_historic.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0063_treats_generate_year_index.py (renamed from archaeological_finds/migrations/0063_treats_generate_year_index.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0064_auto__add_unique_treatment_index_year.py (renamed from archaeological_finds/migrations/0064_auto__add_unique_treatment_index_year.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0065_copy_treatment_types.py (renamed from archaeological_finds/migrations/0065_copy_treatment_types.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0066_auto__del_field_historicaltreatment_treatment_type_id__del_field_treat.py (renamed from archaeological_finds/migrations/0066_auto__del_field_historicaltreatment_treatment_type_id__del_field_treat.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0067_on_delete_for_views.py (renamed from archaeological_finds/migrations/0067_on_delete_for_views.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0068_auto__add_treatmentfile__add_unique_treatmentfile_year_index__add_hist.py (renamed from archaeological_finds/migrations/0068_auto__add_treatmentfile__add_unique_treatmentfile_year_index__add_hist.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0069_auto__add_field_historicaltreatment_file_id__add_field_treatment_file.py (renamed from archaeological_finds/migrations/0069_auto__add_field_historicaltreatment_file_id__add_field_treatment_file.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0070_auto__add_treatmentfilesource.py (renamed from archaeological_finds/migrations/0070_auto__add_treatmentfilesource.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0071_auto__add_field_historicaltreatment_cached_label__add_field_treatment_.py (renamed from archaeological_finds/migrations/0071_auto__add_field_historicaltreatment_cached_label__add_field_treatment_.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0072_auto__add_field_treatmentfile_applicant__add_field_treatmentfile_appli.py (renamed from archaeological_finds/migrations/0072_auto__add_field_treatmentfile_applicant__add_field_treatmentfile_appli.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0073_auto__add_treatmentstate__add_field_historicaltreatment_treatment_stat.py (renamed from archaeological_finds/migrations/0073_auto__add_treatmentstate__add_field_historicaltreatment_treatment_stat.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0074_auto__add_field_find_collection__add_field_historicalfind_collection_i.py (renamed from archaeological_finds/migrations/0074_auto__add_field_find_collection__add_field_historicalfind_collection_i.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0075_auto__chg_field_find_container__chg_field_find_upstream_treatment__chg.py (renamed from archaeological_finds/migrations/0075_auto__chg_field_find_container__chg_field_find_upstream_treatment__chg.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0076_auto__add_field_treatmenttype_order__add_field_treatmenttype_parent.py (renamed from archaeological_finds/migrations/0076_auto__add_field_treatmenttype_order__add_field_treatmenttype_parent.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0077_auto__add_field_historicaltreatment_estimated_cost__add_field_historic.py (renamed from archaeological_finds/migrations/0077_auto__add_field_historicaltreatment_estimated_cost__add_field_historic.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0078_fix_treatment_views.py (renamed from archaeological_finds/migrations/0078_fix_treatment_views.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0079_auto__del_field_find_topographic_reference_point__del_field_historical.py (renamed from archaeological_finds/migrations/0079_auto__del_field_find_topographic_reference_point__del_field_historical.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0080_auto__add_field_basefind_x__add_field_basefind_y__add_field_basefind_z.py (renamed from archaeological_finds/migrations/0080_auto__add_field_basefind_x__add_field_basefind_y__add_field_basefind_z.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0081_regenerate_treatment_views.py (renamed from archaeological_finds/migrations/0081_regenerate_treatment_views.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0082_auto__add_batchtype__add_field_basefind_new_batch__add_field_historica.py (renamed from archaeological_finds/migrations/0082_auto__add_batchtype__add_field_basefind_new_batch__add_field_historica.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0083_batch_to_new_batch.py (renamed from archaeological_finds/migrations/0083_batch_to_new_batch.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0084_auto__del_field_basefind_new_batch__chg_field_basefind_batch__del_fiel.py (renamed from archaeological_finds/migrations/0084_auto__del_field_basefind_new_batch__chg_field_basefind_batch__del_fiel.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/0085_create_bulk_update_view.py (renamed from archaeological_finds/migrations/0085_create_bulk_update_view.py) | 0 | ||||
| -rw-r--r-- | archaeological_finds/old_migrations/__init__.py | 0 | ||||
| -rw-r--r-- | archaeological_operations/migrations/0001_initial.py | 1038 | ||||
| -rw-r--r-- | archaeological_operations/migrations/0002_auto_20170414_2123.py | 365 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0001_initial.py | 655 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0002_views.py (renamed from archaeological_operations/migrations/0002_views.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0003_auto__add_field_operationtype_preventive.py (renamed from archaeological_operations/migrations/0003_auto__add_field_operationtype_preventive.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0004_auto__chg_field_historicaloperation_year__chg_field_operation_year.py (renamed from archaeological_operations/migrations/0004_auto__chg_field_historicaloperation_year__chg_field_operation_year.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0005_auto__chg_field_historicaloperation_operation_code__chg_field_operatio.py (renamed from archaeological_operations/migrations/0005_auto__chg_field_historicaloperation_operation_code__chg_field_operatio.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0006_auto__add_field_operationsource_reference__add_field_operationsource_i.py (renamed from archaeological_operations/migrations/0006_auto__add_field_operationsource_reference__add_field_operationsource_i.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0007_auto__chg_field_administrativeact_ref_sra__chg_field_historicaladminis.py (renamed from archaeological_operations/migrations/0007_auto__chg_field_administrativeact_ref_sra__chg_field_historicaladminis.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0008_auto__chg_field_operationsource_index__chg_field_operationsource_title.py (renamed from archaeological_operations/migrations/0008_auto__chg_field_operationsource_index__chg_field_operationsource_title.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0009_auto__add_field_historicaloperation_cached_label__add_field_operation_.py (renamed from archaeological_operations/migrations/0009_auto__add_field_historicaloperation_cached_label__add_field_operation_.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0010_auto__chg_field_historicaloperation_cached_label__chg_field_operation_.py (renamed from archaeological_operations/migrations/0010_auto__chg_field_historicaloperation_cached_label__chg_field_operation_.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0011_auto__add_field_historicaloperation_report_delivery_date__add_field_op.py (renamed from archaeological_operations/migrations/0011_auto__add_field_historicaloperation_report_delivery_date__add_field_op.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0012_auto.py (renamed from archaeological_operations/migrations/0012_auto.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0013_auto__add_field_acttype_code.py (renamed from archaeological_operations/migrations/0013_auto__add_field_acttype_code.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0014_auto__add_archaeologicalsite.py (renamed from archaeological_operations/migrations/0014_auto__add_archaeologicalsite.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0015_auto__add_unique_archaeologicalsite_reference.py (renamed from archaeological_operations/migrations/0015_auto__add_unique_archaeologicalsite_reference.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0016_auto__add_field_acttype_indexed__add_field_historicaladministrativeact.py (renamed from archaeological_operations/migrations/0016_auto__add_field_acttype_indexed__add_field_historicaladministrativeact.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0017_rename_in_charge_to_scientist.py (renamed from archaeological_operations/migrations/0017_rename_in_charge_to_scientist.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0018_auto__add_field_historicaloperation_in_charge_id__add_field_operation_.py (renamed from archaeological_operations/migrations/0018_auto__add_field_historicaloperation_in_charge_id__add_field_operation_.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0019_auto__add_field_historicaloperation_operator_id__add_field_operation_o.py (renamed from archaeological_operations/migrations/0019_auto__add_field_historicaloperation_operator_id__add_field_operation_o.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0020_auto__add_field_parcel_history_creator__add_field_historicaloperation_.py (renamed from archaeological_operations/migrations/0020_auto__add_field_parcel_history_creator__add_field_historicaloperation_.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0021_init_history_creator.py (renamed from archaeological_operations/migrations/0021_init_history_creator.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0022_auto__add_field_operationtype_order.py (renamed from archaeological_operations/migrations/0022_auto__add_field_operationtype_order.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0023_add_year_administrativact.py (renamed from archaeological_operations/migrations/0023_add_year_administrativact.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0024_reinit_history_creator.py (renamed from archaeological_operations/migrations/0024_reinit_history_creator.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0025_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py (renamed from archaeological_operations/migrations/0025_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0026_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py (renamed from archaeological_operations/migrations/0026_auto__chg_field_historicaladministrativeact_act_object__chg_field_admi.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0027_auto__add_field_historicaloperation_creation_date__add_field_operation.py (renamed from archaeological_operations/migrations/0027_auto__add_field_historicaloperation_creation_date__add_field_operation.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0028_init_creation_date.py (renamed from archaeological_operations/migrations/0028_init_creation_date.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0029_auto__chg_field_historicaloperation_creation_date__chg_field_operation.py (renamed from archaeological_operations/migrations/0029_auto__chg_field_historicaloperation_creation_date__chg_field_operation.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0030_auto__chg_field_parcel_history_creator__chg_field_parcel_history_modif.py (renamed from archaeological_operations/migrations/0030_auto__chg_field_parcel_history_creator__chg_field_parcel_history_modif.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0031_auto__add_field_parcel_address.py (renamed from archaeological_operations/migrations/0031_auto__add_field_parcel_address.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0032_auto__add_field_operationsource_support_type__add_field_operationsourc.py (renamed from archaeological_operations/migrations/0032_auto__add_field_operationsource_support_type__add_field_operationsourc.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0033_auto__add_field_parcel_external_id.py (renamed from archaeological_operations/migrations/0033_auto__add_field_parcel_external_id.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0034_auto__add_field_operationsource_external_id.py (renamed from archaeological_operations/migrations/0034_auto__add_field_operationsource_external_id.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0035_auto.py (renamed from archaeological_operations/migrations/0035_auto.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0036_auto.py (renamed from archaeological_operations/migrations/0036_auto.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0037_auto__chg_field_parcel_parcel_number__chg_field_operationtype_txt_idx_.py (renamed from archaeological_operations/migrations/0037_auto__chg_field_parcel_parcel_number__chg_field_operationtype_txt_idx_.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0038_auto__add_unique_operation_code_patriarche.py (renamed from archaeological_operations/migrations/0038_auto__add_unique_operation_code_patriarche.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0039_auto__add_recordrelations__add_relationtype.py (renamed from archaeological_operations/migrations/0039_auto__add_recordrelations__add_relationtype.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0040_auto__chg_field_parcel_external_id.py (renamed from archaeological_operations/migrations/0040_auto__chg_field_parcel_external_id.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0041_rename_ope_type_2_ope_type_old.py (renamed from archaeological_operations/migrations/0041_rename_ope_type_2_ope_type_old.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0042_rename_ope_type_2_ope_type_old_2.py (renamed from archaeological_operations/migrations/0042_rename_ope_type_2_ope_type_old_2.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0043_auto__add_field_historicaladministrativeact_departments_label__add_fie.py (renamed from archaeological_operations/migrations/0043_auto__add_field_historicaladministrativeact_departments_label__add_fie.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0044_auto__add_field_historicaloperation_virtual_operation__add_field_histo.py (renamed from archaeological_operations/migrations/0044_auto__add_field_historicaloperation_virtual_operation__add_field_histo.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0045_auto__chg_field_historicaloperation_common_name__chg_field_operation_c.py (renamed from archaeological_operations/migrations/0045_auto__chg_field_historicaloperation_common_name__chg_field_operation_c.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0046_auto__add_reportstate__add_field_historicaloperation_report_processing.py (renamed from archaeological_operations/migrations/0046_auto__add_reportstate__add_field_historicaloperation_report_processing.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0047_auto__add_field_operationsource_duplicate__chg_field_operationsource_i.py (renamed from archaeological_operations/migrations/0047_auto__add_field_operationsource_duplicate__chg_field_operationsource_i.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0048_auto__add_field_operationsource_receipt_date_in_documentation.py (renamed from archaeological_operations/migrations/0048_auto__add_field_operationsource_receipt_date_in_documentation.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0049_auto__add_field_historicaloperation_abstract__add_field_operation_abst.py (renamed from archaeological_operations/migrations/0049_auto__add_field_historicaloperation_abstract__add_field_operation_abst.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0050_auto__chg_field_historicaloperation_code_dracar__chg_field_operation_c.py (renamed from archaeological_operations/migrations/0050_auto__chg_field_historicaloperation_code_dracar__chg_field_operation_c.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0051_auto__add_field_historicaloperation_point__add_field_historicaloperati.py (renamed from archaeological_operations/migrations/0051_auto__add_field_historicaloperation_point__add_field_historicaloperati.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0052_auto__add_field_relationtype_short_label.py (renamed from archaeological_operations/migrations/0052_auto__add_field_relationtype_short_label.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0053_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py (renamed from archaeological_operations/migrations/0053_auto__del_field_relationtype_short_label__add_field_relationtype_tiny_.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0054_auto__add_field_parcel_auto_external_id.py (renamed from archaeological_operations/migrations/0054_auto__add_field_parcel_auto_external_id.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0055_auto__add_field_parcel_public_domain.py (renamed from archaeological_operations/migrations/0055_auto__add_field_parcel_public_domain.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0056_auto__chg_field_parcel_section.py (renamed from archaeological_operations/migrations/0056_auto__chg_field_parcel_section.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0057_rename_code_dracar_to_old_code.py (renamed from archaeological_operations/migrations/0057_rename_code_dracar_to_old_code.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0058_auto__add_field_operationsource_image__add_field_operationsource_thumb.py (renamed from archaeological_operations/migrations/0058_auto__add_field_operationsource_image__add_field_operationsource_thumb.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0059_auto__add_field_historicaloperation_documentation_deadline__add_field_.py (renamed from archaeological_operations/migrations/0059_auto__add_field_historicaloperation_documentation_deadline__add_field_.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0060_auto__add_field_historicaloperation_scientific_documentation_comment__.py (renamed from archaeological_operations/migrations/0060_auto__add_field_historicaloperation_scientific_documentation_comment__.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0061_regenerate_cached_label.py (renamed from archaeological_operations/migrations/0061_regenerate_cached_label.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0062_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py (renamed from archaeological_operations/migrations/0062_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py (renamed from archaeological_operations/migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0064_fix_old_operationtype.py (renamed from archaeological_operations/migrations/0064_fix_old_operationtype.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0065_auto__add_field_historicaloperation_address__add_field_operation_addre.py (renamed from archaeological_operations/migrations/0065_auto__add_field_historicaloperation_address__add_field_operation_addre.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0066_regenerate_cached_label.py (renamed from archaeological_operations/migrations/0066_regenerate_cached_label.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/0067_auto.py (renamed from archaeological_operations/migrations/0067_auto.py) | 0 | ||||
| -rw-r--r-- | archaeological_operations/old_migrations/__init__.py | 0 | ||||
| -rw-r--r-- | archaeological_warehouse/migrations/0001_initial.py | 399 | ||||
| -rw-r--r-- | archaeological_warehouse/migrations/0002_auto_20170414_2123.py | 105 | ||||
| -rw-r--r-- | archaeological_warehouse/old_migrations/0001_initial.py | 229 | ||||
| -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__.py | 0 | ||||
| -rw-r--r-- | ishtar_common/migrations/0001_initial.py | 1209 | ||||
| -rw-r--r-- | ishtar_common/models.py | 2 | ||||
| -rw-r--r-- | ishtar_common/old_migrations/0001_initial.py | 408 | ||||
| -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__.py | 0 | ||||
| -rw-r--r-- | ishtar_common/utils.py | 4 | 
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__)  | 
