diff options
Diffstat (limited to 'ishtar_common')
25 files changed, 3532 insertions, 1131 deletions
diff --git a/ishtar_common/fixtures/initial_importtypes-fr.json b/ishtar_common/fixtures/initial_importtypes-fr.json index 98703c8c9..0592ca60f 100644 --- a/ishtar_common/fixtures/initial_importtypes-fr.json +++ b/ishtar_common/fixtures/initial_importtypes-fr.json @@ -6,7 +6,8 @@ "description": "Import depuis la base filemaker du SRA PdL", "is_template": true, "unicity_keys": "code_patriarche", - "users": [], + "users": [ + ], "slug": "operatio", "associated_models": "archaeological_operations.models.Operation", "name": "OPERATIO - Op\u00e9rations" @@ -19,7 +20,8 @@ "description": "Test d'import depuis le DBF simplifi\u00e9 de patrairche", "is_template": true, "unicity_keys": null, - "users": [], + "users": [ + ], "slug": null, "associated_models": "archaeological_operations.models.Operation", "name": "OPE PATRIARCHE DBF simplifi\u00e9 (TEST)" @@ -32,7 +34,8 @@ "description": "Import simple d'UE (pas de relations)", "is_template": true, "unicity_keys": null, - "users": [], + "users": [ + ], "slug": null, "associated_models": "archaeological_context_records.models.ContextRecord", "name": "SISPEO_UE" @@ -169,6 +172,32 @@ } }, { + "pk": 18, + "model": "ishtar_common.importertype", + "fields": { + "description": "Unit\u00e9s d'enregisttrement", + "is_template": true, + "unicity_keys": "external_id", + "users": [], + "slug": "ishtar_context_record", + "associated_models": "archaeological_context_records.models.ContextRecord", + "name": "ISHTAR-UE" + } + }, + { + "pk": 19, + "model": "ishtar_common.importertype", + "fields": { + "description": "Parcelles de terrain", + "is_template": true, + "unicity_keys": "external_id", + "users": [], + "slug": "ishtar_parcels", + "associated_models": "archaeological_operations.models.Parcel", + "name": "ISHTAR-PARCELLES" + } + }, + { "pk": 17, "model": "ishtar_common.importertype", "fields": { @@ -178,7 +207,20 @@ "users": [], "slug": "ishtar_operations", "associated_models": "archaeological_operations.models.Operation", - "name": "ISHTAR-Operations" + "name": "ISHTAR-OP\u00c9RATIONS" + } + }, + { + "pk": 20, + "model": "ishtar_common.importertype", + "fields": { + "description": "Mobilier", + "is_template": true, + "unicity_keys": "external_id", + "users": [], + "slug": "ishtar_finds", + "associated_models": "archaeological_finds.models.BaseFind", + "name": "ISHTAR-MOBILIER" } }, { @@ -391,10 +433,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "required": true, - "importer_type": 1, "description": "Code patriarche", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 1 } }, { @@ -402,10 +445,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "required": true, - "importer_type": 1, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 1 } }, { @@ -413,10 +457,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "required": true, - "importer_type": 1, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 1 } }, { @@ -424,10 +469,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "required": true, - "importer_type": 1, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 1 } }, { @@ -435,10 +481,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 6, - "required": true, - "importer_type": 1, "description": "Nom du responsable de l'op\u00e9ration. Nom et Pr\u00e9nom sont group\u00e9 et donc mis dans le NOM seul dans l'annuaire.", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 1 } }, { @@ -446,10 +493,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 7, - "required": true, - "importer_type": 1, "description": "Date de d\u00e9but de l'op\u00e9ration avec le format ANN\u00c9E/MOIS/JOUR", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 1 } }, { @@ -457,10 +505,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 8, - "required": true, - "importer_type": 1, "description": "Date de fin de l'op\u00e9ration avec le format ANN\u00c9E/MOIS/JOUR", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 1 } }, { @@ -468,10 +517,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 9, - "required": false, - "importer_type": 1, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 1 } }, { @@ -479,10 +529,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "required": true, - "importer_type": 2, "description": "Code patriarche de l'op\u00e9ration associ\u00e9e", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 2 } }, { @@ -490,10 +541,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 2, - "required": true, - "importer_type": 2, "description": "Commune (via num\u00e9ro INSEE)", - "regexp_pre_filter": 2 + "regexp_pre_filter": 2, + "required": true, + "label": null, + "importer_type": 2 } }, { @@ -501,10 +553,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "required": true, - "importer_type": 2, "description": "Identifiant externe", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 2 } }, { @@ -512,10 +565,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "required": false, - "importer_type": 2, "description": "Num\u00e9ro", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 2 } }, { @@ -523,10 +577,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "required": false, - "importer_type": 2, "description": "Section", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 2 } }, { @@ -534,10 +589,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 6, - "required": false, - "importer_type": 2, "description": "Ann\u00e9e", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 2 } }, { @@ -545,10 +601,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 9, - "required": false, - "importer_type": 2, "description": "Lieu dit / adresse", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 2 } }, { @@ -556,10 +613,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "required": true, - "importer_type": 3, "description": "Code patriarche de l'op\u00e9ration associ\u00e9e", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 3 } }, { @@ -567,10 +625,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 2, - "required": true, - "importer_type": 3, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 3 } }, { @@ -578,10 +637,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "required": true, - "importer_type": 3, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 3 } }, { @@ -589,10 +649,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "required": false, - "importer_type": 3, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 3 } }, { @@ -600,10 +661,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "required": false, - "importer_type": 3, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 3 } }, { @@ -611,10 +673,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 6, - "required": false, - "importer_type": 3, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 3 } }, { @@ -622,10 +685,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 7, - "required": false, - "importer_type": 3, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 3 } }, { @@ -633,10 +697,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 8, - "required": false, - "importer_type": 3, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 3 } }, { @@ -644,10 +709,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 9, - "required": false, - "importer_type": 3, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 3 } }, { @@ -655,10 +721,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 12, - "required": false, - "importer_type": 3, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 3 } }, { @@ -666,10 +733,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 13, - "required": false, - "importer_type": 3, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 3 } }, { @@ -677,10 +745,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 16, - "required": false, - "importer_type": 3, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 3 } }, { @@ -688,10 +757,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "required": true, - "importer_type": 4, "description": "Code patriarche de l'op\u00e9ration associ\u00e9e", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 4 } }, { @@ -699,10 +769,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 2, - "required": true, - "importer_type": 4, "description": "Commune (via num\u00e9ro INSEE)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 4 } }, { @@ -710,10 +781,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "required": true, - "importer_type": 4, "description": "Parcelle (identifiant externe)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 4 } }, { @@ -721,10 +793,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "required": true, - "importer_type": 4, "description": "Label / Identifiant externe ", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 4 } }, { @@ -732,10 +805,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "required": false, - "importer_type": 4, "description": "Type", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 4 } }, { @@ -743,10 +817,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 6, - "required": false, - "importer_type": 4, "description": "Description", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 4 } }, { @@ -754,10 +829,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 7, - "required": false, - "importer_type": 4, "description": "Identification", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 4 } }, { @@ -765,10 +841,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 8, - "required": false, - "importer_type": 4, "description": "Date d'ouverture", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 4 } }, { @@ -776,10 +853,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 9, - "required": false, - "importer_type": 4, "description": "Date de fermeture", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 4 } }, { @@ -787,10 +865,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 11, - "required": false, - "importer_type": 4, "description": "Commentaire", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 4 } }, { @@ -798,10 +877,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 12, - "required": false, - "importer_type": 4, "description": "Nature", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 4 } }, { @@ -809,10 +889,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 13, - "required": false, - "importer_type": 4, "description": "Chronologie (plusieurs possibles s\u00e9par\u00e9es par &)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 4 } }, { @@ -820,10 +901,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "required": true, - "importer_type": 5, "description": "Code patriarche de l'op\u00e9ration associ\u00e9e", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 5 } }, { @@ -831,10 +913,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 2, - "required": true, - "importer_type": 5, "description": "Commune (via num\u00e9ro INSEE)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 5 } }, { @@ -842,10 +925,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "required": true, - "importer_type": 5, "description": "Identifiant parcelle", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 5 } }, { @@ -853,10 +937,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "required": true, - "importer_type": 5, "description": "Identifiant UE", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 5 } }, { @@ -864,10 +949,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "required": true, - "importer_type": 5, "description": "Identifiant externe", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 5 } }, { @@ -875,10 +961,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 9, - "required": false, - "importer_type": 5, "description": "Sous classe de mat\u00e9riaux", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 5 } }, { @@ -886,10 +973,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 12, - "required": false, - "importer_type": 5, "description": "Ref. du contenant / label temporaire utilis\u00e9 pour le mobilier = label libre = Label pour l'instant", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 5 } }, { @@ -897,10 +985,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 13, - "required": false, - "importer_type": 5, "description": "Nombre d'\u00e9l\u00e9ments", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 5 } }, { @@ -908,10 +997,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 14, - "required": false, - "importer_type": 5, "description": "Poids", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 5 } }, { @@ -919,10 +1009,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 15, - "required": false, - "importer_type": 5, "description": "Unit\u00e9 de poids", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 5 } }, { @@ -930,10 +1021,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 16, - "required": false, - "importer_type": 5, "description": "Date de d\u00e9couverte", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 5 } }, { @@ -941,10 +1033,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 17, - "required": false, - "importer_type": 5, "description": "\u00c9tat de conservation", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 5 } }, { @@ -952,10 +1045,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 18, - "required": false, - "importer_type": 5, "description": "Mesure de conservation", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 5 } }, { @@ -963,10 +1057,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 19, - "required": false, - "importer_type": 5, "description": "Commentaire", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 5 } }, { @@ -974,10 +1069,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 20, - "required": false, - "importer_type": 5, "description": "Datations s\u00e9par\u00e9es par des \"&\"", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 5 } }, { @@ -985,10 +1081,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 21, - "required": false, - "importer_type": 5, "description": "Localisation topographique", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 5 } }, { @@ -996,10 +1093,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 22, - "required": false, - "importer_type": 5, "description": "Int\u00e9r\u00eat sp\u00e9cifique", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 5 } }, { @@ -1007,10 +1105,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 23, - "required": false, - "importer_type": 5, "description": "Description", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 5 } }, { @@ -1018,10 +1117,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "required": true, - "importer_type": 6, "description": "Type d'op\u00e9ration patriarche (ex: EV, AET, OPD, etc.)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 6 } }, { @@ -1029,10 +1129,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 2, - "required": false, - "importer_type": 6, "description": "Intitul\u00e9 de l'op\u00e9ration dans Patriarche", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 6 } }, { @@ -1040,10 +1141,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "required": false, - "importer_type": 6, "description": "Nom du responsable de l'op\u00e9ration", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 6 } }, { @@ -1051,10 +1153,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "required": false, - "importer_type": 6, "description": "Pr\u00e9nom du responsable de l'op\u00e9ration", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 6 } }, { @@ -1062,10 +1165,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "required": false, - "importer_type": 6, "description": "Chronologie dans PATRIARCHE, h\u00e9las une seule chronologie est enregistr\u00e9e", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 6 } }, { @@ -1073,10 +1177,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 8, - "required": false, - "importer_type": 6, "description": "Date du d\u00e9but de l'op\u00e9ration au format jour/mois/ann\u00e9e", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 6 } }, { @@ -1084,10 +1189,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 9, - "required": false, - "importer_type": 6, "description": "Date du fin de l'op\u00e9ration au format jour/mois/ann\u00e9e", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 6 } }, { @@ -1095,10 +1201,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 10, - "required": false, - "importer_type": 6, "description": "Identification de l'op\u00e9ration, import\u00e9 en tant que commentaire", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 6 } }, { @@ -1106,10 +1213,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 11, - "required": true, - "importer_type": 6, "description": "CODE Patriarche de l'op\u00e9ration, AVEC le code REGION", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 6 } }, { @@ -1117,10 +1225,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 12, - "required": false, - "importer_type": 6, "description": "Surface en m2", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 6 } }, { @@ -1128,10 +1237,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "required": true, - "importer_type": 7, "description": "Code OA avec le num\u00e9ro de r\u00e9gion (ex: 18 pour les PdL)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 7 } }, { @@ -1139,10 +1249,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 2, - "required": true, - "importer_type": 7, "description": "Code de l'UE (peut \u00eatre la concat\u00e9nation de fait + US ou autre)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 7 } }, { @@ -1150,10 +1261,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "required": true, - "importer_type": 7, "description": "Parcelle (peut \u00eatre li\u00e9 \u00e0 une parcelle virtuelle, ex: XXX 0)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 7 } }, { @@ -1161,10 +1273,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "required": false, - "importer_type": 7, "description": "Commentaire", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 7 } }, { @@ -1172,10 +1285,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "required": false, - "importer_type": 7, "description": "Type d'UE : identification", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 7 } }, { @@ -1183,10 +1297,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 6, - "required": false, - "importer_type": 7, "description": "Description de l'UE consid\u00e9r\u00e9e", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 7 } }, { @@ -1194,10 +1309,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 7, - "required": false, - "importer_type": 7, "description": "Datation (p\u00e9riode) pour l'UE s\u00e9par\u00e9es par un &", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 7 } }, { @@ -1205,10 +1321,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "required": true, - "importer_type": 8, "description": "Code patriarche de l'op\u00e9ration associ\u00e9e", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 8 } }, { @@ -1216,10 +1333,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 2, - "required": true, - "importer_type": 8, "description": "Code Document de SISPEO, soit l'identifiant complet (ancien du mobilier), ex: M.CE.0091_XXX.XX_0030", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 8 } }, { @@ -1227,10 +1345,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "required": true, - "importer_type": 8, "description": "UE - a passer en majuscule dans l'export csv de SISPEO / bien v\u00e9rifier qu'il n'y a pas de doublons dans l'import des UE pr\u00e9c\u00e9dent", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 8 } }, { @@ -1238,10 +1357,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "required": false, - "importer_type": 8, "description": "Type de manti\u00e8re de mobilier, s\u00e9par\u00e9s par des \"&\"", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1249,10 +1369,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "required": false, - "importer_type": 8, "description": "\u00c9tat de conservation / lien avec une liste", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1260,10 +1381,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 6, - "required": false, - "importer_type": 8, "description": "Commentaire", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1271,10 +1393,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 7, - "required": false, - "importer_type": 8, "description": "Identifiant pr\u00e9c\u00e9dent / label libre", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1282,10 +1405,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 8, - "required": false, - "importer_type": 8, "description": "Contient des objets complets ou non (pb il peut aussi y en avoir des incomplets m\u00e9lang\u00e9s \u00e0 des complets non isol\u00e9s...)\r\nA Am\u00e9liorer", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1293,10 +1417,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 9, - "required": false, - "importer_type": 8, "description": "Datations s\u00e9par\u00e9es par des \"&\"", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1304,10 +1429,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 10, - "required": false, - "importer_type": 8, "description": "Description de l'objet ou du lot d'objet", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1315,10 +1441,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 11, - "required": false, - "importer_type": 8, "description": "Nombre d'objets", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1326,10 +1453,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 12, - "required": false, - "importer_type": 8, "description": "Poids (en g)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1337,10 +1465,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 13, - "required": false, - "importer_type": 8, "description": "Longueur en cm", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1348,10 +1477,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 14, - "required": false, - "importer_type": 8, "description": "Largeur en cm", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1359,10 +1489,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 15, - "required": false, - "importer_type": 8, "description": "Hauteur en cm", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1370,10 +1501,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 16, - "required": false, - "importer_type": 8, "description": "Diam\u00e8tre en cm", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1381,10 +1513,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 18, - "required": false, - "importer_type": 8, "description": "Datation pr\u00e9cise, champs txt libre", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1392,10 +1525,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 19, - "required": false, - "importer_type": 8, "description": "Types d'objets se r\u00e9f\u00e9ren\u00e7ant par rapport \u00e0 un th\u00e9saurus", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1403,10 +1537,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 20, - "required": false, - "importer_type": 8, "description": "Isolation ou lot d'objets", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 8 } }, { @@ -1414,10 +1549,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "required": true, - "importer_type": 9, "description": "Code patriarche de l'op\u00e9ration associ\u00e9e", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 9 } }, { @@ -1425,10 +1561,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 2, - "required": true, - "importer_type": 9, "description": "Commune (via num\u00e9ro INSEE)", - "regexp_pre_filter": 2 + "regexp_pre_filter": 2, + "required": true, + "label": null, + "importer_type": 9 } }, { @@ -1436,10 +1573,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "required": true, - "importer_type": 9, "description": "Section de la parcelle", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 9 } }, { @@ -1447,10 +1585,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "required": true, - "importer_type": 9, "description": "Num\u00e9ro de la parcelle (ex: 125)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 9 } }, { @@ -1458,10 +1597,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "required": true, - "importer_type": 10, "description": "Numero OA reference", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 10 } }, { @@ -1469,10 +1609,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 2, - "required": true, - "importer_type": 10, "description": "Ref\u00e9rence pr\u00e9c\u00e9dente de l'objet (base ou inventaire pr\u00e9c\u00e9dent, fouille, sp\u00e9cialiste, etc;)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 10 } }, { @@ -1480,10 +1621,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "required": true, - "importer_type": 10, "description": "UE li\u00e9e au mobilier", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 10 } }, { @@ -1491,10 +1633,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "required": true, - "importer_type": 10, "description": "Mati\u00e8res s\u00e9par\u00e9es par des \"&\"", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 10 } }, { @@ -1502,10 +1645,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "required": false, - "importer_type": 10, "description": "Etat de conservation", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 10 } }, { @@ -1513,10 +1657,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 6, - "required": false, - "importer_type": 10, "description": "Commentaires", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 10 } }, { @@ -1524,10 +1669,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 7, - "required": false, - "importer_type": 10, "description": "Label libre", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 10 } }, { @@ -1535,10 +1681,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 2, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1546,10 +1693,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1557,10 +1705,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1568,10 +1717,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 9, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1579,10 +1729,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 10, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1590,10 +1741,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 12, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1601,10 +1753,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 13, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1612,10 +1765,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 14, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1623,10 +1777,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 16, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1634,10 +1789,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 18, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1645,10 +1801,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 19, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1656,10 +1813,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 20, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1667,10 +1825,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 35, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1678,10 +1837,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 37, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1689,10 +1849,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 38, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1700,10 +1861,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 41, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1711,10 +1873,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 42, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1722,10 +1885,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 47, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1733,10 +1897,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 49, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1744,10 +1909,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 50, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1755,10 +1921,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 53, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1766,10 +1933,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 54, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1777,10 +1945,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 55, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1788,10 +1957,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 57, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1799,10 +1969,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 58, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1810,10 +1981,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 72, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1821,10 +1993,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 75, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1832,10 +2005,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 76, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1843,10 +2017,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 77, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1854,10 +2029,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 85, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1865,10 +2041,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 87, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1876,10 +2053,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 88, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1887,10 +2065,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 89, - "required": false, - "importer_type": 14, "description": null, - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 14 } }, { @@ -1898,10 +2077,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "required": true, - "importer_type": 15, "description": "Code Patriarche", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 15 } }, { @@ -1909,10 +2089,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "required": false, - "importer_type": 15, "description": "Type d'op\u00e9ration", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 15 } }, { @@ -1920,10 +2101,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "required": false, - "importer_type": 15, "description": "Nom de l'op\u00e9ration", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 15 } }, { @@ -1931,10 +2113,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "required": false, - "importer_type": 15, "description": "Nom de l'op\u00e9rateur", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 15 } }, { @@ -1942,10 +2125,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 6, - "required": false, - "importer_type": 15, "description": "Nom du responsable de l'op\u00e9ration.", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 15 } }, { @@ -1953,10 +2137,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 7, - "required": false, - "importer_type": 15, "description": "Pr\u00e9nom du responsable de l'op\u00e9ration.", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 15 } }, { @@ -1964,10 +2149,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 8, - "required": false, - "importer_type": 15, "description": "Date de d\u00e9but de l'op\u00e9ration avec le format ANN\u00c9E/MOIS/JOUR", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 15 } }, { @@ -1975,10 +2161,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 9, - "required": false, - "importer_type": 15, "description": "Date de fin de l'op\u00e9ration avec le format ANN\u00c9E/MOIS/JOUR", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 15 } }, { @@ -1986,10 +2173,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 10, - "required": false, - "importer_type": 15, "description": "P\u00e9riodes chronologiques", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 15 } }, { @@ -1997,10 +2185,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 11, - "required": false, - "importer_type": 15, "description": "Ann\u00e9e de r\u00e9f\u00e9rence administrative", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 15 } }, { @@ -2008,10 +2197,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 12, - "required": false, - "importer_type": 15, "description": "Num\u00e9ro de r\u00e9f\u00e9rence administrative de l'op\u00e9ration", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 15 } }, { @@ -2019,10 +2209,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 13, - "required": false, - "importer_type": 15, "description": "Ancienne ref type DRACAR", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 15 } }, { @@ -2030,10 +2221,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 14, - "required": false, - "importer_type": 15, "description": "Commentaires", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 15 } }, { @@ -2041,10 +2233,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 15, - "required": false, - "importer_type": 15, "description": "Date de rendu du rapport (du premier si il y en a plusieurs)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 15 } }, { @@ -2052,10 +2245,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 16, - "required": false, - "importer_type": 15, "description": "\u00c9tat de traitement des rapports", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 15 } }, { @@ -2063,10 +2257,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "required": false, - "importer_type": 16, "description": "Adresse du domicile", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2074,10 +2269,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 2, - "required": false, - "importer_type": 16, "description": "Courriel", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2085,10 +2281,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "required": false, - "importer_type": 16, "description": "Adresse", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2096,10 +2293,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "required": false, - "importer_type": 16, "description": "Commentaire : #AFEAF", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2107,10 +2305,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 7, - "required": false, - "importer_type": 16, "description": "Commentaire : #BSR_CONTRI", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2118,10 +2317,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 10, - "required": false, - "importer_type": 16, "description": "Code postal domicie", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2129,10 +2329,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 11, - "required": false, - "importer_type": 16, "description": "Code postal", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2140,10 +2341,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 17, - "required": false, - "importer_type": 16, "description": "Quelle est l'adresse pr\u00e9f\u00e9r\u00e9e ? (pro/domicile)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2151,10 +2353,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 19, - "required": false, - "importer_type": 16, "description": "Type de contact", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2162,10 +2365,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 28, - "required": false, - "importer_type": 16, "description": "Nom", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2173,10 +2377,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 29, - "required": false, - "importer_type": 16, "description": "Nom de la structure associ\u00e9e", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2184,10 +2389,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 31, - "required": false, - "importer_type": 16, "description": "Commentaire", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2195,10 +2401,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 32, - "required": false, - "importer_type": 16, "description": "T\u00e9l\u00e9phone champs brut", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2206,10 +2413,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 33, - "required": false, - "importer_type": 16, "description": "Pays du domicile", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2217,10 +2425,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 34, - "required": false, - "importer_type": 16, "description": "Pays", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2228,10 +2437,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 36, - "required": false, - "importer_type": 16, "description": "Pr\u00e9nom", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2239,10 +2449,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 37, - "required": false, - "importer_type": 16, "description": "Titre", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2250,10 +2461,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 41, - "required": false, - "importer_type": 16, "description": "Type de t\u00e9l\u00e9phone (\u00e0 retraiter)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2261,10 +2473,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 42, - "required": false, - "importer_type": 16, "description": "Ville du domicile", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2272,10 +2485,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 43, - "required": false, - "importer_type": 16, "description": "Ville", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 16 } }, { @@ -2283,10 +2497,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, + "description": "Code PATRIARCHE\r\n ou\r\n code num\u00e9rique (entier) UNIQUE pour une op\u00e9ration", + "regexp_pre_filter": null, "required": true, - "importer_type": 17, - "description": "Code patriarche ou code num\u00e9rique (entier) unique pour une op\u00e9ration", - "regexp_pre_filter": null + "label": "CODE OPERATION", + "importer_type": 17 } }, { @@ -2294,10 +2509,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 2, - "required": true, - "importer_type": 17, "description": "Nom usuel de l'op\u00e9ration", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": "Nom", + "importer_type": 17 } }, { @@ -2305,10 +2521,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "required": true, - "importer_type": 17, "description": "Ann\u00e9e de r\u00e9f\u00e9rence (peut \u00eatre celle o\u00f9 le projet d'op\u00e9ration a \u00e9t\u00e9 cr\u00e9\u00e9 ou bien celle de la r\u00e9alisation selon votre usage) ", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": "Ann\u00e9e", + "importer_type": 17 } }, { @@ -2316,10 +2533,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "required": false, - "importer_type": 17, "description": "Index (num\u00e9ro par ann\u00e9e), le couple ann\u00e9e + index doit \u00eatre unique", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2327,10 +2545,23 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "required": true, - "importer_type": 17, "description": "Type d'op\u00e9ration (parmi une liste)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 17 + } + }, + { + "pk": 335, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 6, + "description": "Ancien code unique de l'op\u00e9ration, peut \u00eatre la r\u00e9f\u00e9rence unique d'une op\u00e9ration pass\u00e9e comme un code DRACAR par exemple, 200 carac. max.", + "regexp_pre_filter": null, + "required": false, + "label": "Ancien code", + "importer_type": 17 } }, { @@ -2338,10 +2569,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 7, + "description": "R\u00e9f\u00e9rence du dossier administratif associ\u00e9 \u00e0 l'op\u00e9ration sous la forme ANNEE-INDEX. Exemple : \"2002-4\".", + "regexp_pre_filter": null, "required": false, - "importer_type": 17, - "description": "R\u00e9f\u00e9rence du dossier administratif associ\u00e9 \u00e0 l'op\u00e9ration sous la forme ANNEE-INDEX par exemple : \"2002-4\"", - "regexp_pre_filter": null + "label": "", + "importer_type": 17 } }, { @@ -2349,10 +2581,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 8, - "required": false, - "importer_type": 17, "description": "Identifiants des sites (entit\u00e9s arch\u00e9ologiques) concern\u00e9es par l'op\u00e9ration, s\u00e9par\u00e9es par \u00ab\u00a0&\u00a0\u00bb. \r\nExemple : \"44 125 0028 & 44 125 0029\"", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": "", + "importer_type": 17 } }, { @@ -2360,10 +2593,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 9, - "required": false, - "importer_type": 17, "description": "Types de vestiges (s\u00e9par\u00e9s par un \u00ab\u00a0&\u00a0\u00bb)\r\nExemple : \"four & fosses & villa\"", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2371,10 +2605,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 10, + "description": "P\u00e9riodes concern\u00e9es (s\u00e9par\u00e9es par un \u00ab\u00a0&\u00a0\u00bb). \r\nExemple : \"Gallo-romain & Fer & Med\".", + "regexp_pre_filter": null, "required": false, - "importer_type": 17, - "description": "P\u00e9riodes concern\u00e9es (s\u00e9par\u00e9es par un \u00ab\u00a0&\u00a0\u00bb)\r\nExemple : \"Gallo-romain & Fer & Med\"", - "regexp_pre_filter": null + "label": "", + "importer_type": 17 } }, { @@ -2382,10 +2617,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 11, - "required": false, - "importer_type": 17, "description": "Titre (M., Mme), du responsable d'op\u00e9ration (RO)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2393,10 +2629,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 12, - "required": false, - "importer_type": 17, "description": "Pr\u00e9nom du Responsable scientifique (responsable d'op\u00e9ration)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2404,10 +2641,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 13, - "required": false, - "importer_type": 17, "description": "Nom du Responsable scientifique (responsable d'op\u00e9ration)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2415,10 +2653,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 14, + "description": "Rattachement du Responsable scientifique (responsable d'op\u00e9ration)\r\nExemple : \"INRAP\" ou plus pr\u00e9cis \"INRAP Direction interr\u00e9gionale Grand Ouest\" selon votre degr\u00e9 de pr\u00e9cision dans la gestion des rattachements et des organisations.", + "regexp_pre_filter": null, "required": false, - "importer_type": 17, - "description": "Rattachement du Responsable scientifique (responsable d'op\u00e9ration)\r\nExemple : \"INRAP\" ou plus pr\u00e9cis \"INRAP Direction interr\u00e9gionale Grand Ouest\" selon votre degr\u00e9 de pr\u00e9cision dans la gestion des rattachements et des organisation.", - "regexp_pre_filter": null + "label": null, + "importer_type": 17 } }, { @@ -2426,10 +2665,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 15, + "description": "Nom de l'op\u00e9rateur (organisation). Peut \u00eatre diff\u00e9rent de l'organisation de rattachement du responsable d'op\u00e9ration.", + "regexp_pre_filter": null, "required": false, - "importer_type": 17, - "description": "Nom de l'op\u00e9rateur (organisation)", - "regexp_pre_filter": null + "label": null, + "importer_type": 17 } }, { @@ -2437,10 +2677,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 16, - "required": false, - "importer_type": 17, "description": "R\u00e9f\u00e9rence de l'op\u00e9rateur (code ou autre r\u00e9f\u00e9rence interne de l'op\u00e9rateur)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2448,10 +2689,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 17, - "required": false, - "importer_type": 17, "description": "Titre (M., Mme), du responsable du suivi scientifique", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2459,10 +2701,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 18, - "required": false, - "importer_type": 17, "description": "Pr\u00e9nom du responsable du suivi scientifique (ex\u00a0: resp. SRA ou pilote de l'op\u00e9ration, mais non responsable de celle-ci)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2470,10 +2713,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 19, - "required": false, - "importer_type": 17, "description": "Nom du responsable du suivi scientifique (ex : resp. SRA ou pilote de l'op\u00e9ration, mais non responsable de celle-ci)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2481,10 +2725,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 20, - "required": false, - "importer_type": 17, "description": "Rattachement du resp. du suivi scientifique", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2492,10 +2737,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 21, - "required": false, - "importer_type": 17, "description": "Surface couverte par l'op\u00e9ration (m2)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2503,10 +2749,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 22, - "required": false, - "importer_type": 17, "description": "Date de d\u00e9but de l'op\u00e9ration (d\u00e9but du terrain d'ordinaire mais vous pouvez utiliser autre chose)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2514,10 +2761,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 23, - "required": false, - "importer_type": 17, "description": "Date de fin de l'op\u00e9ration (fin du terrain d'ordinaire mais vous pouvez utiliser autre chose)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2525,10 +2773,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 24, - "required": false, - "importer_type": 17, "description": "Date de cl\u00f4ture (peut-\u00eatre la date de rendu de la documentation, la fin de la recherche associ\u00e9e ou autre) d\u2019ordinaire cela repr\u00e9sente la date \u00e0 partir de laquelle la documentation issue de l'op\u00e9ration n'est plus du ressort du responsable d'op\u00e9ration, mais vous pouvez utiliser autre chose.", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2536,10 +2785,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 25, - "required": false, - "importer_type": 17, "description": "Date d'avis (ex\u00a0: avis de CIRA ou autre selon votre usage)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2547,10 +2797,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 26, - "required": false, - "importer_type": 17, "description": "R\u00e9sultats consid\u00e9r\u00e9s comme n\u00e9gatif (d\u2019ordinaire utilis\u00e9 pour les diagnostics n\u00e9gatifs)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2558,10 +2809,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 27, - "required": false, - "importer_type": 17, "description": "Pr\u00e9nom du rapporteur (CIRA ou autre selon votre usage de la notion d'avis)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2569,10 +2821,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 28, - "required": false, - "importer_type": 17, "description": "Nom du rapporteur (CIRA ou autre selon votre usage de la notion d'avis)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2580,10 +2833,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 29, - "required": false, - "importer_type": 17, "description": "Rattachement rapporteur (organisation)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2591,10 +2845,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 30, - "required": false, - "importer_type": 17, "description": "Date limite pr\u00e9vue pour le rendu de la documentation scientifique", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2602,10 +2857,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 31, - "required": false, - "importer_type": 17, "description": "Documentation re\u00e7ue", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2613,10 +2869,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 32, - "required": false, - "importer_type": 17, "description": "Date limite pr\u00e9vue pour le rendu du mobilier", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2624,10 +2881,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 33, + "description": "Mobilier re\u00e7u ou livr\u00e9 selon vos usages et proc\u00e9dures", + "regexp_pre_filter": null, "required": false, - "importer_type": 17, - "description": "Mobilier re\u00e7u (ou livr\u00e9)", - "regexp_pre_filter": null + "label": null, + "importer_type": 17 } }, { @@ -2635,10 +2893,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 34, - "required": false, - "importer_type": 17, "description": "Commentaire g\u00e9n\u00e9ral", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2646,10 +2905,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 35, - "required": false, - "importer_type": 17, "description": "Date de livraison du rapport", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2657,10 +2917,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 36, - "required": false, - "importer_type": 17, "description": "\u00c9tat de traitement du rapport", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2668,10 +2929,11 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 37, - "required": false, - "importer_type": 17, "description": "Commentaire sur la documentation scientifique (y compris mobilier)", - "regexp_pre_filter": null + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 17 } }, { @@ -2679,34 +2941,765 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 38, + "description": "Nom du fichier image (jpg ou png), exemple \"IMG_5023.jpg\"\r\nLes fichiers images doivent \u00eatre joints \u00e0 l'import dans un fichier ZIP", + "regexp_pre_filter": null, "required": false, - "importer_type": 17, - "description": "Image (nom du fichier)", - "regexp_pre_filter": null + "label": null, + "importer_type": 17 } }, { - "pk": 46, - "model": "ishtar_common.importtarget", + "pk": 302, + "model": "ishtar_common.importercolumn", "fields": { - "comment": null, - "target": "find__conservatory_state", - "column": 45, - "formater_type": 22, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false + "col_number": 1, + "description": "Code PATRIARCHE ou code UNIQUE de l'op\u00e9ration associ\u00e9e", + "regexp_pre_filter": null, + "required": true, + "label": "CODE OPERATION", + "importer_type": 18 } }, { - "pk": 47, + "pk": 311, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 2, + "description": "Commune (via num\u00e9ro INSEE)", + "regexp_pre_filter": null, + "required": true, + "label": "INSEE", + "importer_type": 18 + } + }, + { + "pk": 312, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 3, + "description": "Parcelle (identifiant externe), soit la section plus la parcelle sans espaces, par exemple \"ZA253\"", + "regexp_pre_filter": null, + "required": true, + "label": "Parcelle", + "importer_type": 18 + } + }, + { + "pk": 313, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 4, + "description": "Ann\u00e9e de la r\u00e9f\u00e9rence cadastrale (exemple : \"1980\")", + "regexp_pre_filter": null, + "required": false, + "label": "Ann\u00e9e cadastre", + "importer_type": 18 + } + }, + { + "pk": 314, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 5, + "description": "Label / Identifiant (externe) de l'UE, ex: \"US 145\", \"Tranch\u00e9e 145\", \"145\", \"St 17\" etc.\r\nDoit \u00eatre unique pour une parcelle donn\u00e9e", + "regexp_pre_filter": null, + "required": true, + "label": "Label UE", + "importer_type": 18 + } + }, + { + "pk": 315, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 6, + "description": "Type d'UE, exemple : \"US\", \"Couche\", \"Tranch\u00e9e\", \"zone\", \"Secteur\", \"Log\", \"Carr\u00e9\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "Type", + "importer_type": 18 + } + }, + { + "pk": 316, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 7, + "description": "Description (texte, 1000 carac. max.)", + "regexp_pre_filter": null, + "required": false, + "label": "Description", + "importer_type": 18 + } + }, + { + "pk": 317, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 8, + "description": "Commentaire g\u00e9n\u00e9ral (1000 carac. max.)", + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 18 + } + }, + { + "pk": 318, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 9, + "description": "Taille ou longueur (en m\u00e8tre), exemple \"1.2\", \"12\"", + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 18 + } + }, + { + "pk": 319, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 10, + "description": "Largeur (en m\u00e8tre), exemple \"1.2\", \"12\"", + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 18 + } + }, + { + "pk": 320, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 11, + "description": "\u00c9paisseur (en m\u00e8tre), exemple \"0.2\", \"2\"", + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 18 + } + }, + { + "pk": 321, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 12, + "description": "Profondeur (en m\u00e8tre), exemple \"0.2\", \"2\"", + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 18 + } + }, + { + "pk": 322, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 13, + "description": "Lieu, description textuelle de la localisation exemple : \"Au pied de l'arbre du P\u00e8re Jahouen\", \"En limite nord de la parcelle\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 18 + } + }, + { + "pk": 323, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 14, + "description": "Contient ou non du mobilier (oui/non)", + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 18 + } + }, + { + "pk": 324, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 15, + "description": "Nom du fichier image (jpg ou png), exemple \"IMG_5023.jpg\".\r\nLes fichiers images doivent \u00eatre joints \u00e0 l'import dans un fichier ZIP", + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 18 + } + }, + { + "pk": 325, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 16, + "description": "Chronologies associ\u00e9es (plusieurs possibles s\u00e9par\u00e9es par &), exemple : \"Gallo-romain & M\u00e9di\u00e9val\", \"GR&MED\", \"M\u00e9solithique final & M\u00e9so moyen & Epipal\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 18 + } + }, + { + "pk": 326, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 17, + "description": "Commentaire sur les datations (texte 1000 carac. max.), exemple : \"IIe - IIIe s.\", \"fin XVe ou plus tard\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 18 + } + }, + { + "pk": 327, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 18, + "description": "Description du remplissage, 1000 carac. max. exemple \"Limons argileux brun riche en charbons\"", + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 18 + } + }, + { + "pk": 328, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 19, + "description": "Interpr\u00e9tation, texte 1000 carac. max., exemple \"Mur de cl\u00f4ture\", \"Sol couvert d'une mosa\u00efque, \"Pal\u00e9osol du d\u00e9but de l'Holoc\u00e8ne\", \"Four de r\u00e9duction de minerai de fer\", \"TP\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "Interpr\u00e9tation", + "importer_type": 18 + } + }, + { + "pk": 329, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 20, + "description": "Activit\u00e9, r\u00e9f\u00e9rence \u00e0 des types, par exemple : \"Naturelle\", \"Construction\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "Type d'activit\u00e9", + "importer_type": 18 + } + }, + { + "pk": 330, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 21, + "description": "Identification (type), par exemple \"Niveau d'occupation\", \"Mur\", \"Colluvions\", \"Chablis\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "Identification (type)", + "importer_type": 18 + } + }, + { + "pk": 331, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 22, + "description": "Terminus ante quem, limite temporelle avant laquelle l'UE s'est form\u00e9e, ici sous la forme de valeurs enti\u00e8res, exemple : \"322\", \"-45\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "TAQ", + "importer_type": 18 + } + }, + { + "pk": 332, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 23, + "description": "Terminus post quem, limite temporelle apr\u00e8s laquelle l'UE s'est form\u00e9e, ici sous la forme de valeurs enti\u00e8res, exemple : \"322\", \"-45\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "TPQ", + "importer_type": 18 + } + }, + { + "pk": 333, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 24, + "description": "Terminus ante quem estim\u00e9e, limite temporelle avant laquelle l'UE s'est form\u00e9e, ici sous la forme de valeurs enti\u00e8res, exemple : \"322\", \"-45\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "TAQ estim\u00e9e", + "importer_type": 18 + } + }, + { + "pk": 334, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 25, + "description": "Terminus post quem estim\u00e9e, limite temporelle avant laquelle l'UE s'est form\u00e9e, ici sous la forme de valeurs enti\u00e8res, exemple : \"322\", \"-45\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "TPQ estim\u00e9e", + "importer_type": 18 + } + }, + { + "pk": 303, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 1, + "description": "Code PATRIARCHE\r\n ou\r\n code num\u00e9rique (entier) UNIQUE pour une op\u00e9ration", + "regexp_pre_filter": null, + "required": true, + "label": "CODE OPERATION", + "importer_type": 19 + } + }, + { + "pk": 304, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 2, + "description": "Commune (via num\u00e9ro INSEE)", + "regexp_pre_filter": 2, + "required": true, + "label": null, + "importer_type": 19 + } + }, + { + "pk": 305, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 3, + "description": "Identifiant externe", + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 19 + } + }, + { + "pk": 306, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 4, + "description": "Section (ex : \"ZA\"), maximum 4 caract\u00e8res", + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 19 + } + }, + { + "pk": 307, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 5, + "description": "Num\u00e9ro de la parcelle (ex: \"253\"), mais peut accueillir une r\u00e9f\u00e9rence sous la forme de caract\u00e8res (maximum 6)", + "regexp_pre_filter": null, + "required": true, + "label": null, + "importer_type": 19 + } + }, + { + "pk": 308, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 6, + "description": "Ann\u00e9e de la r\u00e9f\u00e9rence cadastrale (exemple : \"1980\")", + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 19 + } + }, + { + "pk": 309, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 7, + "description": "Lieu dit ou adresse associ\u00e9s \u00e0 la parcelle", + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 19 + } + }, + { + "pk": 310, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 8, + "description": "Parcelle dans le domaine public ou non (binaire, oui/non)", + "regexp_pre_filter": null, + "required": false, + "label": null, + "importer_type": 19 + } + }, + { + "pk": 336, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 1, + "description": "Code PATRIARCHE ou code num\u00e9rique (entier) UNIQUE pour une op\u00e9ration.", + "regexp_pre_filter": null, + "required": true, + "label": "CODE OPERATION", + "importer_type": 20 + } + }, + { + "pk": 337, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 2, + "description": "Commune (via num\u00e9ro INSEE).", + "regexp_pre_filter": null, + "required": true, + "label": "INSEE", + "importer_type": 20 + } + }, + { + "pk": 338, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 3, + "description": "Parcelle (identifiant externe), soit la section plus la parcelle sans espaces. Exemple : \"ZA253\".", + "regexp_pre_filter": null, + "required": true, + "label": "Parcelle", + "importer_type": 20 + } + }, + { + "pk": 339, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 4, + "description": "Label / Identifiant (externe) de l'UE. Exemple : \"US 145\", \"Tranch\u00e9e 145\", \"145\", \"St 17\", etc. Doit \u00eatre unique pour une parcelle donn\u00e9e.", + "regexp_pre_filter": null, + "required": true, + "label": "Label UE", + "importer_type": 20 + } + }, + { + "pk": 340, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 5, + "description": "Identifiant libre pour le mobilier. Exemple : \"12\", \"Lot 24\", \"Sac vert\", etc.\r\nDoit \u00eatre unique \u00e0 l'\u00e9chelle de l'UE associ\u00e9e.", + "regexp_pre_filter": null, + "required": true, + "label": "Label mobilier", + "importer_type": 20 + } + }, + { + "pk": 341, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 6, + "description": "Identifiant pr\u00e9c\u00e9dent, li\u00e9 \u00e0 une base de donn\u00e9e ou un autre mode d'enregistrement. Exemple : \"400.01.05\", \"Beau biface\", \"inv. 4523\", \"Iso.4220\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "Identifiant pr\u00e9c\u00e9dent", + "importer_type": 20 + } + }, + { + "pk": 343, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 7, + "description": "R\u00e9f\u00e9rence du point topo, d'ordinaire un entier mais peut \u00eatre autre chose. Champ texte, max. 120 caract\u00e8res. Exemple : \"7220\", \"pt. 72\", etc.\r\n\r\nNON LI\u00c9 POUR L'INSTANT.", + "regexp_pre_filter": null, + "required": false, + "label": "Ref. point topo", + "importer_type": 20 + } + }, + { + "pk": 342, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 8, + "description": "Description du mobilier, objet ou lot. Champ texte, max. 1000 caract\u00e8res. Exemple : \"Fibule aviforme \u00e0 roustade bipolaire\".", + "regexp_pre_filter": null, + "required": false, + "label": "Description", + "importer_type": 20 + } + }, + { + "pk": 344, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 9, + "description": "D\u00e9finit si on enregistre ici un objet seul (parfois appel\u00e9 Isolation) ou un lot d'objets. Exemple : \"lot\", \"objet\", \"Iso\", \"vrac\", etc.\r\nEst ici traduit en binaire : \"objet\" ou \"lot\".", + "regexp_pre_filter": null, + "required": false, + "label": "Lot ou objet", + "importer_type": 20 + } + }, + { + "pk": 345, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 10, + "description": "D\u00e9finit si un objet est complet ou non. Exemple : \"complet\", \"est complet\", \"incomplet\".\r\nEst ici traduit en binaire : \"complet\" ou \"incomplet\". ", + "regexp_pre_filter": null, + "required": false, + "label": "Compl\u00e9tude", + "importer_type": 20 + } + }, + { + "pk": 346, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 11, + "description": "Type(s) de mat\u00e9riau(x) s\u00e9par\u00e9s par des \"&\". Exemple : \"m\u00e9tal & os\", \"LT\", \"Min\u00e9ral\", \"Granito\u00efde & Basalte & Ardoise\".", + "regexp_pre_filter": null, + "required": false, + "label": "Materiaux(x)", + "importer_type": 20 + } + }, + { + "pk": 347, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 12, + "description": "\u00c9tat de conservation. Exemple : \"Instable\", \"Stable\", \"Inconnu\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "\u00c9tat de conservation", + "importer_type": 20 + } + }, + { + "pk": 348, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 13, + "description": "Commentaire relatif \u00e0 la conservation. Champ texte, max. 1000 caract\u00e8res. Exemple : \"Devrait \u00eatre conserv\u00e9 dans une chambre climatis\u00e9e\", \"Ne sera plus qu'une poudre, si on ne s'en occupe pas sous peu\", \" \u00e0 jeter\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "Commentaire conservation", + "importer_type": 20 + } + }, + { + "pk": 349, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 14, + "description": "Type(s) d'objet(s), s\u00e9par\u00e9s par des \"&\". Exemple : \"tesson & charbon\", \"os & m\u00e9tal\", \"faune\", \"fibule & bague\", \"lame & lamelle\", \"\u00e9clat & nucl\u00e9us\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "Type(s) d'objet(s)", + "importer_type": 20 + } + }, + { + "pk": 350, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 15, + "description": "Type(s) d'actions de conservation \u00e0 mener, s\u00e9par\u00e9s par des \"&\". Exemple : \"\u00c0 restaurer\", \"reconditionnement\", \"\u00c0 reconditionner & \u00c0 stabiliser\"", + "regexp_pre_filter": null, + "required": false, + "label": "Type(s) d'actions de conservation \u00e0 mener", + "importer_type": 20 + } + }, + { + "pk": 351, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 16, + "description": "Type(s) d'int\u00e9r\u00eat scientifique ou d'int\u00e9grit\u00e9, s\u00e9par\u00e9s par des \"&\". Exemple : \"Arch\u00e9ologiquement complet\", \"absent\", \"perdu\", etc.\r\nPeut \u00e9galement qualifier (selon votre usage) des qualit\u00e9s de fragmentation : \"proximal\", \"distal\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "Type(s) d'int\u00e9grit\u00e9(s) et/ou int\u00e9r\u00eat(s)", + "importer_type": 20 + } + }, + { + "pk": 352, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 17, + "description": "Type(s) de remarquabilit\u00e9(s), s\u00e9par\u00e9s par des \"&\". Exemple : \"Mus\u00e9e\", \"Publication\", \"Tessonier & Publication\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "Type(s) de remarqualibit\u00e9(s)", + "importer_type": 20 + } + }, + { + "pk": 353, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 18, + "description": "Longueur en cm (nombre d\u00e9cimal).", + "regexp_pre_filter": null, + "required": false, + "label": "Longueur (cm)", + "importer_type": 20 + } + }, + { + "pk": 354, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 19, + "description": "Largeur en cm (nombre d\u00e9cimal).", + "regexp_pre_filter": null, + "required": false, + "label": "Largeur (cm)", + "importer_type": 20 + } + }, + { + "pk": 355, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 20, + "description": "Hauteur en cm (nombre d\u00e9cimal).", + "regexp_pre_filter": null, + "required": false, + "label": "Hauteur (cm)", + "importer_type": 20 + } + }, + { + "pk": 356, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 21, + "description": "Diam\u00e8tre en cm (nombre d\u00e9cimal).", + "regexp_pre_filter": null, + "required": false, + "label": "Diam\u00e8tre (cm)", + "importer_type": 20 + } + }, + { + "pk": 357, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 22, + "description": "Commentaire permettant de donner des pr\u00e9cisions (ou d'importer des donn\u00e9es mixtes). Champ texte, max. 1000 caract\u00e8res. Exemple : \"18 x 12 x 5\", \"col de 43 mm\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "Commentaire / Pr\u00e9cisions sur les dimensions ", + "importer_type": 20 + } + }, + { + "pk": 358, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 23, + "description": "Nombre d'objet(s) li\u00e9(s) \u00e0 cet enregistrement (entier). Exemple : \"12\".\r\nAttention, ce champ n'est pas contraint par l'information de type OBJET/LOT (colonne n\u00b09).", + "regexp_pre_filter": null, + "required": false, + "label": "Nombre", + "importer_type": 20 + } + }, + { + "pk": 359, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 24, + "description": "Marquage visible sur le mobilier. Champ texte, max. 1000 caract\u00e8res. Exemple : \"id1234 la Roche aux F\u00e9es\", \"MTX-45\", etc.\r\nCeci reproduit d'ordinaire un marquage r\u00e9alis\u00e9 par un arch\u00e9ologue. Il ne s'agit pas ici de reproduire une \u00e9pigraphie ou tout autre inscription arch\u00e9ologique (graffito, d\u00e9dicaces, defixio, etc.) , mais vous pouvez l'utiliser pour cela si vous n'avez pas \u00e0 utiliser de marquage arch\u00e9ologique.", + "regexp_pre_filter": null, + "required": false, + "label": "Marque", + "importer_type": 20 + } + }, + { + "pk": 360, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 25, + "description": "Commentaire g\u00e9n\u00e9ral libre. Champ texte, max. 2000 caract\u00e8res. Exemple : \"habillage en nid d'abeille, poli g\u00e9n\u00e9ralis\u00e9, encoche emmanchement lat\u00e9ral ouvert sur la face sup\u00e9rieure\", \"1 bord + bec tubulaire\", \"fibule de Langton Down\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "Commentaire g\u00e9n\u00e9ral", + "importer_type": 20 + } + }, + { + "pk": 361, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 26, + "description": "Commentaire g\u00e9n\u00e9ral sur les datations, si besoin. Champ texte, max. 1000 caract\u00e8res. Exemple : \"plut\u00f4t fin IIe s. ou d\u00e9but IIIe s.\", \"Datation \u00e0 pr\u00e9ciser avant publication\", \" Datation rapide faite par M. Dupont\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "Commentaire g\u00e9n\u00e9ral sur les datations", + "importer_type": 20 + } + }, + { + "pk": 362, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 27, + "description": "Valeur estim\u00e9e (\u20ac), sous la forme d'un nombre d\u00e9cimal. Exemple : \"4500\", \"0.2\", etc.\r\nUtile essentiellement pour les probl\u00e8mes de partage, vente, assurance etc.", + "regexp_pre_filter": null, + "required": false, + "label": "Valeur estim\u00e9e", + "importer_type": 20 + } + }, + { + "pk": 363, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 28, + "description": "Nom exact du fichier image, sous la forme XXXXX.jpg.\r\nAttention au respect strict des caract\u00e8res et majuscules lors d'un import de ce type, \".JPG\" ou \"*.jpg\", etc.\r\nExemple : \"P1030831.JPG\", \"IMG_6485.JPG\", \"fibule.jpg\", etc.\r\nLors de l'import il faut ajouter ces images sous la forme d'un fichier zip (joint au csv import\u00e9) pour que les images soient automatiquement int\u00e9gr\u00e9es.\r\n", + "regexp_pre_filter": null, + "required": false, + "label": "Image", + "importer_type": 20 + } + }, + { + "pk": 364, + "model": "ishtar_common.importercolumn", + "fields": { + "col_number": 29, + "description": "Chronologies associ\u00e9es (plusieurs possibles s\u00e9par\u00e9es par &). Exemple : \"Gallo-romain & M\u00e9di\u00e9val\", \"GR&MED\", \"M\u00e9solithique final & M\u00e9so moyen & Epipal\", etc.", + "regexp_pre_filter": null, + "required": false, + "label": "P\u00e9riodes", + "importer_type": 20 + } + }, + { + "pk": 46, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "find__preservation_to_considers", - "column": 46, - "formater_type": 23, + "target": "find__conservatory_state", + "column": 45, + "formater_type": 22, "concat_str": null, "regexp_filter": null, "concat": false, @@ -3610,6 +4603,370 @@ } }, { + "pk": 47, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__preservation_to_considers", + "column": 46, + "formater_type": 23, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 325, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "image", + "column": 301, + "formater_type": 27, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 328, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "town__numero_insee", + "column": 304, + "formater_type": 11, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 331, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "parcel_number", + "column": 307, + "formater_type": 8, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 334, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "public_domain", + "column": 310, + "formater_type": 19, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 335, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "parcel__external_id", + "column": 311, + "formater_type": 28, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 338, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "remains", + "column": 272, + "formater_type": 41, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 341, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "description", + "column": 316, + "formater_type": 16, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 344, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "width", + "column": 319, + "formater_type": 21, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 347, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "location", + "column": 322, + "formater_type": 16, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 349, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "image", + "column": 324, + "formater_type": 27, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 350, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "datings__period", + "column": 325, + "formater_type": 6, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 353, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "interpretation", + "column": 328, + "formater_type": 16, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 356, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "taq", + "column": 331, + "formater_type": 1, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 359, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "tpq_estimated", + "column": 334, + "formater_type": 1, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 362, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "context_record__external_id", + "column": 337, + "formater_type": 28, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 365, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "label", + "column": 340, + "formater_type": 3, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 368, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "is_isolated", + "column": 344, + "formater_type": 19, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 371, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__conservatory_state", + "column": 347, + "formater_type": 22, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 374, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__preservation_to_considers", + "column": 350, + "formater_type": 23, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 377, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__length", + "column": 353, + "formater_type": 21, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 379, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__height", + "column": 355, + "formater_type": 21, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 382, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__find_number", + "column": 358, + "formater_type": 1, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 384, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__comment", + "column": 360, + "formater_type": 33, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 385, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__dating_comment", + "column": 361, + "formater_type": 16, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 388, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__datings__period", + "column": 364, + "formater_type": 6, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { "pk": 38, "model": "ishtar_common.importtarget", "fields": { @@ -3680,20 +5037,6 @@ } }, { - "pk": 297, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "archaeological_sites__reference", - "column": 271, - "formater_type": 40, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { "pk": 303, "model": "ishtar_common.importtarget", "fields": { @@ -3806,6 +5149,314 @@ } }, { + "pk": 326, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "operation__code_patriarche", + "column": 302, + "formater_type": 1, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 329, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "external_id", + "column": 305, + "formater_type": 11, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 332, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "year", + "column": 308, + "formater_type": 14, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 336, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "parcel__external_id", + "column": 312, + "formater_type": 11, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 339, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "label", + "column": 314, + "formater_type": 3, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 342, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "comment", + "column": 317, + "formater_type": 16, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 345, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "thickness", + "column": 320, + "formater_type": 21, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 348, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "has_furniture", + "column": 323, + "formater_type": 19, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 351, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "datings_comment", + "column": 326, + "formater_type": 16, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 354, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "activity", + "column": 329, + "formater_type": 42, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 357, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "tpq", + "column": 332, + "formater_type": 1, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 360, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "old_code", + "column": 335, + "formater_type": 30, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 363, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "context_record__external_id", + "column": 338, + "formater_type": 35, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 366, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__previous_id", + "column": 341, + "formater_type": 3, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 372, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__conservatory_comment", + "column": 348, + "formater_type": 16, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 369, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__is_complete", + "column": 345, + "formater_type": 19, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 378, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__width", + "column": 354, + "formater_type": 21, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 375, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__integrities", + "column": 351, + "formater_type": 43, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 380, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__diameter", + "column": 356, + "formater_type": 21, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 383, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__mark", + "column": 359, + "formater_type": 16, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 386, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__estimated_value", + "column": 362, + "formater_type": 21, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 297, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "archaeological_sites__reference", + "column": 271, + "formater_type": 45, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { "pk": 61, "model": "ishtar_common.importtarget", "fields": { @@ -5500,13 +7151,153 @@ } }, { + "pk": 295, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "associated_file__external_id", + "column": 270, + "formater_type": 35, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 298, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "scientist__title", + "column": 274, + "formater_type": 11, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 304, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "in_charge__title", + "column": 280, + "formater_type": 11, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 310, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "excavation_end_date", + "column": 286, + "formater_type": 25, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 313, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "negative_result", + "column": 289, + "formater_type": 19, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 319, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "finds_deadline", + "column": 295, + "formater_type": 25, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 322, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "report_delivery_date", + "column": 298, + "formater_type": 25, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 327, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "code_patriarche", + "column": 303, + "formater_type": 1, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 330, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "section", + "column": 306, + "formater_type": 7, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 333, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "address", + "column": 309, + "formater_type": 10, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { "pk": 292, "model": "ishtar_common.importtarget", "fields": { "comment": "", "target": "year", "column": 267, - "formater_type": 1, + "formater_type": 14, "concat_str": "", "regexp_filter": null, "concat": false, @@ -5514,13 +7305,13 @@ } }, { - "pk": 295, + "pk": 337, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "associated_file__external_id", - "column": 270, - "formater_type": 35, + "target": "parcel__year", + "column": 313, + "formater_type": 14, "concat_str": "", "regexp_filter": null, "concat": false, @@ -5528,13 +7319,41 @@ } }, { - "pk": 298, + "pk": 340, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "scientist__title", - "column": 274, - "formater_type": 11, + "target": "unit", + "column": 315, + "formater_type": 18, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 343, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "length", + "column": 318, + "formater_type": 21, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 346, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "depth", + "column": 321, + "formater_type": 21, "concat_str": "", "regexp_filter": null, "concat": false, @@ -5546,7 +7365,7 @@ "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "scientist__organization__name", + "target": "scientist__attached_to__name", "column": 277, "formater_type": 30, "concat_str": "", @@ -5556,13 +7375,13 @@ } }, { - "pk": 304, + "pk": 307, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "in_charge__title", - "column": 280, - "formater_type": 11, + "target": "in_charge__attached_to__name", + "column": 283, + "formater_type": 3, "concat_str": "", "regexp_filter": null, "concat": false, @@ -5570,12 +7389,12 @@ } }, { - "pk": 307, + "pk": 316, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "in_charge__organization__name", - "column": 283, + "target": "cira_rapporteur__attached_to__name", + "column": 292, "formater_type": 3, "concat_str": "", "regexp_filter": null, @@ -5584,13 +7403,13 @@ } }, { - "pk": 310, + "pk": 352, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "excavation_end_date", - "column": 286, - "formater_type": 25, + "target": "filling", + "column": 327, + "formater_type": 16, "concat_str": "", "regexp_filter": null, "concat": false, @@ -5598,13 +7417,13 @@ } }, { - "pk": 313, + "pk": 355, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "negative_result", - "column": 289, - "formater_type": 19, + "target": "identification", + "column": 330, + "formater_type": 24, "concat_str": "", "regexp_filter": null, "concat": false, @@ -5612,12 +7431,40 @@ } }, { - "pk": 316, + "pk": 358, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "cira_rapporteur__organization__name", - "column": 292, + "target": "taq_estimated", + "column": 333, + "formater_type": 1, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 361, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "context_record__external_id", + "column": 336, + "formater_type": 11, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 364, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "context_record__external_id", + "column": 339, "formater_type": 3, "concat_str": "", "regexp_filter": null, @@ -5626,13 +7473,13 @@ } }, { - "pk": 319, + "pk": 367, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "finds_deadline", - "column": 295, - "formater_type": 25, + "target": "find__description", + "column": 342, + "formater_type": 16, "concat_str": "", "regexp_filter": null, "concat": false, @@ -5640,13 +7487,69 @@ } }, { - "pk": 322, + "pk": 370, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "report_delivery_date", - "column": 298, - "formater_type": 25, + "target": "find__material_types", + "column": 346, + "formater_type": 20, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 373, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__object_types", + "column": 349, + "formater_type": 26, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 376, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__remarkabilities", + "column": 352, + "formater_type": 44, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 381, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__dimensions_comment", + "column": 357, + "formater_type": 16, + "concat_str": "", + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 387, + "model": "ishtar_common.importtarget", + "fields": { + "comment": "", + "target": "find__image", + "column": 363, + "formater_type": 27, "concat_str": "", "regexp_filter": null, "concat": false, @@ -5708,6 +7611,15 @@ } }, { + "pk": 42, + "model": "ishtar_common.formatertype", + "fields": { + "formater_type": "TypeFormater", + "many_split": "", + "options": "archaeological_context_records.models.ActivityType" + } + }, + { "pk": 24, "model": "ishtar_common.formatertype", "fields": { @@ -5753,6 +7665,15 @@ } }, { + "pk": 43, + "model": "ishtar_common.formatertype", + "fields": { + "formater_type": "TypeFormater", + "many_split": "&", + "options": "archaeological_finds.models.IntegrityType" + } + }, + { "pk": 20, "model": "ishtar_common.formatertype", "fields": { @@ -5780,12 +7701,12 @@ } }, { - "pk": 40, + "pk": 44, "model": "ishtar_common.formatertype", "fields": { "formater_type": "TypeFormater", "many_split": "&", - "options": "archaeological_operations.models.archaeological_sites" + "options": "archaeological_finds.models.RemarkabilityType" } }, { @@ -5807,6 +7728,15 @@ } }, { + "pk": 41, + "model": "ishtar_common.formatertype", + "fields": { + "formater_type": "TypeFormater", + "many_split": "&", + "options": "archaeological_operations.models.RemainType" + } + }, + { "pk": 37, "model": "ishtar_common.formatertype", "fields": { @@ -5888,6 +7818,15 @@ } }, { + "pk": 45, + "model": "ishtar_common.formatertype", + "fields": { + "formater_type": "UnicodeFormater", + "many_split": "", + "options": "20" + } + }, + { "pk": 30, "model": "ishtar_common.formatertype", "fields": { @@ -6311,5 +8250,203 @@ "concat": false, "force_new": false } + }, + { + "pk": 34, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 303, + "concat_str": "", + "field_name": "external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 33, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 304, + "concat_str": "-", + "field_name": "external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 31, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 302, + "concat_str": "-", + "field_name": "parcel__external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 32, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 302, + "concat_str": "-", + "field_name": "external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 35, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 311, + "concat_str": "-", + "field_name": "external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 36, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 312, + "concat_str": "-", + "field_name": "external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 37, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 314, + "concat_str": "-", + "field_name": "external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 38, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 336, + "concat_str": "-", + "field_name": "external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 39, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 336, + "concat_str": "-", + "field_name": "find__external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 40, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 337, + "concat_str": "-", + "field_name": "external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 41, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 337, + "concat_str": "-", + "field_name": "find__external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 42, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 338, + "concat_str": "-", + "field_name": "external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 43, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 338, + "concat_str": "-", + "field_name": "find__external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 44, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 339, + "concat_str": "-", + "field_name": "external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 45, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 339, + "concat_str": "-", + "field_name": "find__external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 46, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 340, + "concat_str": "", + "field_name": "find__label", + "concat": false, + "force_new": false + } + }, + { + "pk": 47, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 340, + "concat_str": "-", + "field_name": "external_id", + "concat": false, + "force_new": false + } + }, + { + "pk": 48, + "model": "ishtar_common.importerduplicatefield", + "fields": { + "column": 340, + "concat_str": "-", + "field_name": "find__external_id", + "concat": false, + "force_new": false + } } ] diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index 043b03f61..42d74f9ef 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -33,6 +33,7 @@ from django.utils.translation import ugettext_lazy as _ import models import widgets +from wizards import MultiValueDict # from formwizard.forms import NamedUrlSessionFormWizard @@ -224,7 +225,6 @@ class ManageOldType(object): if prefix not in k: continue new_k = k[len(prefix) + 1:] - items = [] if hasattr(kwargs['data'], 'getlist'): items = kwargs['data'].getlist(k) else: @@ -238,7 +238,6 @@ class ManageOldType(object): if 'initial' in kwargs and kwargs['initial']: for k in kwargs['initial']: if k not in self.init_data or not self.init_data[k]: - items = [] if hasattr(kwargs['initial'], 'getlist'): items = kwargs['initial'].getlist(k) else: @@ -249,6 +248,7 @@ class ManageOldType(object): if k not in self.init_data: self.init_data[k] = [] self.init_data[k].append(val) + self.init_data = MultiValueDict(self.init_data) super(ManageOldType, self).__init__(*args, **kwargs) diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index c15999721..7ab09f9f7 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -40,7 +40,7 @@ from forms import FinalForm, FormSet, reverse_lazy, name_validator, \ def get_town_field(label=_(u"Town"), required=True): help_text = _( - u"<p>Type name, department code and/or postal code of the " + u"<p>Type name, department code of the " u"town you would like to select. The search is insensitive to case." u"</p>\n<p>Only the first twenty results are displayed but specifying " u"the department code is generally sufficient to get the appropriate " @@ -241,7 +241,7 @@ class ManualMerge(object): except ValueError: pass if len(values) < 2: - raise forms.ValidationError(_(u"At leat two items have to be " + raise forms.ValidationError(_(u"At least two items have to be " u"selected.")) self.cleaned_data['to_merge'] = values return values diff --git a/ishtar_common/ishtar_menu.py b/ishtar_common/ishtar_menu.py index 1f30bec0f..5ed8cad37 100644 --- a/ishtar_common/ishtar_menu.py +++ b/ishtar_common/ishtar_menu.py @@ -30,7 +30,7 @@ MENU_SECTIONS = [ childs=[ SectionItem( 'account', _(u"Account"), - childs=[MenuItem('account_management', _(u"Add/modify"), + childs=[MenuItem('account_management', _(u"Addition/modification"), model=models.IshtarUser, access_controls=['add_ishtaruser', ]), MenuItem('account_deletion', _(u"Deletion"), @@ -67,7 +67,7 @@ MENU_SECTIONS = [ model=models.Person, access_controls=['merge_person']), MenuItem( - 'person_deletion', _(u"Delete"), + 'person_deletion', _(u"Deletion"), model=models.Person, access_controls=['change_person', 'change_own_person']), ]), @@ -98,7 +98,7 @@ MENU_SECTIONS = [ model=models.Organization, access_controls=['merge_organization']), MenuItem( - 'organization_deletion', _(u"Delete"), + 'organization_deletion', _(u"Deletion"), model=models.Organization, access_controls=['change_organization', 'change_own_organization']), diff --git a/ishtar_common/locale/django.pot b/ishtar_common/locale/django.pot index 5110bca31..2a60902e5 100644 --- a/ishtar_common/locale/django.pot +++ b/ishtar_common/locale/django.pot @@ -5,6 +5,7 @@ # Étienne Loks <etienne.loks@iggdrasil.net>, 2015. #zanata # Valérie-Emma Leroux <emma@iggdrasil.net>, 2016. #zanata # Étienne Loks <etienne.loks@iggdrasil.net>, 2016. #zanata +# Valérie-Emma Leroux <emma@iggdrasil.net>, 2017. #zanata msgid "" msgstr "" @@ -127,40 +128,40 @@ msgstr "" msgid "\"%(value)s\" not in %(values)s" msgstr "" -#: forms.py:55 +#: forms.py:73 msgid "Enter a valid name consisting of letters, spaces and hyphens." msgstr "" -#: forms.py:71 forms_common.py:618 +#: forms.py:89 forms_common.py:618 msgid "Confirm" msgstr "" -#: forms.py:76 +#: forms.py:94 msgid "Are you sure you want to delete?" msgstr "" -#: forms.py:85 +#: forms.py:103 msgid "There are identical items." msgstr "" -#: forms.py:123 forms.py:124 +#: forms.py:141 forms.py:142 msgid "Closing date" msgstr "" -#: forms.py:137 +#: forms.py:155 msgid "You should select an item." msgstr "" -#: forms.py:138 +#: forms.py:156 msgid "Add a new item" msgstr "" -#: forms.py:245 models.py:1310 +#: forms.py:262 models.py:1367 msgid "Template" msgstr "" #: forms_common.py:41 forms_common.py:59 forms_common.py:182 -#: forms_common.py:406 models.py:1376 models.py:2758 +#: forms_common.py:406 models.py:1433 models.py:2825 #: templates/blocks/JQueryAdvancedTown.html:19 #: templates/ishtar/sheet_organization.html:13 msgid "Town" @@ -168,16 +169,16 @@ msgstr "" #: forms_common.py:43 msgid "" -"<p>Type name, department code and/or postal code of the town you would like " -"to select. The search is insensitive to case.</p>\n" +"<p>Type name, department code of the town you would like to select. The " +"search is insensitive to case.</p>\n" "<p>Only the first twenty results are displayed but specifying the department " "code is generally sufficient to get the appropriate result.</p>\n" "<p class='example'>For instance type \"saint denis 93\" for getting the " "french town Saint-Denis in the Seine-Saint-Denis department.</p>" msgstr "" -#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1546 -#: models.py:2384 models.py:2566 models.py:2628 +#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1606 +#: models.py:2452 models.py:2634 models.py:2695 #: templates/ishtar/sheet_person.html:4 msgid "Person" msgstr "" @@ -189,63 +190,63 @@ msgid "" msgstr "" #: forms_common.py:170 forms_common.py:327 forms_common.py:451 -#: ishtar_menu.py:75 models.py:1547 models.py:2273 +#: ishtar_menu.py:75 models.py:1607 models.py:2338 #: templates/ishtar/sheet_organization.html:4 msgid "Organization" msgstr "" #: forms_common.py:173 forms_common.py:210 forms_common.py:322 -#: forms_common.py:376 forms_common.py:446 models.py:977 models.py:1309 -#: models.py:1592 models.py:1810 models.py:2267 models.py:2370 models.py:2744 +#: forms_common.py:376 forms_common.py:446 models.py:1034 models.py:1366 +#: models.py:1652 models.py:1871 models.py:2332 models.py:2438 models.py:2811 #: templates/ishtar/sheet_organization.html:8 #: templates/ishtar/sheet_organization.html:21 msgid "Name" msgstr "" -#: forms_common.py:174 models.py:1531 models.py:1941 +#: forms_common.py:174 models.py:1588 models.py:2002 msgid "Organization type" msgstr "" -#: forms_common.py:176 forms_common.py:400 models.py:1371 +#: forms_common.py:176 forms_common.py:400 models.py:1428 #: templates/ishtar/sheet_organization.html:10 msgid "Address" msgstr "" -#: forms_common.py:178 forms_common.py:403 models.py:1372 +#: forms_common.py:178 forms_common.py:403 models.py:1429 #: templates/ishtar/sheet_organization.html:11 msgid "Address complement" msgstr "" -#: forms_common.py:180 forms_common.py:404 models.py:1374 +#: forms_common.py:180 forms_common.py:404 models.py:1431 #: templates/ishtar/sheet_organization.html:12 msgid "Postal code" msgstr "" -#: forms_common.py:183 forms_common.py:407 models.py:1377 +#: forms_common.py:183 forms_common.py:407 models.py:1434 msgid "Country" msgstr "" #: forms_common.py:185 forms_common.py:324 forms_common.py:380 -#: forms_common.py:448 forms_common.py:572 models.py:1404 +#: forms_common.py:448 forms_common.py:572 models.py:1461 msgid "Email" msgstr "" -#: forms_common.py:186 forms_common.py:383 models.py:1389 +#: forms_common.py:186 forms_common.py:383 models.py:1446 #: templates/ishtar/sheet_organization.html:14 #: templates/ishtar/sheet_person.html:19 #: templates/ishtar/wizard/wizard_person.html:17 msgid "Phone" msgstr "" -#: forms_common.py:187 forms_common.py:392 models.py:1401 +#: forms_common.py:187 forms_common.py:392 models.py:1458 #: templates/ishtar/sheet_organization.html:15 #: templates/ishtar/sheet_person.html:37 #: templates/ishtar/wizard/wizard_person.html:35 msgid "Mobile phone" msgstr "" -#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:1969 -#: models.py:2269 models.py:2679 templates/sheet_ope.html:85 +#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2032 +#: models.py:2334 models.py:2746 templates/sheet_ope.html:85 #: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126 #: templates/ishtar/import_list.html:13 #: templates/ishtar/sheet_organization.html:23 @@ -253,12 +254,12 @@ msgstr "" msgid "Type" msgstr "" -#: forms_common.py:220 views.py:139 +#: forms_common.py:220 views.py:142 msgid "Organization search" msgstr "" #: forms_common.py:244 -msgid "At leat two items have to be selected." +msgid "At least two items have to be selected." msgstr "" #: forms_common.py:262 @@ -269,12 +270,12 @@ msgstr "" msgid "Organization to merge" msgstr "" -#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2368 +#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2436 #: templates/ishtar/sheet_organization.html:22 msgid "Surname" msgstr "" -#: forms_common.py:339 forms_common.py:434 views.py:104 +#: forms_common.py:339 forms_common.py:434 views.py:107 msgid "Person search" msgstr "" @@ -287,25 +288,25 @@ msgstr "" msgid "Identity" msgstr "" -#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1942 -#: models.py:2362 models.py:2364 models.py:2676 templates/sheet_ope.html:104 +#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:2003 +#: models.py:2430 models.py:2432 models.py:2743 templates/sheet_ope.html:104 #: templates/ishtar/blocks/window_tables/documents.html:7 msgid "Title" msgstr "" -#: forms_common.py:372 models.py:2366 +#: forms_common.py:372 models.py:2434 msgid "Salutation" msgstr "" -#: forms_common.py:378 models.py:2372 +#: forms_common.py:378 models.py:2440 msgid "Raw name" msgstr "" -#: forms_common.py:381 models.py:1390 +#: forms_common.py:381 models.py:1447 msgid "Phone description" msgstr "" -#: forms_common.py:384 models.py:1392 models.py:1394 +#: forms_common.py:384 models.py:1449 models.py:1451 msgid "Phone description 2" msgstr "" @@ -313,11 +314,11 @@ msgstr "" msgid "Phone 2" msgstr "" -#: forms_common.py:388 models.py:1398 +#: forms_common.py:388 models.py:1455 msgid "Phone description 3" msgstr "" -#: forms_common.py:390 models.py:1396 +#: forms_common.py:390 models.py:1453 msgid "Phone 3" msgstr "" @@ -325,23 +326,23 @@ msgstr "" msgid "Current organization" msgstr "" -#: forms_common.py:409 models.py:1379 +#: forms_common.py:409 models.py:1436 msgid "Other address: address" msgstr "" -#: forms_common.py:412 models.py:1382 +#: forms_common.py:412 models.py:1439 msgid "Other address: address complement" msgstr "" -#: forms_common.py:414 models.py:1383 +#: forms_common.py:414 models.py:1440 msgid "Other address: postal code" msgstr "" -#: forms_common.py:416 models.py:1385 +#: forms_common.py:416 models.py:1442 msgid "Other address: town" msgstr "" -#: forms_common.py:418 models.py:1387 +#: forms_common.py:418 models.py:1444 msgid "Other address: country" msgstr "" @@ -357,7 +358,7 @@ msgstr "" msgid "Account search" msgstr "" -#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2321 +#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2386 msgid "Person type" msgstr "" @@ -365,7 +366,7 @@ msgstr "" msgid "Account" msgstr "" -#: forms_common.py:575 wizards.py:1192 +#: forms_common.py:575 wizards.py:1256 msgid "New password" msgstr "" @@ -389,7 +390,7 @@ msgstr "" msgid "Send the new password by email?" msgstr "" -#: forms_common.py:628 forms_common.py:641 models.py:2759 +#: forms_common.py:628 forms_common.py:641 models.py:2826 msgid "Towns" msgstr "" @@ -405,7 +406,7 @@ msgstr "" msgid "Documentation informations" msgstr "" -#: forms_common.py:775 forms_common.py:823 models.py:1943 models.py:2653 +#: forms_common.py:775 forms_common.py:823 models.py:2004 models.py:2720 msgid "Source type" msgstr "" @@ -417,37 +418,37 @@ msgstr "" msgid "Internal reference" msgstr "" -#: forms_common.py:783 models.py:2690 +#: forms_common.py:783 models.py:2757 msgid "Numerical ressource (web address)" msgstr "" -#: forms_common.py:784 models.py:2692 +#: forms_common.py:784 models.py:2759 msgid "Receipt date" msgstr "" -#: forms_common.py:786 models.py:2096 models.py:2694 +#: forms_common.py:786 models.py:2161 models.py:2761 msgid "Creation date" msgstr "" -#: forms_common.py:789 models.py:2697 +#: forms_common.py:789 models.py:2764 msgid "Receipt date in documentation" msgstr "" -#: forms_common.py:791 forms_common.py:827 models.py:317 models.py:577 -#: models.py:1837 models.py:2376 models.py:2704 +#: forms_common.py:791 forms_common.py:827 models.py:323 models.py:634 +#: models.py:1898 models.py:2444 models.py:2771 msgid "Comment" msgstr "" -#: forms_common.py:793 forms_common.py:826 models.py:979 models.py:1596 -#: models.py:1769 models.py:1811 models.py:2703 templates/sheet_ope.html:128 +#: forms_common.py:793 forms_common.py:826 models.py:1036 models.py:1656 +#: models.py:1830 models.py:1872 models.py:2770 templates/sheet_ope.html:128 msgid "Description" msgstr "" -#: forms_common.py:796 models.py:2705 +#: forms_common.py:796 models.py:2772 msgid "Additional information" msgstr "" -#: forms_common.py:798 forms_common.py:830 models.py:2707 +#: forms_common.py:798 forms_common.py:830 models.py:2774 msgid "Has a duplicate" msgstr "" @@ -462,7 +463,7 @@ msgid "" "p>" msgstr "" -#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2633 +#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2700 #: templates/ishtar/wizard/wizard_person_deletion.html:124 msgid "Author" msgstr "" @@ -475,7 +476,7 @@ msgstr "" msgid "Would you like to delete this documentation?" msgstr "" -#: forms_common.py:856 models.py:1944 models.py:2621 models.py:2630 +#: forms_common.py:856 models.py:2005 models.py:2688 models.py:2697 msgid "Author type" msgstr "" @@ -487,7 +488,7 @@ msgstr "" msgid "There are identical authors." msgstr "" -#: forms_common.py:893 models.py:2634 models.py:2686 +#: forms_common.py:893 models.py:2701 models.py:2753 #: templates/sheet_ope.html:106 #: templates/ishtar/blocks/window_tables/documents.html:9 msgid "Authors" @@ -498,14 +499,14 @@ msgid "Administration" msgstr "" #: ishtar_menu.py:33 -msgid "Add/modify" +msgid "Addition/modification" msgstr "" -#: ishtar_menu.py:36 +#: ishtar_menu.py:36 ishtar_menu.py:70 ishtar_menu.py:101 msgid "Deletion" msgstr "" -#: ishtar_menu.py:39 models.py:1105 views.py:1484 +#: ishtar_menu.py:39 models.py:1162 views.py:1530 msgid "Global variables" msgstr "" @@ -533,20 +534,15 @@ msgstr "" msgid "Manual merge" msgstr "" -#: ishtar_menu.py:70 ishtar_menu.py:101 models.py:2133 widgets.py:110 -#: templates/ishtar/form_delete.html:11 -msgid "Delete" -msgstr "" - -#: ishtar_menu.py:109 models.py:2107 +#: ishtar_menu.py:109 models.py:2172 msgid "Imports" msgstr "" -#: ishtar_menu.py:112 views.py:1492 +#: ishtar_menu.py:112 views.py:1538 msgid "New import" msgstr "" -#: ishtar_menu.py:116 views.py:1506 +#: ishtar_menu.py:116 views.py:1552 msgid "Current imports" msgstr "" @@ -554,212 +550,212 @@ msgstr "" msgid "Old imports" msgstr "" -#: models.py:178 +#: models.py:183 msgid "Not a valid item." msgstr "" -#: models.py:191 +#: models.py:196 msgid "A selected item is not a valid item." msgstr "" -#: models.py:202 +#: models.py:207 msgid "This item already exists." msgstr "" -#: models.py:313 models.py:576 models.py:1344 models.py:1356 +#: models.py:319 models.py:633 models.py:1401 models.py:1413 models.py:1827 msgid "Label" msgstr "" -#: models.py:315 +#: models.py:321 msgid "Textual ID" msgstr "" -#: models.py:318 models.py:579 models.py:1313 +#: models.py:324 models.py:636 models.py:1370 msgid "Available" msgstr "" -#: models.py:598 models.py:1883 +#: models.py:655 models.py:1944 msgid "Key" msgstr "" -#: models.py:604 +#: models.py:661 msgid "Specific key to an import" msgstr "" -#: models.py:696 +#: models.py:753 msgid "Last editor" msgstr "" -#: models.py:699 +#: models.py:756 msgid "Creator" msgstr "" -#: models.py:841 models.py:2770 +#: models.py:898 models.py:2837 msgid "Order" msgstr "" -#: models.py:842 +#: models.py:899 msgid "Symmetrical" msgstr "" -#: models.py:843 +#: models.py:900 msgid "Tiny label" msgstr "" -#: models.py:857 +#: models.py:914 msgid "Cannot have symmetrical and an inverse_relation" msgstr "" -#: models.py:971 +#: models.py:1028 msgid "Euro" msgstr "" -#: models.py:972 +#: models.py:1029 msgid "US dollar" msgstr "" -#: models.py:978 models.py:1594 +#: models.py:1035 models.py:1654 msgid "Slug" msgstr "" -#: models.py:980 +#: models.py:1037 msgid "Files module" msgstr "" -#: models.py:981 +#: models.py:1038 msgid "Context records module" msgstr "" -#: models.py:983 +#: models.py:1040 msgid "Finds module" msgstr "" -#: models.py:984 +#: models.py:1041 msgid "Need context records module" msgstr "" -#: models.py:986 +#: models.py:1043 msgid "Warehouses module" msgstr "" -#: models.py:987 +#: models.py:1044 msgid "Need finds module" msgstr "" -#: models.py:989 +#: models.py:1046 msgid "Home page" msgstr "" -#: models.py:990 +#: models.py:1047 #, python-brace-format msgid "" "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." msgstr "" -#: models.py:994 +#: models.py:1051 msgid "File external id" msgstr "" -#: models.py:996 +#: models.py:1053 msgid "" "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." msgstr "" -#: models.py:1001 +#: models.py:1058 msgid "Parcel external id" msgstr "" -#: models.py:1004 +#: models.py:1061 msgid "" "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." msgstr "" -#: models.py:1009 +#: models.py:1066 msgid "Context record external id" msgstr "" -#: models.py:1011 +#: models.py:1068 msgid "" "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." msgstr "" -#: models.py:1016 +#: models.py:1073 msgid "Base find external id" msgstr "" -#: models.py:1018 +#: models.py:1075 msgid "" "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." msgstr "" -#: models.py:1023 +#: models.py:1080 msgid "Find external id" msgstr "" -#: models.py:1025 +#: models.py:1082 msgid "" "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." msgstr "" -#: models.py:1030 +#: models.py:1087 msgid "Raw name for person" msgstr "" -#: models.py:1032 +#: models.py:1089 msgid "" "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." msgstr "" -#: models.py:1036 +#: models.py:1093 msgid "Current active" msgstr "" -#: models.py:1037 +#: models.py:1094 msgid "Currency" msgstr "" -#: models.py:1041 +#: models.py:1098 msgid "Ishtar site profile" msgstr "" -#: models.py:1042 +#: models.py:1099 msgid "Ishtar site profiles" msgstr "" -#: models.py:1098 +#: models.py:1155 msgid "Variable name" msgstr "" -#: models.py:1099 +#: models.py:1156 msgid "Description of the variable" msgstr "" -#: models.py:1101 models.py:1884 +#: models.py:1158 models.py:1945 msgid "Value" msgstr "" -#: models.py:1104 +#: models.py:1161 msgid "Global variable" msgstr "" -#: models.py:1214 models.py:1244 +#: models.py:1271 models.py:1301 msgid "Total" msgstr "" -#: models.py:1221 models.py:1345 models.py:1357 +#: models.py:1278 models.py:1402 models.py:1414 #: templates/ishtar/sheet_person.html:22 #: templates/ishtar/dashboards/dashboard_main_detail.html:141 #: templates/ishtar/dashboards/dashboard_main_detail_users.html:26 @@ -767,718 +763,742 @@ msgstr "" msgid "Number" msgstr "" -#: models.py:1308 +#: models.py:1365 msgid "Administrative Act" msgstr "" -#: models.py:1312 +#: models.py:1369 msgid "Associated object" msgstr "" -#: models.py:1316 +#: models.py:1373 msgid "Document template" msgstr "" -#: models.py:1317 +#: models.py:1374 msgid "Document templates" msgstr "" -#: models.py:1348 models.py:1358 models.py:2091 +#: models.py:1405 models.py:1415 models.py:2156 msgid "State" msgstr "" -#: models.py:1362 templates/blocks/JQueryAdvancedTown.html:12 +#: models.py:1419 templates/blocks/JQueryAdvancedTown.html:12 msgid "Department" msgstr "" -#: models.py:1363 +#: models.py:1420 msgid "Departments" msgstr "" -#: models.py:1400 +#: models.py:1457 msgid "Raw phone" msgstr "" -#: models.py:1406 +#: models.py:1463 msgid "Alternative address is prefered" msgstr "" -#: models.py:1445 +#: models.py:1502 msgid "Tel: " msgstr "" -#: models.py:1449 +#: models.py:1506 msgid "Mobile: " msgstr "" -#: models.py:1453 +#: models.py:1510 msgid "Email: " msgstr "" -#: models.py:1458 +#: models.py:1515 msgid "Merge key" msgstr "" -#: models.py:1532 +#: models.py:1589 msgid "Organization types" msgstr "" -#: models.py:1548 views.py:234 +#: models.py:1608 views.py:237 msgid "Operation" msgstr "" -#: models.py:1550 +#: models.py:1610 msgid "Archaeological site" msgstr "" -#: models.py:1551 +#: models.py:1611 msgid "Parcels" msgstr "" -#: models.py:1553 +#: models.py:1613 msgid "Operation source" msgstr "" -#: models.py:1556 views.py:1299 views.py:1350 +#: models.py:1616 views.py:1346 views.py:1396 msgid "Archaeological files" msgstr "" -#: models.py:1558 views.py:1302 views.py:1358 +#: models.py:1618 views.py:1349 views.py:1404 msgid "Context records" msgstr "" -#: models.py:1560 +#: models.py:1620 msgid "Context record relations" msgstr "" -#: models.py:1562 views.py:1304 views.py:1361 -msgid "Finds" +#: models.py:1622 +msgid "Base finds" msgstr "" -#: models.py:1598 templates/ishtar/dashboards/dashboard_main.html:25 +#: models.py:1658 templates/ishtar/dashboards/dashboard_main.html:25 msgid "Users" msgstr "" -#: models.py:1600 +#: models.py:1660 msgid "Associated model" msgstr "" -#: models.py:1603 +#: models.py:1663 msgid "Is template" msgstr "" -#: models.py:1604 +#: models.py:1664 msgid "Unicity keys (separator \";\")" msgstr "" -#: models.py:1608 +#: models.py:1668 msgid "Importer - Type" msgstr "" -#: models.py:1609 +#: models.py:1669 msgid "Importer - Types" msgstr "" -#: models.py:1699 +#: models.py:1759 msgid "Importer - Default" msgstr "" -#: models.py:1700 +#: models.py:1760 msgid "Importer - Defaults" msgstr "" -#: models.py:1735 +#: models.py:1795 msgid "Importer - Default value" msgstr "" -#: models.py:1736 +#: models.py:1796 msgid "Importer - Default values" msgstr "" -#: models.py:1768 +#: models.py:1829 msgid "Column number" msgstr "" -#: models.py:1771 +#: models.py:1832 msgid "Required" msgstr "" -#: models.py:1774 +#: models.py:1835 msgid "Importer - Column" msgstr "" -#: models.py:1775 +#: models.py:1836 msgid "Importer - Columns" msgstr "" -#: models.py:1795 +#: models.py:1856 msgid "Field name" msgstr "" -#: models.py:1797 models.py:1831 +#: models.py:1858 models.py:1892 msgid "Force creation of new items" msgstr "" -#: models.py:1799 models.py:1833 +#: models.py:1860 models.py:1894 msgid "Concatenate with existing" msgstr "" -#: models.py:1801 models.py:1835 +#: models.py:1862 models.py:1896 msgid "Concatenate character" msgstr "" -#: models.py:1805 +#: models.py:1866 msgid "Importer - Duplicate field" msgstr "" -#: models.py:1806 +#: models.py:1867 msgid "Importer - Duplicate fields" msgstr "" -#: models.py:1813 +#: models.py:1874 msgid "Regular expression" msgstr "" -#: models.py:1816 +#: models.py:1877 msgid "Importer - Regular expression" msgstr "" -#: models.py:1817 +#: models.py:1878 msgid "Importer - Regular expressions" msgstr "" -#: models.py:1840 +#: models.py:1901 msgid "Importer - Target" msgstr "" -#: models.py:1841 +#: models.py:1902 msgid "Importer - Targets" msgstr "" -#: models.py:1865 views.py:518 +#: models.py:1926 views.py:536 msgid "True" msgstr "" -#: models.py:1866 views.py:520 +#: models.py:1927 views.py:538 msgid "False" msgstr "" -#: models.py:1885 +#: models.py:1946 msgid "Is set" msgstr "" -#: models.py:1892 +#: models.py:1953 msgid "Importer - Target key" msgstr "" -#: models.py:1893 +#: models.py:1954 msgid "Importer - Targets keys" msgstr "" -#: models.py:1945 models.py:2669 models.py:2682 +#: models.py:2006 models.py:2736 models.py:2749 msgid "Format" msgstr "" -#: models.py:1946 models.py:2774 +#: models.py:2007 models.py:2841 msgid "Operation type" msgstr "" -#: models.py:1947 +#: models.py:2008 msgid "Period" msgstr "" -#: models.py:1948 +#: models.py:2009 msgid "Report state" msgstr "" -#: models.py:1949 +#: models.py:2010 +msgid "Remain type" +msgstr "" + +#: models.py:2011 msgid "Unit" msgstr "" -#: models.py:1950 +#: models.py:2012 +msgid "Activity type" +msgstr "" + +#: models.py:2013 msgid "Material" msgstr "" -#: models.py:1952 +#: models.py:2015 msgid "Conservatory state" msgstr "" -#: models.py:1953 +#: models.py:2016 msgid "Preservation type" msgstr "" -#: models.py:1954 +#: models.py:2017 msgid "Object type" msgstr "" -#: models.py:1956 +#: models.py:2019 msgid "Identification type" msgstr "" -#: models.py:1958 +#: models.py:2021 msgid "Context record relation type" msgstr "" -#: models.py:1959 models.py:2661 +#: models.py:2022 models.py:2728 msgid "Support type" msgstr "" -#: models.py:1965 +#: models.py:2028 msgid "Integer" msgstr "" -#: models.py:1966 +#: models.py:2029 msgid "Float" msgstr "" -#: models.py:1967 +#: models.py:2030 msgid "String" msgstr "" -#: models.py:1968 templates/sheet_ope.html:86 +#: models.py:2031 templates/sheet_ope.html:86 msgid "Date" msgstr "" -#: models.py:1970 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83 +#: models.py:2033 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83 #: templates/ishtar/dashboards/dashboard_main_detail.html:126 msgid "Year" msgstr "" -#: models.py:1971 +#: models.py:2034 msgid "String to boolean" msgstr "" -#: models.py:1972 +#: models.py:2035 msgctxt "filesystem" msgid "File" msgstr "" -#: models.py:1973 +#: models.py:2036 msgid "Unknow type" msgstr "" -#: models.py:1989 +#: models.py:2052 msgid "4 digit year. e.g.: \"2015\"" msgstr "" -#: models.py:1990 +#: models.py:2053 msgid "4 digit year/month/day. e.g.: \"2015/02/04\"" msgstr "" -#: models.py:1991 +#: models.py:2054 msgid "Day/month/4 digit year. e.g.: \"04/02/2015\"" msgstr "" -#: models.py:2001 +#: models.py:2064 msgid "Options" msgstr "" -#: models.py:2003 +#: models.py:2066 msgid "Split character(s)" msgstr "" -#: models.py:2007 +#: models.py:2070 msgid "Importer - Formater type" msgstr "" -#: models.py:2008 +#: models.py:2071 msgid "Importer - Formater types" msgstr "" -#: models.py:2055 templates/ishtar/dashboards/dashboard_main_detail.html:63 +#: models.py:2120 templates/ishtar/dashboards/dashboard_main_detail.html:63 msgid "Created" msgstr "" -#: models.py:2056 +#: models.py:2121 msgid "Analyse in progress" msgstr "" -#: models.py:2057 +#: models.py:2122 msgid "Analysed" msgstr "" -#: models.py:2058 +#: models.py:2123 msgid "Import pending" msgstr "" -#: models.py:2059 +#: models.py:2124 msgid "Import in progress" msgstr "" -#: models.py:2060 +#: models.py:2125 msgid "Finished with errors" msgstr "" -#: models.py:2061 +#: models.py:2126 msgid "Finished" msgstr "" -#: models.py:2062 +#: models.py:2127 msgid "Archived" msgstr "" -#: models.py:2074 +#: models.py:2139 msgid "Imported file" msgstr "" -#: models.py:2077 +#: models.py:2142 msgid "Associated images (zip file)" msgstr "" -#: models.py:2079 +#: models.py:2144 msgid "Encoding" msgstr "" -#: models.py:2081 +#: models.py:2146 msgid "Skip lines" msgstr "" -#: models.py:2082 templates/ishtar/import_list.html:47 +#: models.py:2147 templates/ishtar/import_list.html:47 msgid "Error file" msgstr "" -#: models.py:2085 +#: models.py:2150 msgid "Result file" msgstr "" -#: models.py:2088 templates/ishtar/import_list.html:53 +#: models.py:2153 templates/ishtar/import_list.html:53 msgid "Match file" msgstr "" -#: models.py:2094 +#: models.py:2159 msgid "Conservative import" msgstr "" -#: models.py:2099 +#: models.py:2164 msgid "End date" msgstr "" -#: models.py:2101 +#: models.py:2166 msgid "Remaining seconds" msgstr "" -#: models.py:2106 +#: models.py:2171 msgid "Import" msgstr "" -#: models.py:2123 +#: models.py:2188 msgid "Analyse" msgstr "" -#: models.py:2125 models.py:2128 +#: models.py:2190 models.py:2193 msgid "Re-analyse" msgstr "" -#: models.py:2126 +#: models.py:2191 msgid "Launch import" msgstr "" -#: models.py:2129 +#: models.py:2194 msgid "Re-import" msgstr "" -#: models.py:2130 +#: models.py:2195 msgid "Archive" msgstr "" -#: models.py:2132 +#: models.py:2197 msgid "Unarchive" msgstr "" -#: models.py:2274 +#: models.py:2198 widgets.py:129 templates/ishtar/form_delete.html:11 +msgid "Delete" +msgstr "" + +#: models.py:2339 msgid "Organizations" msgstr "" -#: models.py:2276 +#: models.py:2341 msgid "Can view all Organizations" msgstr "" -#: models.py:2277 +#: models.py:2342 msgid "Can view own Organization" msgstr "" -#: models.py:2278 +#: models.py:2343 msgid "Can add own Organization" msgstr "" -#: models.py:2280 +#: models.py:2345 msgid "Can change own Organization" msgstr "" -#: models.py:2282 +#: models.py:2347 msgid "Can delete own Organization" msgstr "" -#: models.py:2317 +#: models.py:2382 msgid "Groups" msgstr "" -#: models.py:2322 +#: models.py:2387 msgid "Person types" msgstr "" -#: models.py:2330 +#: models.py:2398 msgid "Title type" msgstr "" -#: models.py:2331 +#: models.py:2399 msgid "Title types" msgstr "" -#: models.py:2340 +#: models.py:2408 msgid "Mr" msgstr "" -#: models.py:2341 +#: models.py:2409 msgid "Miss" msgstr "" -#: models.py:2342 +#: models.py:2410 msgid "Mr and Mrs" msgstr "" -#: models.py:2343 +#: models.py:2411 msgid "Mrs" msgstr "" -#: models.py:2344 +#: models.py:2412 msgid "Doctor" msgstr "" -#: models.py:2374 +#: models.py:2442 msgid "Contact type" msgstr "" -#: models.py:2377 models.py:2441 +#: models.py:2445 models.py:2509 msgid "Types" msgstr "" -#: models.py:2380 +#: models.py:2448 msgid "Is attached to" msgstr "" -#: models.py:2385 +#: models.py:2453 msgid "Persons" msgstr "" -#: models.py:2387 +#: models.py:2455 msgid "Can view all Persons" msgstr "" -#: models.py:2388 +#: models.py:2456 msgid "Can view own Person" msgstr "" -#: models.py:2389 +#: models.py:2457 msgid "Can add own Person" msgstr "" -#: models.py:2390 +#: models.py:2458 msgid "Can change own Person" msgstr "" -#: models.py:2391 +#: models.py:2459 msgid "Can delete own Person" msgstr "" -#: models.py:2569 +#: models.py:2637 msgid "Advanced shortcut menu" msgstr "" -#: models.py:2572 +#: models.py:2640 msgid "Ishtar user" msgstr "" -#: models.py:2573 +#: models.py:2641 msgid "Ishtar users" msgstr "" -#: models.py:2616 +#: models.py:2683 msgid "To modify the password use the form in Auth > User" msgstr "" -#: models.py:2622 +#: models.py:2689 msgid "Author types" msgstr "" -#: models.py:2654 +#: models.py:2721 msgid "Source types" msgstr "" -#: models.py:2662 +#: models.py:2729 msgid "Support types" msgstr "" -#: models.py:2670 +#: models.py:2737 msgid "Formats" msgstr "" -#: models.py:2677 +#: models.py:2744 msgid "External ID" msgstr "" -#: models.py:2680 +#: models.py:2747 msgid "Support" msgstr "" -#: models.py:2684 +#: models.py:2751 msgid "Scale" msgstr "" -#: models.py:2698 +#: models.py:2765 msgid "Item number" msgstr "" -#: models.py:2699 +#: models.py:2766 msgid "Ref." msgstr "" -#: models.py:2702 +#: models.py:2769 msgid "Internal ref." msgstr "" -#: models.py:2745 +#: models.py:2812 msgid "Surface (m2)" msgstr "" -#: models.py:2746 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 +#: models.py:2813 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 msgid "Localisation" msgstr "" -#: models.py:2771 +#: models.py:2838 msgid "Is preventive" msgstr "" -#: models.py:2775 +#: models.py:2842 msgid "Operation types" msgstr "" -#: models.py:2804 +#: models.py:2871 msgid "Preventive" msgstr "" -#: models.py:2805 +#: models.py:2872 msgid "Research" msgstr "" -#: utils.py:74 +#: utils.py:81 msgid " (...)" msgstr "" -#: utils.py:107 +#: utils.py:114 msgid "Load another random image?" msgstr "" -#: views.py:111 +#: views.py:114 msgid "New person" msgstr "" -#: views.py:119 +#: views.py:122 msgid "Person modification" msgstr "" -#: views.py:134 +#: views.py:137 msgid "Person deletion" msgstr "" -#: views.py:145 +#: views.py:148 msgid "New organization" msgstr "" -#: views.py:152 +#: views.py:155 msgid "Organization modification" msgstr "" -#: views.py:168 +#: views.py:171 msgid "Organization deletion" msgstr "" -#: views.py:175 +#: views.py:178 msgid "Account management" msgstr "" -#: views.py:181 +#: views.py:184 msgid "Account deletion" msgstr "" -#: views.py:233 +#: views.py:236 msgid "Archaeological file" msgstr "" -#: views.py:236 +#: views.py:239 msgid "Context record" msgstr "" -#: views.py:238 +#: views.py:241 msgid "Find" msgstr "" -#: views.py:1238 views.py:1281 +#: views.py:243 +msgid "Treatment request" +msgstr "" + +#: views.py:244 +msgid "Treatment" +msgstr "" + +#: views.py:1285 views.py:1328 msgid "Operation not permitted." msgstr "" -#: views.py:1240 +#: views.py:1287 #, python-format msgid "New %s" msgstr "" -#: views.py:1300 views.py:1354 +#: views.py:1347 views.py:1400 msgid "Operations" msgstr "" -#: views.py:1553 templates/ishtar/import_list.html:43 +#: views.py:1351 views.py:1407 +msgid "Finds" +msgstr "" + +#: views.py:1599 templates/ishtar/import_list.html:43 msgid "Link unmatched items" msgstr "" -#: views.py:1568 +#: views.py:1614 msgid "Delete import" msgstr "" -#: views.py:1607 +#: views.py:1653 msgid "Merge persons" msgstr "" -#: views.py:1631 +#: views.py:1677 msgid "Select the main person" msgstr "" -#: views.py:1640 +#: views.py:1686 msgid "Merge organization" msgstr "" -#: views.py:1650 +#: views.py:1696 msgid "Select the main organization" msgstr "" -#: views.py:1690 views.py:1706 +#: views.py:1736 views.py:1752 msgid "Corporation manager" msgstr "" -#: widgets.py:239 widgets.py:347 widgets.py:463 +#: widgets.py:258 widgets.py:365 widgets.py:480 msgid "Search..." msgstr "" -#: widgets.py:623 templatetags/window_tables.py:79 +#: widgets.py:670 templatetags/window_tables.py:91 msgid "No results" msgstr "" -#: widgets.py:624 templatetags/window_tables.py:80 +#: widgets.py:671 templatetags/window_tables.py:92 msgid "Loading..." msgstr "" -#: widgets.py:625 +#: widgets.py:672 msgid "Remove" msgstr "" -#: wizards.py:323 templates/ishtar/import_delete.html:20 +#: wizards.py:342 templates/ishtar/import_delete.html:20 msgid "Yes" msgstr "" -#: wizards.py:325 +#: wizards.py:344 msgid "No" msgstr "" -#: wizards.py:1249 +#: wizards.py:1313 #, python-format msgid "[%(app_name)s] Account creation/modification" msgstr "" @@ -1518,11 +1538,11 @@ msgid "The %(app_name)s team" msgstr "" #: templates/base.html:41 -msgid "Searches in the shortcut menu deals with all items." +msgid "Searches in the shortcut menu deal with all items." msgstr "" #: templates/base.html:42 -msgid "Searches in the shortcut menu deals with only your items." +msgid "Searches in the shortcut menu deal with only your items." msgstr "" #: templates/base.html:49 @@ -1686,7 +1706,7 @@ msgid "Operator's reference code:" msgstr "" #: templates/sheet_ope.html:36 -msgid "Town planning service:" +msgid "Planning service:" msgstr "" #: templates/sheet_ope.html:37 @@ -1846,7 +1866,7 @@ msgid "where the magic happens." msgstr "" #: templates/window.html:40 templates/blocks/JQueryJqGrid.html:28 -#: templates/ishtar/manage_basket.html:9 +#: templates/ishtar/manage_basket.html:12 msgid "Add" msgstr "" @@ -1926,7 +1946,7 @@ msgstr "" #: templates/ishtar/import_list.html:58 templates/ishtar/merge.html:31 #: templates/ishtar/simple_form.html:7 #: templates/ishtar/wizard/confirm_wizard.html:42 -#: templates/ishtar/wizard/default_wizard.html:30 +#: templates/ishtar/wizard/default_wizard.html:31 #: templates/ishtar/wizard/search.html:13 #: templates/ishtar/wizard/validation_bar.html:4 msgid "Validate" @@ -1973,11 +1993,11 @@ msgstr "" msgid "Control file" msgstr "" -#: templates/ishtar/manage_basket.html:7 -msgid "Checking \"Select all\" only select the current page." +#: templates/ishtar/manage_basket.html:9 +msgid "Checking \"Select all\" only selects the current page." msgstr "" -#: templates/ishtar/manage_basket.html:10 +#: templates/ishtar/manage_basket.html:13 msgid "Basket content" msgstr "" @@ -2070,11 +2090,11 @@ msgid "No person in this organization" msgstr "" #: templates/ishtar/sheet_organization.html:38 -msgid "General contractor organization of archaelogical files" +msgid "General contractor organization of archaeological files" msgstr "" #: templates/ishtar/sheet_organization.html:43 -msgid "Town planning service of archaelogical files" +msgid "Planning service of archaeological files" msgstr "" #: templates/ishtar/sheet_person.html:21 @@ -2105,15 +2125,18 @@ msgid "Associated operations as responsible" msgstr "" #: templates/ishtar/sheet_person.html:80 -msgid "In charge of archaelogical files" +#: templates/ishtar/wizard/wizard_person_deletion.html:6 +msgid "In charge of archaeological files" msgstr "" #: templates/ishtar/sheet_person.html:85 -msgid "General contractor of archaelogical files" +#: templates/ishtar/wizard/wizard_person_deletion.html:14 +msgid "General contractor of archaeological files" msgstr "" #: templates/ishtar/sheet_person.html:90 -msgid "Responsible for town planning service of archaelogical files" +#: templates/ishtar/wizard/wizard_person_deletion.html:22 +msgid "Responsible for planning service of archaeological files" msgstr "" #: templates/ishtar/sheet_person.html:96 @@ -2185,8 +2208,8 @@ msgstr "" #: templates/ishtar/blocks/window_nav.html:17 msgid "" -"Are you sure to restore to this version? All changement made since this " -"version will be lost." +"Are you sure to restore to this version? All changes made since this version " +"will be lost." msgstr "" #: templates/ishtar/blocks/window_nav.html:22 @@ -2316,7 +2339,7 @@ msgstr "" msgid "Would you like to save them?" msgstr "" -#: templates/ishtar/wizard/default_wizard.html:36 +#: templates/ishtar/wizard/default_wizard.html:37 #: templates/ishtar/wizard/parcels_wizard.html:24 #: templates/ishtar/wizard/relations_wizard.html:23 #: templates/ishtar/wizard/search.html:20 @@ -2324,9 +2347,10 @@ msgstr "" msgid "Add/Modify" msgstr "" -#: templates/ishtar/wizard/default_wizard.html:58 +#: templates/ishtar/wizard/default_wizard.html:59 msgid "" -"The form has changed if you don't validate it all your changes will be lost." +"The form has changed. If you don't validate it, all your changes will be " +"lost." msgstr "" #: templates/ishtar/wizard/parcels_wizard.html:12 @@ -2385,18 +2409,6 @@ msgstr "" msgid "Adminact: operator of archaeological operations" msgstr "" -#: templates/ishtar/wizard/wizard_person_deletion.html:6 -msgid "In charge of archaeological files" -msgstr "" - -#: templates/ishtar/wizard/wizard_person_deletion.html:14 -msgid "General contractor of archaeological files" -msgstr "" - -#: templates/ishtar/wizard/wizard_person_deletion.html:22 -msgid "Responsible town planning service of archaeological files" -msgstr "" - #: templates/ishtar/wizard/wizard_person_deletion.html:30 msgid "Scientist in charge of archaeological files" msgstr "" diff --git a/ishtar_common/migrations/0011_generate_title.py b/ishtar_common/migrations/0011_generate_title.py index 3fcb82ee5..d30850cab 100644 --- a/ishtar_common/migrations/0011_generate_title.py +++ b/ishtar_common/migrations/0011_generate_title.py @@ -15,6 +15,7 @@ TYPE = ( class Migration(SchemaMigration): + no_dry_run = True def forwards(self, orm): keys = {} diff --git a/ishtar_common/migrations/0015_remove_ishtar_local_prefix.py b/ishtar_common/migrations/0015_remove_ishtar_local_prefix.py index 67624b039..38532daee 100644 --- a/ishtar_common/migrations/0015_remove_ishtar_local_prefix.py +++ b/ishtar_common/migrations/0015_remove_ishtar_local_prefix.py @@ -6,6 +6,7 @@ from django.db import models class Migration(SchemaMigration): + no_dry_run = True def forwards(self, orm): if not db.dry_run: diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 72a3432f8..ccb817adc 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -25,6 +25,7 @@ import copy import datetime from PIL import Image from importlib import import_module +import logging import os import re import shutil @@ -65,6 +66,9 @@ from ishtar_common.data_importer import Importer, ImportFormater, \ TypeFormater, YearFormater, StrToBoolean, FileFormater +logger = logging.getLogger(__name__) + + def post_save_user(sender, **kwargs): user = kwargs['instance'] try: @@ -95,6 +99,7 @@ class Imported(models.Model): class ValueGetter(object): _prefix = "" GET_VALUES_EXTRA = [] + EXTRA_FULL_FIELDS_LABELS = {} def get_values(self, prefix=''): if not prefix: @@ -249,9 +254,10 @@ class OwnPerms: query = cls.get_query_owns(user) if not query and not replace_query: return cls.objects.filter(pk__isnull=True) - q = cls.objects.filter(query) + if query: + q = cls.objects.filter(query) if replace_query: - q = cls.objects.filter(**replace_query) + q = cls.objects.filter(replace_query) if limit: items += list(q.order_by('-pk')[:limit]) else: @@ -408,10 +414,12 @@ class GeneralType(Cached, models.Model): new_vals = [] if not initial: return [] + if type(initial) not in (list, tuple): + initial = [initial] for value in initial: try: pk = int(value) - except ValueError: + except (ValueError, TypeError): continue if pk in type_pks: continue @@ -442,6 +450,7 @@ class GeneralType(Cached, models.Model): keys = ['__get_types'] keys += [u"{}".format(ex) for ex in exclude] + [ empty_first and 'empty_first' or ''] + [u"{}".format(default)] + keys += [u'{}-{}'.format(unicode(k), dct[k]) for k in dct] cache_key, value = get_cache(cls, keys) if value and not force: return value @@ -480,7 +489,10 @@ class GeneralType(Cached, models.Model): pass items = cls.objects.filter(**dct) if default and default != "None": - exclude.append(default.txt_idx) + if hasattr(default, 'txt_idx'): + exclude.append(default.txt_idx) + else: + exclude.append(default) if exclude: items = items.exclude(txt_idx__in=exclude) for item in items.order_by(*cls._meta.ordering).all(): @@ -659,7 +671,7 @@ class ImageModel(models.Model): null=True, max_length=255) IMAGE_MAX_SIZE = settings.IMAGE_MAX_SIZE THUMB_MAX_SIZE = settings.THUMB_MAX_SIZE - IMAGE_PREFIX = '/' + IMAGE_PREFIX = '' class Meta: abstract = True @@ -1487,15 +1499,15 @@ class Address(BaseHistorizedItem): if self.phone: if lbl: lbl += u"\n" - lbl += u"{}{}".format(unicode(_("Tel: ")), self.phone) + lbl += u"{} {}".format(unicode(_("Tel: ")), self.phone) if self.mobile_phone: if lbl: lbl += u"\n" - lbl += u"{}{}".format(unicode(_("Mobile: ")), self.mobile_phone) + lbl += u"{} {}".format(unicode(_("Mobile: ")), self.mobile_phone) if self.email: if lbl: lbl += u"\n" - lbl += u"{}{}".format(unicode(_("Email: ")), self.email) + lbl += u"{} {}".format(unicode(_("Email: ")), self.email) return lbl @@ -1607,7 +1619,7 @@ def get_importer_models(): ('archaeological_context_records.models.RecordRelations', _(u"Context record relations"))] + MODELS MODELS = [('archaeological_finds.models.BaseFind', - _(u"Finds")), ] + MODELS + _(u"Base finds")), ] + MODELS return MODELS @@ -1995,7 +2007,9 @@ TARGET_MODELS = [ ('archaeological_operations.models.OperationType', _(u"Operation type")), ('archaeological_operations.models.Period', _(u"Period")), ('archaeological_operations.models.ReportState', _(u"Report state")), + ('archaeological_operations.models.RemainType', _(u"Remain type")), ('archaeological_context_records.models.Unit', _(u"Unit")), + ('archaeological_context_records.models.ActivityType', _(u"Activity type")), ('archaeological_finds.models.MaterialType', _(u"Material")), ('archaeological_finds.models.ConservatoryState', _(u"Conservatory state")), @@ -2077,7 +2091,9 @@ class FormaterType(models.Model): kwargs['many_split'] = self.many_split if self.formater_type == 'TypeFormater': if self.options not in TARGET_MODELS_KEYS: - print('%s not in TARGET_MODELS_KEYS' % self.options) + logger.warning( + "**WARN FormaterType.get_formater_type**: {} " + "is not in TARGET_MODELS_KEYS".format(self.options)) return model = None if self.options in dir(): @@ -2630,7 +2646,6 @@ class IshtarUser(User): surname = user.first_name or default name = user.last_name or default email = user.email - person_type = None if user.is_superuser: ADMINISTRATOR, created = PersonType.objects.get_or_create( txt_idx='administrator') diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index 8abf23289..b5f4f1a79 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -102,6 +102,18 @@ function init_shortcut_fields(){ load_shortcut_menu ); }); + $("#current_treatment").change(function(){ + $.post('/' + url_path + 'update-current-item/', + {item:'treatment', value:$("#current_treatment").val()}, + load_shortcut_menu + ); + }); + $("#current_treatmentfile").change(function(){ + $.post('/' + url_path + 'update-current-item/', + {item:'treatmentfile', value:$("#current_treatmentfile").val()}, + load_shortcut_menu + ); + }); } function init_advanced_shortcut_fields(){ diff --git a/ishtar_common/static/media/style.css b/ishtar_common/static/media/style.css index 00fed380d..b1939eaf0 100644 --- a/ishtar_common/static/media/style.css +++ b/ishtar_common/static/media/style.css @@ -60,6 +60,10 @@ a.add-button, color:#000; } +#context_menu .blue { + color:#00a8ff; +} + .chosen-container, #context_menu .green, #context_menu .red, @@ -272,7 +276,9 @@ button.ui-widget-header:hover { .chosen-container-single .chosen-single{ background: none; background-color: #fff; - border-radius:4px; + border-radius: 0; + box-shadow: none; + border: 1px solid #fff; } textarea, @@ -847,6 +853,11 @@ ul.form .help_text{ .autocomplete{ width:350px; + font-size: 13px; +} + +#current_items .autocomplete{ + width:400px; } .delete td{ diff --git a/ishtar_common/templates/base.html b/ishtar_common/templates/base.html index 7101ed7de..dcd3043ca 100644 --- a/ishtar_common/templates/base.html +++ b/ishtar_common/templates/base.html @@ -38,8 +38,8 @@ var get_find_url = '{% url "get-find-shortcut" %}'; var activate_all_search_url = '{% url "activate-all-search" %}'; var activate_own_search_url = '{% url "activate-own-search" %}'; - var activate_all_search_msg = "{% trans 'Searches in the shortcut menu deals with all items.' %}"; - var activate_own_search_msg = "{% trans 'Searches in the shortcut menu deals with only your items.' %}"; + var activate_all_search_msg = "{% trans 'Searches in the shortcut menu deal with all items.' %}"; + var activate_own_search_msg = "{% trans 'Searches in the shortcut menu deal with only your items.' %}"; </script> </head> <body{% if current_theme%} id='{{current_theme}}'{%endif%}> diff --git a/ishtar_common/templates/ishtar/blocks/window_nav.html b/ishtar_common/templates/ishtar/blocks/window_nav.html index 4ce316217..3c52063f4 100644 --- a/ishtar_common/templates/ishtar/blocks/window_nav.html +++ b/ishtar_common/templates/ishtar/blocks/window_nav.html @@ -14,7 +14,7 @@ <span class='history-nav'> </span> {% endif %} {% if next %} - <a class='history-nav' title="{% trans 'Restore this version' %}" href="#" onclick='if(confirm("{%trans 'Are you sure to restore to this version? All changement made since this version will be lost.' %}")){load_url("{% url revert_url item.pk item.history_date|date:"c"%}");closeAllWindows();load_window("{% url show_url item.pk None %}");}'> + <a class='history-nav' title="{% trans 'Restore this version' %}" href="#" onclick='if(confirm("{%trans 'Are you sure to restore to this version? All changes made since this version will be lost.' %}")){load_url("{% url revert_url item.pk item.history_date|date:"c"%}");closeAllWindows();load_window("{% url show_url item.pk None %}");}'> <span class="fa-stack fa-lg"> <i class="fa fa-circle fa-stack-2x"></i> <i class="fa fa-history fa-stack-1x fa-inverse"></i> diff --git a/ishtar_common/templates/ishtar/manage_basket.html b/ishtar_common/templates/ishtar/manage_basket.html index 64793c46d..de17f3ad7 100644 --- a/ishtar_common/templates/ishtar/manage_basket.html +++ b/ishtar_common/templates/ishtar/manage_basket.html @@ -4,7 +4,10 @@ <h2>{{page_name}}{% trans ":"%} {{basket}}</h2> <form enctype="multipart/form-data" action="." method="post">{% csrf_token %} <div class='form'> -<p class='alert'><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> {% trans 'Checking "Select all" only select the current page.' %}</p> +<p class='alert'> + <i class="fa fa-exclamation-triangle" aria-hidden="true"></i> + {% trans 'Checking "Select all" only selects the current page.' %} +</p> {{form}} <button id='add_to' onclick='return false'>{% trans "Add" %}</button> <h3>{% trans "Basket content" %}</h3> diff --git a/ishtar_common/templates/ishtar/sheet_organization.html b/ishtar_common/templates/ishtar/sheet_organization.html index 8a47c35f5..1f4bd77b7 100644 --- a/ishtar_common/templates/ishtar/sheet_organization.html +++ b/ishtar_common/templates/ishtar/sheet_organization.html @@ -35,12 +35,12 @@ {% endfor %} </table> -{% trans "General contractor organization of archaelogical files" as af %} +{% trans "General contractor organization of archaeological files" as af %} {% if item.general_contractor_files.count %} {% dynamic_table_document af 'files' 'corporation_general_contractor' item.pk '' output %} {% endif %} -{% trans "Town planning service of archaelogical files" as af %} +{% trans "Planning service of archaeological files" as af %} {% if item.planning_service_files.count %} {% dynamic_table_document af 'files' 'planning_service' item.pk '' output %} {% endif %} diff --git a/ishtar_common/templates/ishtar/sheet_person.html b/ishtar_common/templates/ishtar/sheet_person.html index c84c56996..bcf39c363 100644 --- a/ishtar_common/templates/ishtar/sheet_person.html +++ b/ishtar_common/templates/ishtar/sheet_person.html @@ -77,17 +77,17 @@ {% dynamic_table_document ao 'operations' 'in_charge' item.pk '' output %} {% endif %} -{% trans "In charge of archaelogical files" as af %} +{% trans "In charge of archaeological files" as af %} {% if item.file_responsability.count %} {% dynamic_table_document af 'files' 'in_charge' item.pk '' output %} {% endif %} -{% trans "General contractor of archaelogical files" as af %} +{% trans "General contractor of archaeological files" as af %} {% if item.general_contractor_files.count %} {% dynamic_table_document af 'files' 'general_contractor' item.pk '' output %} {% endif %} -{% trans "Responsible for town planning service of archaelogical files" as af %} +{% trans "Responsible for planning service of archaeological files" as af %} {% if item.responsible_town_planning_service_files.count %} {% dynamic_table_document af 'files' 'responsible_town_planning_service' item.pk '' output %} {% endif %} diff --git a/ishtar_common/templates/ishtar/wizard/confirm_wizard.html b/ishtar_common/templates/ishtar/wizard/confirm_wizard.html index 9007c867c..1fbaadcd1 100644 --- a/ishtar_common/templates/ishtar/wizard/confirm_wizard.html +++ b/ishtar_common/templates/ishtar/wizard/confirm_wizard.html @@ -6,9 +6,9 @@ <form action="." method="post">{% csrf_token %} <ul id='form_path'> {% for step in previous_steps %} - <li><button name="form_prev_step" value="{{forloop.counter0}}">{{step.form_label}}</button></li> + <li><button name="form_prev_step" value="{{forloop.counter0}}">{{step}}</button></li> {% endfor %} - <li class='current'><a href='#'>{{current_step.form_label}}</a></li> + <li class='current'><a href='#'>{{current_step_label}}</a></li> </ul> </form> <form action="." method="post">{% csrf_token %} diff --git a/ishtar_common/templates/ishtar/wizard/default_wizard.html b/ishtar_common/templates/ishtar/wizard/default_wizard.html index 6491b7a0f..fad1895bd 100644 --- a/ishtar_common/templates/ishtar/wizard/default_wizard.html +++ b/ishtar_common/templates/ishtar/wizard/default_wizard.html @@ -10,11 +10,11 @@ <form action="." method="post">{% csrf_token %} <ul id='form_path'> {% for step in previous_steps %} - <li><button class='change_step' name="form_prev_step" value="{{forloop.counter0}}">{{step.form_label}}</button></li> + <li><button class='change_step' name="form_prev_step" value="{{forloop.counter0}}">{{step}}</button></li> {% endfor %} - <li class='current'><a href='#'>{{current_step.form_label}}</a></li> + <li class='current'><a href='#'>{{current_step_label}}</a></li> {% for step in next_steps %} - <li><button class='change_step' name="form_prev_step" value="{{forloop.counter|add:previous_step_counter}}">{{step.form_label}}</button></li> + <li><button class='change_step' name="form_prev_step" value="{{forloop.counter|add:previous_step_counter}}">{{step}}</button></li> {% endfor %} </ul> </form> @@ -24,6 +24,7 @@ <div class='form'> {{ wizard.form.media }} {{ wizard.management_form }} +{% block form_head %}{% endblock %} {% block form_detail %} {% if wizard.form.forms %} {{ wizard.form.management_form }} @@ -55,7 +56,7 @@ $(document).ready(function(){ $('form :input').change(function(){form_changed=true;}); $('.change_step').click(function(){ if(!form_changed || - confirm("{% trans "The form has changed if you don't validate it all your changes will be lost." %}")){ + confirm("{% trans "The form has changed. If you don't validate it, all your changes will be lost." %}")){ return true; } return false; diff --git a/ishtar_common/templates/ishtar/wizard/wizard_person_deletion.html b/ishtar_common/templates/ishtar/wizard/wizard_person_deletion.html index 03b941c60..86286fad0 100644 --- a/ishtar_common/templates/ishtar/wizard/wizard_person_deletion.html +++ b/ishtar_common/templates/ishtar/wizard/wizard_person_deletion.html @@ -19,7 +19,7 @@ {% endif %} {% if current_object.responsible_town_planning_service.count %} -<h3>{% trans "Responsible town planning service of archaeological files" %}</h3> +<h3>{% trans "Responsible for planning service of archaeological files" %}</h3> <ul class='list'> {% for file in current_object.responsible_town_planning_service.all %} <li>{{file}} <a class='display_details_inline' href="#" onclick='load_window("{%url show-file file.pk ''%}")'><i class="fa fa-info-circle" aria-hidden="true"></i></a></li>{% endfor %} diff --git a/ishtar_common/templates/sheet_ope.html b/ishtar_common/templates/sheet_ope.html index 28390af45..1e18e8b7e 100644 --- a/ishtar_common/templates/sheet_ope.html +++ b/ishtar_common/templates/sheet_ope.html @@ -33,7 +33,7 @@ <p><label>{%trans "Related file:"%}</label> <span class='value'><a href='{% url show-file item.related_file.pk ''%}'>{{ item.related_file }}</a></span></p><!-- Displayed as Year/index/Commune/Common_name This should be a link to the file sheet of the related file --> {% if item.related_file.is_preventive %} {% if item.operator_reference_code %}<p><label>{%trans "Operator's reference code:"%}</label> <span class='value'>{{ item.operator_reference_code }}</span></p>{% endif %} -{% if item.related_file.town_planning_service %}<p><label>{%trans "Town planning service:"%}</label> <span class='value'>{{ item.related_file.town_planning_service }}</span></p>{% endif %} +{% if item.related_file.town_planning_service %}<p><label>{%trans "Planning service:"%}</label> <span class='value'>{{ item.related_file.town_planning_service }}</span></p>{% endif %} {% if item.related_file.permit_type %}<p><label>{%trans "Permit type:"%}</label> <span class='value'>{{ item.related_file.permit_type }}</span></p>{% endif %} {% if item.related_file.permit_reference %}<p><label>{%trans "Permit reference:"%}</label> <span class='value'>{{ item.related_file.permit_reference }}</span></p>{% endif %} {% if item.related_file.general_contractor.attached_to %}<p><label>{%trans "General contractor organisation:"%}</label> <span class='value'>{{ item.related_file.general_contractor.attached_to }}</span></p>{% endif %} <!-- Contractor's organisation displayed as concat of Name/Adress/postal_code/city --> diff --git a/ishtar_common/templatetags/window_tables.py b/ishtar_common/templatetags/window_tables.py index acb3d4a0a..05592557a 100644 --- a/ishtar_common/templatetags/window_tables.py +++ b/ishtar_common/templatetags/window_tables.py @@ -15,9 +15,11 @@ from ishtar_common.widgets import JQueryJqGrid from archaeological_files.models import File from archaeological_operations.models import OperationSource, Operation from archaeological_context_records.models import ContextRecord, \ - ContextRecordSource, RecordRelations as CRRecordRelations + ContextRecordSource, RecordRelationView, \ + RecordRelations as CRRecordRelations from archaeological_finds.models import Find, FindSource, \ - FindUpstreamTreatments, FindDownstreamTreatments + FindUpstreamTreatments, FindDownstreamTreatments, FindTreatments +from archaeological_warehouse.models import Container register = template.Library() @@ -40,27 +42,37 @@ ASSOCIATED_MODELS['context_records_docs'] = ( ContextRecordSource, 'get-contextrecordsource', 'get-contextrecordsource-full') ASSOCIATED_MODELS['context_records_relations'] = ( - CRRecordRelations, 'get-contextrecordrelation', '') + RecordRelationView, 'get-contextrecordrelation', '') +ASSOCIATED_MODELS['context_records_relations_detail'] = ( + CRRecordRelations, 'get-contextrecordrelationdetail', '') ASSOCIATED_MODELS['finds'] = (Find, 'get-find', 'get-find-full') ASSOCIATED_MODELS['finds_for_ope'] = ( Find, 'get-find-for-ope', 'get-find-full') +ASSOCIATED_MODELS['finds_for_treatment'] = ( + Find, 'get-find-for-treatment', 'get-find-full') ASSOCIATED_MODELS['finds_docs'] = ( FindSource, 'get-findsource', 'get-findsource-full') ASSOCIATED_MODELS['finds_upstreamtreatments'] = ( FindUpstreamTreatments, 'get-upstreamtreatment', '') ASSOCIATED_MODELS['finds_downstreamtreatments'] = ( FindDownstreamTreatments, 'get-downstreamtreatment', '') +ASSOCIATED_MODELS['treatments'] = ( + FindTreatments, 'get-treatment', '') +ASSOCIATED_MODELS['containers'] = ( + Container, 'get-container', '') @register.simple_tag(takes_context=True) def dynamic_table_document( context, caption, associated_model, key, value, - table_cols='TABLE_COLS', output='html', large=False): + table_cols='TABLE_COLS', output='html', large=False, + col_prefix=''): if not table_cols: table_cols = 'TABLE_COLS' model, url, url_full = ASSOCIATED_MODELS[associated_model] - grid = JQueryJqGrid(None, None, model, table_cols=table_cols) + grid = JQueryJqGrid(None, None, model, table_cols=table_cols, + col_prefix=col_prefix) source = unicode(reverse_lazy(url)) source_full = unicode(reverse_lazy(url_full)) if url_full else '' source_attrs = mark_safe('?submited=1&{}={}'.format(key, value)) @@ -69,7 +81,7 @@ def dynamic_table_document( t = get_template('ishtar/blocks/window_tables/dynamic_documents.html') context = template.Context({ 'caption': caption, - 'name': slugify(caption) + '{}'.format(int(time.time())), + 'name': '{}{}{}'.format(slugify(caption), key, int(time.time())), 'source': source + source_attrs, 'source_full': source_full, 'simple_source': source, diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index 0c4bbda08..6db425cab 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -29,6 +29,7 @@ from django.core.urlresolvers import reverse from django.template.defaultfilters import slugify from django.test import TestCase from django.test.client import Client +from django.test.simple import DjangoTestSuiteRunner from ishtar_common import models @@ -75,6 +76,55 @@ def create_user(): return username, password, user +class WizardTestFormData(object): + """ + Test set to simulate wizard steps + """ + def __init__(self, name, form_datas, ignored=[], extra_tests=[]): + """ + :param name: explicit name of the test + :param form_datas: dict with data for each step - dict key are wizard + step name + :param ignored: steps to be ignored in wizard processing + :param extra_tests: list of extra tests. Theses tests must be functions + accepting two parameters: the current test object and the final step + response + """ + self.form_datas = form_datas + self.ignored = ignored[:] + self.extra_tests = extra_tests + + def tests(self, test_object, final_step_response): + """ + Specific tests for theses datas. Raise Exception if not OK. + """ + for test in self.extra_tests: + test(test_object, final_step_response) + + +class ManagedModelTestRunner(DjangoTestSuiteRunner): + """ + Test runner that automatically makes all unmanaged models in your Django + project managed for the duration of the test run, so that one doesn't need + to execute the SQL manually to create them. + """ + def setup_test_environment(self, *args, **kwargs): + from django.db.models.loading import get_models + self.unmanaged_models = [m for m in get_models() + if not m._meta.managed] + for m in self.unmanaged_models: + m._meta.managed = True + super(ManagedModelTestRunner, self).setup_test_environment(*args, + **kwargs) + + def teardown_test_environment(self, *args, **kwargs): + super(ManagedModelTestRunner, self).teardown_test_environment(*args, + **kwargs) + # reset unmanaged models + for m in self.unmanaged_models: + m._meta.managed = False + + class WizardTest(object): url_name = None wizard_name = '' @@ -92,10 +142,29 @@ class WizardTest(object): def post_wizard(self): pass + def pass_test(self): + return False + + def check_response(self, response, current_step): + if "errorlist" in response.content: + soup = Soup(response.content) + errorlist = soup.findAll( + "ul", {"class": "errorlist"}) + errors = [] + for li in errorlist: + lbl = li.findParent().findParent().findChild().text + errors.append(u"{} - {}".format(lbl, li.text)) + raise ValidationError(u"Errors: {} on {}.".format( + u" ".join(errors), current_step)) + def test_wizard(self): + if self.pass_test(): + return url = reverse(self.url_name) self.pre_wizard() - for form_data, ignored in self.form_datas: + for test_form_data in self.form_datas: + form_data = test_form_data.form_datas + ignored = test_form_data.ignored for idx, step in enumerate(self.steps): current_step, current_form = step if current_step in ignored: @@ -116,28 +185,22 @@ class WizardTest(object): next_form = self.steps[idx + 1][0] break next_idx = next_idx + 1 - if next_form: try: response = self.client.post(url, data) except ValidationError as e: + # on ManagementForm data is missing or has been tampered + # error verify the wizard_name or step name raise ValidationError(u"Errors: {} on {}.".format( u" - ".join(e.messages), current_step)) - if "errorlist" in response.content: - soup = Soup(response.content) - errorlist = soup.findAll( - "ul", {"class": "errorlist"}) - errors = [] - for li in errorlist: - lbl = li.findParent().findParent().findChild().text - errors.append(u"{} - {}".format(lbl, li.text)) - raise ValidationError(u"Errors: {} on {}.".format( - u" ".join(errors), current_step)) + self.check_response(response, current_step) self.assertRedirects( response, '/{}/{}'.format(self.url_name, next_form)) else: response = self.client.post(url, data, follow=True) + self.check_response(response, current_step) + test_form_data.tests(self, response) self.post_wizard() diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index 44112bca3..9b3c85694 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -60,11 +60,18 @@ def cached_label_changed(sender, **kwargs): and instance._cached_label_checked: return instance._cached_label_checked = True - lbl = instance._generate_cached_label() - if lbl != instance.cached_label: + cached_labels = ['cached_label'] + if hasattr(sender, 'CACHED_LABELS'): + cached_labels = sender.CACHED_LABELS + changed = False + for cached_label in cached_labels: + lbl = getattr(instance, '_generate_' + cached_label)() + if lbl != getattr(instance, cached_label): + setattr(instance, cached_label, lbl) + changed = True + if changed: if hasattr(instance, '_cascade_change') and instance._cascade_change: instance.skip_history_when_saving = True - instance.cached_label = lbl instance.save() if hasattr(instance, '_get_associated_cached_labels'): for item in instance._get_associated_cached_labels(): diff --git a/ishtar_common/views.py b/ishtar_common/views.py index cd34a2019..d827ae065 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -58,7 +58,7 @@ from menus import menu from archaeological_files.models import File from archaeological_operations.models import Operation from archaeological_context_records.models import ContextRecord -from archaeological_finds.models import Find +from archaeological_finds.models import Find, Treatment, TreatmentFile from archaeological_operations.forms import DashboardForm as DashboardFormOpe from archaeological_files.forms import DashboardForm as DashboardFormFile @@ -239,6 +239,9 @@ def shortcut_menu(request): CURRENT_ITEMS.append((_(u"Context record"), ContextRecord)) if profile.find: CURRENT_ITEMS.append((_(u"Find"), Find)) + if profile.warehouse: + CURRENT_ITEMS.append((_(u"Treatment request"), TreatmentFile)) + CURRENT_ITEMS.append((_(u"Treatment"), Treatment)) if hasattr(request.user, 'ishtaruser') and \ request.user.ishtaruser.advanced_shortcut_menu: dct = {'current_menu': [], 'menu': [], @@ -261,7 +264,7 @@ def shortcut_menu(request): 'ishtar/blocks/advanced_shortcut_menu.html', dct, context_instance=RequestContext(request)) dct = {'current_menu': []} - current_selected_item = None + current_selected_item = {} for lbl, model in CURRENT_ITEMS: new_selected_item = None model_name = model.SLUG @@ -291,7 +294,8 @@ def shortcut_menu(request): pass if items: dct['current_menu'].append((lbl, model_name, cls, items)) - current_selected_item = new_selected_item + if new_selected_item: + current_selected_item[model_name] = new_selected_item return render_to_response('ishtar/blocks/shortcut_menu.html', dct, context_instance=RequestContext(request)) @@ -301,7 +305,9 @@ def get_current_items(request): for key, model in (('file', File), ('operation', Operation), ('contextrecord', ContextRecord), - ('find', Find)): + ('find', Find), + ('treatmentfile', TreatmentFile), + ('treatment', Treatment)): currents[key] = None if key in request.session and request.session[key]: try: @@ -312,6 +318,16 @@ def get_current_items(request): def unpin(request, item_type): + if item_type not in ('find', 'contextrecord', 'operation', 'file', + 'treatment', 'treatmentfile'): + logger.warning("unpin unknow type: {}".format(item_type)) + return HttpResponse('nok') + request.session['treatment'] = '' + if item_type == 'treatment': + return HttpResponse('ok') + request.session['treatmentfile'] = '' + if item_type == 'treatmentfile': + return HttpResponse('ok') request.session['find'] = '' if item_type == 'find': return HttpResponse('ok') @@ -322,7 +338,8 @@ def unpin(request, item_type): if item_type == 'operation': return HttpResponse('ok') request.session['file'] = '' - return HttpResponse('ok') + if item_type == 'file': + return HttpResponse('ok') def update_current_item(request, item_type=None, pk=None): @@ -462,9 +479,8 @@ def autocomplete_town(request): for q in q.split(' '): extra = Q(name__icontains=q) if settings.COUNTRY == 'fr': - extra = (extra | Q(numero_insee__istartswith=q) | - Q(departement__label__istartswith=q)) - query = query & extra + extra |= Q(numero_insee__istartswith=q) + query &= extra limit = 20 towns = models.Town.objects.filter(query)[:limit] data = json.dumps([{'id': town.pk, 'value': unicode(town)} @@ -528,7 +544,7 @@ HIERARCHIC_FIELDS = ['periods', 'period', 'unit', 'material_types', def get_item(model, func_name, default_name, extra_request_keys=[], - base_request={}, bool_fields=[], reversed_bool_fields=[], + base_request=None, bool_fields=[], reversed_bool_fields=[], dated_fields=[], associated_models=[], relative_session_names=[], specific_perms=[], own_table_cols=None, relation_types_prefix={}): """ @@ -577,10 +593,12 @@ def get_item(model, func_name, default_name, extra_request_keys=[], my_extra_request_keys = copy(model.EXTRA_REQUEST_KEYS) else: my_extra_request_keys = copy(extra_request_keys) - if not base_request and hasattr(model, 'BASE_REQUEST'): + if base_request is None and hasattr(model, 'BASE_REQUEST'): my_base_request = copy(model.BASE_REQUEST) - else: + elif base_request is not None: my_base_request = copy(base_request) + else: + my_base_request = {} if not bool_fields and hasattr(model, 'BOOL_FIELDS'): my_bool_fields = model.BOOL_FIELDS[:] else: @@ -677,7 +695,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[], request.session[default_name].split('-')[-1]} else: dct = {"pk": request.session[default_name]} - elif dct == base_request: + elif dct == (base_request or {}): # a parent item may be selected in the default menu for name, key in my_relative_session_names: if name in request.session and request.session[name]: @@ -750,7 +768,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[], alt_dct = dct.copy() alt_dct.pop(k) alt_dct.update(or_req) - query = query | Q(**alt_dct) + query |= Q(**alt_dct) for rtype_prefix in relation_types: vals = list(relation_types[rtype_prefix]) @@ -775,8 +793,8 @@ def get_item(model, func_name, default_name, extra_request_keys=[], if not dct: # fake condition to trick Django (1.4): without it only the # alt_dct is managed - query = query & Q(pk__isnull=False) - query = query | Q(**alt_dct) + query &= Q(pk__isnull=False) + query |= Q(**alt_dct) for k, or_req in or_reqs: altor_dct = alt_dct.copy() altor_dct.pop(k) @@ -787,7 +805,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[], altor_dct[ rtype_prefix + 'right_relations__right_record__' + j] =\ val - query = query | Q(**altor_dct) + query |= Q(**altor_dct) if own: query = query & model.get_query_owns(request.user) @@ -809,7 +827,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[], and request.session[model_name] if current: dct = {upper_key: current} - query = query & Q(**dct) + query &= Q(**dct) items = model.objects.filter(query).distinct() # print(items.query) @@ -910,6 +928,14 @@ def get_item(model, func_name, default_name, extra_request_keys=[], keys = [keys] my_vals = [] for k in keys: + if hasattr(model, 'EXTRA_REQUEST_KEYS') \ + and k in model.EXTRA_REQUEST_KEYS: + k = model.EXTRA_REQUEST_KEYS[k] + if type(k) in (list, tuple): + k = k[0] + for filtr in ('__icontains', '__contains'): + if k.endswith(filtr): + k = k[:len(k) - len(filtr)] vals = [item] # foreign key may be divided by "." or "__" splitted_k = [] @@ -929,10 +955,14 @@ def get_item(model, func_name, default_name, extra_request_keys=[], v = v() new_vals.append(v) elif val: - val = getattr(val, ky) - if callable(val): - val = val() - new_vals.append(val) + try: + val = getattr(val, ky) + if callable(val): + val = val() + new_vals.append(val) + except AttributeError: + # must be a query key such as "contains" + pass vals = new_vals # manage last related objects if vals and hasattr(vals[0], 'all'): @@ -981,8 +1011,8 @@ def get_item(model, func_name, default_name, extra_request_keys=[], lnk = link_template % reverse('show-' + default_name, args=[data[0], '']) except NoReverseMatch: - print( - '"show-' + default_name + "\" args (" + logger.warning( + '**WARN "show-' + default_name + '" args (' + unicode(data[0]) + ") url not available") lnk = '' res = {'id': data[0], 'link': lnk} @@ -995,9 +1025,9 @@ def get_item(model, func_name, default_name, extra_request_keys=[], # foreign key may be divided by "." or "__" for tc in table_col: if '.' in tc: - tab_cols.append(tc.split('.')[-1]) + tab_cols += tc.split('.') elif '__' in tc: - tab_cols.append(tc.split('__')[-1]) + tab_cols += tc.split('__') else: tab_cols.append(tc) k = "__".join(tab_cols) @@ -1027,6 +1057,8 @@ def get_item(model, func_name, default_name, extra_request_keys=[], writer = csv.writer(response, **CSV_OPTIONS) col_names = [] for field_name in table_cols: + if type(field_name) in (list, tuple): + field_name = " ; ".join(field_name) if hasattr(model, 'EXTRA_FULL_FIELDS_LABELS') and\ field_name in model.EXTRA_FULL_FIELDS_LABELS: field = model.EXTRA_FULL_FIELDS_LABELS[field_name] @@ -1037,6 +1069,11 @@ def get_item(model, func_name, default_name, extra_request_keys=[], field = model._meta.get_field(field_name) except: col_names.append(u"".encode(ENCODING)) + logger.warning( + "**WARN get_item - csv export**: no col name for " + "{}\nadd explicit label to " + "EXTRA_FULL_FIELDS_LABELS attribute of " + "{}".format(field_name, model)) continue col_names.append( unicode(field.verbose_name).encode(ENCODING)) @@ -1111,7 +1148,6 @@ def show_item(model, name, extra_dct=None): context_instance = RequestContext(request) context_instance.update(dct) context_instance['output'] = 'html' - filename = "" if hasattr(item, 'history_object'): filename = item.history_object.associated_filename else: diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py index 1183836bc..ddbfa91bf 100644 --- a/ishtar_common/widgets.py +++ b/ishtar_common/widgets.py @@ -19,12 +19,15 @@ # See the file COPYING for details. +import logging + from django import forms from django.conf import settings -from django.core.urlresolvers import reverse +from django.core.urlresolvers import reverse, NoReverseMatch from django.db.models import fields from django.forms import ClearableFileInput -from django.forms.widgets import flatatt +from django.forms.widgets import flatatt, \ + CheckboxSelectMultiple as CheckboxSelectMultipleBase from django.template import Context, loader from django.template.defaultfilters import slugify from django.utils.encoding import smart_unicode @@ -36,6 +39,8 @@ from django.utils.translation import ugettext_lazy as _ from ishtar_common import models +logger = logging.getLogger(__name__) + reverse_lazy = lazy(reverse, unicode) @@ -56,6 +61,20 @@ class Select2Multiple(forms.SelectMultiple): return super(Select2Multiple, self).render(name, value, attrs, choices) +class CheckboxSelectMultiple(CheckboxSelectMultipleBase): + """ + Fix initialization bug. + Should be corrected on recent Django version. + TODO: test and remove (test case: treatment type not keep on modif) + """ + def render(self, name, value, attrs=None, choices=()): + if type(value) in (str, unicode): + value = value.split(',') + if type(value) not in (list, tuple): + value = [value] + return super(CheckboxSelectMultiple, self).render(name, value, attrs, + choices) + class MultipleAutocompleteField(forms.MultipleChoiceField): def __init__(self, *args, **kwargs): @@ -322,7 +341,6 @@ class JQueryTown(forms.TextInput): @classmethod def encode_source(cls, source): - encoded_src = '' if isinstance(source, list): encoded_src = JSONEncoder().encode(source) elif isinstance(source, str) \ @@ -515,7 +533,8 @@ class JQueryJqGrid(forms.RadioSelect): def __init__(self, source, form, associated_model, attrs={}, table_cols='TABLE_COLS', multiple=False, multiple_cols=[2], new=False, new_message="", source_full=None, - multiple_select=False, sortname="__default__"): + multiple_select=False, sortname="__default__", + col_prefix=''): """ JQueryJqGrid widget init. @@ -531,6 +550,7 @@ class JQueryJqGrid(forms.RadioSelect): :param source_full: url to get full listing :param multiple_select: :param sortname: column name (model attribute) to use to sort + :param col_prefix: prefix to remove to col_names """ super(JQueryJqGrid, self).__init__(attrs=attrs) self.source = source @@ -546,13 +566,15 @@ class JQueryJqGrid(forms.RadioSelect): self.new, self.new_message = new, new_message self.source_full = source_full self.sortname = sortname + self.col_prefix = col_prefix + if self.col_prefix and not self.col_prefix.endswith('__'): + self.col_prefix += "__" def get_cols(self, python=False): jq_col_names, extra_cols = [], [] col_labels = {} - if hasattr(self.associated_model, self.table_cols + '_LBL'): - col_labels = getattr(self.associated_model, - self.table_cols + '_LBL') + if hasattr(self.associated_model, 'COL_LABELS'): + col_labels = self.associated_model.COL_LABELS for col_names in getattr(self.associated_model, self.table_cols): field_verbose_names = [] field_verbose_name, field_name = "", "" @@ -563,24 +585,26 @@ class JQueryJqGrid(forms.RadioSelect): keys = col_name.split('__') if '.' in col_name: keys = col_name.split('.') - f_name = '' for key in keys: if hasattr(field, 'rel') and field.rel: field = field.rel.to try: field = field._meta.get_field(key) field_verbose_name = field.verbose_name - f_name = field.name except (fields.FieldDoesNotExist, AttributeError): if hasattr(field, key + '_lbl'): - f_name = key field_verbose_name = getattr(field, key + '_lbl') else: continue if field_name: field_name += "__" - field_name += f_name + if col_name.startswith(self.col_prefix): + field_name += col_name[len(self.col_prefix):] + else: + field_name += col_name field_verbose_names.append(unicode(field_verbose_name)) + if not field_name: + field_name = "__".join(col_names) if field_name in col_labels: jq_col_names.append(unicode(col_labels[field_name])) elif col_names and col_names[0] in col_labels: @@ -618,7 +642,11 @@ class JQueryJqGrid(forms.RadioSelect): col_idx = col_idx and ", ".join(col_idx) or "" dct['encoding'] = settings.ENCODING or 'utf-8' - dct['source'] = unicode(self.source) + try: + dct['source'] = unicode(self.source) + except NoReverseMatch: + logger.warning('Cannot resolve source for {} widget'.format( + self.form)) if unicode(self.source_full) and unicode(self.source_full) != 'None': dct['source_full'] = unicode(self.source_full) diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index c065459f6..4f0295421 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -18,6 +18,7 @@ # See the file COPYING for details. import datetime +import logging # from functools import wraps from django.conf import settings @@ -38,6 +39,8 @@ from django.utils.datastructures import MultiValueDict as BaseMultiValueDict from django.utils.translation import ugettext_lazy as _ import models +logger = logging.getLogger(__name__) + class MultiValueDict(BaseMultiValueDict): def get(self, *args, **kwargs): @@ -124,8 +127,12 @@ class Wizard(NamedUrlWizardView): wizard_templates = {} filter_owns = {} current_obj_slug = '' + current_object_key = 'pk' + ignore_init_steps = [] file_storage = default_storage + saved_args = {} # argument to pass on object save + ''' # buggy and unecessary... def __init__(self, *args, **kwargs): @@ -165,6 +172,13 @@ class Wizard(NamedUrlWizardView): return super(Wizard, self).dispatch(request, *args, **kwargs) + def get_form_kwargs(self, step=None): + kwargs = super(Wizard, self).get_form_kwargs(step) + if hasattr(self.form_list[step], 'need_user_for_initialization') and\ + self.form_list[step].need_user_for_initialization: + kwargs['user'] = self.request.user + return kwargs + def get_prefix(self, *args, **kwargs): """As the class name can interfere when reused prefix with the url_name """ @@ -188,13 +202,17 @@ class Wizard(NamedUrlWizardView): templates = [self.wizard_confirm] + templates return templates + def get_ignore_init_steps(self): + return ['{}-{}'.format(step, self.url_name) for step in + self.ignore_init_steps] + def get_context_data(self, form, **kwargs): """Add previous, next and current steps to manage the wizard path""" context = super(Wizard, self).get_context_data(form) self.request.session['CURRENT_ACTION'] = self.get_wizard_name() step = self.steps.first current_step = self.steps.current - dct = {'current_step': self.form_list[current_step], + dct = {'current_step_label': self.form_list[current_step].form_label, 'wizard_label': self.label, 'current_object': self.get_current_object(), 'is_search': current_step.startswith('selec-') @@ -209,7 +227,7 @@ class Wizard(NamedUrlWizardView): or (previous_steps and previous_steps[-1] == self.form_list[step]): break - previous_steps.append(self.form_list[step]) + previous_steps.append(self.form_list[step].form_label) previous_step_counter += 1 if previous_step_counter >= len(self.steps): break @@ -242,7 +260,8 @@ class Wizard(NamedUrlWizardView): for key in v: form_key = next_step + prefix + key prefixed_values[form_key] = v[key] - if not prefixed_values: + if not prefixed_values and \ + next_step not in self.get_ignore_init_steps(): # simulate a non empty data for form that might be # valid when empty prefixed_values['__non_empty_data'] = '' @@ -250,7 +269,7 @@ class Wizard(NamedUrlWizardView): if step == next_step: current_step_passed = True elif current_step_passed: - next_steps.append(self.form_list[next_step]) + next_steps.append(self.form_list[next_step].form_label) next_step = self.get_next_step(next_step) context.update({'next_steps': next_steps}) # not last step: validation @@ -469,6 +488,8 @@ class Wizard(NamedUrlWizardView): for k in dct: if k.startswith('pk'): continue + if k not in obj.__class__._meta.get_all_field_names(): + continue # False set to None for images and files if not k.endswith('_id') and ( isinstance(obj.__class__._meta.get_field(k), FileField) or @@ -483,9 +504,12 @@ class Wizard(NamedUrlWizardView): elif type(dct[k]) not in (list, tuple): dct[k] = [dct[k]] setattr(obj, k, dct[k]) + if hasattr(obj, 'pre_save'): + obj.pre_save() try: obj.full_clean() - except ValidationError: + except ValidationError as e: + logger.warning(unicode(e)) return self.render(form_list[-1]) for dependant_item in other_objs: c_item = getattr(obj, dependant_item) @@ -543,12 +567,25 @@ class Wizard(NamedUrlWizardView): dct[dependant_item] = c_item if 'pk' in dct: dct.pop('pk') + # remove non relevant fields + all_field_names = self.get_saved_model()._meta.get_all_field_names() + for k in dct.copy(): + if (k.endswith('_id') and k[:-3] not in all_field_names) and \ + k not in all_field_names: + dct.pop(k) + saved_args = self.saved_args.copy() + for k in saved_args: + if k in dct: + saved_args[k] = dct.pop(k) obj = self.get_saved_model()(**dct) + if hasattr(obj, 'pre_save'): + obj.pre_save() try: obj.full_clean() - except ValidationError: + except ValidationError as e: + logger.warning(unicode(e)) return self.render(form_list[-1]) - obj.save() + obj.save(**saved_args) for k in adds: getattr(obj, k).add(adds[k]) # necessary to manage interaction between models like @@ -561,6 +598,12 @@ class Wizard(NamedUrlWizardView): old_m2ms = {} for model in whole_associated_models: related_model = getattr(obj, model + 's') + # manage through + if hasattr(related_model, 'through') and related_model.through: + related_set_name = str( + related_model.through.__name__ + '_set').lower() + if hasattr(obj, related_set_name): + related_model = getattr(obj, related_set_name) # clear real m2m if hasattr(related_model, 'clear'): old_m2ms[model] = [] @@ -587,6 +630,9 @@ class Wizard(NamedUrlWizardView): if value not in m2m_items[key]: if type(value) == dict: model = related_model.model + if hasattr(related_model, 'through') and \ + related_model.through: + model = related_model.through # not m2m -> foreign key if not hasattr(related_model, 'clear'): assert hasattr(model, 'MAIN_ATTR'), \ @@ -611,8 +657,13 @@ class Wizard(NamedUrlWizardView): else: if issubclass(model, models.BaseHistorizedItem): value['history_modifier'] = self.request.user - value = model.objects.create(**value) - value.save() + if hasattr(model, 'RELATIVE_MODELS') and \ + self.get_saved_model() in \ + model.RELATIVE_MODELS: + value[model.RELATIVE_MODELS[ + self.get_saved_model()]] = obj + value, created = model.objects.get_or_create(**value) + value.save() # force post_save # check that an item is not add multiple times (forged forms) if value not in related_model.all() and\ hasattr(related_model, 'add'): @@ -626,6 +677,7 @@ class Wizard(NamedUrlWizardView): self.request.session[self.current_obj_slug] = unicode(obj.pk) self.request.session[self.get_object_name(obj)] = unicode(obj.pk) dct = {'item': obj} + self.current_object = obj # force evaluation of lazy urls wizard_done_window = unicode(self.wizard_done_window) if wizard_done_window: @@ -877,7 +929,7 @@ class Wizard(NamedUrlWizardView): current_obj = None main_form_key = 'selec-' + self.url_name try: - idx = self.session_get_value(main_form_key, 'pk') + idx = self.session_get_value(main_form_key, self.current_object_key) idx = int(idx) current_obj = self.model.objects.get(pk=idx) except(TypeError, ValueError, ObjectDoesNotExist): @@ -980,8 +1032,18 @@ class Wizard(NamedUrlWizardView): if not hasattr(obj, key): return initial keys = c_form.form.base_fields.keys() - query = getattr(obj, key) - if not obj._meta.ordering: + related = getattr(obj, key) + # manage through + through = False + if hasattr(related, 'through') and related.through: + related_set_name = str( + related.through.__name__ + '_set').lower() + if hasattr(obj, related_set_name): + through = True + related = getattr(obj, related_set_name) + + query = related + if not through and not obj._meta.ordering: query = query.order_by('pk') for child_obj in query.all(): if not keys: |