, 2016. #zanata
msgid ""
@@ -184,7 +183,7 @@ msgid "Code PATRIARCHE"
msgstr ""
#: forms.py:230
-msgid "Archaelogical site"
+msgid "Archaeological site"
msgstr ""
#: forms.py:236
@@ -272,7 +271,7 @@ msgid "You should select a document."
msgstr ""
#: forms.py:513
-msgid "Another basket already exist with this name."
+msgid "Another basket already exists with this name."
msgstr ""
#: forms.py:523 ishtar_menu.py:60
diff --git a/archaeological_operations/locale/django.pot b/archaeological_operations/locale/django.pot
index 09c184231..12be6902e 100644
--- a/archaeological_operations/locale/django.pot
+++ b/archaeological_operations/locale/django.pot
@@ -200,8 +200,8 @@ msgstr ""
msgid "Virtual operation"
msgstr ""
-#: forms.py:518 forms.py:1146
-msgid "Archaelogical site"
+#: forms.py:518 forms.py:1142 forms.py:1146 models.py:93
+msgid "Archaeological site"
msgstr ""
#: forms.py:524 forms.py:1273
@@ -244,8 +244,9 @@ msgstr ""
msgid "Associated file"
msgstr ""
-#: forms.py:640 forms.py:933 models.py:990 wizards.py:76
-msgid "Archaelogical file"
+#: forms.py:640 forms.py:933 models.py:493 models.py:883 models.py:990
+#: wizards.py:76
+msgid "Archaeological file"
msgstr ""
#: forms.py:647 forms.py:649 models.py:349
@@ -458,10 +459,6 @@ msgstr ""
msgid "This reference already exists."
msgstr ""
-#: forms.py:1142 models.py:93
-msgid "Archaeological site"
-msgstr ""
-
#: forms.py:1157 models.py:94 models.py:339
#: templates/ishtar/sheet_operation.html:94
msgid "Archaeological sites"
@@ -802,10 +799,6 @@ msgstr ""
msgid "Intercommunal"
msgstr ""
-#: models.py:493 models.py:883
-msgid "Archaeological file"
-msgstr ""
-
#: models.py:494
msgid "Code patriarche"
msgstr ""
@@ -1089,7 +1082,7 @@ msgstr ""
#: wizards.py:199
msgid ""
-"Warning: No Archaelogical File is provided. If you have forget it return to "
+"Warning: No Archaeological File is provided. If you have forget it return to "
"the first step."
msgstr ""
diff --git a/ishtar_common/locale/django.pot b/ishtar_common/locale/django.pot
index 094041952..e08650308 100644
--- a/ishtar_common/locale/django.pot
+++ b/ishtar_common/locale/django.pot
@@ -168,8 +168,8 @@ msgstr ""
#: forms_common.py:43
msgid ""
-"Type name, department code and/or postal code of the town you would like "
-"to select. The search is insensitive to case.
\n"
+"Type name, department code of the town you would like to select. The "
+"search is insensitive to case.
\n"
"Only the first twenty results are displayed but specifying the department "
"code is generally sufficient to get the appropriate result.
\n"
"For instance type \"saint denis 93\" for getting the "
@@ -498,7 +498,7 @@ msgid "Administration"
msgstr ""
#: ishtar_menu.py:33
-msgid "Add/modify"
+msgid "Addition/modification"
msgstr ""
#: ishtar_menu.py:36 ishtar_menu.py:70 ishtar_menu.py:101
@@ -1529,11 +1529,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
@@ -2199,8 +2199,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
@@ -2340,7 +2340,8 @@ msgstr ""
#: templates/ishtar/wizard/default_wizard.html:58
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
diff --git a/translations/fr/archaeological_context_records.po b/translations/fr/archaeological_context_records.po
index 7b4fd2c95..875f0d210 100644
--- a/translations/fr/archaeological_context_records.po
+++ b/translations/fr/archaeological_context_records.po
@@ -5,13 +5,15 @@
# Valérie-Emma Leroux , 2016. #zanata
msgid ""
msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-11-14 22:28+0100\n"
"PO-Revision-Date: 2016-11-14 03:46-0500\n"
"Last-Translator: Valérie-Emma Leroux \n"
"Language-Team: \n"
"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
@@ -36,7 +38,8 @@ msgid "Operation's number (index by year)"
msgstr "Numéro de l'opération (index par année)"
#: forms.py:69
-msgid "Archaelogical site"
+#, fuzzy
+msgid "Archaeological site"
msgstr "Entité Archéologique"
#: forms.py:75
diff --git a/translations/fr/archaeological_files.po b/translations/fr/archaeological_files.po
index 784e0ec63..8b38c7ab5 100644
--- a/translations/fr/archaeological_files.po
+++ b/translations/fr/archaeological_files.po
@@ -7,13 +7,15 @@
# Étienne Loks , 2016. #zanata
msgid ""
msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-11-14 22:28+0100\n"
"PO-Revision-Date: 2016-11-14 03:47-0500\n"
"Last-Translator: Valérie-Emma Leroux \n"
"Language-Team: \n"
"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
@@ -257,7 +259,8 @@ msgstr "Dossier : responsable"
msgid "File permit reference"
msgstr "Dossier : réf. du permis"
-#: ishtar_menu.py:33 models.py:220 templates/ishtar/sheet_file.html:4
+#: ishtar_menu.py:33 models.py:220 wizards.py:154 wizards.py:164
+#: templates/ishtar/sheet_file.html:4
msgid "Archaeological file"
msgstr "Dossier"
@@ -387,23 +390,28 @@ msgid "Imported line"
msgstr "Ligne importée"
#: models.py:223
-msgid "Can view all Archaelogical files"
+#, fuzzy
+msgid "Can view all Archaeological files"
msgstr "Peut voir tous les Dossiers"
#: models.py:224
-msgid "Can view own Archaelogical file"
+#, fuzzy
+msgid "Can view own Archaeological file"
msgstr "Peut voir son propre Dossier"
#: models.py:225
-msgid "Can add own Archaelogical file"
+#, fuzzy
+msgid "Can add own Archaeological file"
msgstr "Peut ajouter son propre Dossier"
#: models.py:227
-msgid "Can change own Archaelogical file"
+#, fuzzy
+msgid "Can change own Archaeological file"
msgstr "Peut modifier son propre Dossier"
#: models.py:229
-msgid "Can delete own Archaelogical file"
+#, fuzzy
+msgid "Can delete own Archaeological file"
msgstr "Peut supprimer son propre Dossier"
#: models.py:230
@@ -466,10 +474,6 @@ msgstr "Dossier : suppression d'acte administratif"
msgid "Associated operations"
msgstr "Opérations associées"
-#: wizards.py:154 wizards.py:164
-msgid "Archaelogical file"
-msgstr "Dossier"
-
#: templates/ishtar/administrativeact_document.html:9
msgid "Document generation"
msgstr "Génération de document"
@@ -673,3 +677,6 @@ msgstr "communes principales en nombre"
#: templates/ishtar/dashboards/dashboard_file.html:220
msgid "main towns by surface (ha)"
msgstr "communes principales en surface (ha)"
+
+#~ msgid "Archaelogical file"
+#~ msgstr "Dossier"
diff --git a/translations/fr/archaeological_files_pdl.po b/translations/fr/archaeological_files_pdl.po
index 80fc338aa..eceb0cb20 100644
--- a/translations/fr/archaeological_files_pdl.po
+++ b/translations/fr/archaeological_files_pdl.po
@@ -5,13 +5,15 @@
# Valérie-Emma Leroux , 2016. #zanata
msgid ""
msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-11-14 22:28+0100\n"
"PO-Revision-Date: 2016-11-14 03:48-0500\n"
"Last-Translator: Copied by Zanata \n"
"Language-Team: \n"
"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"X-Generator: Zanata 3.9.6\n"
diff --git a/translations/fr/archaeological_finds.po b/translations/fr/archaeological_finds.po
index 22efd2e37..6cdc23d4c 100644
--- a/translations/fr/archaeological_finds.po
+++ b/translations/fr/archaeological_finds.po
@@ -6,13 +6,15 @@
# Étienne Loks , 2016. #zanata
msgid ""
msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-11-14 22:28+0100\n"
"PO-Revision-Date: 2016-11-14 03:48-0500\n"
"Last-Translator: Valérie-Emma Leroux \n"
"Language-Team: \n"
"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
@@ -194,7 +196,8 @@ msgid "Code PATRIARCHE"
msgstr "Code PATRIARCHE"
#: forms.py:230
-msgid "Archaelogical site"
+#, fuzzy
+msgid "Archaeological site"
msgstr "Entité Archéologique"
#: forms.py:236
@@ -282,7 +285,8 @@ msgid "You should select a document."
msgstr "Vous devez sélectionner un document."
#: forms.py:513
-msgid "Another basket already exist with this name."
+#, fuzzy
+msgid "Another basket already exists with this name."
msgstr "Un autre panier existe déjà avec ce nom."
#: forms.py:523 ishtar_menu.py:60
diff --git a/translations/fr/archaeological_operations.po b/translations/fr/archaeological_operations.po
index dbc8acbf8..e741c8830 100644
--- a/translations/fr/archaeological_operations.po
+++ b/translations/fr/archaeological_operations.po
@@ -7,13 +7,15 @@
# Étienne Loks , 2016. #zanata
msgid ""
msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-11-14 22:28+0100\n"
"PO-Revision-Date: 2016-11-14 03:52-0500\n"
"Last-Translator: Copied by Zanata \n"
"Language-Team: \n"
"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
@@ -209,9 +211,9 @@ msgstr "Traitement du rapport"
msgid "Virtual operation"
msgstr "Opération virtuelle"
-#: forms.py:518 forms.py:1146
-msgid "Archaelogical site"
-msgstr "Entité Archéologique"
+#: forms.py:518 forms.py:1142 forms.py:1146 models.py:93
+msgid "Archaeological site"
+msgstr "Entité archéologique"
#: forms.py:524 forms.py:1273
msgid "Created by"
@@ -253,9 +255,10 @@ msgstr "Rechercher une opération"
msgid "Associated file"
msgstr "Dossier associé"
-#: forms.py:640 forms.py:933 models.py:990 wizards.py:76
-msgid "Archaelogical file"
-msgstr "Dossier"
+#: forms.py:640 forms.py:933 models.py:493 models.py:883 models.py:990
+#: wizards.py:76
+msgid "Archaeological file"
+msgstr "Dossier archéologique"
#: forms.py:647 forms.py:649 models.py:349
msgid "Abstract"
@@ -388,8 +391,7 @@ msgstr ""
#: forms.py:891
msgid "The excavation end date cannot be before the start date."
-msgstr ""
-"La date de fin de chantier ne peut être antérieure à la date de début."
+msgstr "La date de fin de chantier ne peut être antérieure à la date de début."
#: forms.py:919
#, python-format
@@ -474,10 +476,6 @@ msgstr "Référence"
msgid "This reference already exists."
msgstr "Cette référence existe déjà."
-#: forms.py:1142 models.py:93
-msgid "Archaeological site"
-msgstr "Entité archéologique"
-
#: forms.py:1157 models.py:94 models.py:339
#: templates/ishtar/sheet_operation.html:94
msgid "Archaeological sites"
@@ -824,10 +822,6 @@ msgstr "OPE"
msgid "Intercommunal"
msgstr "Intercommunal"
-#: models.py:493 models.py:883
-msgid "Archaeological file"
-msgstr "Dossier archéologique"
-
#: models.py:494
msgid "Code patriarche"
msgstr "Code patriarche"
@@ -1110,8 +1104,9 @@ msgid "Add"
msgstr "Ajouter"
#: wizards.py:199
+#, fuzzy
msgid ""
-"Warning: No Archaelogical File is provided. If you have forget it return to "
+"Warning: No Archaeological File is provided. If you have forget it return to "
"the first step."
msgstr ""
"Attention : Aucun dossier archéologique n'a été précisé. S'il s'agit d'un "
@@ -1523,3 +1518,9 @@ msgstr "communes principales par coût"
#: templates/ishtar/wizard/wizard_adminact_deletion.html:6
msgid "This act is indexed!"
msgstr "Cet acte est indexé !"
+
+#~ msgid "Archaelogical site"
+#~ msgstr "Entité Archéologique"
+
+#~ msgid "Archaelogical file"
+#~ msgstr "Dossier"
diff --git a/translations/fr/archaeological_warehouse.po b/translations/fr/archaeological_warehouse.po
index c97ae6a4f..7a7c62fb5 100644
--- a/translations/fr/archaeological_warehouse.po
+++ b/translations/fr/archaeological_warehouse.po
@@ -5,13 +5,15 @@
# Valérie-Emma Leroux , 2016. #zanata
msgid ""
msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-11-14 22:28+0100\n"
"PO-Revision-Date: 2016-11-14 03:41-0500\n"
"Last-Translator: Copied by Zanata \n"
"Language-Team: \n"
"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
diff --git a/translations/fr/ishtar_common.po b/translations/fr/ishtar_common.po
index b1fe6b3b0..a70847aa7 100644
--- a/translations/fr/ishtar_common.po
+++ b/translations/fr/ishtar_common.po
@@ -7,13 +7,15 @@
# Étienne Loks , 2016. #zanata
msgid ""
msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-11-14 22:28+0100\n"
"PO-Revision-Date: 2016-11-14 04:01-0500\n"
"Last-Translator: Copied by Zanata \n"
"Language-Team: \n"
"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
@@ -181,9 +183,10 @@ msgid "Town"
msgstr "Commune"
#: forms_common.py:43
+#, fuzzy
msgid ""
-"Type name, department code and/or postal code of the town you would like "
-"to select. The search is insensitive to case.
\n"
+"Type name, department code of the town you would like to select. The "
+"search is insensitive to case.
\n"
"Only the first twenty results are displayed but specifying the department "
"code is generally sufficient to get the appropriate result.
\n"
"For instance type \"saint denis 93\" for getting the "
@@ -523,8 +526,9 @@ msgid "Administration"
msgstr "Administration"
#: ishtar_menu.py:33
-msgid "Add/modify"
-msgstr "Ajouter/Modifier"
+#, fuzzy
+msgid "Addition/modification"
+msgstr "Modifier une organisation"
#: ishtar_menu.py:36 ishtar_menu.py:70 ishtar_menu.py:101
msgid "Deletion"
@@ -1577,12 +1581,13 @@ msgid "The %(app_name)s team"
msgstr "L'équipe %(app_name)s"
#: templates/base.html:41
-msgid "Searches in the shortcut menu deals with all items."
-msgstr ""
-"Les recherches dans le menu de raccourci concernent tous les éléments."
+#, fuzzy
+msgid "Searches in the shortcut menu deal with all items."
+msgstr "Les recherches dans le menu de raccourci concernent tous les éléments."
#: templates/base.html:42
-msgid "Searches in the shortcut menu deals with only your items."
+#, fuzzy
+msgid "Searches in the shortcut menu deal with only your items."
msgstr ""
"Les recherches dans le menu de raccourci ne concernent que vos éléments."
@@ -2259,9 +2264,10 @@ msgid "Restore this version"
msgstr "Restaurer cette version"
#: templates/ishtar/blocks/window_nav.html:17
+#, fuzzy
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 ""
"Êtes-vous cerrtain de vouloir revenir à cette version ? Tous les changements "
"réalisées depuis cette version seront perdus."
@@ -2404,8 +2410,10 @@ msgid "Add/Modify"
msgstr "Ajouter/Modifier"
#: templates/ishtar/wizard/default_wizard.html:58
+#, fuzzy
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 ""
"Le formulaire a changé. Si vous ne le validez pas, tous vos changements "
"seront perdus."
@@ -2615,3 +2623,6 @@ msgid "You are now registered. Activation email sent."
msgstr ""
"Vous êtes maintenant enregistré. Un courriel d'activation de votre compte "
"vous a été envoyé."
+
+#~ msgid "Add/modify"
+#~ msgstr "Ajouter/Modifier"
--
cgit v1.2.3
From 64101d6c9112110420c077f26146f879ffec349d Mon Sep 17 00:00:00 2001
From: Étienne Loks
Date: Tue, 15 Nov 2016 16:41:27 +0100
Subject: Shortcut menu: put research archaeological files in blue (refs #3346)
---
archaeological_files/models.py | 4 +++-
ishtar_common/static/media/style.css | 13 ++++++++++++-
2 files changed, 15 insertions(+), 2 deletions(-)
(limited to 'archaeological_files')
diff --git a/archaeological_files/models.py b/archaeological_files/models.py
index 330fe019a..638b19d18 100644
--- a/archaeological_files/models.py
+++ b/archaeological_files/models.py
@@ -352,7 +352,9 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
cache_key, val = get_cache(self.__class__, [self.pk,
'short_class_name'])
cls = 'normal'
- if not self.has_adminact and self.reception_date:
+ if not self.file_type.txt_idx == 'preventive':
+ cls = "blue"
+ elif not self.has_adminact and self.reception_date:
delta = datetime.date.today() - self.reception_date
cls = 'red'
if self.saisine_type and self.saisine_type.delay:
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{
--
cgit v1.2.3
From 83369bf5d40df2c3da07053545197a923ce9c7ac Mon Sep 17 00:00:00 2001
From: Étienne Loks
Date: Mon, 5 Dec 2016 01:57:07 +0100
Subject: Update french translation
---
archaeological_files/locale/django.pot | 8 +-
archaeological_finds/locale/django.pot | 500 +++++++++++++++----------
archaeological_warehouse/locale/django.pot | 2 +-
ishtar_common/locale/django.pot | 126 +++----
translations/de/ishtar_common.po | 126 +++----
translations/fr/archaeological_files.po | 8 +-
translations/fr/archaeological_finds.po | 524 ++++++++++++++++-----------
translations/fr/archaeological_operations.po | 12 +-
translations/fr/archaeological_warehouse.po | 9 +-
translations/fr/ishtar_common.po | 126 +++----
10 files changed, 826 insertions(+), 615 deletions(-)
(limited to 'archaeological_files')
diff --git a/archaeological_files/locale/django.pot b/archaeological_files/locale/django.pot
index 97541ac1e..89451ec1b 100644
--- a/archaeological_files/locale/django.pot
+++ b/archaeological_files/locale/django.pot
@@ -25,7 +25,7 @@ msgstr ""
msgid "Parcel (section/number/public domain)"
msgstr ""
-#: forms.py:55 forms.py:407 forms.py:434 models.py:544
+#: forms.py:55 forms.py:407 forms.py:434 models.py:546
msgid "Department"
msgstr ""
@@ -406,15 +406,15 @@ msgstr ""
msgid "FILE"
msgstr ""
-#: models.py:404
+#: models.py:406
msgid "Multi-town"
msgstr ""
-#: models.py:410
+#: models.py:412
msgid "No town"
msgstr ""
-#: models.py:543
+#: models.py:545
msgid "File"
msgstr ""
diff --git a/archaeological_finds/locale/django.pot b/archaeological_finds/locale/django.pot
index 7cbf00077..6fdf890fd 100644
--- a/archaeological_finds/locale/django.pot
+++ b/archaeological_finds/locale/django.pot
@@ -7,750 +7,848 @@
msgid ""
msgstr ""
-#: forms.py:50 forms.py:54 wizards.py:60
+#: forms.py:55 forms.py:59 wizards.py:60
msgid "Context record"
msgstr ""
-#: forms.py:83 ishtar_menu.py:31 models.py:440 models.py:754 models.py:854
-#: models.py:1004 templates/ishtar/sheet_find.html:5
+#: forms.py:88 ishtar_menu.py:31 models.py:451 models.py:771 models.py:942
+#: models.py:1104 templates/ishtar/sheet_find.html:5
msgid "Find"
msgstr ""
-#: forms.py:94 forms.py:218 forms.py:425 models.py:127 models.py:377
+#: forms.py:99 forms.py:230 forms.py:454 models.py:129 models.py:382
msgid "Free ID"
msgstr ""
-#: forms.py:96 models.py:426
+#: forms.py:101 models.py:437
msgid "Previous ID"
msgstr ""
-#: forms.py:97 forms.py:250 forms.py:591 models.py:131 models.py:378
-#: models.py:788
+#: forms.py:102 forms.py:262 forms.py:687 models.py:133 models.py:383
+#: models.py:841
msgid "Description"
msgstr ""
-#: forms.py:100 forms.py:252 models.py:142
+#: forms.py:105 forms.py:264 models.py:144
msgid "Batch/object"
msgstr ""
-#: forms.py:102 models.py:406
+#: forms.py:107 models.py:411
msgid "Is complete?"
msgstr ""
-#: forms.py:105 forms.py:240 forms.py:429 models.py:50
+#: forms.py:110 forms.py:252 forms.py:458 models.py:52
msgid "Material type"
msgstr ""
-#: forms.py:106 forms.py:244 models.py:62 models.py:382
+#: forms.py:111 forms.py:256 models.py:64 models.py:387
msgid "Conservatory state"
msgstr ""
-#: forms.py:109 models.py:384
+#: forms.py:114 models.py:389
msgid "Conservatory comment"
msgstr ""
-#: forms.py:112 models.py:102 models.py:409
+#: forms.py:117 models.py:104 models.py:414
msgid "Object types"
msgstr ""
-#: forms.py:114 forms.py:243 models.py:71
+#: forms.py:119 forms.py:255 models.py:73
msgid "Preservation type"
msgstr ""
-#: forms.py:117 forms.py:246 models.py:411
+#: forms.py:122 forms.py:258 models.py:416
msgid "Integrity / interest"
msgstr ""
-#: forms.py:120 forms.py:248 models.py:414
+#: forms.py:125 forms.py:260 models.py:419
msgid "Remarkability"
msgstr ""
-#: forms.py:122 models.py:416
+#: forms.py:128 models.py:429
+msgid "Point of topographic reference"
+msgstr ""
+
+#: forms.py:131 models.py:423
msgid "Length (cm)"
msgstr ""
-#: forms.py:123 models.py:417
+#: forms.py:132 models.py:424
msgid "Width (cm)"
msgstr ""
-#: forms.py:124 models.py:418
+#: forms.py:133 models.py:425
msgid "Height (cm)"
msgstr ""
-#: forms.py:125 models.py:419
+#: forms.py:134 models.py:426
msgid "Diameter (cm)"
msgstr ""
-#: forms.py:126 forms.py:430 models.py:389
+#: forms.py:135 models.py:427
+msgid "Thickness (cm)"
+msgstr ""
+
+#: forms.py:136 forms.py:459 models.py:394
msgid "Volume (l)"
msgstr ""
-#: forms.py:127 forms.py:431 models.py:390
+#: forms.py:137 forms.py:460 models.py:395
msgid "Weight (g)"
msgstr ""
-#: forms.py:129 models.py:420
+#: forms.py:139 models.py:431
msgid "Dimensions comment"
msgstr ""
-#: forms.py:130 forms.py:432 models.py:393
+#: forms.py:140 forms.py:461 models.py:398
msgid "Find number"
msgstr ""
-#: forms.py:131 models.py:422
+#: forms.py:142 models.py:422
+msgid "Minimum number of individuals (MNI)"
+msgstr ""
+
+#: forms.py:143 models.py:433
msgid "Mark"
msgstr ""
-#: forms.py:132 forms.py:254 models.py:428
+#: forms.py:144 forms.py:266 models.py:439
msgid "Check"
msgstr ""
-#: forms.py:134 models.py:430
+#: forms.py:146 models.py:441
msgid "Check date"
msgstr ""
-#: forms.py:135 models.py:132 models.py:423 models.py:789
+#: forms.py:147 forms.py:685 models.py:134 models.py:434 models.py:840
msgid "Comment"
msgstr ""
-#: forms.py:138 models.py:424
+#: forms.py:150 models.py:435
msgid "Comment on dating"
msgstr ""
-#: forms.py:139 models.py:432
+#: forms.py:151 models.py:443
msgid "Estimated value"
msgstr ""
-#: forms.py:141
+#: forms.py:153 forms.py:696
msgid "Image"
msgstr ""
-#: forms.py:142
+#: forms.py:154 forms.py:697
#, python-format
msgid ""
"Heavy images are resized to: %(width)dx%(height)d (ratio is preserved)."
"p>"
msgstr ""
-#: forms.py:181 forms.py:212 models.py:401
+#: forms.py:193 forms.py:224 models.py:406
msgid "Dating"
msgstr ""
-#: forms.py:186 forms.py:238
+#: forms.py:198 forms.py:250
msgid "Period"
msgstr ""
-#: forms.py:187 forms.py:593 models.py:802 models.py:867 models.py:1009
-#: templates/ishtar/sheet_find.html:92 templates/ishtar/sheet_find.html:121
+#: forms.py:199 forms.py:691 models.py:843 models.py:955 models.py:1109
+#: templates/ishtar/sheet_find.html:95 templates/ishtar/sheet_find.html:135
msgid "Start date"
msgstr ""
-#: forms.py:189 forms.py:595 models.py:803 models.py:868 models.py:1010
-#: templates/ishtar/sheet_find.html:93 templates/ishtar/sheet_find.html:122
+#: forms.py:201 forms.py:693 models.py:844 models.py:956 models.py:1110
+#: templates/ishtar/sheet_find.html:96 templates/ishtar/sheet_find.html:136
msgid "End date"
msgstr ""
-#: forms.py:190
+#: forms.py:202
msgid "Quality"
msgstr ""
-#: forms.py:192
+#: forms.py:204
msgid "Dating type"
msgstr ""
-#: forms.py:194
+#: forms.py:206
msgid "Precise dating"
msgstr ""
-#: forms.py:216 models.py:150
+#: forms.py:228 models.py:152
msgid "Short ID"
msgstr ""
-#: forms.py:217 models.py:153
+#: forms.py:229 models.py:155
msgid "Complete ID"
msgstr ""
-#: forms.py:221
+#: forms.py:233 forms.py:610 forms.py:651 models.py:823
msgid "Year"
msgstr ""
-#: forms.py:223
+#: forms.py:235
msgid "Operation's number (index by year)"
msgstr ""
-#: forms.py:226
+#: forms.py:238
msgid "Code PATRIARCHE"
msgstr ""
-#: forms.py:230
+#: forms.py:242
msgid "Archaeological site"
msgstr ""
-#: forms.py:236
+#: forms.py:248
msgid "Search within related operations"
msgstr ""
-#: forms.py:241 models.py:101
+#: forms.py:253 models.py:103
msgid "Object type"
msgstr ""
-#: forms.py:255
+#: forms.py:267 forms.py:613
msgid "Has an image?"
msgstr ""
-#: forms.py:297 forms.py:310 views.py:66
+#: forms.py:309 forms.py:322 views.py:73
msgid "Find search"
msgstr ""
-#: forms.py:324
+#: forms.py:336 templates/ishtar/sheet_treatment.html:36
msgid "Upstream finds"
msgstr ""
-#: forms.py:326 models.py:441
+#: forms.py:338 models.py:452
msgid "Finds"
msgstr ""
-#: forms.py:336
+#: forms.py:348
msgid "You should at least select one archaeological find."
msgstr ""
-#: forms.py:422
+#: forms.py:451
msgid "Resulting find"
msgstr ""
-#: forms.py:427
+#: forms.py:456
msgid "Precise description"
msgstr ""
-#: forms.py:442
+#: forms.py:471
msgid "Resulting finds"
msgstr ""
-#: forms.py:447
+#: forms.py:476
msgid "Would you like to delete this find?"
msgstr ""
-#: forms.py:451
+#: forms.py:480 models.py:816
msgid "Upstream find"
msgstr ""
-#: forms.py:462
+#: forms.py:493
msgid "Archaeological find search"
msgstr ""
-#: forms.py:464
+#: forms.py:495
msgid "You should select an archaeological find."
msgstr ""
-#: forms.py:469
+#: forms.py:500
msgid "Year of the operation"
msgstr ""
-#: forms.py:471
+#: forms.py:502
msgid "Numeric reference"
msgstr ""
-#: forms.py:478
+#: forms.py:509
msgid "Period of the archaeological find"
msgstr ""
-#: forms.py:480
+#: forms.py:511
msgid "Material type of the archaeological find"
msgstr ""
-#: forms.py:482
+#: forms.py:513
msgid "Description of the archaeological find"
msgstr ""
-#: forms.py:494
+#: forms.py:525
msgid "Documentation search"
msgstr ""
-#: forms.py:496
+#: forms.py:527
msgid "You should select a document."
msgstr ""
-#: forms.py:513
+#: forms.py:544
msgid "Another basket already exists with this name."
msgstr ""
-#: forms.py:523 ishtar_menu.py:60
+#: forms.py:554 forms.py:558 forms.py:713 ishtar_menu.py:55
msgid "Basket"
msgstr ""
-#: forms.py:573
-msgid "Base treatment"
+#: forms.py:608 forms.py:647 models.py:819 templates/ishtar/sheet_find.html:90
+#: templates/ishtar/sheet_find.html:130
+msgid "Label"
+msgstr ""
+
+#: forms.py:609 forms.py:650 models.py:821
+msgid "Other ref."
msgstr ""
-#: forms.py:578 models.py:776 models.py:791 models.py:866
+#: forms.py:611 forms.py:769 models.py:824
+msgid "Index"
+msgstr ""
+
+#: forms.py:612 forms.py:656 models.py:793 models.py:826 models.py:954
msgid "Treatment type"
msgstr ""
-#: forms.py:580 models.py:800 models.py:871
-#: templates/ishtar/sheet_find.html:90 templates/ishtar/sheet_find.html:119
-msgid "Doer"
+#: forms.py:624 views.py:302
+msgid "Treatment search"
+msgstr ""
+
+#: forms.py:636
+msgid "Base treatment"
+msgstr ""
+
+#: forms.py:658
+msgid "Target"
msgstr ""
-#: forms.py:586 models.py:793 models.py:869
+#: forms.py:660 models.py:833
+msgid "Responsible"
+msgstr ""
+
+#: forms.py:666 models.py:836
+msgid "Organization"
+msgstr ""
+
+#: forms.py:672 models.py:828 models.py:957
msgid "Location"
msgstr ""
-#: forms.py:607
-msgid "Leave it blank if you want to select a single item"
+#: forms.py:678
+msgid "Container (relevant for packaging)"
+msgstr ""
+
+#: forms.py:684
+msgid "External ref."
+msgstr ""
+
+#: forms.py:689 models.py:842
+msgid "Goal"
+msgstr ""
+
+#: forms.py:713
+msgid "Single find"
+msgstr ""
+
+#: forms.py:741
+msgid ""
+"The container field is attached to the treatment. If no packaging treatment "
+"is done it is not relevant."
+msgstr ""
+
+#: forms.py:746
+msgid "If a packaging treatment is done, the container field must be filled."
msgstr ""
-#: forms.py:614
-msgid "This treatment type is not available."
+#: forms.py:750
+msgid "A responsible or an organization must be defined."
msgstr ""
-#: forms.py:618
-msgid "This treatment needs a basket."
+#: forms.py:782
+msgid "Another treatment with this index exists for {}."
msgstr ""
-#: ishtar_menu.py:35 ishtar_menu.py:83
+#: forms.py:789
+msgid ""
+"Are you sure you want to delete this treatment? All modification made to the "
+"associated finds since this treatment record will be lost!"
+msgstr ""
+
+#: forms.py:792
+msgid "Would you like to delete this treatment?"
+msgstr ""
+
+#: ishtar_menu.py:35 ishtar_menu.py:78 ishtar_menu.py:113
msgid "Search"
msgstr ""
-#: ishtar_menu.py:40 ishtar_menu.py:63 ishtar_menu.py:88
+#: ishtar_menu.py:40 ishtar_menu.py:58 ishtar_menu.py:83 ishtar_menu.py:118
msgid "Creation"
msgstr ""
-#: ishtar_menu.py:45 ishtar_menu.py:93
+#: ishtar_menu.py:45 ishtar_menu.py:88 ishtar_menu.py:123
msgid "Modification"
msgstr ""
-#: ishtar_menu.py:55 ishtar_menu.py:74 ishtar_menu.py:98
+#: ishtar_menu.py:50 ishtar_menu.py:69 ishtar_menu.py:93 ishtar_menu.py:128
msgid "Deletion"
msgstr ""
-#: ishtar_menu.py:68
+#: ishtar_menu.py:63
msgid "Manage items"
msgstr ""
-#: ishtar_menu.py:80
+#: ishtar_menu.py:75
msgid "Documentation"
msgstr ""
-#: models.py:43
+#: ishtar_menu.py:106 models.py:851 models.py:944 models.py:1096
+#: templates/ishtar/sheet_treatment.html:5
+msgid "Treatment"
+msgstr ""
+
+#: ishtar_menu.py:110
+msgid "Simple treatments"
+msgstr ""
+
+#: models.py:45
msgid "Code"
msgstr ""
-#: models.py:44
+#: models.py:46
msgid "Recommendation"
msgstr ""
-#: models.py:47
+#: models.py:49
msgid "Parent material"
msgstr ""
-#: models.py:51 models.py:380
+#: models.py:53 models.py:385
msgid "Material types"
msgstr ""
-#: models.py:59
+#: models.py:61
msgid "Parent conservatory state"
msgstr ""
-#: models.py:63
+#: models.py:65
msgid "Conservatory states"
msgstr ""
-#: models.py:72
+#: models.py:74
msgid "Preservation types"
msgstr ""
-#: models.py:80
+#: models.py:82
msgid "Integrity / interest type"
msgstr ""
-#: models.py:81
+#: models.py:83
msgid "Integrity / interest types"
msgstr ""
-#: models.py:89
+#: models.py:91
msgid "Remarkability type"
msgstr ""
-#: models.py:90
+#: models.py:92
msgid "Remarkability types"
msgstr ""
-#: models.py:98
+#: models.py:100
msgid "Parent"
msgstr ""
-#: models.py:119
+#: models.py:121
msgid "Unknow"
msgstr ""
-#: models.py:120
+#: models.py:122
msgid "Object"
msgstr ""
-#: models.py:121
+#: models.py:123
msgid "Batch"
msgstr ""
-#: models.py:128 models.py:373 models.py:784
+#: models.py:130 models.py:378 models.py:838
msgid "External ID"
msgstr ""
-#: models.py:130 models.py:375
+#: models.py:132 models.py:380
msgid "External ID is set automatically"
msgstr ""
-#: models.py:134
+#: models.py:136
msgid "Topographic localisation"
msgstr ""
-#: models.py:135
+#: models.py:137
msgid "Special interest"
msgstr ""
-#: models.py:139
+#: models.py:141
msgid "Context Record"
msgstr ""
-#: models.py:140
+#: models.py:142
msgid "Discovery date"
msgstr ""
-#: models.py:145
+#: models.py:147
msgid "Material index"
msgstr ""
-#: models.py:146
+#: models.py:148
msgid "Point"
msgstr ""
-#: models.py:147
+#: models.py:149
msgid "Line"
msgstr ""
-#: models.py:148
+#: models.py:150
msgid "Polygon"
msgstr ""
-#: models.py:151 models.py:154
+#: models.py:153 models.py:156
msgid "Cached value - do not edit"
msgstr ""
-#: models.py:159 models.py:371
+#: models.py:161 models.py:376
msgid "Base find"
msgstr ""
-#: models.py:160
+#: models.py:162
msgid "Base finds"
msgstr ""
-#: models.py:162
+#: models.py:164
msgid "Can view all Base finds"
msgstr ""
-#: models.py:163
+#: models.py:165
msgid "Can view own Base find"
msgstr ""
-#: models.py:164
+#: models.py:166
msgid "Can add own Base find"
msgstr ""
-#: models.py:165
+#: models.py:167
msgid "Can change own Base find"
msgstr ""
-#: models.py:166
+#: models.py:168
msgid "Can delete own Base find"
msgstr ""
-#: models.py:276
+#: models.py:278
msgid "g"
msgstr ""
-#: models.py:277
+#: models.py:279
msgid "kg"
msgstr ""
-#: models.py:279
+#: models.py:281
msgid "Not checked"
msgstr ""
-#: models.py:280
+#: models.py:282
msgid "Checked but incorrect"
msgstr ""
-#: models.py:281
+#: models.py:283
msgid "Checked and correct"
msgstr ""
-#: models.py:321
+#: models.py:316
+msgid "Periods"
+msgstr ""
+
+#: models.py:326
msgid "Base find - Short ID"
msgstr ""
-#: models.py:322
+#: models.py:327
msgid "Base find - Complete ID"
msgstr ""
-#: models.py:323
+#: models.py:328
msgid "Base find - Comment"
msgstr ""
-#: models.py:324
+#: models.py:329
msgid "Base find - Description"
msgstr ""
-#: models.py:325
+#: models.py:330
msgid "Base find - Topographic localisation"
msgstr ""
-#: models.py:327
+#: models.py:332
msgid "Base find - Special interest"
msgstr ""
-#: models.py:328
+#: models.py:333
msgid "Base find - Discovery date"
msgstr ""
-#: models.py:376 models.py:860
+#: models.py:381 models.py:948
msgid "Order"
msgstr ""
-#: models.py:387
+#: models.py:392
msgid "Type of preservation to consider"
msgstr ""
-#: models.py:391
+#: models.py:396
msgid "Weight unit"
msgstr ""
-#: models.py:397 templates/ishtar/sheet_find.html:83
+#: models.py:402 templates/ishtar/sheet_find.html:83
msgid "Upstream treatment"
msgstr ""
-#: models.py:400 templates/ishtar/sheet_find.html:112
+#: models.py:405 templates/ishtar/sheet_find.html:123
msgid "Downstream treatment"
msgstr ""
-#: models.py:404 models.py:786 models.py:870
-#: templates/ishtar/sheet_find.html:91 templates/ishtar/sheet_find.html:120
+#: models.py:409 models.py:845 models.py:958
+#: templates/ishtar/sheet_find.html:94 templates/ishtar/sheet_find.html:134
msgid "Container"
msgstr ""
-#: models.py:434
+#: models.py:445
msgid "Cached name"
msgstr ""
-#: models.py:443
+#: models.py:454
msgid "Can view all Finds"
msgstr ""
-#: models.py:444
+#: models.py:455
msgid "Can view own Find"
msgstr ""
-#: models.py:445
+#: models.py:456
msgid "Can add own Find"
msgstr ""
-#: models.py:446
+#: models.py:457
msgid "Can change own Find"
msgstr ""
-#: models.py:447
+#: models.py:458
msgid "Can delete own Find"
msgstr ""
-#: models.py:453
+#: models.py:464
msgid "FIND"
msgstr ""
-#: models.py:752
+#: models.py:769
msgid "Find documentation"
msgstr ""
-#: models.py:753
+#: models.py:770
msgid "Find documentations"
msgstr ""
-#: models.py:763
+#: models.py:780
msgid "Virtual"
msgstr ""
-#: models.py:765
+#: models.py:782
msgid "Upstream is many"
msgstr ""
-#: models.py:767
+#: models.py:784
msgid "Check this if for this treatment from many finds you'll get one."
msgstr ""
-#: models.py:770
+#: models.py:787
msgid "Downstream is many"
msgstr ""
-#: models.py:772
+#: models.py:789
msgid "Check this if for this treatment from one find you'll get many."
msgstr ""
-#: models.py:777
+#: models.py:794
msgid "Treatment types"
msgstr ""
-#: models.py:795
-msgid "Location where the treatment is done. Target warehouse for a move."
+#: models.py:815
+msgid "Downstream find"
msgstr ""
-#: models.py:797
-msgid "Other location"
+#: models.py:830
+msgid "Location where the treatment is done. Target warehouse for a move."
msgstr ""
-#: models.py:807 models.py:856 models.py:996
-msgid "Treatment"
+#: models.py:847
+msgid "Target a basket"
msgstr ""
-#: models.py:808 templates/ishtar/sheet_find.html:80
+#: models.py:852 templates/ishtar/sheet_find.html:80
msgid "Treatments"
msgstr ""
-#: models.py:810
+#: models.py:855
msgid "Can view all Treatments"
msgstr ""
-#: models.py:811
+#: models.py:856
msgid "Can view own Treatment"
msgstr ""
-#: models.py:812
+#: models.py:857
msgid "Can add own Treatment"
msgstr ""
-#: models.py:813
+#: models.py:858
msgid "Can change own Treatment"
msgstr ""
-#: models.py:814
+#: models.py:859
msgid "Can delete own Treatment"
msgstr ""
-#: models.py:820
+#: models.py:865
msgid "by"
msgstr ""
-#: models.py:872 models.py:873 templates/ishtar/sheet_find.html:89
-#: templates/ishtar/sheet_find.html:118
+#: models.py:959 templates/ishtar/sheet_find.html:93
+#: templates/ishtar/sheet_find.html:133
+msgid "Doer"
+msgstr ""
+
+#: models.py:960 models.py:961 templates/ishtar/sheet_find.html:92
+#: templates/ishtar/sheet_find.html:132
msgid "Related finds"
msgstr ""
-#: models.py:982
+#: models.py:1082
msgid "Is upstream"
msgstr ""
-#: models.py:993
+#: models.py:1093
msgid "Treatment documentation"
msgstr ""
-#: models.py:994
+#: models.py:1094
msgid "Treament documentations"
msgstr ""
-#: models.py:1006
+#: models.py:1106
msgid "Administrative act"
msgstr ""
-#: models.py:1007
+#: models.py:1107
msgid "Person"
msgstr ""
-#: models.py:1013
+#: models.py:1113
msgid "Property"
msgstr ""
-#: models.py:1014
+#: models.py:1114
msgid "Properties"
msgstr ""
-#: views.py:61
+#: views.py:68
msgid "New find"
msgstr ""
-#: views.py:75
+#: views.py:82
msgid "Find modification"
msgstr ""
-#: views.py:90
+#: views.py:97
msgid "Find deletion"
msgstr ""
-#: views.py:95
+#: views.py:102
msgid "Find: source search"
msgstr ""
-#: views.py:103
+#: views.py:110
msgid "Find: new source"
msgstr ""
-#: views.py:111
+#: views.py:118
msgid "Find: source modification"
msgstr ""
-#: views.py:126
+#: views.py:133
msgid "Find: source deletion"
msgstr ""
-#: views.py:140
+#: views.py:147
msgid "New basket"
msgstr ""
-#: views.py:159
+#: views.py:166
msgid "Manage items in basket"
msgstr ""
-#: views.py:179
+#: views.py:186
msgid "Manage basket"
msgstr ""
-#: views.py:267
+#: views.py:274
msgid "Delete basket"
msgstr ""
-#: views.py:303
+#: views.py:323
msgid "New treatment"
msgstr ""
+#: views.py:330
+msgid "Modify"
+msgstr ""
+
+#: views.py:337
+msgid "Treatment deletion"
+msgstr ""
+
#: wizards.py:59
msgid "Operation"
msgstr ""
-#: templates/ishtar/sheet_find.html:88 templates/ishtar/sheet_find.html:117
-#: templates/ishtar/sheet_find.html:187
+#: templates/ishtar/sheet_find.html:89 templates/ishtar/sheet_find.html:129
+msgid "Year - index"
+msgstr ""
+
+#: templates/ishtar/sheet_find.html:91 templates/ishtar/sheet_find.html:131
+#: templates/ishtar/sheet_find.html:209
msgid "Type"
msgstr ""
-#: templates/ishtar/sheet_find.html:108
+#: templates/ishtar/sheet_find.html:119
msgid "Export as CSV"
msgstr ""
-#: templates/ishtar/sheet_find.html:108 templates/ishtar/sheet_find.html:138
+#: templates/ishtar/sheet_find.html:119 templates/ishtar/sheet_find.html:160
msgid "CSV"
msgstr ""
-#: templates/ishtar/sheet_find.html:143
+#: templates/ishtar/sheet_find.html:165
msgid "Associated base finds"
msgstr ""
-#: templates/ishtar/sheet_find.html:182 templates/ishtar/sheet_find.html:184
+#: templates/ishtar/sheet_find.html:204 templates/ishtar/sheet_find.html:206
msgid "Documents"
msgstr ""
-#: templates/ishtar/sheet_find.html:186
+#: templates/ishtar/sheet_find.html:208
msgid "Title"
msgstr ""
-#: templates/ishtar/sheet_find.html:188
+#: templates/ishtar/sheet_find.html:210
msgid "Authors"
msgstr ""
-#: templates/ishtar/sheet_find.html:189
+#: templates/ishtar/sheet_find.html:211
msgid "Link"
msgstr ""
@@ -761,3 +859,7 @@ msgstr ""
#: templates/ishtar/sheet_findsource.html:4
msgid "Find source"
msgstr ""
+
+#: templates/ishtar/sheet_treatment.html:41
+msgid "Downstream finds"
+msgstr ""
diff --git a/archaeological_warehouse/locale/django.pot b/archaeological_warehouse/locale/django.pot
index 7155bb63e..109cfbf76 100644
--- a/archaeological_warehouse/locale/django.pot
+++ b/archaeological_warehouse/locale/django.pot
@@ -91,7 +91,7 @@ msgid "Packaged finds"
msgstr ""
#: ishtar_menu.py:30
-msgid "Find"
+msgid "Treatment"
msgstr ""
#: models.py:31
diff --git a/ishtar_common/locale/django.pot b/ishtar_common/locale/django.pot
index e08650308..813f31a3c 100644
--- a/ishtar_common/locale/django.pot
+++ b/ishtar_common/locale/django.pot
@@ -160,7 +160,7 @@ msgid "Template"
msgstr ""
#: forms_common.py:41 forms_common.py:59 forms_common.py:182
-#: forms_common.py:406 models.py:1426 models.py:2819
+#: forms_common.py:406 models.py:1426 models.py:2818
#: templates/blocks/JQueryAdvancedTown.html:19
#: templates/ishtar/sheet_organization.html:13
msgid "Town"
@@ -177,7 +177,7 @@ msgid ""
msgstr ""
#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1599
-#: models.py:2445 models.py:2627 models.py:2689
+#: models.py:2445 models.py:2627 models.py:2688
#: templates/ishtar/sheet_person.html:4
msgid "Person"
msgstr ""
@@ -196,7 +196,7 @@ msgstr ""
#: forms_common.py:173 forms_common.py:210 forms_common.py:322
#: forms_common.py:376 forms_common.py:446 models.py:1027 models.py:1359
-#: models.py:1645 models.py:1864 models.py:2325 models.py:2431 models.py:2805
+#: models.py:1645 models.py:1864 models.py:2325 models.py:2431 models.py:2804
#: templates/ishtar/sheet_organization.html:8
#: templates/ishtar/sheet_organization.html:21
msgid "Name"
@@ -245,7 +245,7 @@ msgid "Mobile phone"
msgstr ""
#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2025
-#: models.py:2327 models.py:2740 templates/sheet_ope.html:85
+#: models.py:2327 models.py:2739 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
@@ -288,7 +288,7 @@ msgid "Identity"
msgstr ""
#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1996
-#: models.py:2423 models.py:2425 models.py:2737 templates/sheet_ope.html:104
+#: models.py:2423 models.py:2425 models.py:2736 templates/sheet_ope.html:104
#: templates/ishtar/blocks/window_tables/documents.html:7
msgid "Title"
msgstr ""
@@ -365,7 +365,7 @@ msgstr ""
msgid "Account"
msgstr ""
-#: forms_common.py:575 wizards.py:1194
+#: forms_common.py:575 wizards.py:1217
msgid "New password"
msgstr ""
@@ -389,7 +389,7 @@ msgstr ""
msgid "Send the new password by email?"
msgstr ""
-#: forms_common.py:628 forms_common.py:641 models.py:2820
+#: forms_common.py:628 forms_common.py:641 models.py:2819
msgid "Towns"
msgstr ""
@@ -405,7 +405,7 @@ msgstr ""
msgid "Documentation informations"
msgstr ""
-#: forms_common.py:775 forms_common.py:823 models.py:1997 models.py:2714
+#: forms_common.py:775 forms_common.py:823 models.py:1997 models.py:2713
msgid "Source type"
msgstr ""
@@ -417,37 +417,37 @@ msgstr ""
msgid "Internal reference"
msgstr ""
-#: forms_common.py:783 models.py:2751
+#: forms_common.py:783 models.py:2750
msgid "Numerical ressource (web address)"
msgstr ""
-#: forms_common.py:784 models.py:2753
+#: forms_common.py:784 models.py:2752
msgid "Receipt date"
msgstr ""
-#: forms_common.py:786 models.py:2154 models.py:2755
+#: forms_common.py:786 models.py:2154 models.py:2754
msgid "Creation date"
msgstr ""
-#: forms_common.py:789 models.py:2758
+#: forms_common.py:789 models.py:2757
msgid "Receipt date in documentation"
msgstr ""
#: forms_common.py:791 forms_common.py:827 models.py:322 models.py:627
-#: models.py:1891 models.py:2437 models.py:2765
+#: models.py:1891 models.py:2437 models.py:2764
msgid "Comment"
msgstr ""
#: forms_common.py:793 forms_common.py:826 models.py:1029 models.py:1649
-#: models.py:1823 models.py:1865 models.py:2764 templates/sheet_ope.html:128
+#: models.py:1823 models.py:1865 models.py:2763 templates/sheet_ope.html:128
msgid "Description"
msgstr ""
-#: forms_common.py:796 models.py:2766
+#: forms_common.py:796 models.py:2765
msgid "Additional information"
msgstr ""
-#: forms_common.py:798 forms_common.py:830 models.py:2768
+#: forms_common.py:798 forms_common.py:830 models.py:2767
msgid "Has a duplicate"
msgstr ""
@@ -462,7 +462,7 @@ msgid ""
"p>"
msgstr ""
-#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2694
+#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2693
#: templates/ishtar/wizard/wizard_person_deletion.html:124
msgid "Author"
msgstr ""
@@ -475,7 +475,7 @@ msgstr ""
msgid "Would you like to delete this documentation?"
msgstr ""
-#: forms_common.py:856 models.py:1998 models.py:2682 models.py:2691
+#: forms_common.py:856 models.py:1998 models.py:2681 models.py:2690
msgid "Author type"
msgstr ""
@@ -487,7 +487,7 @@ msgstr ""
msgid "There are identical authors."
msgstr ""
-#: forms_common.py:893 models.py:2695 models.py:2747
+#: forms_common.py:893 models.py:2694 models.py:2746
#: templates/sheet_ope.html:106
#: templates/ishtar/blocks/window_tables/documents.html:9
msgid "Authors"
@@ -505,7 +505,7 @@ msgstr ""
msgid "Deletion"
msgstr ""
-#: ishtar_menu.py:39 models.py:1155 views.py:1501
+#: ishtar_menu.py:39 models.py:1155 views.py:1513
msgid "Global variables"
msgstr ""
@@ -537,11 +537,11 @@ msgstr ""
msgid "Imports"
msgstr ""
-#: ishtar_menu.py:112 views.py:1509
+#: ishtar_menu.py:112 views.py:1521
msgid "New import"
msgstr ""
-#: ishtar_menu.py:116 views.py:1523
+#: ishtar_menu.py:116 views.py:1535
msgid "Current imports"
msgstr ""
@@ -589,7 +589,7 @@ msgstr ""
msgid "Creator"
msgstr ""
-#: models.py:891 models.py:2831
+#: models.py:891 models.py:2830
msgid "Order"
msgstr ""
@@ -834,11 +834,11 @@ msgstr ""
msgid "Operation source"
msgstr ""
-#: models.py:1609 views.py:1317 views.py:1367
+#: models.py:1609 views.py:1329 views.py:1379
msgid "Archaeological files"
msgstr ""
-#: models.py:1611 views.py:1320 views.py:1375
+#: models.py:1611 views.py:1332 views.py:1387
msgid "Context records"
msgstr ""
@@ -970,11 +970,11 @@ msgstr ""
msgid "Importer - Targets keys"
msgstr ""
-#: models.py:1999 models.py:2730 models.py:2743
+#: models.py:1999 models.py:2729 models.py:2742
msgid "Format"
msgstr ""
-#: models.py:2000 models.py:2835
+#: models.py:2000 models.py:2834
msgid "Operation type"
msgstr ""
@@ -1022,7 +1022,7 @@ msgstr ""
msgid "Context record relation type"
msgstr ""
-#: models.py:2015 models.py:2722
+#: models.py:2015 models.py:2721
msgid "Support type"
msgstr ""
@@ -1300,71 +1300,71 @@ msgstr ""
msgid "Ishtar users"
msgstr ""
-#: models.py:2677
+#: models.py:2676
msgid "To modify the password use the form in Auth > User"
msgstr ""
-#: models.py:2683
+#: models.py:2682
msgid "Author types"
msgstr ""
-#: models.py:2715
+#: models.py:2714
msgid "Source types"
msgstr ""
-#: models.py:2723
+#: models.py:2722
msgid "Support types"
msgstr ""
-#: models.py:2731
+#: models.py:2730
msgid "Formats"
msgstr ""
-#: models.py:2738
+#: models.py:2737
msgid "External ID"
msgstr ""
-#: models.py:2741
+#: models.py:2740
msgid "Support"
msgstr ""
-#: models.py:2745
+#: models.py:2744
msgid "Scale"
msgstr ""
-#: models.py:2759
+#: models.py:2758
msgid "Item number"
msgstr ""
-#: models.py:2760
+#: models.py:2759
msgid "Ref."
msgstr ""
-#: models.py:2763
+#: models.py:2762
msgid "Internal ref."
msgstr ""
-#: models.py:2806
+#: models.py:2805
msgid "Surface (m2)"
msgstr ""
-#: models.py:2807 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
+#: models.py:2806 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
msgid "Localisation"
msgstr ""
-#: models.py:2832
+#: models.py:2831
msgid "Is preventive"
msgstr ""
-#: models.py:2836
+#: models.py:2835
msgid "Operation types"
msgstr ""
-#: models.py:2865
+#: models.py:2864
msgid "Preventive"
msgstr ""
-#: models.py:2866
+#: models.py:2865
msgid "Research"
msgstr ""
@@ -1420,76 +1420,76 @@ msgstr ""
msgid "Find"
msgstr ""
-#: views.py:1256 views.py:1299
+#: views.py:1268 views.py:1311
msgid "Operation not permitted."
msgstr ""
-#: views.py:1258
+#: views.py:1270
#, python-format
msgid "New %s"
msgstr ""
-#: views.py:1318 views.py:1371
+#: views.py:1330 views.py:1383
msgid "Operations"
msgstr ""
-#: views.py:1322 views.py:1378
+#: views.py:1334 views.py:1390
msgid "Finds"
msgstr ""
-#: views.py:1570 templates/ishtar/import_list.html:43
+#: views.py:1582 templates/ishtar/import_list.html:43
msgid "Link unmatched items"
msgstr ""
-#: views.py:1585
+#: views.py:1597
msgid "Delete import"
msgstr ""
-#: views.py:1624
+#: views.py:1636
msgid "Merge persons"
msgstr ""
-#: views.py:1648
+#: views.py:1660
msgid "Select the main person"
msgstr ""
-#: views.py:1657
+#: views.py:1669
msgid "Merge organization"
msgstr ""
-#: views.py:1667
+#: views.py:1679
msgid "Select the main organization"
msgstr ""
-#: views.py:1707 views.py:1723
+#: views.py:1719 views.py:1735
msgid "Corporation manager"
msgstr ""
-#: widgets.py:239 widgets.py:347 widgets.py:462
+#: widgets.py:239 widgets.py:346 widgets.py:461
msgid "Search..."
msgstr ""
-#: widgets.py:642 templatetags/window_tables.py:79
+#: widgets.py:643 templatetags/window_tables.py:81
msgid "No results"
msgstr ""
-#: widgets.py:643 templatetags/window_tables.py:80
+#: widgets.py:644 templatetags/window_tables.py:82
msgid "Loading..."
msgstr ""
-#: widgets.py:644
+#: widgets.py:645
msgid "Remove"
msgstr ""
-#: wizards.py:323 templates/ishtar/import_delete.html:20
+#: wizards.py:335 templates/ishtar/import_delete.html:20
msgid "Yes"
msgstr ""
-#: wizards.py:325
+#: wizards.py:337
msgid "No"
msgstr ""
-#: wizards.py:1251
+#: wizards.py:1274
#, python-format
msgid "[%(app_name)s] Account creation/modification"
msgstr ""
diff --git a/translations/de/ishtar_common.po b/translations/de/ishtar_common.po
index eecb5750e..42a4962c0 100644
--- a/translations/de/ishtar_common.po
+++ b/translations/de/ishtar_common.po
@@ -163,7 +163,7 @@ msgid "Template"
msgstr ""
#: forms_common.py:41 forms_common.py:59 forms_common.py:182
-#: forms_common.py:406 models.py:1426 models.py:2819
+#: forms_common.py:406 models.py:1426 models.py:2818
#: templates/blocks/JQueryAdvancedTown.html:19
#: templates/ishtar/sheet_organization.html:13
msgid "Town"
@@ -180,7 +180,7 @@ msgid ""
msgstr ""
#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1599
-#: models.py:2445 models.py:2627 models.py:2689
+#: models.py:2445 models.py:2627 models.py:2688
#: templates/ishtar/sheet_person.html:4
msgid "Person"
msgstr ""
@@ -199,7 +199,7 @@ msgstr ""
#: forms_common.py:173 forms_common.py:210 forms_common.py:322
#: forms_common.py:376 forms_common.py:446 models.py:1027 models.py:1359
-#: models.py:1645 models.py:1864 models.py:2325 models.py:2431 models.py:2805
+#: models.py:1645 models.py:1864 models.py:2325 models.py:2431 models.py:2804
#: templates/ishtar/sheet_organization.html:8
#: templates/ishtar/sheet_organization.html:21
msgid "Name"
@@ -248,7 +248,7 @@ msgid "Mobile phone"
msgstr ""
#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2025
-#: models.py:2327 models.py:2740 templates/sheet_ope.html:85
+#: models.py:2327 models.py:2739 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
@@ -291,7 +291,7 @@ msgid "Identity"
msgstr ""
#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1996
-#: models.py:2423 models.py:2425 models.py:2737 templates/sheet_ope.html:104
+#: models.py:2423 models.py:2425 models.py:2736 templates/sheet_ope.html:104
#: templates/ishtar/blocks/window_tables/documents.html:7
msgid "Title"
msgstr ""
@@ -368,7 +368,7 @@ msgstr ""
msgid "Account"
msgstr ""
-#: forms_common.py:575 wizards.py:1194
+#: forms_common.py:575 wizards.py:1217
msgid "New password"
msgstr ""
@@ -392,7 +392,7 @@ msgstr ""
msgid "Send the new password by email?"
msgstr ""
-#: forms_common.py:628 forms_common.py:641 models.py:2820
+#: forms_common.py:628 forms_common.py:641 models.py:2819
msgid "Towns"
msgstr ""
@@ -408,7 +408,7 @@ msgstr ""
msgid "Documentation informations"
msgstr ""
-#: forms_common.py:775 forms_common.py:823 models.py:1997 models.py:2714
+#: forms_common.py:775 forms_common.py:823 models.py:1997 models.py:2713
msgid "Source type"
msgstr ""
@@ -420,37 +420,37 @@ msgstr ""
msgid "Internal reference"
msgstr ""
-#: forms_common.py:783 models.py:2751
+#: forms_common.py:783 models.py:2750
msgid "Numerical ressource (web address)"
msgstr ""
-#: forms_common.py:784 models.py:2753
+#: forms_common.py:784 models.py:2752
msgid "Receipt date"
msgstr ""
-#: forms_common.py:786 models.py:2154 models.py:2755
+#: forms_common.py:786 models.py:2154 models.py:2754
msgid "Creation date"
msgstr ""
-#: forms_common.py:789 models.py:2758
+#: forms_common.py:789 models.py:2757
msgid "Receipt date in documentation"
msgstr ""
#: forms_common.py:791 forms_common.py:827 models.py:322 models.py:627
-#: models.py:1891 models.py:2437 models.py:2765
+#: models.py:1891 models.py:2437 models.py:2764
msgid "Comment"
msgstr ""
#: forms_common.py:793 forms_common.py:826 models.py:1029 models.py:1649
-#: models.py:1823 models.py:1865 models.py:2764 templates/sheet_ope.html:128
+#: models.py:1823 models.py:1865 models.py:2763 templates/sheet_ope.html:128
msgid "Description"
msgstr ""
-#: forms_common.py:796 models.py:2766
+#: forms_common.py:796 models.py:2765
msgid "Additional information"
msgstr ""
-#: forms_common.py:798 forms_common.py:830 models.py:2768
+#: forms_common.py:798 forms_common.py:830 models.py:2767
msgid "Has a duplicate"
msgstr ""
@@ -465,7 +465,7 @@ msgid ""
"p>"
msgstr ""
-#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2694
+#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2693
#: templates/ishtar/wizard/wizard_person_deletion.html:124
msgid "Author"
msgstr ""
@@ -478,7 +478,7 @@ msgstr ""
msgid "Would you like to delete this documentation?"
msgstr ""
-#: forms_common.py:856 models.py:1998 models.py:2682 models.py:2691
+#: forms_common.py:856 models.py:1998 models.py:2681 models.py:2690
msgid "Author type"
msgstr ""
@@ -490,7 +490,7 @@ msgstr ""
msgid "There are identical authors."
msgstr ""
-#: forms_common.py:893 models.py:2695 models.py:2747
+#: forms_common.py:893 models.py:2694 models.py:2746
#: templates/sheet_ope.html:106
#: templates/ishtar/blocks/window_tables/documents.html:9
msgid "Authors"
@@ -508,7 +508,7 @@ msgstr ""
msgid "Deletion"
msgstr ""
-#: ishtar_menu.py:39 models.py:1155 views.py:1501
+#: ishtar_menu.py:39 models.py:1155 views.py:1513
msgid "Global variables"
msgstr ""
@@ -540,11 +540,11 @@ msgstr ""
msgid "Imports"
msgstr ""
-#: ishtar_menu.py:112 views.py:1509
+#: ishtar_menu.py:112 views.py:1521
msgid "New import"
msgstr ""
-#: ishtar_menu.py:116 views.py:1523
+#: ishtar_menu.py:116 views.py:1535
msgid "Current imports"
msgstr ""
@@ -592,7 +592,7 @@ msgstr ""
msgid "Creator"
msgstr ""
-#: models.py:891 models.py:2831
+#: models.py:891 models.py:2830
msgid "Order"
msgstr ""
@@ -837,11 +837,11 @@ msgstr ""
msgid "Operation source"
msgstr ""
-#: models.py:1609 views.py:1317 views.py:1367
+#: models.py:1609 views.py:1329 views.py:1379
msgid "Archaeological files"
msgstr ""
-#: models.py:1611 views.py:1320 views.py:1375
+#: models.py:1611 views.py:1332 views.py:1387
msgid "Context records"
msgstr ""
@@ -973,11 +973,11 @@ msgstr ""
msgid "Importer - Targets keys"
msgstr ""
-#: models.py:1999 models.py:2730 models.py:2743
+#: models.py:1999 models.py:2729 models.py:2742
msgid "Format"
msgstr ""
-#: models.py:2000 models.py:2835
+#: models.py:2000 models.py:2834
msgid "Operation type"
msgstr ""
@@ -1025,7 +1025,7 @@ msgstr ""
msgid "Context record relation type"
msgstr ""
-#: models.py:2015 models.py:2722
+#: models.py:2015 models.py:2721
msgid "Support type"
msgstr ""
@@ -1303,71 +1303,71 @@ msgstr ""
msgid "Ishtar users"
msgstr ""
-#: models.py:2677
+#: models.py:2676
msgid "To modify the password use the form in Auth > User"
msgstr ""
-#: models.py:2683
+#: models.py:2682
msgid "Author types"
msgstr ""
-#: models.py:2715
+#: models.py:2714
msgid "Source types"
msgstr ""
-#: models.py:2723
+#: models.py:2722
msgid "Support types"
msgstr ""
-#: models.py:2731
+#: models.py:2730
msgid "Formats"
msgstr ""
-#: models.py:2738
+#: models.py:2737
msgid "External ID"
msgstr ""
-#: models.py:2741
+#: models.py:2740
msgid "Support"
msgstr ""
-#: models.py:2745
+#: models.py:2744
msgid "Scale"
msgstr ""
-#: models.py:2759
+#: models.py:2758
msgid "Item number"
msgstr ""
-#: models.py:2760
+#: models.py:2759
msgid "Ref."
msgstr ""
-#: models.py:2763
+#: models.py:2762
msgid "Internal ref."
msgstr ""
-#: models.py:2806
+#: models.py:2805
msgid "Surface (m2)"
msgstr ""
-#: models.py:2807 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
+#: models.py:2806 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
msgid "Localisation"
msgstr ""
-#: models.py:2832
+#: models.py:2831
msgid "Is preventive"
msgstr ""
-#: models.py:2836
+#: models.py:2835
msgid "Operation types"
msgstr ""
-#: models.py:2865
+#: models.py:2864
msgid "Preventive"
msgstr ""
-#: models.py:2866
+#: models.py:2865
msgid "Research"
msgstr ""
@@ -1423,76 +1423,76 @@ msgstr ""
msgid "Find"
msgstr ""
-#: views.py:1256 views.py:1299
+#: views.py:1268 views.py:1311
msgid "Operation not permitted."
msgstr ""
-#: views.py:1258
+#: views.py:1270
#, python-format
msgid "New %s"
msgstr ""
-#: views.py:1318 views.py:1371
+#: views.py:1330 views.py:1383
msgid "Operations"
msgstr ""
-#: views.py:1322 views.py:1378
+#: views.py:1334 views.py:1390
msgid "Finds"
msgstr ""
-#: views.py:1570 templates/ishtar/import_list.html:43
+#: views.py:1582 templates/ishtar/import_list.html:43
msgid "Link unmatched items"
msgstr ""
-#: views.py:1585
+#: views.py:1597
msgid "Delete import"
msgstr ""
-#: views.py:1624
+#: views.py:1636
msgid "Merge persons"
msgstr ""
-#: views.py:1648
+#: views.py:1660
msgid "Select the main person"
msgstr ""
-#: views.py:1657
+#: views.py:1669
msgid "Merge organization"
msgstr ""
-#: views.py:1667
+#: views.py:1679
msgid "Select the main organization"
msgstr ""
-#: views.py:1707 views.py:1723
+#: views.py:1719 views.py:1735
msgid "Corporation manager"
msgstr ""
-#: widgets.py:239 widgets.py:347 widgets.py:462
+#: widgets.py:239 widgets.py:346 widgets.py:461
msgid "Search..."
msgstr ""
-#: widgets.py:642 templatetags/window_tables.py:79
+#: widgets.py:643 templatetags/window_tables.py:81
msgid "No results"
msgstr ""
-#: widgets.py:643 templatetags/window_tables.py:80
+#: widgets.py:644 templatetags/window_tables.py:82
msgid "Loading..."
msgstr ""
-#: widgets.py:644
+#: widgets.py:645
msgid "Remove"
msgstr ""
-#: wizards.py:323 templates/ishtar/import_delete.html:20
+#: wizards.py:335 templates/ishtar/import_delete.html:20
msgid "Yes"
msgstr ""
-#: wizards.py:325
+#: wizards.py:337
msgid "No"
msgstr ""
-#: wizards.py:1251
+#: wizards.py:1274
#, python-format
msgid "[%(app_name)s] Account creation/modification"
msgstr ""
diff --git a/translations/fr/archaeological_files.po b/translations/fr/archaeological_files.po
index fb7cb2540..2a2c1bdcb 100644
--- a/translations/fr/archaeological_files.po
+++ b/translations/fr/archaeological_files.po
@@ -34,7 +34,7 @@ msgstr "Autre référence"
msgid "Parcel (section/number/public domain)"
msgstr "Parcelle (section/numéro/domaine public)"
-#: forms.py:55 forms.py:407 forms.py:434 models.py:544
+#: forms.py:55 forms.py:407 forms.py:434 models.py:546
msgid "Department"
msgstr "Département"
@@ -415,15 +415,15 @@ msgstr "Peut fermer un Dossier"
msgid "FILE"
msgstr "DOSSIER"
-#: models.py:404
+#: models.py:406
msgid "Multi-town"
msgstr "Intercommunal"
-#: models.py:410
+#: models.py:412
msgid "No town"
msgstr "Pas de commune"
-#: models.py:543
+#: models.py:545
msgid "File"
msgstr "Dossier"
diff --git a/translations/fr/archaeological_finds.po b/translations/fr/archaeological_finds.po
index bf5455145..6d0d5bf5d 100644
--- a/translations/fr/archaeological_finds.po
+++ b/translations/fr/archaeological_finds.po
@@ -9,132 +9,144 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"PO-Revision-Date: 2016-11-14 05:46-0500\n"
-"Last-Translator: Valérie-Emma Leroux \n"
+"PO-Revision-Date: 2016-12-04 07:51-0500\n"
+"Last-Translator: Étienne Loks \n"
"Language-Team: \n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
-#: forms.py:50 forms.py:54 wizards.py:60
+#: forms.py:55 forms.py:59 wizards.py:60
msgid "Context record"
msgstr "Unité d'Enregistrement"
-#: forms.py:83 ishtar_menu.py:31 models.py:440 models.py:754 models.py:854
-#: models.py:1004 templates/ishtar/sheet_find.html:5
+#: forms.py:88 ishtar_menu.py:31 models.py:451 models.py:771 models.py:942
+#: models.py:1104 templates/ishtar/sheet_find.html:5
msgid "Find"
msgstr "Mobilier"
-#: forms.py:94 forms.py:218 forms.py:425 models.py:127 models.py:377
+#: forms.py:99 forms.py:230 forms.py:454 models.py:129 models.py:382
msgid "Free ID"
msgstr "ID libre"
-#: forms.py:96 models.py:426
+#: forms.py:101 models.py:437
msgid "Previous ID"
msgstr "Identifiant précédent"
-#: forms.py:97 forms.py:250 forms.py:591 models.py:131 models.py:378
-#: models.py:788
+#: forms.py:102 forms.py:262 forms.py:687 models.py:133 models.py:383
+#: models.py:841
msgid "Description"
msgstr "Description"
-#: forms.py:100 forms.py:252 models.py:142
+#: forms.py:105 forms.py:264 models.py:144
msgid "Batch/object"
msgstr "Lot/objet"
-#: forms.py:102 models.py:406
+#: forms.py:107 models.py:411
msgid "Is complete?"
msgstr "Est complet ?"
-#: forms.py:105 forms.py:240 forms.py:429 models.py:50
+#: forms.py:110 forms.py:252 forms.py:458 models.py:52
msgid "Material type"
msgstr "Type de matériau"
-#: forms.py:106 forms.py:244 models.py:62 models.py:382
+#: forms.py:111 forms.py:256 models.py:64 models.py:387
msgid "Conservatory state"
msgstr "État sanitaire"
-#: forms.py:109 models.py:384
+#: forms.py:114 models.py:389
msgid "Conservatory comment"
msgstr "Commentaire relatif à la conservation"
-#: forms.py:112 models.py:102 models.py:409
+#: forms.py:117 models.py:104 models.py:414
msgid "Object types"
msgstr "Types d'objet"
-#: forms.py:114 forms.py:243 models.py:71
+#: forms.py:119 forms.py:255 models.py:73
msgid "Preservation type"
msgstr "Type de conservation"
-#: forms.py:117 forms.py:246 models.py:411
+#: forms.py:122 forms.py:258 models.py:416
msgid "Integrity / interest"
msgstr "Intégrité / intérêt"
-#: forms.py:120 forms.py:248 models.py:414
+#: forms.py:125 forms.py:260 models.py:419
msgid "Remarkability"
msgstr "Remarquabilité"
-#: forms.py:122 models.py:416
+#: forms.py:128 models.py:429
+msgid "Point of topographic reference"
+msgstr "Point de référence topographique"
+
+#: forms.py:131 models.py:423
msgid "Length (cm)"
msgstr "Longueur (cm)"
-#: forms.py:123 models.py:417
+#: forms.py:132 models.py:424
msgid "Width (cm)"
msgstr "Largeur (cm)"
-#: forms.py:124 models.py:418
+#: forms.py:133 models.py:425
msgid "Height (cm)"
msgstr "Hauteur (cm)"
-#: forms.py:125 models.py:419
+#: forms.py:134 models.py:426
msgid "Diameter (cm)"
msgstr "Diamètre (cm)"
-#: forms.py:126 forms.py:430 models.py:389
+#: forms.py:135 models.py:427
+msgid "Thickness (cm)"
+msgstr "Épaisseur (cm)"
+
+#: forms.py:136 forms.py:459 models.py:394
msgid "Volume (l)"
msgstr "Volume (l)"
-#: forms.py:127 forms.py:431 models.py:390
+#: forms.py:137 forms.py:460 models.py:395
msgid "Weight (g)"
msgstr "Poids (g)"
-#: forms.py:129 models.py:420
+#: forms.py:139 models.py:431
msgid "Dimensions comment"
msgstr "Commentaire concernant les dimensions"
-#: forms.py:130 forms.py:432 models.py:393
+#: forms.py:140 forms.py:461 models.py:398
msgid "Find number"
msgstr "Mobilier (en nombre)"
-#: forms.py:131 models.py:422
+#: forms.py:142 models.py:422
+msgid "Minimum number of individuals (MNI)"
+msgstr "Nombre minimum d'individus (NMI)"
+
+#: forms.py:143 models.py:433
msgid "Mark"
msgstr "Marque"
-#: forms.py:132 forms.py:254 models.py:428
+#: forms.py:144 forms.py:266 models.py:439
msgid "Check"
msgstr "Vérification"
-#: forms.py:134 models.py:430
+#: forms.py:146 models.py:441
msgid "Check date"
msgstr "Date de vérification"
-#: forms.py:135 models.py:132 models.py:423 models.py:789
+#: forms.py:147 forms.py:685 models.py:134 models.py:434 models.py:840
msgid "Comment"
msgstr "Commentaires"
-#: forms.py:138 models.py:424
+#: forms.py:150 models.py:435
msgid "Comment on dating"
msgstr "Commentaire général sur les datations"
-#: forms.py:139 models.py:432
+#: forms.py:151 models.py:443
msgid "Estimated value"
msgstr "Valeur estimée"
-#: forms.py:141
+#: forms.py:153 forms.py:696
msgid "Image"
msgstr "Image"
-#: forms.py:142
+#: forms.py:154 forms.py:697
#, python-format
msgid ""
"Heavy images are resized to: %(width)dx%(height)d (ratio is preserved)."
@@ -143,631 +155,723 @@ msgstr ""
"
Les images trop grandes sont retaillées en : %(width)dx%(height)d (le "
"ratio est conservé).
"
-#: forms.py:181 forms.py:212 models.py:401
+#: forms.py:193 forms.py:224 models.py:406
msgid "Dating"
msgstr "Datation"
-#: forms.py:186 forms.py:238
+#: forms.py:198 forms.py:250
msgid "Period"
msgstr "Période"
-#: forms.py:187 forms.py:593 models.py:802 models.py:867 models.py:1009
-#: templates/ishtar/sheet_find.html:92 templates/ishtar/sheet_find.html:121
+#: forms.py:199 forms.py:691 models.py:843 models.py:955 models.py:1109
+#: templates/ishtar/sheet_find.html:95 templates/ishtar/sheet_find.html:135
msgid "Start date"
msgstr "Date de début"
-#: forms.py:189 forms.py:595 models.py:803 models.py:868 models.py:1010
-#: templates/ishtar/sheet_find.html:93 templates/ishtar/sheet_find.html:122
+#: forms.py:201 forms.py:693 models.py:844 models.py:956 models.py:1110
+#: templates/ishtar/sheet_find.html:96 templates/ishtar/sheet_find.html:136
msgid "End date"
msgstr "Date de fin"
-#: forms.py:190
+#: forms.py:202
msgid "Quality"
msgstr "Qualité"
-#: forms.py:192
+#: forms.py:204
msgid "Dating type"
msgstr "Type de datation"
-#: forms.py:194
+#: forms.py:206
msgid "Precise dating"
msgstr "Datation précise"
-#: forms.py:216 models.py:150
+#: forms.py:228 models.py:152
msgid "Short ID"
msgstr "ID court"
-#: forms.py:217 models.py:153
+#: forms.py:229 models.py:155
msgid "Complete ID"
msgstr "ID complet"
-#: forms.py:221
+#: forms.py:233 forms.py:610 forms.py:651 models.py:823
msgid "Year"
msgstr "Année"
-#: forms.py:223
+#: forms.py:235
msgid "Operation's number (index by year)"
msgstr "Numéro de l'opération (index par année)"
-#: forms.py:226
+#: forms.py:238
msgid "Code PATRIARCHE"
msgstr "Code PATRIARCHE"
-#: forms.py:230
+#: forms.py:242
msgid "Archaeological site"
msgstr "Entité archéologique"
-#: forms.py:236
+#: forms.py:248
msgid "Search within related operations"
msgstr "Rechercher parmi les opérations liées"
-#: forms.py:241 models.py:101
+#: forms.py:253 models.py:103
msgid "Object type"
msgstr "Type d'objet"
-#: forms.py:255
+#: forms.py:267 forms.py:613
msgid "Has an image?"
msgstr "Dispose d'une image ?"
-#: forms.py:297 forms.py:310 views.py:66
+#: forms.py:309 forms.py:322 views.py:73
msgid "Find search"
msgstr "Rechercher un mobilier"
-#: forms.py:324
+#: forms.py:336 templates/ishtar/sheet_treatment.html:36
msgid "Upstream finds"
msgstr "Mobilier amont"
-#: forms.py:326 models.py:441
+#: forms.py:338 models.py:452
msgid "Finds"
msgstr "Mobilier"
-#: forms.py:336
+#: forms.py:348
msgid "You should at least select one archaeological find."
msgstr "Vous devez sélectionner au moins un mobilier archéologique."
-#: forms.py:422
+#: forms.py:451
msgid "Resulting find"
msgstr "Mobilier résultant"
-#: forms.py:427
+#: forms.py:456
msgid "Precise description"
msgstr "Description précise"
-#: forms.py:442
+#: forms.py:471
msgid "Resulting finds"
msgstr "Mobiliers résultants"
-#: forms.py:447
+#: forms.py:476
msgid "Would you like to delete this find?"
msgstr "Voulez-vous supprimer ce mobilier ?"
-#: forms.py:451
+#: forms.py:480 models.py:816
msgid "Upstream find"
msgstr "Mobilier amont"
-#: forms.py:462
+#: forms.py:493
msgid "Archaeological find search"
msgstr "Rechercher un mobilier"
-#: forms.py:464
+#: forms.py:495
msgid "You should select an archaeological find."
msgstr "Vous devez sélectionner du mobilier."
-#: forms.py:469
+#: forms.py:500
msgid "Year of the operation"
msgstr "Année de l'opération"
-#: forms.py:471
+#: forms.py:502
msgid "Numeric reference"
msgstr "Référence numérique"
-#: forms.py:478
+#: forms.py:509
msgid "Period of the archaeological find"
msgstr "Période du mobilier"
-#: forms.py:480
+#: forms.py:511
msgid "Material type of the archaeological find"
msgstr "Type de matériau du mobilier"
-#: forms.py:482
+#: forms.py:513
msgid "Description of the archaeological find"
msgstr "Description du mobilier"
-#: forms.py:494
+#: forms.py:525
msgid "Documentation search"
msgstr "Rechercher une documentation"
-#: forms.py:496
+#: forms.py:527
msgid "You should select a document."
msgstr "Vous devez sélectionner un document."
-#: forms.py:513
+#: forms.py:544
msgid "Another basket already exists with this name."
msgstr "Un autre panier existant utilise déjà ce nom."
-#: forms.py:523 ishtar_menu.py:60
+#: forms.py:554 forms.py:558 forms.py:713 ishtar_menu.py:55
msgid "Basket"
msgstr "Panier"
-#: forms.py:573
-msgid "Base treatment"
-msgstr "Traitement de base"
+#: forms.py:608 forms.py:647 models.py:819 templates/ishtar/sheet_find.html:90
+#: templates/ishtar/sheet_find.html:130
+msgid "Label"
+msgstr "Intitulé"
+
+#: forms.py:609 forms.py:650 models.py:821
+msgid "Other ref."
+msgstr "Autre réf."
+
+#: forms.py:611 forms.py:769 models.py:824
+msgid "Index"
+msgstr "Index"
-#: forms.py:578 models.py:776 models.py:791 models.py:866
+#: forms.py:612 forms.py:656 models.py:793 models.py:826 models.py:954
msgid "Treatment type"
msgstr "Type de traitement"
-#: forms.py:580 models.py:800 models.py:871
-#: templates/ishtar/sheet_find.html:90 templates/ishtar/sheet_find.html:119
-msgid "Doer"
-msgstr "Opérateur"
+#: forms.py:624 views.py:302
+msgid "Treatment search"
+msgstr "Recherche de traitements"
+
+#: forms.py:636
+msgid "Base treatment"
+msgstr "Traitement de base"
+
+#: forms.py:658
+msgid "Target"
+msgstr "Destination"
-#: forms.py:586 models.py:793 models.py:869
+#: forms.py:660 models.py:833
+msgid "Responsible"
+msgstr "Responsable"
+
+#: forms.py:666 models.py:836
+msgid "Organization"
+msgstr "Organisation"
+
+#: forms.py:672 models.py:828 models.py:957
msgid "Location"
msgstr "Lieu"
-#: forms.py:607
-msgid "Leave it blank if you want to select a single item"
-msgstr "Ne pas modifier si vous voulez sélectionner un seul élément"
+#: forms.py:678
+msgid "Container (relevant for packaging)"
+msgstr "Conteneur (pertinent dans le cadre du conditionnement)"
+
+#: forms.py:684
+msgid "External ref."
+msgstr "Réf. externe"
+
+#: forms.py:689 models.py:842
+msgid "Goal"
+msgstr "But"
+
+#: forms.py:713
+msgid "Single find"
+msgstr "Mobilier isolé"
+
+#: forms.py:741
+msgid ""
+"The container field is attached to the treatment. If no packaging treatment "
+"is done it is not relevant."
+msgstr ""
+"Le champ concernant le conteneur est rattaché au traitement. Si aucun "
+"conditionnement n'est réalisé, il n'est pas pertinent."
+
+#: forms.py:746
+msgid "If a packaging treatment is done, the container field must be filled."
+msgstr ""
+"Si un conditionnement est fait, le champ du conteneur doit être rempli."
-#: forms.py:614
-msgid "This treatment type is not available."
-msgstr "Ce type de traitement n'est pas disponible."
+#: forms.py:750
+msgid "A responsible or an organization must be defined."
+msgstr "Un responsable ou une organisation doit être défini."
-#: forms.py:618
-msgid "This treatment needs a basket."
-msgstr "Ce traitement nécessite de sélectionner un panier."
+#: forms.py:782
+msgid "Another treatment with this index exists for {}."
+msgstr "Un autre traitement avec cet index existe pour {}."
-#: ishtar_menu.py:35 ishtar_menu.py:83
+#: forms.py:789
+msgid ""
+"Are you sure you want to delete this treatment? All modification made to the "
+"associated finds since this treatment record will be lost!"
+msgstr ""
+"Êtes-vous sûr de vouloir supprimer ce traitement ? Toutes les modifications "
+"sur le mobilier associé réalisées depuis l'enregistrement de ce traitement "
+"seront perdues !"
+
+#: forms.py:792
+msgid "Would you like to delete this treatment?"
+msgstr "Voulez-vous supprimer ce traitement ?"
+
+#: ishtar_menu.py:35 ishtar_menu.py:78 ishtar_menu.py:113
msgid "Search"
msgstr "Recherche"
-#: ishtar_menu.py:40 ishtar_menu.py:63 ishtar_menu.py:88
+#: ishtar_menu.py:40 ishtar_menu.py:58 ishtar_menu.py:83 ishtar_menu.py:118
msgid "Creation"
msgstr "Ajout"
-#: ishtar_menu.py:45 ishtar_menu.py:93
+#: ishtar_menu.py:45 ishtar_menu.py:88 ishtar_menu.py:123
msgid "Modification"
msgstr "Modification"
-#: ishtar_menu.py:55 ishtar_menu.py:74 ishtar_menu.py:98
+#: ishtar_menu.py:50 ishtar_menu.py:69 ishtar_menu.py:93 ishtar_menu.py:128
msgid "Deletion"
msgstr "Suppression"
-#: ishtar_menu.py:68
+#: ishtar_menu.py:63
msgid "Manage items"
msgstr "Gérer les éléments"
-#: ishtar_menu.py:80
+#: ishtar_menu.py:75
msgid "Documentation"
msgstr "Documentation"
-#: models.py:43
+#: ishtar_menu.py:106 models.py:851 models.py:944 models.py:1096
+#: templates/ishtar/sheet_treatment.html:5
+msgid "Treatment"
+msgstr "Traitement"
+
+#: ishtar_menu.py:110
+msgid "Simple treatments"
+msgstr "Traitements simples"
+
+#: models.py:45
msgid "Code"
msgstr "Code"
-#: models.py:44
+#: models.py:46
msgid "Recommendation"
msgstr "Recommandation"
-#: models.py:47
+#: models.py:49
msgid "Parent material"
msgstr "Matériau parent"
-#: models.py:51 models.py:380
+#: models.py:53 models.py:385
msgid "Material types"
msgstr "Types de matériau"
-#: models.py:59
+#: models.py:61
msgid "Parent conservatory state"
msgstr "État sanitaire - parent"
-#: models.py:63
+#: models.py:65
msgid "Conservatory states"
msgstr "États sanitaires"
-#: models.py:72
+#: models.py:74
msgid "Preservation types"
msgstr "Types de conservation"
-#: models.py:80
+#: models.py:82
msgid "Integrity / interest type"
msgstr "Type d'intégrité / intérêt"
-#: models.py:81
+#: models.py:83
msgid "Integrity / interest types"
msgstr "Types d'intégrité / intérêt"
-#: models.py:89
+#: models.py:91
msgid "Remarkability type"
msgstr "Type de remarquabilité"
-#: models.py:90
+#: models.py:92
msgid "Remarkability types"
msgstr "Types de remarquabilité"
-#: models.py:98
+#: models.py:100
msgid "Parent"
msgstr "Parent"
-#: models.py:119
+#: models.py:121
msgid "Unknow"
msgstr "Inconnu"
-#: models.py:120
+#: models.py:122
msgid "Object"
msgstr "Objet"
-#: models.py:121
+#: models.py:123
msgid "Batch"
msgstr "Lot"
-#: models.py:128 models.py:373 models.py:784
+#: models.py:130 models.py:378 models.py:838
msgid "External ID"
msgstr "ID externe"
-#: models.py:130 models.py:375
+#: models.py:132 models.py:380
msgid "External ID is set automatically"
msgstr "L'identifiant externe est configuré automatiquement"
-#: models.py:134
+#: models.py:136
msgid "Topographic localisation"
msgstr "Localisation topogaphique"
-#: models.py:135
+#: models.py:137
msgid "Special interest"
msgstr "Intérêt spécifique"
-#: models.py:139
+#: models.py:141
msgid "Context Record"
msgstr "Unité d'Enregistrement"
-#: models.py:140
+#: models.py:142
msgid "Discovery date"
msgstr "Date de découverte"
-#: models.py:145
+#: models.py:147
msgid "Material index"
msgstr "Index matériel"
-#: models.py:146
+#: models.py:148
msgid "Point"
msgstr "Point"
-#: models.py:147
+#: models.py:149
msgid "Line"
msgstr "Ligne"
-#: models.py:148
+#: models.py:150
msgid "Polygon"
msgstr "Polygon"
-#: models.py:151 models.py:154
+#: models.py:153 models.py:156
msgid "Cached value - do not edit"
msgstr "Valeur en cache - ne pas éditer"
-#: models.py:159 models.py:371
+#: models.py:161 models.py:376
msgid "Base find"
msgstr "Mobilier de base"
-#: models.py:160
+#: models.py:162
msgid "Base finds"
msgstr "Mobilier de base"
-#: models.py:162
+#: models.py:164
msgid "Can view all Base finds"
msgstr "Peut voir tout le Mobilier de base"
-#: models.py:163
+#: models.py:165
msgid "Can view own Base find"
msgstr "Peut voir son propre Mobilier de base"
-#: models.py:164
+#: models.py:166
msgid "Can add own Base find"
msgstr "Peut ajouter son propre Mobilier de base"
-#: models.py:165
+#: models.py:167
msgid "Can change own Base find"
msgstr "Peut modifier son propre Mobilier de base"
-#: models.py:166
+#: models.py:168
msgid "Can delete own Base find"
msgstr "Peut supprimer son propre Mobilier de base"
-#: models.py:276
+#: models.py:278
msgid "g"
msgstr "g"
-#: models.py:277
+#: models.py:279
msgid "kg"
msgstr "kg"
-#: models.py:279
+#: models.py:281
msgid "Not checked"
msgstr "Non vérifié"
-#: models.py:280
+#: models.py:282
msgid "Checked but incorrect"
msgstr "Vérifié mais incorrect"
-#: models.py:281
+#: models.py:283
msgid "Checked and correct"
msgstr "Vérifié et correct"
-#: models.py:321
+#: models.py:316
+msgid "Periods"
+msgstr "Périodes"
+
+#: models.py:326
msgid "Base find - Short ID"
msgstr "Mobilier de base - ID court"
-#: models.py:322
+#: models.py:327
msgid "Base find - Complete ID"
msgstr "Mobilier de base - ID complet"
-#: models.py:323
+#: models.py:328
msgid "Base find - Comment"
msgstr "Mobilier de base - Commentaires"
-#: models.py:324
+#: models.py:329
msgid "Base find - Description"
msgstr "Mobilier de base - Description"
-#: models.py:325
+#: models.py:330
msgid "Base find - Topographic localisation"
msgstr "Mobilier de base - Localisation topographique"
-#: models.py:327
+#: models.py:332
msgid "Base find - Special interest"
msgstr "Mobilier de base - Intérêt spécifique"
-#: models.py:328
+#: models.py:333
msgid "Base find - Discovery date"
msgstr "Mobilier de base - Date de découverte"
-#: models.py:376 models.py:860
+#: models.py:381 models.py:948
msgid "Order"
msgstr "Ordre"
-#: models.py:387
+#: models.py:392
msgid "Type of preservation to consider"
msgstr "Mesures de conservation à envisager"
-#: models.py:391
+#: models.py:396
msgid "Weight unit"
msgstr "Unité de poids"
-#: models.py:397 templates/ishtar/sheet_find.html:83
+#: models.py:402 templates/ishtar/sheet_find.html:83
msgid "Upstream treatment"
msgstr "Traitement amont"
-#: models.py:400 templates/ishtar/sheet_find.html:112
+#: models.py:405 templates/ishtar/sheet_find.html:123
msgid "Downstream treatment"
msgstr "Traitement aval"
-#: models.py:404 models.py:786 models.py:870
-#: templates/ishtar/sheet_find.html:91 templates/ishtar/sheet_find.html:120
+#: models.py:409 models.py:845 models.py:958
+#: templates/ishtar/sheet_find.html:94 templates/ishtar/sheet_find.html:134
msgid "Container"
msgstr "Contenant"
-#: models.py:434
+#: models.py:445
msgid "Cached name"
msgstr "Nom en cache"
-#: models.py:443
+#: models.py:454
msgid "Can view all Finds"
msgstr "Peut voir tout le Mobilier"
-#: models.py:444
+#: models.py:455
msgid "Can view own Find"
msgstr "Peut voir son propre Mobilier"
-#: models.py:445
+#: models.py:456
msgid "Can add own Find"
msgstr "Peut ajouter son propre Mobilier"
-#: models.py:446
+#: models.py:457
msgid "Can change own Find"
msgstr "Peut modifier son propre Mobilier"
-#: models.py:447
+#: models.py:458
msgid "Can delete own Find"
msgstr "Peut supprimer son propre Mobilier"
-#: models.py:453
+#: models.py:464
msgid "FIND"
msgstr "MOBILIER"
-#: models.py:752
+#: models.py:769
msgid "Find documentation"
msgstr "Documentation de mobilier"
-#: models.py:753
+#: models.py:770
msgid "Find documentations"
msgstr "Documentations de mobilier"
-#: models.py:763
+#: models.py:780
msgid "Virtual"
msgstr "Virtuel"
-#: models.py:765
+#: models.py:782
msgid "Upstream is many"
msgstr "Les éléments amont sont multiples"
-#: models.py:767
+#: models.py:784
msgid "Check this if for this treatment from many finds you'll get one."
msgstr ""
"Cochez cela si, pour ce traitement, à partir de plusieurs éléments vous en "
"obtenez un seul."
-#: models.py:770
+#: models.py:787
msgid "Downstream is many"
msgstr "Les éléments aval sont multiples"
-#: models.py:772
+#: models.py:789
msgid "Check this if for this treatment from one find you'll get many."
msgstr ""
"Cochez cela si, pour ce traitement, à partir d'un seul élément vous en "
"obtenez plusieurs."
-#: models.py:777
+#: models.py:794
msgid "Treatment types"
msgstr "Types de traitement"
-#: models.py:795
+#: models.py:815
+msgid "Downstream find"
+msgstr "Mobilier aval"
+
+#: models.py:830
msgid "Location where the treatment is done. Target warehouse for a move."
msgstr ""
"Endroit où le traitement est réalisé. Renseignez le dépôt de destination "
"pour un déplacement."
-#: models.py:797
-msgid "Other location"
-msgstr "Autre lieu"
-
-#: models.py:807 models.py:856 models.py:996
-msgid "Treatment"
-msgstr "Traitement"
+#: models.py:847
+msgid "Target a basket"
+msgstr "Cible un panier"
-#: models.py:808 templates/ishtar/sheet_find.html:80
+#: models.py:852 templates/ishtar/sheet_find.html:80
msgid "Treatments"
msgstr "Traitements"
-#: models.py:810
+#: models.py:855
msgid "Can view all Treatments"
msgstr "Peut voir tous les Traitements"
-#: models.py:811
+#: models.py:856
msgid "Can view own Treatment"
msgstr "Peut voir son propre Traitement"
-#: models.py:812
+#: models.py:857
msgid "Can add own Treatment"
msgstr "Peut ajouter son propre Traitement"
-#: models.py:813
+#: models.py:858
msgid "Can change own Treatment"
msgstr "Peut modifier son propre Traitement"
-#: models.py:814
+#: models.py:859
msgid "Can delete own Treatment"
msgstr "Peut supprimer son propre Traitement"
-#: models.py:820
+#: models.py:865
msgid "by"
msgstr "par"
-#: models.py:872 models.py:873 templates/ishtar/sheet_find.html:89
-#: templates/ishtar/sheet_find.html:118
+#: models.py:959 templates/ishtar/sheet_find.html:93
+#: templates/ishtar/sheet_find.html:133
+msgid "Doer"
+msgstr "Opérateur"
+
+#: models.py:960 models.py:961 templates/ishtar/sheet_find.html:92
+#: templates/ishtar/sheet_find.html:132
msgid "Related finds"
msgstr "Mobilier associé"
-#: models.py:982
+#: models.py:1082
msgid "Is upstream"
msgstr "Est en amont"
-#: models.py:993
+#: models.py:1093
msgid "Treatment documentation"
msgstr "Documentation d'un traitement"
-#: models.py:994
+#: models.py:1094
msgid "Treament documentations"
msgstr "Documentations des traitements"
-#: models.py:1006
+#: models.py:1106
msgid "Administrative act"
msgstr "Acte administratif"
-#: models.py:1007
+#: models.py:1107
msgid "Person"
msgstr "Individu"
-#: models.py:1013
+#: models.py:1113
msgid "Property"
msgstr "Propriété"
-#: models.py:1014
+#: models.py:1114
msgid "Properties"
msgstr "Propriétés"
-#: views.py:61
+#: views.py:68
msgid "New find"
msgstr "Ajouter un mobilier"
-#: views.py:75
+#: views.py:82
msgid "Find modification"
msgstr "Modifier un mobilier"
-#: views.py:90
+#: views.py:97
msgid "Find deletion"
msgstr "Supprimer un mobilier"
-#: views.py:95
+#: views.py:102
msgid "Find: source search"
msgstr "Mobilier : rechercher une documentation associée"
-#: views.py:103
+#: views.py:110
msgid "Find: new source"
msgstr "Mobilier : ajouter une documentation associée"
-#: views.py:111
+#: views.py:118
msgid "Find: source modification"
msgstr "Mobilier : modifier une documentation associée"
-#: views.py:126
+#: views.py:133
msgid "Find: source deletion"
msgstr "Mobilier : supprimer un mobilier associé"
-#: views.py:140
+#: views.py:147
msgid "New basket"
msgstr "Ajouter un panier"
-#: views.py:159
+#: views.py:166
msgid "Manage items in basket"
msgstr "Gérer les éléments dans un panier"
-#: views.py:179
+#: views.py:186
msgid "Manage basket"
msgstr "Gérer un panier"
-#: views.py:267
+#: views.py:274
msgid "Delete basket"
msgstr "Supprimer un panier"
-#: views.py:303
+#: views.py:323
msgid "New treatment"
msgstr "Ajouter un traitement"
+#: views.py:330
+msgid "Modify"
+msgstr "Modifier"
+
+#: views.py:337
+msgid "Treatment deletion"
+msgstr "Suppression d'un traitement"
+
#: wizards.py:59
msgid "Operation"
msgstr "Opération"
-#: templates/ishtar/sheet_find.html:88 templates/ishtar/sheet_find.html:117
-#: templates/ishtar/sheet_find.html:187
+#: templates/ishtar/sheet_find.html:89 templates/ishtar/sheet_find.html:129
+msgid "Year - index"
+msgstr "Année - index"
+
+#: templates/ishtar/sheet_find.html:91 templates/ishtar/sheet_find.html:131
+#: templates/ishtar/sheet_find.html:209
msgid "Type"
msgstr "Type"
-#: templates/ishtar/sheet_find.html:108
+#: templates/ishtar/sheet_find.html:119
msgid "Export as CSV"
msgstr "Export en CSV"
-#: templates/ishtar/sheet_find.html:108 templates/ishtar/sheet_find.html:138
+#: templates/ishtar/sheet_find.html:119 templates/ishtar/sheet_find.html:160
msgid "CSV"
msgstr "CSV"
-#: templates/ishtar/sheet_find.html:143
+#: templates/ishtar/sheet_find.html:165
msgid "Associated base finds"
msgstr "Mobilier de base associé"
-#: templates/ishtar/sheet_find.html:182 templates/ishtar/sheet_find.html:184
+#: templates/ishtar/sheet_find.html:204 templates/ishtar/sheet_find.html:206
msgid "Documents"
msgstr "Documents"
-#: templates/ishtar/sheet_find.html:186
+#: templates/ishtar/sheet_find.html:208
msgid "Title"
msgstr "Titre"
-#: templates/ishtar/sheet_find.html:188
+#: templates/ishtar/sheet_find.html:210
msgid "Authors"
msgstr "Auteurs"
-#: templates/ishtar/sheet_find.html:189
+#: templates/ishtar/sheet_find.html:211
msgid "Link"
msgstr "Lien"
@@ -778,3 +882,7 @@ msgstr "Panier de mobilier"
#: templates/ishtar/sheet_findsource.html:4
msgid "Find source"
msgstr "Documentation associée au mobilier"
+
+#: templates/ishtar/sheet_treatment.html:41
+msgid "Downstream finds"
+msgstr "Traitements avals"
diff --git a/translations/fr/archaeological_operations.po b/translations/fr/archaeological_operations.po
index 5e66f451e..9fdd9d373 100644
--- a/translations/fr/archaeological_operations.po
+++ b/translations/fr/archaeological_operations.po
@@ -10,7 +10,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"PO-Revision-Date: 2016-11-16 03:16-0500\n"
+"PO-Revision-Date: 2016-12-04 07:53-0500\n"
"Last-Translator: Étienne Loks \n"
"Language-Team: \n"
"Language: fr\n"
@@ -724,23 +724,23 @@ msgstr "Responsable scientifique (nom)"
#: models.py:237
msgid "Scientist (name)"
-msgstr ""
+msgstr "Scientifique (nom)"
#: models.py:238
msgid "Scientist - Organization (name)"
-msgstr ""
+msgstr "Scientifique - Organisation (nom)"
#: models.py:239
msgid "In charge (title)"
-msgstr ""
+msgstr "Responsable (titre)"
#: models.py:240
msgid "In charge (surname)"
-msgstr ""
+msgstr "Responsable (prénom)"
#: models.py:241
msgid "In charge (name)"
-msgstr ""
+msgstr "Responsable (nom)"
#: models.py:242
msgid "In charge - Organization (name)"
diff --git a/translations/fr/archaeological_warehouse.po b/translations/fr/archaeological_warehouse.po
index c97ae6a4f..0537f91a9 100644
--- a/translations/fr/archaeological_warehouse.po
+++ b/translations/fr/archaeological_warehouse.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the Ishtar package.
# Étienne Loks , 2010-2011.
# Valérie-Emma Leroux , 2016. #zanata
+# Étienne Loks , 2016. #zanata
msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"PO-Revision-Date: 2016-11-14 03:41-0500\n"
-"Last-Translator: Copied by Zanata \n"
+"PO-Revision-Date: 2016-12-04 07:54-0500\n"
+"Last-Translator: Étienne Loks \n"
"Language-Team: \n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
@@ -100,8 +101,8 @@ msgid "Packaged finds"
msgstr "Mobilier conditionné"
#: ishtar_menu.py:30
-msgid "Find"
-msgstr "Mobilier"
+msgid "Treatment"
+msgstr "Traitement"
#: models.py:31
msgid "Warehouse types"
diff --git a/translations/fr/ishtar_common.po b/translations/fr/ishtar_common.po
index e71cf2d36..532fb09ce 100644
--- a/translations/fr/ishtar_common.po
+++ b/translations/fr/ishtar_common.po
@@ -174,7 +174,7 @@ msgid "Template"
msgstr "Patron"
#: forms_common.py:41 forms_common.py:59 forms_common.py:182
-#: forms_common.py:406 models.py:1426 models.py:2819
+#: forms_common.py:406 models.py:1426 models.py:2818
#: templates/blocks/JQueryAdvancedTown.html:19
#: templates/ishtar/sheet_organization.html:13
msgid "Town"
@@ -198,7 +198,7 @@ msgstr ""
"commune Saint-Denis dans le département français de Seine-Saint-Denis.
"
#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1599
-#: models.py:2445 models.py:2627 models.py:2689
+#: models.py:2445 models.py:2627 models.py:2688
#: templates/ishtar/sheet_person.html:4
msgid "Person"
msgstr "Personne"
@@ -219,7 +219,7 @@ msgstr "Organisation"
#: forms_common.py:173 forms_common.py:210 forms_common.py:322
#: forms_common.py:376 forms_common.py:446 models.py:1027 models.py:1359
-#: models.py:1645 models.py:1864 models.py:2325 models.py:2431 models.py:2805
+#: models.py:1645 models.py:1864 models.py:2325 models.py:2431 models.py:2804
#: templates/ishtar/sheet_organization.html:8
#: templates/ishtar/sheet_organization.html:21
msgid "Name"
@@ -268,7 +268,7 @@ msgid "Mobile phone"
msgstr "Téléphone portable"
#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2025
-#: models.py:2327 models.py:2740 templates/sheet_ope.html:85
+#: models.py:2327 models.py:2739 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
@@ -311,7 +311,7 @@ msgid "Identity"
msgstr "Identité"
#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1996
-#: models.py:2423 models.py:2425 models.py:2737 templates/sheet_ope.html:104
+#: models.py:2423 models.py:2425 models.py:2736 templates/sheet_ope.html:104
#: templates/ishtar/blocks/window_tables/documents.html:7
msgid "Title"
msgstr "Titre"
@@ -388,7 +388,7 @@ msgstr "Type de personne"
msgid "Account"
msgstr "Compte"
-#: forms_common.py:575 wizards.py:1194
+#: forms_common.py:575 wizards.py:1217
msgid "New password"
msgstr "Nouveau mot de passe"
@@ -412,7 +412,7 @@ msgstr "Ce nom d'utilisateur existe déjà."
msgid "Send the new password by email?"
msgstr "Envoyer le nouveau mot de passe par courriel ?"
-#: forms_common.py:628 forms_common.py:641 models.py:2820
+#: forms_common.py:628 forms_common.py:641 models.py:2819
msgid "Towns"
msgstr "Communes"
@@ -428,7 +428,7 @@ msgstr "Seul un choix peut être coché."
msgid "Documentation informations"
msgstr "Information sur le document"
-#: forms_common.py:775 forms_common.py:823 models.py:1997 models.py:2714
+#: forms_common.py:775 forms_common.py:823 models.py:1997 models.py:2713
msgid "Source type"
msgstr "Type de document"
@@ -440,37 +440,37 @@ msgstr "Référence"
msgid "Internal reference"
msgstr "Référence interne"
-#: forms_common.py:783 models.py:2751
+#: forms_common.py:783 models.py:2750
msgid "Numerical ressource (web address)"
msgstr "Ressource numérique (adresse web)"
-#: forms_common.py:784 models.py:2753
+#: forms_common.py:784 models.py:2752
msgid "Receipt date"
msgstr "Date de réception"
-#: forms_common.py:786 models.py:2154 models.py:2755
+#: forms_common.py:786 models.py:2154 models.py:2754
msgid "Creation date"
msgstr "Date de création"
-#: forms_common.py:789 models.py:2758
+#: forms_common.py:789 models.py:2757
msgid "Receipt date in documentation"
msgstr "Date de réception en documentation"
#: forms_common.py:791 forms_common.py:827 models.py:322 models.py:627
-#: models.py:1891 models.py:2437 models.py:2765
+#: models.py:1891 models.py:2437 models.py:2764
msgid "Comment"
msgstr "Commentaire"
#: forms_common.py:793 forms_common.py:826 models.py:1029 models.py:1649
-#: models.py:1823 models.py:1865 models.py:2764 templates/sheet_ope.html:128
+#: models.py:1823 models.py:1865 models.py:2763 templates/sheet_ope.html:128
msgid "Description"
msgstr "Description"
-#: forms_common.py:796 models.py:2766
+#: forms_common.py:796 models.py:2765
msgid "Additional information"
msgstr "Informations supplémentaires"
-#: forms_common.py:798 forms_common.py:830 models.py:2768
+#: forms_common.py:798 forms_common.py:830 models.py:2767
msgid "Has a duplicate"
msgstr "Existe en doublon"
@@ -487,7 +487,7 @@ msgstr ""
"Les images trop grandes sont retaillées en : %(width)dx%(height)d (le "
"ratio est conservé).
"
-#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2694
+#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2693
#: templates/ishtar/wizard/wizard_person_deletion.html:124
msgid "Author"
msgstr "Auteur"
@@ -500,7 +500,7 @@ msgstr "Informations complémentaires"
msgid "Would you like to delete this documentation?"
msgstr "Voulez-vous supprimer ce document ?"
-#: forms_common.py:856 models.py:1998 models.py:2682 models.py:2691
+#: forms_common.py:856 models.py:1998 models.py:2681 models.py:2690
msgid "Author type"
msgstr "Type d'auteur"
@@ -512,7 +512,7 @@ msgstr "Sélection d'auteur"
msgid "There are identical authors."
msgstr "Il y a des auteurs identiques."
-#: forms_common.py:893 models.py:2695 models.py:2747
+#: forms_common.py:893 models.py:2694 models.py:2746
#: templates/sheet_ope.html:106
#: templates/ishtar/blocks/window_tables/documents.html:9
msgid "Authors"
@@ -530,7 +530,7 @@ msgstr "Ajout/modification"
msgid "Deletion"
msgstr "Suppression"
-#: ishtar_menu.py:39 models.py:1155 views.py:1501
+#: ishtar_menu.py:39 models.py:1155 views.py:1513
msgid "Global variables"
msgstr "Variables globales"
@@ -562,11 +562,11 @@ msgstr "Fusion manuelle"
msgid "Imports"
msgstr "Imports"
-#: ishtar_menu.py:112 views.py:1509
+#: ishtar_menu.py:112 views.py:1521
msgid "New import"
msgstr "Nouvel import"
-#: ishtar_menu.py:116 views.py:1523
+#: ishtar_menu.py:116 views.py:1535
msgid "Current imports"
msgstr "Imports en cours"
@@ -614,7 +614,7 @@ msgstr "Dernier éditeur"
msgid "Creator"
msgstr "Créateur"
-#: models.py:891 models.py:2831
+#: models.py:891 models.py:2830
msgid "Order"
msgstr "Ordre"
@@ -880,11 +880,11 @@ msgstr "Parcelles"
msgid "Operation source"
msgstr "Documentation de l'opération"
-#: models.py:1609 views.py:1317 views.py:1367
+#: models.py:1609 views.py:1329 views.py:1379
msgid "Archaeological files"
msgstr "Dossiers"
-#: models.py:1611 views.py:1320 views.py:1375
+#: models.py:1611 views.py:1332 views.py:1387
msgid "Context records"
msgstr "Unités d'Enregistrement"
@@ -1016,11 +1016,11 @@ msgstr "Importeur - Clé de rapprochement"
msgid "Importer - Targets keys"
msgstr "Importeur - Clés de rapprochement"
-#: models.py:1999 models.py:2730 models.py:2743
+#: models.py:1999 models.py:2729 models.py:2742
msgid "Format"
msgstr "Format"
-#: models.py:2000 models.py:2835
+#: models.py:2000 models.py:2834
msgid "Operation type"
msgstr "Type d'opération"
@@ -1068,7 +1068,7 @@ msgstr "Type d'identification"
msgid "Context record relation type"
msgstr "Type de relations entre Unités d'Enregistrement"
-#: models.py:2015 models.py:2722
+#: models.py:2015 models.py:2721
msgid "Support type"
msgstr "Type de support"
@@ -1346,73 +1346,73 @@ msgstr "Utilisateur d'Ishtar"
msgid "Ishtar users"
msgstr "Utilisateurs d'Ishtar"
-#: models.py:2677
+#: models.py:2676
msgid "To modify the password use the form in Auth > User"
msgstr ""
"Pour modifier le mot de passe, utilisez le formulaire dans Authentification "
"> Utilisateurs"
-#: models.py:2683
+#: models.py:2682
msgid "Author types"
msgstr "Types d'auteur"
-#: models.py:2715
+#: models.py:2714
msgid "Source types"
msgstr "Types de document"
-#: models.py:2723
+#: models.py:2722
msgid "Support types"
msgstr "Types de support"
-#: models.py:2731
+#: models.py:2730
msgid "Formats"
msgstr "Formats"
-#: models.py:2738
+#: models.py:2737
msgid "External ID"
msgstr "Identifiant externe"
-#: models.py:2741
+#: models.py:2740
msgid "Support"
msgstr "Support"
-#: models.py:2745
+#: models.py:2744
msgid "Scale"
msgstr "Échelle"
-#: models.py:2759
+#: models.py:2758
msgid "Item number"
msgstr "Numéro d'élément"
-#: models.py:2760
+#: models.py:2759
msgid "Ref."
msgstr "Réf."
-#: models.py:2763
+#: models.py:2762
msgid "Internal ref."
msgstr "Réf. interne"
-#: models.py:2806
+#: models.py:2805
msgid "Surface (m2)"
msgstr "Surface (m2)"
-#: models.py:2807 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
+#: models.py:2806 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
msgid "Localisation"
msgstr "Localisation"
-#: models.py:2832
+#: models.py:2831
msgid "Is preventive"
msgstr "Est du préventif"
-#: models.py:2836
+#: models.py:2835
msgid "Operation types"
msgstr "Types d'opération"
-#: models.py:2865
+#: models.py:2864
msgid "Preventive"
msgstr "Préventif"
-#: models.py:2866
+#: models.py:2865
msgid "Research"
msgstr "Programmé"
@@ -1468,76 +1468,76 @@ msgstr "Unité d'Enregistrement"
msgid "Find"
msgstr "Mobilier"
-#: views.py:1256 views.py:1299
+#: views.py:1268 views.py:1311
msgid "Operation not permitted."
msgstr "Opération non permise."
-#: views.py:1258
+#: views.py:1270
#, python-format
msgid "New %s"
msgstr "Nouveau %s"
-#: views.py:1318 views.py:1371
+#: views.py:1330 views.py:1383
msgid "Operations"
msgstr "Opérations"
-#: views.py:1322 views.py:1378
+#: views.py:1334 views.py:1390
msgid "Finds"
msgstr "Mobilier"
-#: views.py:1570 templates/ishtar/import_list.html:43
+#: views.py:1582 templates/ishtar/import_list.html:43
msgid "Link unmatched items"
msgstr "Associer les éléments non rapprochés"
-#: views.py:1585
+#: views.py:1597
msgid "Delete import"
msgstr "Supprimer un import"
-#: views.py:1624
+#: views.py:1636
msgid "Merge persons"
msgstr "Fusionner des personnes"
-#: views.py:1648
+#: views.py:1660
msgid "Select the main person"
msgstr "Choisir la personne principale"
-#: views.py:1657
+#: views.py:1669
msgid "Merge organization"
msgstr "Fusionner des organisations"
-#: views.py:1667
+#: views.py:1679
msgid "Select the main organization"
msgstr "Sélectionner l'organisation principale"
-#: views.py:1707 views.py:1723
+#: views.py:1719 views.py:1735
msgid "Corporation manager"
msgstr "Représentant de la personne morale"
-#: widgets.py:239 widgets.py:347 widgets.py:462
+#: widgets.py:239 widgets.py:346 widgets.py:461
msgid "Search..."
msgstr "Recherche..."
-#: widgets.py:642 templatetags/window_tables.py:79
+#: widgets.py:643 templatetags/window_tables.py:81
msgid "No results"
msgstr "Pas de résultats"
-#: widgets.py:643 templatetags/window_tables.py:80
+#: widgets.py:644 templatetags/window_tables.py:82
msgid "Loading..."
msgstr "Chargement..."
-#: widgets.py:644
+#: widgets.py:645
msgid "Remove"
msgstr "Enlever"
-#: wizards.py:323 templates/ishtar/import_delete.html:20
+#: wizards.py:335 templates/ishtar/import_delete.html:20
msgid "Yes"
msgstr "Oui"
-#: wizards.py:325
+#: wizards.py:337
msgid "No"
msgstr "Non"
-#: wizards.py:1251
+#: wizards.py:1274
#, python-format
msgid "[%(app_name)s] Account creation/modification"
msgstr "[%(app_name)s] Création/modification du compte"
--
cgit v1.2.3
From 35897953208aa60ee306aba73963dda34a553cb0 Mon Sep 17 00:00:00 2001
From: Étienne Loks
Date: Sun, 11 Dec 2016 17:46:46 +0100
Subject: Administrative act for treatment and treatment files
---
archaeological_files/urls.py | 8 +-
archaeological_files/wizards.py | 1 +
archaeological_finds/forms.py | 341 +--------
archaeological_finds/forms_treatments.py | 472 ++++++++++++
archaeological_finds/ishtar_menu.py | 95 ++-
archaeological_finds/urls.py | 56 +-
archaeological_finds/views.py | 121 ++-
archaeological_finds/wizards.py | 60 ++
archaeological_operations/admin.py | 10 +-
...tiveact_treatment_file__add_field_administra.py | 822 +++++++++++++++++++++
archaeological_operations/models.py | 14 +-
.../templates/ishtar/sheet_administrativeact.html | 48 +-
archaeological_operations/urls.py | 6 +-
archaeological_operations/wizards.py | 11 +-
archaeological_warehouse/ishtar_menu.py | 2 +-
ishtar_common/models.py | 7 +-
ishtar_common/widgets.py | 12 +-
17 files changed, 1724 insertions(+), 362 deletions(-)
create mode 100644 archaeological_operations/migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py
(limited to 'archaeological_files')
diff --git a/archaeological_files/urls.py b/archaeological_files/urls.py
index b762a54b3..91d106f78 100644
--- a/archaeological_files/urls.py
+++ b/archaeological_files/urls.py
@@ -50,14 +50,14 @@ urlpatterns = patterns(
check_rights(['view_file', 'view_own_file'])(
views.file_search_wizard),
name='file_search'),
- url(r'file_creation/(?P.+)?$',
+ url(r'^file_creation/(?P.+)?$',
check_rights(['add_file'])(
views.file_creation_wizard), name='file_creation'),
- url(r'file_modification/(?P.+)?$',
+ url(r'^file_modification/(?P.+)?$',
check_rights(['change_file', 'change_own_file'])(
views.file_modification_wizard), name='file_modification'),
- url(r'file_modify/(?P.+)/$', views.file_modify, name='file_modify'),
- url(r'file_closing/(?P.+)?$',
+ url(r'^file_modify/(?P.+)/$', views.file_modify, name='file_modify'),
+ url(r'^file_closing/(?P.+)?$',
check_rights(['change_file'])(
views.file_closing_wizard),
name='file_closing'),
diff --git a/archaeological_files/wizards.py b/archaeological_files/wizards.py
index 4c3a13ee2..1558cd46e 100644
--- a/archaeological_files/wizards.py
+++ b/archaeological_files/wizards.py
@@ -142,6 +142,7 @@ class FileDeletionWizard(FileClosingWizard):
class FileAdministrativeActWizard(OperationAdministrativeActWizard):
model = models.File
current_obj_slug = 'administrativeactfile'
+ ref_object_key = 'associated_file'
def get_reminder(self):
form_key = 'selec-' + self.url_name
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py
index 541778d5c..78a415abf 100644
--- a/archaeological_finds/forms.py
+++ b/archaeological_finds/forms.py
@@ -21,7 +21,6 @@
Finds forms definitions
"""
-import datetime
import logging
from django import forms
@@ -32,21 +31,53 @@ from django.forms.formsets import formset_factory
from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _
-from ishtar_common.models import Person, valid_id, valid_ids, \
- get_current_profile, Organization
+from ishtar_common.models import valid_id, valid_ids, get_current_profile
from archaeological_operations.models import Period, ArchaeologicalSite, \
RelationType as OpeRelationType
from archaeological_context_records.models import DatingType, DatingQuality, \
ContextRecord
-from archaeological_warehouse.models import Warehouse, Container
import models
-from ishtar_common import widgets
-from archaeological_operations.widgets import OAWidget
from ishtar_common.forms import FormSet, FloatField, \
get_form_selection, reverse_lazy, TableSelect, get_now, FinalForm, \
ManageOldType
+
from ishtar_common.forms_common import get_town_field, SourceSelect
+from ishtar_common import widgets
+from archaeological_operations.widgets import OAWidget
+
+from archaeological_finds.forms_treatments import TreatmentSelect, \
+ TreatmentFormSelection, BaseTreatmentForm, ModifyTreatmentForm, \
+ AdministrativeActTreatmentForm, TreatmentFormFileChoice, \
+ TreatmentDeletionForm, TreatmentFileSelect, TreatmentFileFormSelection, \
+ TreatmentFileForm, ModifyTreatmentFileForm, TreatmentFileDeletionForm, \
+ AdministrativeActTreatmentFormSelection, \
+ AdministrativeActTreatmentModifForm, \
+ AdministrativeActTreatmentFileForm, \
+ AdministrativeActTreatmentFileFormSelection, \
+ AdministrativeActTreatmentFileModifForm
+
+__all__ = ['TreatmentSelect', 'TreatmentFormSelection', 'BaseTreatmentForm',
+ 'ModifyTreatmentForm', 'AdministrativeActTreatmentForm',
+ 'TreatmentFormFileChoice', 'TreatmentDeletionForm',
+ 'AdministrativeActTreatmentModifForm',
+ 'TreatmentFileSelect', 'TreatmentFileFormSelection',
+ 'TreatmentFileForm', 'ModifyTreatmentFileForm',
+ 'TreatmentFileDeletionForm', 'AdministrativeActTreatmentFileForm',
+ 'AdministrativeActTreatmentFileFormSelection',
+ 'AdministrativeActTreatmentFormSelection',
+ 'AdministrativeActTreatmentFileModifForm',
+ 'RecordFormSelection',
+ 'FindForm', 'DateForm', 'DatingFormSet', 'FindSelect',
+ 'FindFormSelection', 'MultipleFindFormSelection',
+ 'FindMultipleFormSelection', 'check_form', 'check_exist',
+ 'check_not_exist', 'check_value', 'check_type_field',
+ 'check_type_not_field', 'check_treatment', 'ResultFindForm',
+ 'ResultFindFormSet', 'FindDeletionForm',
+ 'UpstreamFindFormSelection', 'SourceFindFormSelection',
+ 'FindSourceSelect', 'FindSourceFormSelection',
+ 'NewFindBasketForm', 'SelectFindBasketForm', 'DeleteFindBasketForm',
+ 'FindBasketAddItemForm']
logger = logging.getLogger(__name__)
@@ -604,304 +635,6 @@ class FindBasketAddItemForm(forms.Form):
return basket
-class TreatmentSelect(TableSelect):
- label = forms.CharField(label=_(u"Label"))
- other_reference = forms.CharField(label=_(u"Other ref."))
- year = forms.IntegerField(label=_(u"Year"))
- index = forms.IntegerField(label=_(u"Index"))
- treatment_types = forms.ChoiceField(label=_(u"Treatment type"), choices=[])
- image = forms.NullBooleanField(label=_(u"Has an image?"))
-
- def __init__(self, *args, **kwargs):
- super(TreatmentSelect, self).__init__(*args, **kwargs)
- self.fields['treatment_types'].choices = \
- models.TreatmentType.get_types()
- self.fields['treatment_types'].help_text = \
- models.TreatmentType.get_help()
-
-
-class TreatmentFormSelection(forms.Form):
- form_label = _("Treatment search")
- associated_models = {'pk': models.Treatment}
- currents = {'pk': models.Treatment}
- pk = forms.IntegerField(
- label="", required=False,
- widget=widgets.JQueryJqGrid(
- reverse_lazy('get-treatment'),
- TreatmentSelect, models.Treatment),
- validators=[valid_id(models.Treatment)])
-
-
-class BaseTreatmentForm(ManageOldType, forms.Form):
- form_label = _(u"Base treatment")
- base_models = ['treatment_type']
- associated_models = {'treatment_type': models.TreatmentType,
- 'person': Person,
- 'location': Warehouse,
- 'organization': Organization,
- 'container': Container,
- }
- file_upload = True
- need_user_for_initialization = True
-
- label = forms.CharField(label=_(u"Label"),
- max_length=200, required=False)
- other_reference = forms.CharField(
- label=_(u"Other ref."), max_length=200, required=False)
- year = forms.IntegerField(label=_("Year"),
- initial=lambda: datetime.datetime.now().year,
- validators=[validators.MinValueValidator(1900),
- validators.MaxValueValidator(2100)])
- treatment_type = forms.MultipleChoiceField(
- label=_(u"Treatment type"), choices=[],
- widget=widgets.CheckboxSelectMultiple)
- target_is_basket = forms.NullBooleanField(label=_(u"Target"))
- person = forms.IntegerField(
- label=_(u"Responsible"),
- widget=widgets.JQueryAutoComplete(
- reverse_lazy('autocomplete-person'), associated_model=Person,
- new=True),
- validators=[valid_id(Person)], required=False)
- organization = forms.IntegerField(
- label=_(u"Organization"),
- widget=widgets.JQueryAutoComplete(
- reverse_lazy('autocomplete-organization'),
- associated_model=Organization, new=True),
- validators=[valid_id(Organization)], required=False)
- location = forms.IntegerField(
- label=_(u"Location"),
- widget=widgets.JQueryAutoComplete(
- reverse_lazy('autocomplete-warehouse'), associated_model=Warehouse,
- new=True),
- validators=[valid_id(Warehouse)])
- container = forms.IntegerField(
- label=_(u"Container (relevant for packaging)"),
- widget=widgets.JQueryAutoComplete(
- reverse_lazy('autocomplete-container'),
- associated_model=Container, new=True),
- validators=[valid_id(Container)], required=False)
- external_id = forms.CharField(
- label=_(u"External ref."), max_length=200, required=False)
- comment = forms.CharField(label=_(u"Comment"),
- widget=forms.Textarea, required=False)
- description = forms.CharField(label=_(u"Description"),
- widget=forms.Textarea, required=False)
- goal = forms.CharField(label=_(u"Goal"),
- widget=forms.Textarea, required=False)
- start_date = forms.DateField(label=_(u"Start date"), required=False,
- widget=widgets.JQueryDate)
- end_date = forms.DateField(label=_(u"End date"), required=False,
- widget=widgets.JQueryDate)
- image = forms.ImageField(
- label=_(u"Image"), help_text=mark_safe(
- _(u"Heavy images are resized to: %(width)dx%(height)d "
- u"(ratio is preserved).
") % {
- 'width': settings.IMAGE_MAX_SIZE[0],
- 'height': settings.IMAGE_MAX_SIZE[1]}),
- max_length=255, required=False, widget=widgets.ImageFileInput())
-
- def __init__(self, *args, **kwargs):
- user = kwargs.pop('user')
- super(BaseTreatmentForm, self).__init__(*args, **kwargs)
- q = Person.objects.filter(ishtaruser__pk=user.pk)
- if q.count():
- person = q.all()[0]
- self.fields['person'].initial = person.pk
- if person.attached_to:
- self.fields['organization'].initial = person.attached_to.pk
- self.fields['target_is_basket'].widget.choices = \
- ((False, _(u"Single find")), (True, _(u"Basket")))
- self.fields['treatment_type'].choices = models.TreatmentType.get_types(
- initial=self.init_data.get('treatment_type'),
- dct={'upstream_is_many': False, 'downstream_is_many': False},
- empty_first=False
- )
- self.fields['treatment_type'].help_text = \
- models.TreatmentType.get_help(
- dct={'upstream_is_many': False, 'downstream_is_many': False})
- # TODO
- """
- self.fields['basket'].required = False
- self.fields['basket'].help_text = \
- _(u"Leave it blank if you want to select a single item")
- self.fields.keyOrder.pop(self.fields.keyOrder.index('basket'))
- self.fields.keyOrder.insert(self.fields.keyOrder.index('description'),
- 'basket')
- """
-
- def clean(self, *args, **kwargs):
- data = self.cleaned_data
- packaging = models.TreatmentType.get_cache('packaging')
- if not packaging:
- logger.warning("No 'packaging' treatment type defined")
- return
- if data.get('container', None) \
- and str(packaging.pk) not in data.get('treatment_type', []):
- raise forms.ValidationError(
- _(u"The container field is attached to the treatment. If "
- u"no packaging treatment is done it is not relevant."))
- if not data.get('container', None) \
- and str(packaging.pk) in data.get('treatment_type', []):
- raise forms.ValidationError(
- _(u"If a packaging treatment is done, the container field "
- u"must be filled."))
- if not data.get('person', None) and not data.get('organization', None):
- raise forms.ValidationError(
- _(u"A responsible or an organization must be defined."))
- return data
- # TODO
- """
- for treatment_type in self.cleaned_data.get('treatment_type', []):
- try:
- treatment = models.TreatmentType.objects.get(
- pk=treatment_type, available=True)
- except models.TreatmentType.DoesNotExist:
- raise forms.ValidationError(_(u"This treatment type is not "
- u"available."))
- if treatment.upstream_is_many and \
- not self.cleaned_data.get('basket'):
- raise forms.ValidationError(_(u"This treatment needs a "
- u"basket."))
- """
-
-
-class ModifyTreatmentForm(BaseTreatmentForm):
- index = forms.IntegerField(_(u"Index"))
- id = forms.IntegerField(' ', widget=forms.HiddenInput, required=False)
-
- def clean(self, *args, **kwargs):
- super(ModifyTreatmentForm, self).clean(*args, **kwargs)
- cleaned_data = self.cleaned_data
- year = cleaned_data.get('year')
- pk = cleaned_data.get('id')
- index = cleaned_data.get('index')
- q = models.Treatment.objects\
- .filter(year=year, index=index).exclude(pk=pk)
- if index and q.count():
- raise forms.ValidationError(
- _(u"Another treatment with this index exists for {}."
- ).format(year))
- return cleaned_data
-
-
-class TreatmentFormFileChoice(forms.Form):
- form_label = _(u"Associated file")
- associated_models = {'file': models.TreatmentFile, }
- currents = {'file': models.TreatmentFile}
- file = forms.IntegerField(
- label=_(u"Treatment file"),
- widget=widgets.JQueryAutoComplete(
- reverse_lazy('autocomplete-treatmentfile'),
- associated_model=models.TreatmentFile),
- validators=[valid_id(models.TreatmentFile)], required=False)
-
-
-class TreatmentDeletionForm(FinalForm):
- confirm_msg = _(
- u"Are you sure you want to delete this treatment? All modification "
- u"made to the associated finds since this treatment record will be "
- u"lost!")
- confirm_end_msg = _(u"Would you like to delete this treatment?")
-
-
-class TreatmentFileSelect(TableSelect):
- name = forms.CharField(label=_(u"Name"))
- internal_reference = forms.CharField(label=_(u"Internal ref."))
- year = forms.IntegerField(label=_(u"Year"))
- index = forms.IntegerField(label=_(u"Index"))
- type = forms.ChoiceField(label=_(u"Treatment file type"), choices=[])
-
- def __init__(self, *args, **kwargs):
- super(TreatmentFileSelect, self).__init__(*args, **kwargs)
- self.fields['type'].choices = models.TreatmentFileType.get_types()
- self.fields['type'].help_text = models.TreatmentFileType.get_help()
-
-
-class TreatmentFileFormSelection(forms.Form):
- form_label = _("Treatment file search")
- associated_models = {'pk': models.TreatmentFile}
- currents = {'pk': models.TreatmentFile}
- pk = forms.IntegerField(
- label="", required=False,
- widget=widgets.JQueryJqGrid(
- reverse_lazy('get-treatmentfile'),
- TreatmentFileSelect, models.TreatmentFile),
- validators=[valid_id(models.Treatment)])
-
-
-class TreatmentFileForm(ManageOldType, forms.Form):
- form_label = _(u"Treatment file")
- base_models = ['treatment_type_type']
- associated_models = {'type': models.TreatmentFileType,
- 'in_charge': Person}
- need_user_for_initialization = True
-
- name = forms.CharField(label=_(u"Name"),
- max_length=1000, required=False)
- internal_reference = forms.CharField(
- label=_(u"Internal ref."), max_length=60, required=False)
- year = forms.IntegerField(label=_("Year"),
- initial=lambda: datetime.datetime.now().year,
- validators=[validators.MinValueValidator(1900),
- validators.MaxValueValidator(2100)])
- type = forms.ChoiceField(
- label=_(u"Treatment file type"), choices=[])
- in_charge = forms.IntegerField(
- label=_(u"Responsible"),
- widget=widgets.JQueryAutoComplete(
- reverse_lazy('autocomplete-person'), associated_model=Person,
- new=True),
- validators=[valid_id(Person)])
- external_id = forms.CharField(
- label=_(u"External ref."), max_length=200, required=False)
- comment = forms.CharField(label=_(u"Comment"),
- widget=forms.Textarea, required=False)
- creation_date = forms.DateField(label=_(u"Start date"), required=False,
- widget=widgets.JQueryDate,
- initial=lambda: datetime.datetime.now())
- reception_date = forms.DateField(label=_(u"Reception date"), required=False,
- widget=widgets.JQueryDate,
- initial=lambda: datetime.datetime.now())
- end_date = forms.DateField(label=_(u"Closing date"), required=False,
- widget=widgets.JQueryDate)
-
- def __init__(self, *args, **kwargs):
- user = kwargs.pop('user')
- super(TreatmentFileForm, self).__init__(*args, **kwargs)
- q = Person.objects.filter(ishtaruser__pk=user.pk)
- if q.count():
- person = q.all()[0]
- self.fields['in_charge'].initial = person.pk
- self.fields['type'].choices = models.TreatmentFileType.get_types(
- initial=[self.init_data.get('type')], empty_first=False
- )
- self.fields['type'].help_text = models.TreatmentFileType.get_help()
-
-
-class ModifyTreatmentFileForm(TreatmentFileForm):
- index = forms.IntegerField(_(u"Index"))
- id = forms.IntegerField(' ', widget=forms.HiddenInput, required=False)
-
- def clean(self, *args, **kwargs):
- super(ModifyTreatmentFileForm, self).clean(*args, **kwargs)
- cleaned_data = self.cleaned_data
- year = cleaned_data.get('year')
- pk = cleaned_data.get('id')
- index = cleaned_data.get('index')
- q = models.TreatmentFile.objects\
- .filter(year=year, index=index).exclude(pk=pk)
- if index and q.count():
- raise forms.ValidationError(
- _(u"Another treatment file with this index exists for {}."
- ).format(year))
- return cleaned_data
-
-
-class TreatmentFileDeletionForm(FinalForm):
- confirm_msg = _(u"Are you sure you want to delete this treatment file?")
- confirm_end_msg = _(u"Would you like to delete this treatment file?")
-
-
"""
####################################
# Source management for treatments #
diff --git a/archaeological_finds/forms_treatments.py b/archaeological_finds/forms_treatments.py
index e69de29bb..4f5bbac07 100644
--- a/archaeological_finds/forms_treatments.py
+++ b/archaeological_finds/forms_treatments.py
@@ -0,0 +1,472 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright (C) 2016 Étienne Loks
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+
+# See the file COPYING for details.
+
+import datetime
+import logging
+
+from django import forms
+from django.conf import settings
+from django.core import validators
+from django.utils.safestring import mark_safe
+from django.utils.translation import ugettext_lazy as _
+
+from ishtar_common.models import Person, valid_id, Organization
+from archaeological_operations.models import ActType, AdministrativeAct
+from archaeological_warehouse.models import Warehouse, Container
+import models
+
+from archaeological_operations.forms import AdministrativeActOpeForm, \
+ AdministrativeActOpeFormSelection, AdministrativeActModifForm
+
+from ishtar_common.forms import reverse_lazy, TableSelect, FinalForm, \
+ ManageOldType
+
+from ishtar_common import widgets
+
+logger = logging.getLogger(__name__)
+
+# Treatment
+
+
+class TreatmentSelect(TableSelect):
+ label = forms.CharField(label=_(u"Label"))
+ other_reference = forms.CharField(label=_(u"Other ref."))
+ year = forms.IntegerField(label=_(u"Year"))
+ index = forms.IntegerField(label=_(u"Index"))
+ treatment_types = forms.ChoiceField(label=_(u"Treatment type"), choices=[])
+ image = forms.NullBooleanField(label=_(u"Has an image?"))
+
+ def __init__(self, *args, **kwargs):
+ super(TreatmentSelect, self).__init__(*args, **kwargs)
+ self.fields['treatment_types'].choices = \
+ models.TreatmentType.get_types()
+ self.fields['treatment_types'].help_text = \
+ models.TreatmentType.get_help()
+
+
+class TreatmentFormSelection(forms.Form):
+ form_label = _("Treatment search")
+ associated_models = {'pk': models.Treatment}
+ currents = {'pk': models.Treatment}
+ pk = forms.IntegerField(
+ label="", required=False,
+ widget=widgets.JQueryJqGrid(
+ reverse_lazy('get-treatment'),
+ TreatmentSelect, models.Treatment),
+ validators=[valid_id(models.Treatment)])
+
+
+class BaseTreatmentForm(ManageOldType, forms.Form):
+ form_label = _(u"Base treatment")
+ base_models = ['treatment_type']
+ associated_models = {'treatment_type': models.TreatmentType,
+ 'person': Person,
+ 'location': Warehouse,
+ 'organization': Organization,
+ 'container': Container,
+ }
+ file_upload = True
+ need_user_for_initialization = True
+
+ label = forms.CharField(label=_(u"Label"),
+ max_length=200, required=False)
+ other_reference = forms.CharField(
+ label=_(u"Other ref."), max_length=200, required=False)
+ year = forms.IntegerField(label=_("Year"),
+ initial=lambda: datetime.datetime.now().year,
+ validators=[validators.MinValueValidator(1900),
+ validators.MaxValueValidator(2100)])
+ treatment_type = forms.MultipleChoiceField(
+ label=_(u"Treatment type"), choices=[],
+ widget=widgets.CheckboxSelectMultiple)
+ target_is_basket = forms.NullBooleanField(label=_(u"Target"))
+ person = forms.IntegerField(
+ label=_(u"Responsible"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-person'), associated_model=Person,
+ new=True),
+ validators=[valid_id(Person)], required=False)
+ organization = forms.IntegerField(
+ label=_(u"Organization"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-organization'),
+ associated_model=Organization, new=True),
+ validators=[valid_id(Organization)], required=False)
+ location = forms.IntegerField(
+ label=_(u"Location"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-warehouse'), associated_model=Warehouse,
+ new=True),
+ validators=[valid_id(Warehouse)])
+ container = forms.IntegerField(
+ label=_(u"Container (relevant for packaging)"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-container'),
+ associated_model=Container, new=True),
+ validators=[valid_id(Container)], required=False)
+ external_id = forms.CharField(
+ label=_(u"External ref."), max_length=200, required=False)
+ comment = forms.CharField(label=_(u"Comment"),
+ widget=forms.Textarea, required=False)
+ description = forms.CharField(label=_(u"Description"),
+ widget=forms.Textarea, required=False)
+ goal = forms.CharField(label=_(u"Goal"),
+ widget=forms.Textarea, required=False)
+ start_date = forms.DateField(label=_(u"Start date"), required=False,
+ widget=widgets.JQueryDate)
+ end_date = forms.DateField(label=_(u"End date"), required=False,
+ widget=widgets.JQueryDate)
+ image = forms.ImageField(
+ label=_(u"Image"), help_text=mark_safe(
+ _(u"Heavy images are resized to: %(width)dx%(height)d "
+ u"(ratio is preserved).
") % {
+ 'width': settings.IMAGE_MAX_SIZE[0],
+ 'height': settings.IMAGE_MAX_SIZE[1]}),
+ max_length=255, required=False, widget=widgets.ImageFileInput())
+
+ def __init__(self, *args, **kwargs):
+ user = kwargs.pop('user')
+ super(BaseTreatmentForm, self).__init__(*args, **kwargs)
+ q = Person.objects.filter(ishtaruser__pk=user.pk)
+ if q.count():
+ person = q.all()[0]
+ self.fields['person'].initial = person.pk
+ if person.attached_to:
+ self.fields['organization'].initial = person.attached_to.pk
+ self.fields['target_is_basket'].widget.choices = \
+ ((False, _(u"Single find")), (True, _(u"Basket")))
+ self.fields['treatment_type'].choices = models.TreatmentType.get_types(
+ initial=self.init_data.get('treatment_type'),
+ dct={'upstream_is_many': False, 'downstream_is_many': False},
+ empty_first=False
+ )
+ self.fields['treatment_type'].help_text = \
+ models.TreatmentType.get_help(
+ dct={'upstream_is_many': False, 'downstream_is_many': False})
+ # TODO
+ """
+ self.fields['basket'].required = False
+ self.fields['basket'].help_text = \
+ _(u"Leave it blank if you want to select a single item")
+ self.fields.keyOrder.pop(self.fields.keyOrder.index('basket'))
+ self.fields.keyOrder.insert(self.fields.keyOrder.index('description'),
+ 'basket')
+ """
+
+ def clean(self, *args, **kwargs):
+ data = self.cleaned_data
+ packaging = models.TreatmentType.get_cache('packaging')
+ if not packaging:
+ logger.warning("No 'packaging' treatment type defined")
+ return
+ if data.get('container', None) \
+ and str(packaging.pk) not in data.get('treatment_type', []):
+ raise forms.ValidationError(
+ _(u"The container field is attached to the treatment. If "
+ u"no packaging treatment is done it is not relevant."))
+ if not data.get('container', None) \
+ and str(packaging.pk) in data.get('treatment_type', []):
+ raise forms.ValidationError(
+ _(u"If a packaging treatment is done, the container field "
+ u"must be filled."))
+ if not data.get('person', None) and not data.get('organization', None):
+ raise forms.ValidationError(
+ _(u"A responsible or an organization must be defined."))
+ return data
+ # TODO
+ """
+ for treatment_type in self.cleaned_data.get('treatment_type', []):
+ try:
+ treatment = models.TreatmentType.objects.get(
+ pk=treatment_type, available=True)
+ except models.TreatmentType.DoesNotExist:
+ raise forms.ValidationError(_(u"This treatment type is not "
+ u"available."))
+ if treatment.upstream_is_many and \
+ not self.cleaned_data.get('basket'):
+ raise forms.ValidationError(_(u"This treatment needs a "
+ u"basket."))
+ """
+
+
+class ModifyTreatmentForm(BaseTreatmentForm):
+ index = forms.IntegerField(_(u"Index"))
+ id = forms.IntegerField(' ', widget=forms.HiddenInput, required=False)
+
+ def clean(self, *args, **kwargs):
+ super(ModifyTreatmentForm, self).clean(*args, **kwargs)
+ cleaned_data = self.cleaned_data
+ year = cleaned_data.get('year')
+ pk = cleaned_data.get('id')
+ index = cleaned_data.get('index')
+ q = models.Treatment.objects \
+ .filter(year=year, index=index).exclude(pk=pk)
+ if index and q.count():
+ raise forms.ValidationError(
+ _(u"Another treatment with this index exists for {}."
+ ).format(year))
+ return cleaned_data
+
+
+class TreatmentFormFileChoice(forms.Form):
+ form_label = _(u"Associated file")
+ associated_models = {'file': models.TreatmentFile, }
+ currents = {'file': models.TreatmentFile}
+ file = forms.IntegerField(
+ label=_(u"Treatment file"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-treatmentfile'),
+ associated_model=models.TreatmentFile),
+ validators=[valid_id(models.TreatmentFile)], required=False)
+
+
+class TreatmentDeletionForm(FinalForm):
+ confirm_msg = _(
+ u"Are you sure you want to delete this treatment? All modification "
+ u"made to the associated finds since this treatment record will be "
+ u"lost!")
+ confirm_end_msg = _(u"Would you like to delete this treatment?")
+
+# administrative act treatment
+
+
+class AdministrativeActTreatmentSelect(TableSelect):
+ year = forms.IntegerField(label=_("Year"))
+ index = forms.IntegerField(label=_("Index"))
+ act_type = forms.ChoiceField(label=_("Act type"), choices=[])
+ indexed = forms.NullBooleanField(label=_(u"Indexed?"))
+ act_object = forms.CharField(label=_(u"Object"),
+ max_length=300)
+
+ signature_date_after = forms.DateField(
+ label=_(u"Signature date after"), widget=widgets.JQueryDate)
+ signature_date_before = forms.DateField(
+ label=_(u"Signature date before"), widget=widgets.JQueryDate)
+ treatment__name = forms.CharField(
+ label=_(u"Treatment name"), max_length=200)
+ treatment__year = forms.IntegerField(label=_(u"Treatment year"))
+ treatment__index = forms.IntegerField(label=_(u"Treatment index"))
+ treatment__internal_reference = forms.CharField(
+ max_length=200, label=_(u"Treatment internal reference"))
+ history_modifier = forms.IntegerField(
+ label=_(u"Modified by"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-person',
+ args=['0', 'user']),
+ associated_model=Person),
+ validators=[valid_id(Person)])
+
+ def __init__(self, *args, **kwargs):
+ super(AdministrativeActTreatmentSelect, self).__init__(*args, **kwargs)
+ self.fields['act_type'].choices = ActType.get_types(
+ dct={'intented_to': 'T'})
+ self.fields['act_type'].help_text = ActType.get_help(
+ dct={'intented_to': 'T'})
+
+
+class AdministrativeActTreatmentFormSelection(
+ AdministrativeActOpeFormSelection):
+ pk = forms.IntegerField(
+ label="", required=False,
+ widget=widgets.JQueryJqGrid(
+ reverse_lazy('get-administrativeacttreatment'),
+ AdministrativeActTreatmentSelect, AdministrativeAct),
+ validators=[valid_id(AdministrativeAct)])
+
+
+class AdministrativeActTreatmentForm(AdministrativeActOpeForm):
+ act_type = forms.ChoiceField(label=_(u"Act type"), choices=[])
+
+ def __init__(self, *args, **kwargs):
+ super(AdministrativeActTreatmentForm, self).__init__(*args, **kwargs)
+ self.fields['act_type'].choices = ActType.get_types(
+ initial=self.init_data.get('act_type'),
+ dct={'intented_to': 'T'})
+ self.fields['act_type'].help_text = ActType.get_help(
+ dct={'intented_to': 'T'})
+
+
+class AdministrativeActTreatmentModifForm(
+ AdministrativeActModifForm, AdministrativeActTreatmentForm):
+ pk = forms.IntegerField(required=False, widget=forms.HiddenInput)
+ index = forms.IntegerField(label=_("Index"), required=False)
+
+# treatment files
+
+
+class TreatmentFileSelect(TableSelect):
+ name = forms.CharField(label=_(u"Name"))
+ internal_reference = forms.CharField(label=_(u"Internal ref."))
+ year = forms.IntegerField(label=_(u"Year"))
+ index = forms.IntegerField(label=_(u"Index"))
+ type = forms.ChoiceField(label=_(u"Treatment file type"), choices=[])
+
+ def __init__(self, *args, **kwargs):
+ super(TreatmentFileSelect, self).__init__(*args, **kwargs)
+ self.fields['type'].choices = models.TreatmentFileType.get_types()
+ self.fields['type'].help_text = models.TreatmentFileType.get_help()
+
+
+class TreatmentFileFormSelection(forms.Form):
+ form_label = _("Treatment file search")
+ associated_models = {'pk': models.TreatmentFile}
+ currents = {'pk': models.TreatmentFile}
+ pk = forms.IntegerField(
+ label="", required=False,
+ widget=widgets.JQueryJqGrid(
+ reverse_lazy('get-treatmentfile'),
+ TreatmentFileSelect, models.TreatmentFile),
+ validators=[valid_id(models.Treatment)])
+
+
+class TreatmentFileForm(ManageOldType, forms.Form):
+ form_label = _(u"Treatment file")
+ base_models = ['treatment_type_type']
+ associated_models = {'type': models.TreatmentFileType,
+ 'in_charge': Person}
+ need_user_for_initialization = True
+
+ name = forms.CharField(label=_(u"Name"),
+ max_length=1000, required=False)
+ internal_reference = forms.CharField(
+ label=_(u"Internal ref."), max_length=60, required=False)
+ year = forms.IntegerField(label=_("Year"),
+ initial=lambda: datetime.datetime.now().year,
+ validators=[validators.MinValueValidator(1900),
+ validators.MaxValueValidator(2100)])
+ type = forms.ChoiceField(
+ label=_(u"Treatment file type"), choices=[])
+ in_charge = forms.IntegerField(
+ label=_(u"Responsible"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-person'), associated_model=Person,
+ new=True),
+ validators=[valid_id(Person)])
+ external_id = forms.CharField(
+ label=_(u"External ref."), max_length=200, required=False)
+ comment = forms.CharField(label=_(u"Comment"),
+ widget=forms.Textarea, required=False)
+ creation_date = forms.DateField(label=_(u"Start date"), required=False,
+ widget=widgets.JQueryDate,
+ initial=lambda: datetime.datetime.now())
+ reception_date = forms.DateField(label=_(u"Reception date"), required=False,
+ widget=widgets.JQueryDate,
+ initial=lambda: datetime.datetime.now())
+ end_date = forms.DateField(label=_(u"Closing date"), required=False,
+ widget=widgets.JQueryDate)
+
+ def __init__(self, *args, **kwargs):
+ user = kwargs.pop('user')
+ super(TreatmentFileForm, self).__init__(*args, **kwargs)
+ q = Person.objects.filter(ishtaruser__pk=user.pk)
+ if q.count():
+ person = q.all()[0]
+ self.fields['in_charge'].initial = person.pk
+ self.fields['type'].choices = models.TreatmentFileType.get_types(
+ initial=[self.init_data.get('type')], empty_first=False
+ )
+ self.fields['type'].help_text = models.TreatmentFileType.get_help()
+
+
+class ModifyTreatmentFileForm(TreatmentFileForm):
+ index = forms.IntegerField(_(u"Index"))
+ id = forms.IntegerField(' ', widget=forms.HiddenInput, required=False)
+
+ def clean(self, *args, **kwargs):
+ super(ModifyTreatmentFileForm, self).clean(*args, **kwargs)
+ cleaned_data = self.cleaned_data
+ year = cleaned_data.get('year')
+ pk = cleaned_data.get('id')
+ index = cleaned_data.get('index')
+ q = models.TreatmentFile.objects \
+ .filter(year=year, index=index).exclude(pk=pk)
+ if index and q.count():
+ raise forms.ValidationError(
+ _(u"Another treatment file with this index exists for {}."
+ ).format(year))
+ return cleaned_data
+
+
+class TreatmentFileDeletionForm(FinalForm):
+ confirm_msg = _(u"Are you sure you want to delete this treatment file?")
+ confirm_end_msg = _(u"Would you like to delete this treatment file?")
+
+
+class AdministrativeActTreatmentFileSelect(TableSelect):
+ year = forms.IntegerField(label=_("Year"))
+ index = forms.IntegerField(label=_("Index"))
+ act_type = forms.ChoiceField(label=_("Act type"), choices=[])
+ indexed = forms.NullBooleanField(label=_(u"Indexed?"))
+ act_object = forms.CharField(label=_(u"Object"),
+ max_length=300)
+
+ signature_date_after = forms.DateField(
+ label=_(u"Signature date after"), widget=widgets.JQueryDate)
+ signature_date_before = forms.DateField(
+ label=_(u"Signature date before"), widget=widgets.JQueryDate)
+ treatment_file__name = forms.CharField(
+ label=_(u"Treatment file name"), max_length=200)
+ treatment_file__year = forms.IntegerField(label=_(u"Treatment file year"))
+ treatment_file__index = forms.IntegerField(label=_(u"Treatment file index"))
+ treatment_file__internal_reference = forms.CharField(
+ max_length=200, label=_(u"Treatment file internal reference"))
+ history_modifier = forms.IntegerField(
+ label=_(u"Modified by"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-person',
+ args=['0', 'user']),
+ associated_model=Person),
+ validators=[valid_id(Person)])
+
+ def __init__(self, *args, **kwargs):
+ super(AdministrativeActTreatmentFileSelect, self).__init__(*args,
+ **kwargs)
+ self.fields['act_type'].choices = ActType.get_types(
+ dct={'intented_to': 'TF'})
+ self.fields['act_type'].help_text = ActType.get_help(
+ dct={'intented_to': 'TF'})
+
+
+class AdministrativeActTreatmentFileFormSelection(
+ AdministrativeActOpeFormSelection):
+ pk = forms.IntegerField(
+ label="", required=False,
+ widget=widgets.JQueryJqGrid(
+ reverse_lazy('get-administrativeacttreatmentfile'),
+ AdministrativeActTreatmentFileSelect, AdministrativeAct),
+ validators=[valid_id(AdministrativeAct)])
+
+
+class AdministrativeActTreatmentFileForm(AdministrativeActOpeForm):
+ act_type = forms.ChoiceField(label=_(u"Act type"), choices=[])
+
+ def __init__(self, *args, **kwargs):
+ super(AdministrativeActTreatmentFileForm, self).__init__(*args,
+ **kwargs)
+ self.fields['act_type'].choices = ActType.get_types(
+ initial=self.init_data.get('act_type'),
+ dct={'intented_to': 'TF'})
+ self.fields['act_type'].help_text = ActType.get_help(
+ dct={'intented_to': 'TF'})
+
+
+class AdministrativeActTreatmentFileModifForm(
+ AdministrativeActModifForm, AdministrativeActTreatmentFileForm):
+ pk = forms.IntegerField(required=False, widget=forms.HiddenInput)
+ index = forms.IntegerField(label=_("Index"), required=False)
diff --git a/archaeological_finds/ishtar_menu.py b/archaeological_finds/ishtar_menu.py
index 7824c94fe..39cc5d910 100644
--- a/archaeological_finds/ishtar_menu.py
+++ b/archaeological_finds/ishtar_menu.py
@@ -21,6 +21,7 @@ from django.utils.translation import ugettext_lazy as _
from ishtar_common.menu_base import SectionItem, MenuItem
+from archaeological_operations.models import AdministrativeAct
import models
# be carreful: each access_controls must be relevant with check_rights in urls
@@ -103,33 +104,60 @@ MENU_SECTIONS = [
])),
(60,
SectionItem(
- 'treatment_management', _(u"Treatment"),
+ 'treatmentfle_management', _(u"Treatment file"),
profile_restriction='warehouse',
childs=[
+ MenuItem('treatmentfle_search',
+ _(u"Search"),
+ model=models.TreatmentFile,
+ access_controls=['view_find',
+ 'view_own_find']),
+ MenuItem('treatmentfle_creation',
+ _(u"Creation"),
+ model=models.TreatmentFile,
+ access_controls=['change_find',
+ 'change_own_find']),
+ MenuItem('treatmentfle_modification',
+ _(u"Modification"),
+ model=models.TreatmentFile,
+ access_controls=['change_find',
+ 'change_own_find']),
+ MenuItem('treatmentfle_deletion',
+ _(u"Deletion"),
+ model=models.TreatmentFile,
+ access_controls=['change_find',
+ 'change_own_find']),
SectionItem(
- 'find_treatmentfiles', _(u"Treatment Files"),
+ 'admin_act_fletreatments', _(u"Administrative act"),
childs=[
- MenuItem('treatmentfle_search',
+ MenuItem('treatmentfle_admacttreatmentfle_search',
_(u"Search"),
- model=models.TreatmentFile,
- access_controls=['view_find',
- 'view_own_find']),
- MenuItem('treatmentfle_creation',
+ model=AdministrativeAct,
+ access_controls=['change_administrativeact']),
+ MenuItem('treatmentfle_admacttreatmentfle',
_(u"Creation"),
- model=models.TreatmentFile,
- access_controls=['change_find',
- 'change_own_find']),
- MenuItem('treatmentfle_modification',
- _(u"Modification"),
- model=models.TreatmentFile,
- access_controls=['change_find',
- 'change_own_find']),
- MenuItem('treatmentfle_deletion',
+ model=AdministrativeAct,
+ access_controls=['change_administrativeact']),
+ MenuItem('treatmentfle_admacttreatmentfle_modification',
+ _(u"Modification"), model=AdministrativeAct,
+ access_controls=['change_administrativeact']),
+ MenuItem('treatmentfle_admacttreatmentfle_deletion',
_(u"Deletion"),
- model=models.TreatmentFile,
- access_controls=['change_find',
- 'change_own_find']),
- ]),
+ model=AdministrativeAct,
+ access_controls=['change_administrativeact']),
+ MenuItem('treatmentfle_administrativeact_document',
+ _(u"Documents"),
+ model=AdministrativeAct,
+ access_controls=['change_administrativeact']),
+ ]
+ )
+ ]
+ )),
+ (70,
+ SectionItem(
+ 'treatment_management', _(u"Treatment"),
+ profile_restriction='warehouse',
+ childs=[
SectionItem(
'find_treatments', _(u"Simple treatments"),
childs=[
@@ -154,6 +182,31 @@ MENU_SECTIONS = [
access_controls=['change_find',
'change_own_find']),
]),
- ]
+ SectionItem(
+ 'admin_act_treatments', _(u"Administrative act"),
+ childs=[
+ MenuItem('treatment_admacttreatment_search',
+ _(u"Search"),
+ model=AdministrativeAct,
+ access_controls=['change_administrativeact']),
+ MenuItem('treatment_admacttreatment',
+ _(u"Creation"),
+ model=AdministrativeAct,
+ access_controls=['change_administrativeact']),
+ MenuItem(
+ 'treatment_admacttreatment_modification',
+ _(u"Modification"), model=AdministrativeAct,
+ access_controls=['change_administrativeact']),
+ MenuItem('treatment_admacttreatment_deletion',
+ _(u"Deletion"),
+ model=AdministrativeAct,
+ access_controls=['change_administrativeact']),
+ MenuItem('treatment_admacttreatment_document',
+ _(u"Documents"),
+ model=AdministrativeAct,
+ access_controls=['change_administrativeact']),
+ ]
+ )
+ ]
)),
]
diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py
index c780b14fb..120fa1ed0 100644
--- a/archaeological_finds/urls.py
+++ b/archaeological_finds/urls.py
@@ -88,20 +88,65 @@ urlpatterns = patterns(
url(r'^find_basket_deletion/$',
check_rights(['change_find', 'change_own_find'])(
views.DeleteFindBasketView.as_view()), name='delete_findbasket'),
- url(r'treatment_creation/(?P.+)?$',
+ url(r'^treatment_creation/(?P.+)?$',
check_rights(['change_find', 'change_own_find'])(
views.treatment_creation_wizard), name='treatment_creation'),
- url(r'treatment_modification/(?P.+)?$',
+ url(r'^treatment_modification/(?P.+)?$',
check_rights(['change_find', 'change_own_find'])(
views.treatment_modification_wizard),
name='treatment_modification'),
- url(r'treatment_search/(?P.+)?$',
+ url(r'^treatment_search/(?P.+)?$',
check_rights(['view_find', 'view_own_find'])(
views.treatment_search_wizard), name='treatment_search'),
url(r'^treatment_deletion/(?P.+)?$',
check_rights(['change_find', 'change_own_find'])(
views.treatment_deletion_wizard), name='treatment_deletion'),
- url(r'treatmentfle_search/(?P.+)?$',
+
+ url(r'^treatment_admacttreatment_search/(?P.+)?$',
+ check_rights(['change_administrativeact'])(
+ views.treatment_administrativeact_search_wizard),
+ name='treatment_admacttreatment_search'),
+ url(r'^treatment_admacttreatment/(?P.+)?$',
+ check_rights(['change_administrativeact'])(
+ views.treatment_administrativeact_wizard),
+ name='treatment_admacttreatment'),
+ url(r'^treatment_admacttreatment_modification/(?P.+)?$',
+ check_rights(['change_administrativeact'])(
+ views.treatment_administrativeact_modification_wizard),
+ name='treatment_admacttreatment_modification'),
+ url(r'^treatment_administrativeacttreatment_modify/(?P.+)/$',
+ views.treatment_administrativeacttreatment_modify,
+ name='treatment_administrativeacttreatment_modify'),
+ url(r'^treatment_admacttreatment_deletion/(?P.+)?$',
+ check_rights(['change_administrativeact'])(
+ views.treatment_admacttreatment_deletion_wizard),
+ name='treatment_admacttreatment_deletion'),
+ url(r'^get-administrativeacttreatment/(?P.+)?$',
+ views.get_administrativeacttreatment,
+ name='get-administrativeacttreatment'),
+
+ url(r'^treatmentfle_admacttreatmentfle_search/(?P.+)?$',
+ check_rights(['change_administrativeact'])(
+ views.treatmentfile_admacttreatmentfile_search_wizard),
+ name='treatmentfle_admacttreatmentfle_search'),
+ url(r'^treatmentfle_admacttreatmentfle_modification/(?P.+)?$',
+ check_rights(['change_administrativeact'])(
+ views.treatmentfile_admacttreatmentfile_modification_wizard),
+ name='treatmentfle_admacttreatmentfle_modification'),
+ url(r'^treatmentfle_admacttreatmentfle/(?P.+)?$',
+ check_rights(['change_administrativeact'])(
+ views.treatmentfile_admacttreatmentfile_wizard),
+ name='treatmentfle_admacttreatmentfle'),
+ url(r'^treatmentfile_administrativeacttreatmentfile_modify/(?P.+)/$',
+ views.treatmentfile_administrativeacttreatmentfile_modify,
+ name='treatmentfile_administrativeacttreatmentfile_modify'),
+ url(r'^treatmentfle_admacttreatmentfle_deletion/(?P.+)?$',
+ check_rights(['change_administrativeact'])(
+ views.treatmentfile_admacttreatmentfile_deletion_wizard),
+ name='treatmentfle_admacttreatmentfle_deletion'),
+
+
+ url(r'^treatmentfle_search/(?P.+)?$',
check_rights(['change_find', 'change_own_find'])(
views.treatmentfile_search_wizard),
name='treatmentfile_search'),
@@ -117,6 +162,9 @@ urlpatterns = patterns(
check_rights(['change_find', 'change_own_find'])(
views.treatmentfile_deletion_wizard),
name='treatmentfile_deletion'),
+ url(r'get-administrativeacttreatmentfile/(?P.+)?$',
+ views.get_administrativeacttreatmentfile,
+ name='get-administrativeacttreatmentfile'),
url(r'get-upstreamtreatment/(?P.+)?$', views.get_upstreamtreatment,
name='get-upstreamtreatment'),
url(r'get-downstreamtreatment/(?P.+)?$',
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py
index 1b08e9853..35c7d5976 100644
--- a/archaeological_finds/views.py
+++ b/archaeological_finds/views.py
@@ -28,16 +28,21 @@ from django.utils.translation import ugettext_lazy as _
from django.views.generic import TemplateView
from django.views.generic.edit import CreateView, FormView
+from ishtar_common.models import IshtarUser
+from archaeological_operations.models import AdministrativeAct
+
from ishtar_common.forms import FinalForm
from ishtar_common.forms_common import SourceForm, AuthorFormset, \
SourceDeletionForm
-from ishtar_common.models import IshtarUser
+from archaeological_operations.forms import FinalAdministrativeActDeleteForm
from archaeological_context_records.forms \
import RecordFormSelection as RecordFormSelectionTable
from ishtar_common.views import get_item, show_item, revert_item, \
get_autocomplete_generic, IshtarMixin, LoginRequiredMixin
+
from ishtar_common.wizards import SearchWizard
+from archaeological_operations.wizards import AdministrativeActDeletionWizard
from wizards import *
from forms import *
@@ -55,10 +60,20 @@ get_find_for_treatment = get_item(
show_treatment = show_item(models.Treatment, 'treatment')
get_treatment = get_item(models.Treatment, 'get_treatement', 'treatment')
+get_administrativeacttreatment = get_item(
+ AdministrativeAct, 'get_administrativeacttreatment',
+ 'administrativeacttreatment',
+ base_request={"treatment__pk__isnull": False})
+
show_treatmentfile = show_item(models.TreatmentFile, 'treatmentfile')
get_treatmentfile = get_item(models.TreatmentFile, 'get_treatementfile',
'treatmentfile')
+get_administrativeacttreatmentfile = get_item(
+ AdministrativeAct, 'get_administrativeacttreatmentfile',
+ 'administrativeacttreatmentfile',
+ base_request={"treatment_file__pk__isnull": False})
+
def autocomplete_treatmentfile(request):
if not request.user.has_perm('ishtar_common.view_treatment',
@@ -375,6 +390,59 @@ treatment_deletion_wizard = TreatmentDeletionWizard.as_view([
label=_(u"Treatment deletion"),
url_name='treatment_deletion',)
+treatment_administrativeact_search_wizard = \
+ SearchWizard.as_view([
+ ('selec-treatment_admacttreatment_search',
+ AdministrativeActTreatmentFormSelection)],
+ label=_(u"Treatment: search administrative act"),
+ url_name='treatment_admacttreatment_search',)
+
+treatment_administrativeact_wizard = \
+ TreatmentAdministrativeActWizard.as_view([
+ ('selec-treatment_admacttreatment', TreatmentFormSelection),
+ ('administrativeact-treatment_admacttreatment',
+ AdministrativeActTreatmentForm),
+ ('final-treatment_admacttreatment', FinalForm)],
+ label=_(u"Treatment: new administrative act"),
+ url_name='treatment_admacttreatment',)
+
+treatment_administrativeact_modification_wizard = \
+ TreatmentEditAdministrativeActWizard.as_view([
+ ('selec-treatment_admacttreatment_modification',
+ AdministrativeActTreatmentFormSelection),
+ ('administrativeact-treatment_admacttreatment_modification',
+ AdministrativeActTreatmentModifForm),
+ ('final-treatment_admacttreatment_modification', FinalForm)],
+ label=_(u"Treatment: administrative act modification"),
+ url_name='treatment_admacttreatment_modification',)
+
+treatment_admacttreatment_deletion_wizard = \
+ AdministrativeActDeletionWizard.as_view([
+ ('selec-treatment_admacttreatment_deletion',
+ AdministrativeActTreatmentFormSelection),
+ ('final-treatment_admacttreatment_deletion',
+ FinalAdministrativeActDeleteForm)],
+ label=_(u"Treatment: administrative act deletion"),
+ url_name='treatment_admacttreatment_deletion',)
+
+
+def treatment_administrativeacttreatment_modify(request, pk):
+ treatment_administrativeact_modification_wizard(request)
+ TreatmentEditAdministrativeActWizard.session_set_value(
+ request,
+ 'selec-treatment_admacttreatment_modification',
+ 'pk', pk, reset=True)
+ return redirect(
+ reverse(
+ 'treatment_admacttreatment_modification',
+ kwargs={
+ 'step':
+ 'administrativeact-treatment_admacttreatment_modification'
+ }))
+
+
+# treatment file
+
treatmentfile_search_wizard = SearchWizard.as_view([
('general-treatmentfile_search', TreatmentFileFormSelection)],
label=_(u"Treatment file search"),
@@ -404,6 +472,57 @@ treatmentfile_deletion_wizard = TreatmentFileDeletionWizard.as_view([
label=_(u"Treatment file deletion"),
url_name='treatmentfile_deletion',)
+treatmentfile_admacttreatmentfile_search_wizard = \
+ SearchWizard.as_view([
+ ('selec-treatmentfle_admacttreatmentfle_search',
+ AdministrativeActTreatmentFileFormSelection)],
+ label=_(u"Treatment file: search administrative act"),
+ url_name='treatmentfle_admacttreatmentfle_search',)
+
+
+treatmentfile_admacttreatmentfile_wizard = \
+ TreatmentFileAdministrativeActWizard.as_view([
+ ('selec-treatmentfle_admacttreatmentfle', TreatmentFileFormSelection),
+ ('admact-treatmentfle_admacttreatmentfle',
+ AdministrativeActTreatmentFileForm),
+ ('final-treatmentfle_admacttreatmentfle', FinalForm)],
+ label=_(u"Treatment file: new administrative act"),
+ url_name='treatmentfle_admacttreatmentfle',)
+
+treatmentfile_admacttreatmentfile_modification_wizard = \
+ TreatmentFileEditAdministrativeActWizard.as_view([
+ ('selec-treatmentfle_admacttreatmentfle_modification',
+ AdministrativeActTreatmentFileFormSelection),
+ ('admact-treatmentfle_admacttreatmentfle_modification',
+ AdministrativeActTreatmentFileModifForm),
+ ('final-treatmentfle_admacttreatmentfle_modification', FinalForm)],
+ label=_(u"Treatment file: administrative act modification"),
+ url_name='treatmentfle_admacttreatmentfle_modification',)
+
+treatmentfile_admacttreatmentfile_deletion_wizard = \
+ AdministrativeActDeletionWizard.as_view([
+ ('selec-treatmentfle_admacttreatmentfle_deletion',
+ AdministrativeActTreatmentFileFormSelection),
+ ('final-treatmentfle_admacttreatmentfle_deletion',
+ FinalAdministrativeActDeleteForm)],
+ label=_(u"Treatment file: administrative act deletion"),
+ url_name='treatmentfle_admacttreatmentfle_deletion',)
+
+
+def treatmentfile_administrativeacttreatmentfile_modify(request, pk):
+ treatmentfile_admacttreatmentfile_modification_wizard(request)
+ TreatmentFileEditAdministrativeActWizard.session_set_value(
+ request,
+ 'selec-treatmentfle_admacttreatmentfle_modification',
+ 'pk', pk, reset=True)
+ return redirect(
+ reverse(
+ 'treatmentfle_admacttreatmentfle_modification',
+ kwargs={
+ 'step':
+ 'admact-treatmentfle_admacttreatmentfle_modification'
+ }))
+
"""
treatment_source_creation_wizard = TreatmentSourceWizard.as_view([
('selec-treatment_source_creation', SourceTreatmentFormSelection),
diff --git a/archaeological_finds/wizards.py b/archaeological_finds/wizards.py
index eb838eb66..f5f43f1e6 100644
--- a/archaeological_finds/wizards.py
+++ b/archaeological_finds/wizards.py
@@ -22,6 +22,9 @@ from django.utils.translation import ugettext_lazy as _
from ishtar_common.forms import reverse_lazy
from ishtar_common.wizards import Wizard, DeletionWizard, SourceWizard
+from archaeological_operations.wizards import OperationAdministrativeActWizard
+
+from archaeological_operations.models import AdministrativeAct
import models
@@ -129,6 +132,23 @@ class TreatmentDeletionWizard(DeletionWizard):
'goal', 'start_date', 'end_date', 'container']
+class TreatmentAdministrativeActWizard(OperationAdministrativeActWizard):
+ model = models.Treatment
+ current_obj_slug = 'administrativeacttreatment'
+ ref_object_key = 'treatment'
+
+ def get_reminder(self):
+ return
+
+
+class TreatmentEditAdministrativeActWizard(TreatmentAdministrativeActWizard):
+ model = AdministrativeAct
+ edit = True
+
+ def get_associated_item(self, dct):
+ return self.get_current_object().treatment
+
+
class TreatmentFileWizard(Wizard):
model = models.TreatmentFile
wizard_done_window = reverse_lazy('show-treatmentfile')
@@ -145,6 +165,46 @@ class TreatmentFileDeletionWizard(DeletionWizard):
'creation_date', 'end_date', 'comment']
+class TreatmentFileAdministrativeActWizard(
+ OperationAdministrativeActWizard):
+ model = models.TreatmentFile
+ current_obj_slug = 'administrativeacttreatmentfile'
+ ref_object_key = 'treatment_file'
+
+ def get_reminder(self):
+ form_key = 'selec-' + self.url_name
+ if self.url_name.endswith('_administrativeactop'):
+ # modification and deletion are suffixed with '_modification'
+ # and '_deletion' so it is creation
+ pk = self.session_get_value(form_key, "pk")
+ try:
+ return (
+ (_(u"Treatment file"),
+ unicode(models.Operation.objects.get(pk=pk))),
+ )
+ except models.TreatmentFile.DoesNotExist:
+ return
+ else:
+ admin_id = self.session_get_value(form_key, "pk")
+ try:
+ admin = AdministrativeAct.objects.get(pk=admin_id)
+ if not admin.operation:
+ return
+ return ((_(u"Operation"), unicode(admin.operation)),)
+ except AdministrativeAct.DoesNotExist:
+ return
+ return
+
+
+class TreatmentFileEditAdministrativeActWizard(
+ TreatmentFileAdministrativeActWizard):
+ model = AdministrativeAct
+ edit = True
+
+ def get_associated_item(self, dct):
+ return self.get_current_object().treatment_file
+
+
class FindSourceWizard(SourceWizard):
wizard_done_window = reverse_lazy('show-findsource')
model = models.FindSource
diff --git a/archaeological_operations/admin.py b/archaeological_operations/admin.py
index 47ab8419b..b97df85eb 100644
--- a/archaeological_operations/admin.py
+++ b/archaeological_operations/admin.py
@@ -100,7 +100,15 @@ class RelationTypeAdmin(admin.ModelAdmin):
admin.site.register(models.RelationType, RelationTypeAdmin)
-general_models = [models.RemainType, models.ActType, models.ReportState]
+
+class ActTypeAdmin(GeneralTypeAdmin):
+ list_filter = ('intented_to',)
+ list_display = ['label', 'txt_idx', 'available', 'intented_to']
+
+
+admin.site.register(models.ActType, ActTypeAdmin)
+
+general_models = [models.RemainType, models.ReportState]
for model in general_models:
admin.site.register(model, GeneralTypeAdmin)
diff --git a/archaeological_operations/migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py b/archaeological_operations/migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py
new file mode 100644
index 000000000..671de79ec
--- /dev/null
+++ b/archaeological_operations/migrations/0063_auto__add_field_administrativeact_treatment_file__add_field_administra.py
@@ -0,0 +1,822 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding field 'AdministrativeAct.treatment_file'
+ db.add_column('archaeological_operations_administrativeact', 'treatment_file',
+ self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='administrative_act', null=True, to=orm['archaeological_finds.TreatmentFile']),
+ keep_default=False)
+
+ # Adding field 'AdministrativeAct.treatment'
+ db.add_column('archaeological_operations_administrativeact', 'treatment',
+ self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='administrative_act', null=True, to=orm['archaeological_finds.Treatment']),
+ keep_default=False)
+
+
+ # Changing field 'ActType.intented_to'
+ db.alter_column('archaeological_operations_acttype', 'intented_to', self.gf('django.db.models.fields.CharField')(max_length=2))
+ # Adding field 'HistoricalAdministrativeAct.treatment_file_id'
+ db.add_column('archaeological_operations_historicaladministrativeact', 'treatment_file_id',
+ self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True),
+ keep_default=False)
+
+ # Adding field 'HistoricalAdministrativeAct.treatment_id'
+ db.add_column('archaeological_operations_historicaladministrativeact', 'treatment_id',
+ self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True),
+ keep_default=False)
+
+
+ def backwards(self, orm):
+ # Deleting field 'AdministrativeAct.treatment_file'
+ db.delete_column('archaeological_operations_administrativeact', 'treatment_file_id')
+
+ # Deleting field 'AdministrativeAct.treatment'
+ db.delete_column('archaeological_operations_administrativeact', 'treatment_id')
+
+
+ # Changing field 'ActType.intented_to'
+ db.alter_column('archaeological_operations_acttype', 'intented_to', self.gf('django.db.models.fields.CharField')(max_length=1))
+ # Deleting field 'HistoricalAdministrativeAct.treatment_file_id'
+ db.delete_column('archaeological_operations_historicaladministrativeact', 'treatment_file_id')
+
+ # Deleting field 'HistoricalAdministrativeAct.treatment_id'
+ db.delete_column('archaeological_operations_historicaladministrativeact', 'treatment_id')
+
+
+ models = {
+ 'archaeological_files.file': {
+ 'Meta': {'ordering': "('cached_label',)", 'object_name': 'File'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cira_advised': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'classified_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'corporation_general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}),
+ 'departments': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}),
+ 'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}),
+ 'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imported_line': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_files_file'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'instruction_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}),
+ 'locality': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'main_town': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_main'", 'null': 'True', 'to': "orm['ishtar_common.Town']"}),
+ 'mh_listing': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'mh_register': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'numeric_reference': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'permit_reference': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}),
+ 'planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'protected_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'raw_general_contractor': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'raw_town_planning_service': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}),
+ 'requested_operation_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.OperationType']"}),
+ 'research_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'responsible_town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'responsible_town_planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}),
+ 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'total_developed_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'total_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'default': '2016'})
+ },
+ 'archaeological_files.filetype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'FileType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_files.permittype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'PermitType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_files.saisinetype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'SaisineType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'delay': ('django.db.models.fields.IntegerField', [], {'default': '30'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_finds.treatment': {
+ 'Meta': {'unique_together': "(('year', 'index'),)", 'object_name': 'Treatment'},
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'container': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Container']", 'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'to': "orm['archaeological_finds.TreatmentFile']"}),
+ 'goal': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_treatment'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']", 'null': 'True', 'blank': 'True'}),
+ 'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'other_reference': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'target_is_basket': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'treatment_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_finds.TreatmentType']", 'symmetrical': 'False'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'default': '2016'})
+ },
+ 'archaeological_finds.treatmentfile': {
+ 'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('year', 'index'),)", 'object_name': 'TreatmentFile'},
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_treatmentfile'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentFileType']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'default': '2016'})
+ },
+ 'archaeological_finds.treatmentfiletype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentFileType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_finds.treatmenttype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'downstream_is_many': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}),
+ 'upstream_is_many': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'virtual': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
+ },
+ 'archaeological_operations.acttype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'ActType'},
+ 'associated_template': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'acttypes'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.DocumentTemplate']"}),
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'indexed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'intented_to': ('django.db.models.fields.CharField', [], {'max_length': '2'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.administrativeact': {
+ 'Meta': {'ordering': "('year', 'signature_date', 'index', 'act_type')", 'object_name': 'AdministrativeAct'},
+ 'act_object': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'act_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ActType']"}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'departments_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_administrativeact'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operation_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}),
+ 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}),
+ 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'signatory': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'signatory'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'towns_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}),
+ 'treatment_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_finds.TreatmentFile']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.archaeologicalsite': {
+ 'Meta': {'object_name': 'ArchaeologicalSite'},
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_archaeologicalsite'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20'}),
+ 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.historicaladministrativeact': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalAdministrativeAct'},
+ 'act_object': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'act_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'departments_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
+ 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}),
+ 'scientist_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'signatory_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'towns_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'treatment_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.historicaloperation': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOperation'},
+ 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'cira_rapporteur_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}),
+ 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}),
+ 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'report_processing_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientist_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.operation': {
+ 'Meta': {'ordering': "('cached_label',)", 'object_name': 'Operation'},
+ 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}),
+ 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}),
+ 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}),
+ 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}),
+ 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}),
+ 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operations'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}),
+ 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.operationbydepartment': {
+ 'Meta': {'object_name': 'OperationByDepartment', 'db_table': "'operation_department'", 'managed': 'False'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Operation']"})
+ },
+ 'archaeological_operations.operationsource': {
+ 'Meta': {'object_name': 'OperationSource'},
+ 'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operationsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
+ 'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_operations.Operation']"}),
+ 'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}),
+ 'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'})
+ },
+ 'archaeological_operations.operationtypeold': {
+ 'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationTypeOld'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.parcel': {
+ 'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}),
+ 'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}),
+ 'public_domain': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'section': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.parcelowner': {
+ 'Meta': {'object_name': 'ParcelOwner'},
+ 'end_date': ('django.db.models.fields.DateField', [], {}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_parcelowner'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcel_owner'", 'to': "orm['ishtar_common.Person']"}),
+ 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owners'", 'to': "orm['archaeological_operations.Parcel']"}),
+ 'start_date': ('django.db.models.fields.DateField', [], {})
+ },
+ 'archaeological_operations.period': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'Period'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.recordrelations': {
+ 'Meta': {'ordering': "('left_record', 'relation_type')", 'object_name': 'RecordRelations'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_operations.Operation']"}),
+ 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.RelationType']"}),
+ 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_operations.Operation']"})
+ },
+ 'archaeological_operations.relationtype': {
+ 'Meta': {'ordering': "('order', 'label')", 'object_name': 'RelationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'inverse_relation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.RelationType']", 'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'symmetrical': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'tiny_label': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.remaintype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.reportstate': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_warehouse.container': {
+ 'Meta': {'object_name': 'Container'},
+ 'comment': ('django.db.models.fields.TextField', [], {}),
+ 'container_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.ContainerType']"}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_container'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']"}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '40'})
+ },
+ 'archaeological_warehouse.containertype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'ContainerType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}),
+ 'volume': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_warehouse.warehouse': {
+ 'Meta': {'object_name': 'Warehouse'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_warehouse'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
+ 'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warehouse_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'warehouse_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseType']"})
+ },
+ 'archaeological_warehouse.warehousetype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'WarehouseType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.arrondissement': {
+ 'Meta': {'object_name': 'Arrondissement'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.author': {
+ 'Meta': {'object_name': 'Author'},
+ 'author_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.AuthorType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'author'", 'to': "orm['ishtar_common.Person']"})
+ },
+ 'ishtar_common.authortype': {
+ 'Meta': {'object_name': 'AuthorType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.canton': {
+ 'Meta': {'object_name': 'Canton'},
+ 'arrondissement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Arrondissement']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.department': {
+ 'Meta': {'ordering': "['number']", 'object_name': 'Department'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}),
+ 'state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.State']", 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.documenttemplate': {
+ 'Meta': {'ordering': "['associated_object_name', 'name']", 'object_name': 'DocumentTemplate'},
+ 'associated_object_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'template': ('django.db.models.fields.files.FileField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.format': {
+ 'Meta': {'object_name': 'Format'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.import': {
+ 'Meta': {'object_name': 'Import'},
+ 'conservative_import': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}),
+ 'encoding': ('django.db.models.fields.CharField', [], {'default': "'utf-8'", 'max_length': '15'}),
+ 'end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+ 'error_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+ 'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.ImporterType']"}),
+ 'match_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'seconds_remaining': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'skip_lines': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'state': ('django.db.models.fields.CharField', [], {'default': "'C'", 'max_length': '2'}),
+ 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']"})
+ },
+ 'ishtar_common.importertype': {
+ 'Meta': {'object_name': 'ImporterType'},
+ 'associated_models': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.ishtaruser': {
+ 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']},
+ 'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
+ },
+ 'ishtar_common.operationtype': {
+ 'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.organization': {
+ 'Meta': {'object_name': 'Organization'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_organization'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
+ 'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.organizationtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'OrganizationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.person': {
+ 'Meta': {'object_name': 'Person'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+ 'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'members'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_person'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'person_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.PersonType']", 'symmetrical': 'False'}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.TitleType']", 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.persontype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'PersonType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['auth.Group']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.sourcetype': {
+ 'Meta': {'object_name': 'SourceType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.state': {
+ 'Meta': {'ordering': "['number']", 'object_name': 'State'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'})
+ },
+ 'ishtar_common.supporttype': {
+ 'Meta': {'object_name': 'SupportType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.titletype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'TitleType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.town': {
+ 'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'},
+ 'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}),
+ 'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}),
+ 'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_town'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ }
+ }
+
+ complete_apps = ['archaeological_operations']
\ No newline at end of file
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index c54a060cb..307d02e97 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -882,8 +882,10 @@ class OperationSource(Source):
class ActType(GeneralType):
TYPE = (('F', _(u'Archaeological file')),
('O', _(u'Operation')),
+ ('TF', _(u'Treatment file')),
+ ('T', _(u'Treatment')),
)
- intented_to = models.CharField(_(u"Intended to"), max_length=1,
+ intented_to = models.CharField(_(u"Intended to"), max_length=2,
choices=TYPE)
code = models.CharField(_(u"Code"), max_length=10, blank=True, null=True)
associated_template = models.ManyToManyField(
@@ -988,6 +990,16 @@ class AdministrativeAct(BaseHistorizedItem, OwnPerms, ValueGetter):
blank=True, null=True,
related_name='administrative_act',
verbose_name=_(u"Archaeological file"))
+ treatment_file = models.ForeignKey(
+ 'archaeological_finds.TreatmentFile',
+ blank=True, null=True,
+ related_name='administrative_act',
+ verbose_name=_(u"Treatment file"))
+ treatment = models.ForeignKey(
+ 'archaeological_finds.Treatment',
+ blank=True, null=True,
+ related_name='administrative_act',
+ verbose_name=_(u"Treatment"))
signature_date = models.DateField(_(u"Signature date"), blank=True,
null=True)
year = models.IntegerField(_(u"Year"), blank=True, null=True)
diff --git a/archaeological_operations/templates/ishtar/sheet_administrativeact.html b/archaeological_operations/templates/ishtar/sheet_administrativeact.html
index 57acf9cbe..c96d216c9 100644
--- a/archaeological_operations/templates/ishtar/sheet_administrativeact.html
+++ b/archaeological_operations/templates/ishtar/sheet_administrativeact.html
@@ -1,32 +1,46 @@
{% extends "ishtar/sheet.html" %}
-{% load i18n window_header %}
+{% load i18n window_header window_field %}
{% block head_title %}{% trans "Administrative act" %}{% endblock %}
{% block content %}
{% if item.operation %}
{% window_nav item window_id 'show-administrativeact' 'operation_administrativeactop_modify' %}
-{% else %}
+{% endif %}
+{% if item.associated_file %}
{% window_nav item window_id 'show-administrativeact' 'file_administrativeactfile_modify' %}
{% endif %}
+{% if item.treatment %}
+{% window_nav item window_id 'show-administrativeact' 'treatment_administrativeacttreatment_modify' %}
+{% endif %}
+{% if item.treatment_file %}
+{% window_nav item window_id 'show-administrativeact' 'treatmentfile_administrativeacttreatmentfile_modify' %}
+{% endif %}
{% trans "General"%}
-{%trans "Year:"%} {{ item.year }}
-{% if item.index %}{%trans "Numerical reference:"%} {{ item.index }}
{% endif %}
-{% if item.ref_sra %}{%trans "Internal reference:"%} {{ item.ref_sra }}
{% endif %}
-{%trans "Type:"%} {{ item.act_type }}
-{% if item.act_object %}{%trans "Object:"%} {{ item.act_object }}
{% endif %}
-{%trans "Signature date:"%} {{ item.signature_date }}
-{%trans "In charge:"%} {{ item.in_charge.full_label }}
-{% if item.operator %}{%trans "Archaeological preventive operator:"%} {{ item.operator }}
{% endif %}
-
-{% if item.associated_file %}{%trans "Associated file:"%} {{ item.associated_file }}
{% endif %}
-{% if item.operation %}{%trans "Associated operation:"%} {{ item.operation }}
{% endif %}
+
{% endblock %}
diff --git a/archaeological_operations/urls.py b/archaeological_operations/urls.py
index aca98d4c4..710bc5e24 100644
--- a/archaeological_operations/urls.py
+++ b/archaeological_operations/urls.py
@@ -128,9 +128,13 @@ urlpatterns += patterns(
# allow specialization for operations
url(r'show-administrativeact(?:/(?P.+))?/(?P.+)?$',
'show_administrativeact', name='show-administrativeactop'),
- # allow specialization for files
+ # allow specialization for files, treatment, treatment file
url(r'show-administrativeact(?:/(?P.+))?/(?P.+)?$',
'show_administrativeact', name='show-administrativeactfile'),
+ url(r'show-administrativeact(?:/(?P.+))?/(?P.+)?$',
+ 'show_administrativeact', name='show-administrativeacttreatment'),
+ url(r'show-administrativeact(?:/(?P.+))?/(?P.+)?$',
+ 'show_administrativeact', name='show-administrativeacttreatmentfile'),
url(r'generatedoc-administrativeactop/(?P.+)?/(?P.+)?$',
'generatedoc_administrativeactop',
name='generatedoc-administrativeactop'),
diff --git a/archaeological_operations/wizards.py b/archaeological_operations/wizards.py
index ece14d1d2..94aafb87c 100644
--- a/archaeological_operations/wizards.py
+++ b/archaeological_operations/wizards.py
@@ -17,6 +17,8 @@
# See the file COPYING for details.
+import logging
+
from django.conf import settings
from django.core.exceptions import ObjectDoesNotExist
from django.core.urlresolvers import reverse
@@ -33,6 +35,8 @@ from forms import GenerateDocForm
from archaeological_files.models import File
+logger = logging.getLogger(__name__)
+
class OperationWizard(Wizard):
model = models.Operation
@@ -327,6 +331,7 @@ class OperationAdministrativeActWizard(OperationWizard):
edit = False
wizard_done_window = reverse_lazy('show-administrativeact')
current_obj_slug = 'administrativeactop'
+ ref_object_key = 'operation'
def get_reminder(self):
form_key = 'selec-' + self.url_name
@@ -389,11 +394,9 @@ class OperationAdministrativeActWizard(OperationWizard):
else:
associated_item = self.get_associated_item(dct)
if not associated_item:
+ logger.warning("Admin act save: no associated model")
return self.render(form_list[-1])
- if isinstance(associated_item, File):
- dct['associated_file'] = associated_item
- elif isinstance(associated_item, models.Operation):
- dct['operation'] = associated_item
+ dct[self.ref_object_key] = associated_item
admact = models.AdministrativeAct(**dct)
admact.save()
dct['item'] = admact
diff --git a/archaeological_warehouse/ishtar_menu.py b/archaeological_warehouse/ishtar_menu.py
index 1844b0018..c69ad760d 100644
--- a/archaeological_warehouse/ishtar_menu.py
+++ b/archaeological_warehouse/ishtar_menu.py
@@ -27,7 +27,7 @@ from archaeological_finds.models import Treatment
MENU_SECTIONS = [
- (60, SectionItem('treatment_management', _(u"Treatment"),
+ (70, SectionItem('treatment_management', _(u"Treatment"),
profile_restriction='warehouse',
childs=[
MenuItem('warehouse_packaging', _(u"Packaging"),
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 25fa73132..d4f0c595e 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -413,6 +413,8 @@ 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)
@@ -486,7 +488,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():
diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py
index 7611a08df..be0ab8cba 100644
--- a/ishtar_common/widgets.py
+++ b/ishtar_common/widgets.py
@@ -19,9 +19,11 @@
# 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, \
@@ -37,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)
@@ -639,7 +643,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)
--
cgit v1.2.3
From c61696e6fc307905e333b5de170cee395bf8b1da Mon Sep 17 00:00:00 2001
From: Étienne Loks
Date: Sun, 11 Dec 2016 18:15:35 +0100
Subject: Manage document generation for treatment and file treatment
administrative act
---
archaeological_files/urls.py | 2 +-
archaeological_finds/ishtar_menu.py | 2 +-
archaeological_finds/urls.py | 12 ++++++++++++
archaeological_operations/forms.py | 4 ++--
archaeological_operations/views.py | 23 ++++++++++++++++++-----
5 files changed, 34 insertions(+), 9 deletions(-)
(limited to 'archaeological_files')
diff --git a/archaeological_files/urls.py b/archaeological_files/urls.py
index 91d106f78..110851f80 100644
--- a/archaeological_files/urls.py
+++ b/archaeological_files/urls.py
@@ -93,5 +93,5 @@ urlpatterns += patterns(
'archaeological_operations.views',
url(r'file_administrativeact_document/$',
'administrativeactfile_document',
- name='file-administrativeact-document', kwargs={'operation': False}),
+ name='file-administrativeact-document', kwargs={'file': True}),
)
diff --git a/archaeological_finds/ishtar_menu.py b/archaeological_finds/ishtar_menu.py
index 39cc5d910..aa3899fa3 100644
--- a/archaeological_finds/ishtar_menu.py
+++ b/archaeological_finds/ishtar_menu.py
@@ -201,7 +201,7 @@ MENU_SECTIONS = [
_(u"Deletion"),
model=AdministrativeAct,
access_controls=['change_administrativeact']),
- MenuItem('treatment_admacttreatment_document',
+ MenuItem('treatment_administrativeact_document',
_(u"Documents"),
model=AdministrativeAct,
access_controls=['change_administrativeact']),
diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py
index 120fa1ed0..aa713a584 100644
--- a/archaeological_finds/urls.py
+++ b/archaeological_finds/urls.py
@@ -231,3 +231,15 @@ urlpatterns += patterns(
# 'show_treatmentfile',
# name=models.TreatmentFile.SHOW_URL),
)
+
+urlpatterns += patterns(
+ 'archaeological_operations.views',
+ url(r'^treatment_administrativeact_document/$',
+ 'administrativeactfile_document',
+ name='treatment-administrativeact-document',
+ kwargs={'treatment': True}),
+ url(r'^treatmentfle_administrativeact_document/$',
+ 'administrativeactfile_document',
+ name='treatmentfle-administrativeact-document',
+ kwargs={'treatment_file': True}),
+)
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py
index b3f203e53..edd25da60 100644
--- a/archaeological_operations/forms.py
+++ b/archaeological_operations/forms.py
@@ -1403,8 +1403,8 @@ class DocumentGenerationAdminActForm(forms.Form):
def __init__(self, *args, **kwargs):
self.document_type = 'O'
- if 'operation' in kwargs:
- self.document_type = 'O' if kwargs.pop('operation') else 'F'
+ if 'document_type' in kwargs:
+ self.document_type = kwargs.pop('document_type')
self.obj = None
if 'obj' in kwargs:
self.obj = kwargs.pop('obj')
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index 18d57e617..7a9c7329b 100644
--- a/archaeological_operations/views.py
+++ b/archaeological_operations/views.py
@@ -404,17 +404,30 @@ def generatedoc_administrativeactop(request, pk, template_pk=None):
return HttpResponse(mimetype='text/plain')
-def administrativeactfile_document(request, operation=True):
+def administrativeactfile_document(
+ request, file=False, treatment=False, treatment_file=False):
search_form = AdministrativeActOpeFormSelection
- if not operation:
+ document_type = 'O'
+ if file:
from archaeological_files.forms import \
AdministrativeActFileFormSelection
search_form = AdministrativeActFileFormSelection
+ document_type = 'F'
+ elif treatment:
+ from archaeological_finds.forms import \
+ AdministrativeActTreatmentFormSelection
+ search_form = AdministrativeActTreatmentFormSelection
+ document_type = 'T'
+ elif treatment_file:
+ from archaeological_finds.forms import \
+ AdministrativeActTreatmentFileFormSelection
+ search_form = AdministrativeActTreatmentFileFormSelection
+ document_type = 'TF'
dct = {}
if request.POST:
dct['search_form'] = search_form(request.POST)
dct['template_form'] = DocumentGenerationAdminActForm(
- operation=operation)
+ document_type=document_type)
c_object = None
try:
if dct['search_form'].is_valid():
@@ -425,7 +438,7 @@ def administrativeactfile_document(request, operation=True):
pass
if c_object:
dct['template_form'] = DocumentGenerationAdminActForm(
- request.POST, operation=operation, obj=c_object)
+ request.POST, document_type=document_type, obj=c_object)
if dct['template_form'].is_valid():
return generatedoc_administrativeactop(
request,
@@ -434,7 +447,7 @@ def administrativeactfile_document(request, operation=True):
else:
dct['search_form'] = search_form()
dct['template_form'] = DocumentGenerationAdminActForm(
- operation=operation)
+ document_type=document_type)
return render_to_response('ishtar/administrativeact_document.html', dct,
context_instance=RequestContext(request))
--
cgit v1.2.3
From ccbc38ee2409e56abeda7c6f1f7feaca31e74f7b Mon Sep 17 00:00:00 2001
From: Étienne Loks
Date: Fri, 16 Dec 2016 16:54:06 +0100
Subject: Update translation file
---
archaeological_files/locale/django.pot | 2 +-
archaeological_finds/locale/django.pot | 698 ++++++++++++++------
archaeological_finds/tests.py | 1 +
archaeological_operations/locale/django.pot | 174 ++---
archaeological_warehouse/locale/django.pot | 144 ++--
ishtar_common/locale/django.pot | 544 ++++++++--------
translations/fr/archaeological_context_records.po | 8 +-
translations/fr/archaeological_files.po | 10 +-
translations/fr/archaeological_files_pdl.po | 8 +-
translations/fr/archaeological_finds.po | 761 +++++++++++++++-------
translations/fr/archaeological_operations.po | 224 +++----
translations/fr/archaeological_warehouse.po | 158 +++--
translations/fr/ishtar_common.po | 555 ++++++++--------
13 files changed, 1992 insertions(+), 1295 deletions(-)
(limited to 'archaeological_files')
diff --git a/archaeological_files/locale/django.pot b/archaeological_files/locale/django.pot
index 89451ec1b..b3e38bacf 100644
--- a/archaeological_files/locale/django.pot
+++ b/archaeological_files/locale/django.pot
@@ -248,7 +248,7 @@ msgstr ""
msgid "File permit reference"
msgstr ""
-#: ishtar_menu.py:33 models.py:220 wizards.py:154 wizards.py:164
+#: ishtar_menu.py:33 models.py:220 wizards.py:155 wizards.py:165
#: templates/ishtar/sheet_file.html:4
msgid "Archaeological file"
msgstr ""
diff --git a/archaeological_finds/locale/django.pot b/archaeological_finds/locale/django.pot
index 6fdf890fd..b679a1adf 100644
--- a/archaeological_finds/locale/django.pot
+++ b/archaeological_finds/locale/django.pot
@@ -7,811 +7,1073 @@
msgid ""
msgstr ""
-#: forms.py:55 forms.py:59 wizards.py:60
+#: forms.py:88 forms.py:92 wizards.py:63
msgid "Context record"
msgstr ""
-#: forms.py:88 ishtar_menu.py:31 models.py:451 models.py:771 models.py:942
-#: models.py:1104 templates/ishtar/sheet_find.html:5
+#: forms.py:121 ishtar_menu.py:32 models_finds.py:449 models_finds.py:772
+#: models_finds.py:781 models_treatments.py:213
+#: templates/ishtar/sheet_find.html:5
msgid "Find"
msgstr ""
-#: forms.py:99 forms.py:230 forms.py:454 models.py:129 models.py:382
+#: forms.py:132 forms.py:263 forms.py:487 models_finds.py:127
+#: models_finds.py:380
msgid "Free ID"
msgstr ""
-#: forms.py:101 models.py:437
+#: forms.py:134 models_finds.py:435
msgid "Previous ID"
msgstr ""
-#: forms.py:102 forms.py:262 forms.py:687 models.py:133 models.py:383
-#: models.py:841
+#: forms.py:135 forms.py:295 forms_treatments.py:130 models_finds.py:131
+#: models_finds.py:381 models_treatments.py:104
msgid "Description"
msgstr ""
-#: forms.py:105 forms.py:264 models.py:144
+#: forms.py:138 forms.py:297 models_finds.py:142
msgid "Batch/object"
msgstr ""
-#: forms.py:107 models.py:411
+#: forms.py:140 models_finds.py:409
msgid "Is complete?"
msgstr ""
-#: forms.py:110 forms.py:252 forms.py:458 models.py:52
+#: forms.py:143 forms.py:285 forms.py:491 models_finds.py:50
msgid "Material type"
msgstr ""
-#: forms.py:111 forms.py:256 models.py:64 models.py:387
+#: forms.py:144 forms.py:289 models_finds.py:62 models_finds.py:385
msgid "Conservatory state"
msgstr ""
-#: forms.py:114 models.py:389
+#: forms.py:147 models_finds.py:387
msgid "Conservatory comment"
msgstr ""
-#: forms.py:117 models.py:104 models.py:414
+#: forms.py:150 models_finds.py:102 models_finds.py:412
msgid "Object types"
msgstr ""
-#: forms.py:119 forms.py:255 models.py:73
+#: forms.py:152 forms.py:288 models_finds.py:71
msgid "Preservation type"
msgstr ""
-#: forms.py:122 forms.py:258 models.py:416
+#: forms.py:155 forms.py:291 models_finds.py:414
msgid "Integrity / interest"
msgstr ""
-#: forms.py:125 forms.py:260 models.py:419
+#: forms.py:158 forms.py:293 models_finds.py:417
msgid "Remarkability"
msgstr ""
-#: forms.py:128 models.py:429
+#: forms.py:161 models_finds.py:427
msgid "Point of topographic reference"
msgstr ""
-#: forms.py:131 models.py:423
+#: forms.py:164 models_finds.py:421
msgid "Length (cm)"
msgstr ""
-#: forms.py:132 models.py:424
+#: forms.py:165 models_finds.py:422
msgid "Width (cm)"
msgstr ""
-#: forms.py:133 models.py:425
+#: forms.py:166 models_finds.py:423
msgid "Height (cm)"
msgstr ""
-#: forms.py:134 models.py:426
+#: forms.py:167 models_finds.py:424
msgid "Diameter (cm)"
msgstr ""
-#: forms.py:135 models.py:427
+#: forms.py:168 models_finds.py:425
msgid "Thickness (cm)"
msgstr ""
-#: forms.py:136 forms.py:459 models.py:394
+#: forms.py:169 forms.py:492 models_finds.py:392
msgid "Volume (l)"
msgstr ""
-#: forms.py:137 forms.py:460 models.py:395
+#: forms.py:170 forms.py:493 models_finds.py:393
msgid "Weight (g)"
msgstr ""
-#: forms.py:139 models.py:431
+#: forms.py:172 models_finds.py:429
msgid "Dimensions comment"
msgstr ""
-#: forms.py:140 forms.py:461 models.py:398
+#: forms.py:173 forms.py:494 models_finds.py:396
msgid "Find number"
msgstr ""
-#: forms.py:142 models.py:422
+#: forms.py:175 models_finds.py:420
msgid "Minimum number of individuals (MNI)"
msgstr ""
-#: forms.py:143 models.py:433
+#: forms.py:176 models_finds.py:431
msgid "Mark"
msgstr ""
-#: forms.py:144 forms.py:266 models.py:439
+#: forms.py:177 forms.py:299 models_finds.py:437
msgid "Check"
msgstr ""
-#: forms.py:146 models.py:441
+#: forms.py:179 models_finds.py:439
msgid "Check date"
msgstr ""
-#: forms.py:147 forms.py:685 models.py:134 models.py:434 models.py:840
+#: forms.py:180 forms_treatments.py:128 forms_treatments.py:409
+#: models_finds.py:132 models_finds.py:432 models_treatments.py:103
+#: models_treatments.py:401
msgid "Comment"
msgstr ""
-#: forms.py:150 models.py:435
+#: forms.py:183 models_finds.py:433
msgid "Comment on dating"
msgstr ""
-#: forms.py:151 models.py:443
+#: forms.py:184 models_finds.py:441
msgid "Estimated value"
msgstr ""
-#: forms.py:153 forms.py:696
+#: forms.py:186 forms_treatments.py:139
msgid "Image"
msgstr ""
-#: forms.py:154 forms.py:697
+#: forms.py:187 forms_treatments.py:140
#, python-format
msgid ""
"Heavy images are resized to: %(width)dx%(height)d (ratio is preserved)."
"p>"
msgstr ""
-#: forms.py:193 forms.py:224 models.py:406
+#: forms.py:226 forms.py:257 models_finds.py:404
msgid "Dating"
msgstr ""
-#: forms.py:198 forms.py:250
+#: forms.py:231 forms.py:283
msgid "Period"
msgstr ""
-#: forms.py:199 forms.py:691 models.py:843 models.py:955 models.py:1109
+#: forms.py:232 forms_treatments.py:134 forms_treatments.py:411
+#: models_finds.py:786 models_treatments.py:106 models_treatments.py:224
#: templates/ishtar/sheet_find.html:95 templates/ishtar/sheet_find.html:135
msgid "Start date"
msgstr ""
-#: forms.py:201 forms.py:693 models.py:844 models.py:956 models.py:1110
+#: forms.py:234 forms_treatments.py:136 models_finds.py:787
+#: models_treatments.py:107 models_treatments.py:225
#: templates/ishtar/sheet_find.html:96 templates/ishtar/sheet_find.html:136
msgid "End date"
msgstr ""
-#: forms.py:202
+#: forms.py:235
msgid "Quality"
msgstr ""
-#: forms.py:204
+#: forms.py:237
msgid "Dating type"
msgstr ""
-#: forms.py:206
+#: forms.py:239
msgid "Precise dating"
msgstr ""
-#: forms.py:228 models.py:152
+#: forms.py:261 models_finds.py:150
msgid "Short ID"
msgstr ""
-#: forms.py:229 models.py:155
+#: forms.py:262 models_finds.py:153
msgid "Complete ID"
msgstr ""
-#: forms.py:233 forms.py:610 forms.py:651 models.py:823
+#: forms.py:266 forms_treatments.py:53 forms_treatments.py:94
+#: forms_treatments.py:259 forms_treatments.py:331 forms_treatments.py:381
+#: forms_treatments.py:464 models_treatments.py:83 models_treatments.py:373
msgid "Year"
msgstr ""
-#: forms.py:235
+#: forms.py:268
msgid "Operation's number (index by year)"
msgstr ""
-#: forms.py:238
+#: forms.py:271
msgid "Code PATRIARCHE"
msgstr ""
-#: forms.py:242
+#: forms.py:275
msgid "Archaeological site"
msgstr ""
-#: forms.py:248
+#: forms.py:281
msgid "Search within related operations"
msgstr ""
-#: forms.py:253 models.py:103
+#: forms.py:286 models_finds.py:101
msgid "Object type"
msgstr ""
-#: forms.py:267 forms.py:613
+#: forms.py:300 forms_treatments.py:56
msgid "Has an image?"
msgstr ""
-#: forms.py:309 forms.py:322 views.py:73
+#: forms.py:342 forms.py:355 views.py:125
msgid "Find search"
msgstr ""
-#: forms.py:336 templates/ishtar/sheet_treatment.html:36
+#: forms.py:369 templates/ishtar/sheet_treatment.html:36
msgid "Upstream finds"
msgstr ""
-#: forms.py:338 models.py:452
+#: forms.py:371 models_finds.py:450
msgid "Finds"
msgstr ""
-#: forms.py:348
+#: forms.py:381
msgid "You should at least select one archaeological find."
msgstr ""
-#: forms.py:451
+#: forms.py:484
msgid "Resulting find"
msgstr ""
-#: forms.py:456
+#: forms.py:489
msgid "Precise description"
msgstr ""
-#: forms.py:471
+#: forms.py:504
msgid "Resulting finds"
msgstr ""
-#: forms.py:476
+#: forms.py:509
msgid "Would you like to delete this find?"
msgstr ""
-#: forms.py:480 models.py:816
+#: forms.py:513 models_treatments.py:76
msgid "Upstream find"
msgstr ""
-#: forms.py:493
+#: forms.py:526
msgid "Archaeological find search"
msgstr ""
-#: forms.py:495
+#: forms.py:528
msgid "You should select an archaeological find."
msgstr ""
-#: forms.py:500
+#: forms.py:533
msgid "Year of the operation"
msgstr ""
-#: forms.py:502
+#: forms.py:535
msgid "Numeric reference"
msgstr ""
-#: forms.py:509
+#: forms.py:542
msgid "Period of the archaeological find"
msgstr ""
-#: forms.py:511
+#: forms.py:544
msgid "Material type of the archaeological find"
msgstr ""
-#: forms.py:513
+#: forms.py:546
msgid "Description of the archaeological find"
msgstr ""
-#: forms.py:525
+#: forms.py:558 forms_treatments.py:563 forms_treatments.py:587
msgid "Documentation search"
msgstr ""
-#: forms.py:527
+#: forms.py:560 forms_treatments.py:565 forms_treatments.py:589
msgid "You should select a document."
msgstr ""
-#: forms.py:544
+#: forms.py:577
msgid "Another basket already exists with this name."
msgstr ""
-#: forms.py:554 forms.py:558 forms.py:713 ishtar_menu.py:55
+#: forms.py:587 forms.py:591 forms_treatments.py:156 ishtar_menu.py:56
msgid "Basket"
msgstr ""
-#: forms.py:608 forms.py:647 models.py:819 templates/ishtar/sheet_find.html:90
-#: templates/ishtar/sheet_find.html:130
+#: forms_treatments.py:51 forms_treatments.py:90 models_treatments.py:79
+#: templates/ishtar/sheet_find.html:90 templates/ishtar/sheet_find.html:130
msgid "Label"
msgstr ""
-#: forms.py:609 forms.py:650 models.py:821
+#: forms_treatments.py:52 forms_treatments.py:93 models_treatments.py:81
msgid "Other ref."
msgstr ""
-#: forms.py:611 forms.py:769 models.py:824
+#: forms_treatments.py:54 forms_treatments.py:212 forms_treatments.py:260
+#: forms_treatments.py:323 forms_treatments.py:332 forms_treatments.py:434
+#: forms_treatments.py:465 forms_treatments.py:530 models_treatments.py:85
+#: models_treatments.py:375
msgid "Index"
msgstr ""
-#: forms.py:612 forms.py:656 models.py:793 models.py:826 models.py:954
+#: forms_treatments.py:55 forms_treatments.py:99 forms_treatments.py:276
+#: forms_treatments.py:551 models_treatments.py:53 models_treatments.py:89
+#: models_treatments.py:223
msgid "Treatment type"
msgstr ""
-#: forms.py:624 views.py:302
+#: forms_treatments.py:67 forms_treatments.py:533 views.py:355
msgid "Treatment search"
msgstr ""
-#: forms.py:636
+#: forms_treatments.py:79
msgid "Base treatment"
msgstr ""
-#: forms.py:658
+#: forms_treatments.py:101
msgid "Target"
msgstr ""
-#: forms.py:660 models.py:833
+#: forms_treatments.py:103 forms_treatments.py:392 models_treatments.py:96
msgid "Responsible"
msgstr ""
-#: forms.py:666 models.py:836
+#: forms_treatments.py:109 models_treatments.py:99
msgid "Organization"
msgstr ""
-#: forms.py:672 models.py:828 models.py:957
+#: forms_treatments.py:115 models_treatments.py:91 models_treatments.py:226
msgid "Location"
msgstr ""
-#: forms.py:678
+#: forms_treatments.py:121
msgid "Container (relevant for packaging)"
msgstr ""
-#: forms.py:684
+#: forms_treatments.py:127 forms_treatments.py:388
msgid "External ref."
msgstr ""
-#: forms.py:689 models.py:842
+#: forms_treatments.py:132 models_treatments.py:105
msgid "Goal"
msgstr ""
-#: forms.py:713
+#: forms_treatments.py:156
msgid "Single find"
msgstr ""
-#: forms.py:741
+#: forms_treatments.py:184
msgid ""
"The container field is attached to the treatment. If no packaging treatment "
"is done it is not relevant."
msgstr ""
-#: forms.py:746
+#: forms_treatments.py:189
msgid "If a packaging treatment is done, the container field must be filled."
msgstr ""
-#: forms.py:750
+#: forms_treatments.py:193
msgid "A responsible or an organization must be defined."
msgstr ""
-#: forms.py:782
+#: forms_treatments.py:231
msgid "Another treatment with this index exists for {}."
msgstr ""
-#: forms.py:789
+#: forms_treatments.py:237
+msgid "Associated file"
+msgstr ""
+
+#: forms_treatments.py:241 forms_treatments.py:372 ishtar_menu.py:107
+#: models_treatments.py:406 models_treatments.py:471 wizards.py:182
+#: templates/ishtar/sheet_treatmentfile.html:5
+msgid "Treatment file"
+msgstr ""
+
+#: forms_treatments.py:250
msgid ""
"Are you sure you want to delete this treatment? All modification made to the "
"associated finds since this treatment record will be lost!"
msgstr ""
-#: forms.py:792
+#: forms_treatments.py:253
msgid "Would you like to delete this treatment?"
msgstr ""
-#: ishtar_menu.py:35 ishtar_menu.py:78 ishtar_menu.py:113
+#: forms_treatments.py:261 forms_treatments.py:309 forms_treatments.py:466
+#: forms_treatments.py:515
+msgid "Act type"
+msgstr ""
+
+#: forms_treatments.py:262 forms_treatments.py:467
+msgid "Indexed?"
+msgstr ""
+
+#: forms_treatments.py:263 forms_treatments.py:468 models_finds.py:120
+msgid "Object"
+msgstr ""
+
+#: forms_treatments.py:267 forms_treatments.py:472
+msgid "Signature date after"
+msgstr ""
+
+#: forms_treatments.py:269 forms_treatments.py:474
+msgid "Signature date before"
+msgstr ""
+
+#: forms_treatments.py:271 forms_treatments.py:546
+msgid "Treatment name"
+msgstr ""
+
+#: forms_treatments.py:272 forms_treatments.py:547
+msgid "Treatment year"
+msgstr ""
+
+#: forms_treatments.py:273 forms_treatments.py:548
+msgid "Treatment index"
+msgstr ""
+
+#: forms_treatments.py:275 forms_treatments.py:550
+msgid "Treatment internal reference"
+msgstr ""
+
+#: forms_treatments.py:279 forms_treatments.py:484
+msgid "Modified by"
+msgstr ""
+
+#: forms_treatments.py:329 forms_treatments.py:379 models_treatments.py:380
+msgid "Name"
+msgstr ""
+
+#: forms_treatments.py:330 forms_treatments.py:386
+msgid "Internal ref."
+msgstr ""
+
+#: forms_treatments.py:333 forms_treatments.py:390 forms_treatments.py:481
+#: forms_treatments.py:575 models_treatments.py:362 models_treatments.py:381
+msgid "Treatment file type"
+msgstr ""
+
+#: forms_treatments.py:335
+msgid "In charge"
+msgstr ""
+
+#: forms_treatments.py:341 forms_treatments.py:398 models_treatments.py:389
+msgid "Applicant"
+msgstr ""
+
+#: forms_treatments.py:347 forms_treatments.py:404 models_treatments.py:393
+msgid "Applicant organisation"
+msgstr ""
+
+#: forms_treatments.py:360 forms_treatments.py:538 views.py:458
+msgid "Treatment file search"
+msgstr ""
+
+#: forms_treatments.py:414 models_treatments.py:399
+msgid "Reception date"
+msgstr ""
+
+#: forms_treatments.py:417 models_treatments.py:395
+msgid "Closing date"
+msgstr ""
+
+#: forms_treatments.py:453
+msgid "Another treatment file with this index exists for {}."
+msgstr ""
+
+#: forms_treatments.py:459
+msgid "Are you sure you want to delete this treatment file?"
+msgstr ""
+
+#: forms_treatments.py:460
+msgid "Would you like to delete this treatment file?"
+msgstr ""
+
+#: forms_treatments.py:476 forms_treatments.py:570
+msgid "Treatment file name"
+msgstr ""
+
+#: forms_treatments.py:477 forms_treatments.py:571
+msgid "Treatment file year"
+msgstr ""
+
+#: forms_treatments.py:478 forms_treatments.py:572
+msgid "Treatment file index"
+msgstr ""
+
+#: forms_treatments.py:480 forms_treatments.py:574
+msgid "Treatment file internal reference"
+msgstr ""
+
+#: forms_treatments.py:535
+msgid "You should select an treatment."
+msgstr ""
+
+#: forms_treatments.py:541
+msgid "You should select an treatment file."
+msgstr ""
+
+#: ishtar_menu.py:36 ishtar_menu.py:79 ishtar_menu.py:111 ishtar_menu.py:134
+#: ishtar_menu.py:158 ishtar_menu.py:190 ishtar_menu.py:214 ishtar_menu.py:238
msgid "Search"
msgstr ""
-#: ishtar_menu.py:40 ishtar_menu.py:58 ishtar_menu.py:83 ishtar_menu.py:118
+#: ishtar_menu.py:41 ishtar_menu.py:59 ishtar_menu.py:84 ishtar_menu.py:116
+#: ishtar_menu.py:138 ishtar_menu.py:163 ishtar_menu.py:195 ishtar_menu.py:218
+#: ishtar_menu.py:243
msgid "Creation"
msgstr ""
-#: ishtar_menu.py:45 ishtar_menu.py:88 ishtar_menu.py:123
+#: ishtar_menu.py:46 ishtar_menu.py:89 ishtar_menu.py:121 ishtar_menu.py:142
+#: ishtar_menu.py:168 ishtar_menu.py:200 ishtar_menu.py:223 ishtar_menu.py:248
msgid "Modification"
msgstr ""
-#: ishtar_menu.py:50 ishtar_menu.py:69 ishtar_menu.py:93 ishtar_menu.py:128
+#: ishtar_menu.py:51 ishtar_menu.py:70 ishtar_menu.py:94 ishtar_menu.py:126
+#: ishtar_menu.py:145 ishtar_menu.py:173 ishtar_menu.py:205 ishtar_menu.py:226
+#: ishtar_menu.py:253
msgid "Deletion"
msgstr ""
-#: ishtar_menu.py:63
+#: ishtar_menu.py:64
msgid "Manage items"
msgstr ""
-#: ishtar_menu.py:75
+#: ishtar_menu.py:76
msgid "Documentation"
msgstr ""
-#: ishtar_menu.py:106 models.py:851 models.py:944 models.py:1096
-#: templates/ishtar/sheet_treatment.html:5
+#: ishtar_menu.py:131 ishtar_menu.py:211 models_finds.py:783
+msgid "Administrative act"
+msgstr ""
+
+#: ishtar_menu.py:149 ishtar_menu.py:230 templates/ishtar/sheet_find.html:204
+#: templates/ishtar/sheet_find.html:206
+msgid "Documents"
+msgstr ""
+
+#: ishtar_menu.py:155 ishtar_menu.py:235
+msgid "Source"
+msgstr ""
+
+#: ishtar_menu.py:183 models_treatments.py:115 models_treatments.py:215
+#: models_treatments.py:455 templates/ishtar/sheet_treatment.html:5
msgid "Treatment"
msgstr ""
-#: ishtar_menu.py:110
+#: ishtar_menu.py:187
msgid "Simple treatments"
msgstr ""
-#: models.py:45
+#: models_finds.py:43
msgid "Code"
msgstr ""
-#: models.py:46
+#: models_finds.py:44
msgid "Recommendation"
msgstr ""
-#: models.py:49
+#: models_finds.py:47
msgid "Parent material"
msgstr ""
-#: models.py:53 models.py:385
+#: models_finds.py:51 models_finds.py:383
msgid "Material types"
msgstr ""
-#: models.py:61
+#: models_finds.py:59
msgid "Parent conservatory state"
msgstr ""
-#: models.py:65
+#: models_finds.py:63
msgid "Conservatory states"
msgstr ""
-#: models.py:74
+#: models_finds.py:72
msgid "Preservation types"
msgstr ""
-#: models.py:82
+#: models_finds.py:80
msgid "Integrity / interest type"
msgstr ""
-#: models.py:83
+#: models_finds.py:81
msgid "Integrity / interest types"
msgstr ""
-#: models.py:91
+#: models_finds.py:89
msgid "Remarkability type"
msgstr ""
-#: models.py:92
+#: models_finds.py:90
msgid "Remarkability types"
msgstr ""
-#: models.py:100
+#: models_finds.py:98
msgid "Parent"
msgstr ""
-#: models.py:121
+#: models_finds.py:119
msgid "Unknow"
msgstr ""
-#: models.py:122
-msgid "Object"
-msgstr ""
-
-#: models.py:123
+#: models_finds.py:121
msgid "Batch"
msgstr ""
-#: models.py:130 models.py:378 models.py:838
+#: models_finds.py:128 models_finds.py:376 models_treatments.py:101
+#: models_treatments.py:378
msgid "External ID"
msgstr ""
-#: models.py:132 models.py:380
+#: models_finds.py:130 models_finds.py:378
msgid "External ID is set automatically"
msgstr ""
-#: models.py:136
+#: models_finds.py:134
msgid "Topographic localisation"
msgstr ""
-#: models.py:137
+#: models_finds.py:135
msgid "Special interest"
msgstr ""
-#: models.py:141
+#: models_finds.py:139
msgid "Context Record"
msgstr ""
-#: models.py:142
+#: models_finds.py:140
msgid "Discovery date"
msgstr ""
-#: models.py:147
+#: models_finds.py:145
msgid "Material index"
msgstr ""
-#: models.py:148
+#: models_finds.py:146
msgid "Point"
msgstr ""
-#: models.py:149
+#: models_finds.py:147
msgid "Line"
msgstr ""
-#: models.py:150
+#: models_finds.py:148
msgid "Polygon"
msgstr ""
-#: models.py:153 models.py:156
+#: models_finds.py:151 models_finds.py:154
msgid "Cached value - do not edit"
msgstr ""
-#: models.py:161 models.py:376
+#: models_finds.py:159 models_finds.py:374
msgid "Base find"
msgstr ""
-#: models.py:162
+#: models_finds.py:160
msgid "Base finds"
msgstr ""
-#: models.py:164
+#: models_finds.py:162
msgid "Can view all Base finds"
msgstr ""
-#: models.py:165
+#: models_finds.py:163
msgid "Can view own Base find"
msgstr ""
-#: models.py:166
+#: models_finds.py:164
msgid "Can add own Base find"
msgstr ""
-#: models.py:167
+#: models_finds.py:165
msgid "Can change own Base find"
msgstr ""
-#: models.py:168
+#: models_finds.py:166
msgid "Can delete own Base find"
msgstr ""
-#: models.py:278
+#: models_finds.py:276
msgid "g"
msgstr ""
-#: models.py:279
+#: models_finds.py:277
msgid "kg"
msgstr ""
-#: models.py:281
+#: models_finds.py:279
msgid "Not checked"
msgstr ""
-#: models.py:282
+#: models_finds.py:280
msgid "Checked but incorrect"
msgstr ""
-#: models.py:283
+#: models_finds.py:281
msgid "Checked and correct"
msgstr ""
-#: models.py:316
+#: models_finds.py:314
msgid "Periods"
msgstr ""
-#: models.py:326
+#: models_finds.py:324
msgid "Base find - Short ID"
msgstr ""
-#: models.py:327
+#: models_finds.py:325
msgid "Base find - Complete ID"
msgstr ""
-#: models.py:328
+#: models_finds.py:326
msgid "Base find - Comment"
msgstr ""
-#: models.py:329
+#: models_finds.py:327
msgid "Base find - Description"
msgstr ""
-#: models.py:330
+#: models_finds.py:328
msgid "Base find - Topographic localisation"
msgstr ""
-#: models.py:332
+#: models_finds.py:330
msgid "Base find - Special interest"
msgstr ""
-#: models.py:333
+#: models_finds.py:331
msgid "Base find - Discovery date"
msgstr ""
-#: models.py:381 models.py:948
+#: models_finds.py:379 models_treatments.py:219
msgid "Order"
msgstr ""
-#: models.py:392
+#: models_finds.py:390
msgid "Type of preservation to consider"
msgstr ""
-#: models.py:396
+#: models_finds.py:394
msgid "Weight unit"
msgstr ""
-#: models.py:402 templates/ishtar/sheet_find.html:83
+#: models_finds.py:400 templates/ishtar/sheet_find.html:83
msgid "Upstream treatment"
msgstr ""
-#: models.py:405 templates/ishtar/sheet_find.html:123
+#: models_finds.py:403 templates/ishtar/sheet_find.html:123
msgid "Downstream treatment"
msgstr ""
-#: models.py:409 models.py:845 models.py:958
+#: models_finds.py:407 models_treatments.py:108 models_treatments.py:227
#: templates/ishtar/sheet_find.html:94 templates/ishtar/sheet_find.html:134
msgid "Container"
msgstr ""
-#: models.py:445
+#: models_finds.py:443 models_treatments.py:111 models_treatments.py:402
msgid "Cached name"
msgstr ""
-#: models.py:454
+#: models_finds.py:452
msgid "Can view all Finds"
msgstr ""
-#: models.py:455
+#: models_finds.py:453
msgid "Can view own Find"
msgstr ""
-#: models.py:456
+#: models_finds.py:454
msgid "Can add own Find"
msgstr ""
-#: models.py:457
+#: models_finds.py:455
msgid "Can change own Find"
msgstr ""
-#: models.py:458
+#: models_finds.py:456
msgid "Can delete own Find"
msgstr ""
-#: models.py:464
+#: models_finds.py:462
msgid "FIND"
msgstr ""
-#: models.py:769
+#: models_finds.py:770
msgid "Find documentation"
msgstr ""
-#: models.py:770
+#: models_finds.py:771
msgid "Find documentations"
msgstr ""
-#: models.py:780
+#: models_finds.py:784
+msgid "Person"
+msgstr ""
+
+#: models_finds.py:790
+msgid "Property"
+msgstr ""
+
+#: models_finds.py:791
+msgid "Properties"
+msgstr ""
+
+#: models_treatments.py:40
msgid "Virtual"
msgstr ""
-#: models.py:782
+#: models_treatments.py:42
msgid "Upstream is many"
msgstr ""
-#: models.py:784
+#: models_treatments.py:44
msgid "Check this if for this treatment from many finds you'll get one."
msgstr ""
-#: models.py:787
+#: models_treatments.py:47
msgid "Downstream is many"
msgstr ""
-#: models.py:789
+#: models_treatments.py:49
msgid "Check this if for this treatment from one find you'll get many."
msgstr ""
-#: models.py:794
+#: models_treatments.py:54
msgid "Treatment types"
msgstr ""
-#: models.py:815
+#: models_treatments.py:75
msgid "Downstream find"
msgstr ""
-#: models.py:830
+#: models_treatments.py:93
msgid "Location where the treatment is done. Target warehouse for a move."
msgstr ""
-#: models.py:847
+#: models_treatments.py:110
msgid "Target a basket"
msgstr ""
-#: models.py:852 templates/ishtar/sheet_find.html:80
+#: models_treatments.py:116 templates/ishtar/sheet_find.html:80
+#: templates/ishtar/sheet_treatmentfile.html:27
msgid "Treatments"
msgstr ""
-#: models.py:855
+#: models_treatments.py:119
msgid "Can view all Treatments"
msgstr ""
-#: models.py:856
+#: models_treatments.py:120
msgid "Can view own Treatment"
msgstr ""
-#: models.py:857
+#: models_treatments.py:121
msgid "Can add own Treatment"
msgstr ""
-#: models.py:858
+#: models_treatments.py:122
msgid "Can change own Treatment"
msgstr ""
-#: models.py:859
+#: models_treatments.py:123
msgid "Can delete own Treatment"
msgstr ""
-#: models.py:865
+#: models_treatments.py:129
msgid "by"
msgstr ""
-#: models.py:959 templates/ishtar/sheet_find.html:93
+#: models_treatments.py:228 templates/ishtar/sheet_find.html:93
#: templates/ishtar/sheet_find.html:133
msgid "Doer"
msgstr ""
-#: models.py:960 models.py:961 templates/ishtar/sheet_find.html:92
-#: templates/ishtar/sheet_find.html:132
+#: models_treatments.py:229 models_treatments.py:230
+#: templates/ishtar/sheet_find.html:92 templates/ishtar/sheet_find.html:132
msgid "Related finds"
msgstr ""
-#: models.py:1082
+#: models_treatments.py:351
msgid "Is upstream"
msgstr ""
-#: models.py:1093
-msgid "Treatment documentation"
+#: models_treatments.py:363
+msgid "Treatment file types"
msgstr ""
-#: models.py:1094
-msgid "Treament documentations"
+#: models_treatments.py:376
+msgid "Internal reference"
msgstr ""
-#: models.py:1106
-msgid "Administrative act"
+#: models_treatments.py:385
+msgid "Person in charge"
msgstr ""
-#: models.py:1107
-msgid "Person"
+#: models_treatments.py:397
+msgid "Creation date"
msgstr ""
-#: models.py:1113
-msgid "Property"
+#: models_treatments.py:407
+msgid "Treatment files"
msgstr ""
-#: models.py:1114
-msgid "Properties"
+#: models_treatments.py:410
+msgid "Can view all Treatment files"
+msgstr ""
+
+#: models_treatments.py:412
+msgid "Can view own Treatment file"
+msgstr ""
+
+#: models_treatments.py:414
+msgid "Can add own Treatment file"
+msgstr ""
+
+#: models_treatments.py:416
+msgid "Can change own Treatment file"
+msgstr ""
+
+#: models_treatments.py:418
+msgid "Can delete own Treatment file"
+msgstr ""
+
+#: models_treatments.py:461
+msgid "Treatment documentation"
msgstr ""
-#: views.py:68
+#: models_treatments.py:462
+msgid "Treament documentations"
+msgstr ""
+
+#: models_treatments.py:477
+msgid "Treatment file documentation"
+msgstr ""
+
+#: models_treatments.py:478
+msgid "Treament file documentations"
+msgstr ""
+
+#: views.py:120
msgid "New find"
msgstr ""
-#: views.py:82
+#: views.py:134
msgid "Find modification"
msgstr ""
-#: views.py:97
+#: views.py:149
msgid "Find deletion"
msgstr ""
-#: views.py:102
+#: views.py:154
msgid "Find: source search"
msgstr ""
-#: views.py:110
+#: views.py:162
msgid "Find: new source"
msgstr ""
-#: views.py:118
+#: views.py:170
msgid "Find: source modification"
msgstr ""
-#: views.py:133
+#: views.py:185
msgid "Find: source deletion"
msgstr ""
-#: views.py:147
+#: views.py:199
msgid "New basket"
msgstr ""
-#: views.py:166
+#: views.py:218
msgid "Manage items in basket"
msgstr ""
-#: views.py:186
+#: views.py:238
msgid "Manage basket"
msgstr ""
-#: views.py:274
+#: views.py:326
msgid "Delete basket"
msgstr ""
-#: views.py:323
+#: views.py:376
msgid "New treatment"
msgstr ""
-#: views.py:330
+#: views.py:383 views.py:475
msgid "Modify"
msgstr ""
-#: views.py:337
+#: views.py:400
msgid "Treatment deletion"
msgstr ""
-#: wizards.py:59
+#: views.py:407
+msgid "Treatment: search administrative act"
+msgstr ""
+
+#: views.py:416
+msgid "Treatment: new administrative act"
+msgstr ""
+
+#: views.py:426
+msgid "Treatment: administrative act modification"
+msgstr ""
+
+#: views.py:435
+msgid "Treatment: administrative act deletion"
+msgstr ""
+
+#: views.py:468
+msgid "New treatment file"
+msgstr ""
+
+#: views.py:491
+msgid "Treatment file deletion"
+msgstr ""
+
+#: views.py:498
+msgid "Treatment file: search administrative act"
+msgstr ""
+
+#: views.py:508
+msgid "Treatment file: new administrative act"
+msgstr ""
+
+#: views.py:518
+msgid "Treatment file: administrative act modification"
+msgstr ""
+
+#: views.py:527
+msgid "Treatment file: administrative act deletion"
+msgstr ""
+
+#: views.py:553
+msgid "Treatment: source search"
+msgstr ""
+
+#: views.py:568
+msgid "Treatment: source modification"
+msgstr ""
+
+#: views.py:583
+msgid "Treatment: source deletion"
+msgstr ""
+
+#: views.py:596
+msgid "Treatment file: source search"
+msgstr ""
+
+#: views.py:612
+msgid "Treatment file: source modification"
+msgstr ""
+
+#: views.py:630
+msgid "Treatment file: source deletion"
+msgstr ""
+
+#: wizards.py:62 wizards.py:194
msgid "Operation"
msgstr ""
@@ -836,10 +1098,6 @@ msgstr ""
msgid "Associated base finds"
msgstr ""
-#: templates/ishtar/sheet_find.html:204 templates/ishtar/sheet_find.html:206
-msgid "Documents"
-msgstr ""
-
#: templates/ishtar/sheet_find.html:208
msgid "Title"
msgstr ""
@@ -863,3 +1121,11 @@ msgstr ""
#: templates/ishtar/sheet_treatment.html:41
msgid "Downstream finds"
msgstr ""
+
+#: templates/ishtar/sheet_treatmentfilesource.html:4
+msgid "Treatement file source"
+msgstr ""
+
+#: templates/ishtar/sheet_treatmentsource.html:4
+msgid "Treatment source"
+msgstr ""
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py
index 181ca12d0..649e645b3 100644
--- a/archaeological_finds/tests.py
+++ b/archaeological_finds/tests.py
@@ -243,6 +243,7 @@ class TreatmentWizardCreationTest(WizardTest, FindInit, TestCase):
FormData(
'Move treament',
form_datas={
+ 'file-treatment_creation': {},
'basetreatment-treatment_creation': {
'treatment_type': 4, # move
'person': 1, # doer
diff --git a/archaeological_operations/locale/django.pot b/archaeological_operations/locale/django.pot
index 12be6902e..d0b6b7647 100644
--- a/archaeological_operations/locale/django.pot
+++ b/archaeological_operations/locale/django.pot
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
#: forms.py:69 forms.py:371 forms.py:1009 forms.py:1031 forms.py:1035
-#: models.py:1190 templates/ishtar/sheet_operation.html:144
+#: models.py:1213 templates/ishtar/sheet_operation.html:144
#: templates/ishtar/blocks/window_tables/parcels.html:10
msgid "Parcels"
msgstr ""
-#: forms.py:72 forms.py:205 forms.py:985 models.py:1176
+#: forms.py:72 forms.py:205 forms.py:985 models.py:1199
#: templates/ishtar/blocks/window_tables/parcels.html:7
#: templates/ishtar/dashboards/dashboard_operation.html:432
#: templates/ishtar/dashboards/dashboard_operation.html:446
@@ -24,21 +24,21 @@ msgid "Town"
msgstr ""
#: forms.py:74 forms.py:455 forms.py:752 forms.py:1255 models.py:271
-#: models.py:993 models.py:1174
+#: models.py:1005 models.py:1197
#: templates/ishtar/blocks/window_tables/parcels.html:8
msgid "Year"
msgstr ""
-#: forms.py:77 models.py:1177
+#: forms.py:77 models.py:1200
#: templates/ishtar/blocks/window_tables/parcels.html:9
msgid "Section"
msgstr ""
-#: forms.py:80 models.py:1179
+#: forms.py:80 models.py:1202
msgid "Parcel number"
msgstr ""
-#: forms.py:82 models.py:1181 models.py:1198 models.py:1247
+#: forms.py:82 models.py:1204 models.py:1221 models.py:1270
msgid "Public domain"
msgstr ""
@@ -75,7 +75,7 @@ msgid "Relation type"
msgstr ""
#: forms.py:383 ishtar_menu.py:30 models.py:366 models.py:826 models.py:856
-#: models.py:884 models.py:985 models.py:1173 wizards.py:339 wizards.py:350
+#: models.py:884 models.py:987 models.py:1196 wizards.py:344 wizards.py:355
#: templates/ishtar/sheet_operation.html:4
msgid "Operation"
msgstr ""
@@ -138,7 +138,7 @@ msgstr ""
msgid "In charge"
msgstr ""
-#: forms.py:485 models.py:979
+#: forms.py:485 models.py:981
msgid "Scientist in charge"
msgstr ""
@@ -244,8 +244,8 @@ msgstr ""
msgid "Associated file"
msgstr ""
-#: forms.py:640 forms.py:933 models.py:493 models.py:883 models.py:990
-#: wizards.py:76
+#: forms.py:640 forms.py:933 models.py:493 models.py:883 models.py:992
+#: wizards.py:80
msgid "Archaeological file"
msgstr ""
@@ -313,7 +313,7 @@ msgstr ""
msgid "With finds"
msgstr ""
-#: forms.py:733 forms.py:1327 templates/ishtar/sheet_administrativeact.html:13
+#: forms.py:733 forms.py:1327 templates/ishtar/sheet_administrativeact.html:20
#: templates/ishtar/sheet_operation.html:24
msgid "General"
msgstr ""
@@ -338,7 +338,7 @@ msgstr ""
msgid "Total surface (m2)"
msgstr ""
-#: forms.py:800 models.py:53 models.py:255 models.py:1363
+#: forms.py:800 models.py:53 models.py:255 models.py:1386
msgid "Start date"
msgstr ""
@@ -381,7 +381,7 @@ msgstr ""
#: forms.py:919
#, python-format
msgid ""
-"Operation code already exist for year: %(year)d - use a value bigger than "
+"Operation code already exists for year: %(year)d - use a value bigger than "
"%(last_val)d"
msgstr ""
@@ -430,11 +430,11 @@ msgstr ""
msgid "Prescription on geoarchaeological context"
msgstr ""
-#: forms.py:983 forms.py:1005 models.py:283 models.py:1003
+#: forms.py:983 forms.py:1005 models.py:283 models.py:1015
msgid "Towns"
msgstr ""
-#: forms.py:1012 models.py:1189 models.py:1361
+#: forms.py:1012 models.py:1212 models.py:1384
msgid "Parcel"
msgstr ""
@@ -480,7 +480,7 @@ msgstr ""
msgid "Would you like to delete this operation?"
msgstr ""
-#: forms.py:1186 forms.py:1256 forms.py:1392 models.py:858 models.py:970
+#: forms.py:1186 forms.py:1256 forms.py:1392 models.py:858 models.py:972
msgid "Index"
msgstr ""
@@ -507,7 +507,7 @@ msgstr ""
msgid "You should select a document."
msgstr ""
-#: forms.py:1263 forms.py:1330 models.py:895 models.py:964
+#: forms.py:1263 forms.py:1330 models.py:897 models.py:966
msgid "Act type"
msgstr ""
@@ -515,7 +515,7 @@ msgstr ""
msgid "Indexed?"
msgstr ""
-#: forms.py:1270 forms.py:1335 models.py:994
+#: forms.py:1270 forms.py:1335 models.py:1006
#: templates/ishtar/blocks/window_tables/administrativacts.html:10
msgid "Object"
msgstr ""
@@ -528,14 +528,14 @@ msgstr ""
msgid "You should select an administrative act."
msgstr ""
-#: forms.py:1338 models.py:991
+#: forms.py:1338 models.py:1003
msgid "Signature date"
msgstr ""
#: forms.py:1380
#, python-format
msgid ""
-"This index already exist for year: %(year)d - use a value bigger than "
+"This index already exists for year: %(year)d - use a value bigger than "
"%(last_val)d"
msgstr ""
@@ -584,7 +584,7 @@ msgstr ""
msgid "Deletion"
msgstr ""
-#: ishtar_menu.py:58 models.py:1010
+#: ishtar_menu.py:58 models.py:1022
#: templates/ishtar/sheet_administrativeact.html:4
msgid "Administrative act"
msgstr ""
@@ -614,11 +614,11 @@ msgstr ""
msgid "Operations"
msgstr ""
-#: models.py:52 models.py:70 models.py:1825
+#: models.py:52 models.py:70 models.py:1848
msgid "Order"
msgstr ""
-#: models.py:54 models.py:1364
+#: models.py:54 models.py:1387
msgid "End date"
msgstr ""
@@ -738,7 +738,7 @@ msgstr ""
msgid "In charge scientist"
msgstr ""
-#: models.py:276 models.py:1169
+#: models.py:276 models.py:1192
msgid "File"
msgstr ""
@@ -889,146 +889,154 @@ msgstr ""
msgid "Can delete own Operation source"
msgstr ""
-#: models.py:886
-msgid "Intended to"
+#: models.py:885 models.py:997
+msgid "Treatment file"
+msgstr ""
+
+#: models.py:886 models.py:1002
+msgid "Treatment"
msgstr ""
#: models.py:888
+msgid "Intended to"
+msgstr ""
+
+#: models.py:890
msgid "Code"
msgstr ""
-#: models.py:891
+#: models.py:893
msgid "Associated template"
msgstr ""
-#: models.py:892
+#: models.py:894
msgid "Indexed"
msgstr ""
-#: models.py:896
+#: models.py:898
msgid "Act types"
msgstr ""
-#: models.py:968
+#: models.py:970
msgid "Person in charge of the operation"
msgstr ""
-#: models.py:974
+#: models.py:976
msgid "Archaeological preventive operator"
msgstr ""
-#: models.py:982
+#: models.py:984
msgid "Signatory"
msgstr ""
-#: models.py:1000
+#: models.py:1012
msgid "Departments"
msgstr ""
-#: models.py:1001
+#: models.py:1013
msgid "Cached values get from associated departments"
msgstr ""
-#: models.py:1004
+#: models.py:1016
msgid "Cached values get from associated towns"
msgstr ""
-#: models.py:1011 templates/ishtar/sheet_operation.html:102
+#: models.py:1023 templates/ishtar/sheet_operation.html:102
#: templates/ishtar/sheet_operation.html:138
msgid "Administrative acts"
msgstr ""
-#: models.py:1014
+#: models.py:1026
msgid "Can view all Administrative acts"
msgstr ""
-#: models.py:1016
+#: models.py:1028
msgid "Can view own Administrative act"
msgstr ""
-#: models.py:1018
+#: models.py:1030
msgid "Can add own Administrative act"
msgstr ""
-#: models.py:1020
+#: models.py:1032
msgid "Can change own Administrative act"
msgstr ""
-#: models.py:1022
+#: models.py:1034
msgid "Can delete own Administrative act"
msgstr ""
-#: models.py:1031
+#: models.py:1043
#: templates/ishtar/blocks/window_tables/administrativacts.html:7
#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:7
msgid "Ref."
msgstr ""
-#: models.py:1114
+#: models.py:1137
msgid "This index already exists for this year"
msgstr ""
-#: models.py:1182
+#: models.py:1205
msgid "External ID"
msgstr ""
-#: models.py:1185
+#: models.py:1208
msgid "External ID is set automatically"
msgstr ""
-#: models.py:1186
+#: models.py:1209
msgid "Address - Locality"
msgstr ""
-#: models.py:1359
+#: models.py:1382
msgid "Owner"
msgstr ""
-#: models.py:1367
+#: models.py:1390
msgid "Parcel owner"
msgstr ""
-#: models.py:1368
+#: models.py:1391
msgid "Parcel owners"
msgstr ""
-#: models.py:1394
+#: models.py:1417
msgid "Recorded"
msgstr ""
-#: models.py:1395
+#: models.py:1418
msgid "Effective"
msgstr ""
-#: models.py:1396
+#: models.py:1419
msgid "Active"
msgstr ""
-#: models.py:1397
+#: models.py:1420
msgid "Field completed"
msgstr ""
-#: models.py:1398
+#: models.py:1421
msgid "Associated report"
msgstr ""
-#: models.py:1399
+#: models.py:1422
msgid "Closed"
msgstr ""
-#: models.py:1400
+#: models.py:1423
msgid "Documented and closed"
msgstr ""
-#: models.py:1826
+#: models.py:1849
msgid "Is preventive"
msgstr ""
-#: models.py:1829
+#: models.py:1852
msgid "Operation type old"
msgstr ""
-#: models.py:1830
+#: models.py:1853
msgid "Operation types old"
msgstr ""
@@ -1080,61 +1088,17 @@ msgstr ""
msgid "Add"
msgstr ""
-#: wizards.py:199
+#: wizards.py:203
msgid ""
"Warning: No Archaeological File is provided. If you have forget it return to "
"the first step."
msgstr ""
-#: templates/ishtar/sheet_administrativeact.html:14
-msgid "Year:"
-msgstr ""
-
-#: templates/ishtar/sheet_administrativeact.html:15
-msgid "Numerical reference:"
-msgstr ""
-
-#: templates/ishtar/sheet_administrativeact.html:16
-msgid "Internal reference:"
-msgstr ""
-
-#: templates/ishtar/sheet_administrativeact.html:17
-msgid "Type:"
-msgstr ""
-
-#: templates/ishtar/sheet_administrativeact.html:18
-msgid "Object:"
-msgstr ""
-
-#: templates/ishtar/sheet_administrativeact.html:19
-msgid "Signature date:"
-msgstr ""
-
-#: templates/ishtar/sheet_administrativeact.html:20
-msgid "In charge:"
-msgstr ""
-
-#: templates/ishtar/sheet_administrativeact.html:21
-msgid "Archaeological preventive operator:"
-msgstr ""
-
-#: templates/ishtar/sheet_administrativeact.html:23
-msgid "Associated file:"
-msgstr ""
-
-#: templates/ishtar/sheet_administrativeact.html:24
-msgid "Associated operation:"
-msgstr ""
-
-#: templates/ishtar/sheet_administrativeact.html:26
+#: templates/ishtar/sheet_administrativeact.html:36
#: templates/ishtar/sheet_operation.html:38
msgid "Surface:"
msgstr ""
-#: templates/ishtar/sheet_administrativeact.html:27
-msgid "Created by:"
-msgstr ""
-
#: templates/ishtar/sheet_operation.html:14
msgid "This operation is virtual."
msgstr ""
diff --git a/archaeological_warehouse/locale/django.pot b/archaeological_warehouse/locale/django.pot
index 109cfbf76..6833d145a 100644
--- a/archaeological_warehouse/locale/django.pot
+++ b/archaeological_warehouse/locale/django.pot
@@ -3,149 +3,217 @@
# This file is distributed under the same license as the Ishtar package.
# Étienne Loks , 2010-2011.
# Valérie-Emma Leroux , 2016. #zanata
+# Étienne Loks , 2016. #zanata
msgid ""
msgstr ""
-#: forms.py:34 forms.py:97 models.py:47 models.py:87
+#: forms.py:35 forms.py:91 forms.py:149 ishtar_menu.py:39 models.py:53
+#: models.py:110
msgid "Warehouse"
msgstr ""
-#: forms.py:43 models.py:38
+#: forms.py:44 forms.py:49 models.py:129
+msgid "Division"
+msgstr ""
+
+#: forms.py:51 models.py:77
+msgid "Order"
+msgstr ""
+
+#: forms.py:62 models.py:46
+msgid "Divisions"
+msgstr ""
+
+#: forms.py:66 forms.py:95 models.py:38
msgid "Name"
msgstr ""
-#: forms.py:45 models.py:30 models.py:40
+#: forms.py:67 forms.py:97 models.py:30 models.py:40
msgid "Warehouse type"
msgstr ""
-#: forms.py:48 models.py:43
+#: forms.py:68 forms.py:114
+msgid "Town"
+msgstr ""
+
+#: forms.py:79
+msgid "Warehouse search"
+msgstr ""
+
+#: forms.py:100 models.py:43
msgid "Person in charge"
msgstr ""
-#: forms.py:54 forms.py:102 models.py:44 models.py:91
+#: forms.py:106 forms.py:154 models.py:44 models.py:114
msgid "Comment"
msgstr ""
-#: forms.py:56
+#: forms.py:108
msgid "Address"
msgstr ""
-#: forms.py:58
+#: forms.py:110
msgid "Address complement"
msgstr ""
-#: forms.py:60
+#: forms.py:112
msgid "Postal code"
msgstr ""
-#: forms.py:62 forms.py:66
-msgid "Town"
-msgstr ""
-
-#: forms.py:63
+#: forms.py:115
msgid "Country"
msgstr ""
-#: forms.py:65
+#: forms.py:117
msgid "Phone"
msgstr ""
-#: forms.py:93 models.py:94
+#: forms.py:118
+msgid "Mobile phone"
+msgstr ""
+
+#: forms.py:145 models.py:117 models.py:127
msgid "Container"
msgstr ""
-#: forms.py:94 forms.py:129 models.py:66
+#: forms.py:146 forms.py:181 models.py:89
msgid "Ref."
msgstr ""
-#: forms.py:95 forms.py:128 models.py:69 models.py:89
+#: forms.py:147 forms.py:180 models.py:92 models.py:112
msgid "Container type"
msgstr ""
-#: forms.py:139
+#: forms.py:191
msgid "Container search"
msgstr ""
-#: forms.py:141
+#: forms.py:193
msgid "You should select a container."
msgstr ""
-#: forms.py:142
+#: forms.py:194
msgid "Add a new container"
msgstr ""
-#: forms.py:146 ishtar_menu.py:33 views.py:87
+#: forms.py:198 ishtar_menu.py:35 views.py:89
msgid "Packaging"
msgstr ""
-#: forms.py:153
+#: forms.py:205
msgid "Packager"
msgstr ""
-#: forms.py:159
+#: forms.py:211
msgid "Date"
msgstr ""
-#: forms.py:168
+#: forms.py:220
msgid "Packaged finds"
msgstr ""
-#: ishtar_menu.py:30
+#: forms.py:224
+msgid "Localisation"
+msgstr ""
+
+#: ishtar_menu.py:32
msgid "Treatment"
msgstr ""
+#: ishtar_menu.py:41
+msgid "Creation"
+msgstr ""
+
+#: ishtar_menu.py:44
+msgid "Modification"
+msgstr ""
+
+#: ishtar_menu.py:47 models.py:133 views.py:114
+msgid "Container localisation"
+msgstr ""
+
#: models.py:31
msgid "Warehouse types"
msgstr ""
-#: models.py:48
+#: models.py:54
msgid "Warehouses"
msgstr ""
-#: models.py:50
+#: models.py:56
msgid "Can view all Warehouses"
msgstr ""
-#: models.py:51
+#: models.py:57
msgid "Can view own Warehouse"
msgstr ""
-#: models.py:52
+#: models.py:58
msgid "Can add own Warehouse"
msgstr ""
-#: models.py:53
+#: models.py:59
msgid "Can change own Warehouse"
msgstr ""
-#: models.py:54
+#: models.py:60
msgid "Can delete own Warehouse"
msgstr ""
-#: models.py:62
+#: models.py:69
+msgid "Warehouse division"
+msgstr ""
+
+#: models.py:70
+msgid "Warehouse divisions"
+msgstr ""
+
+#: models.py:85
msgid "Length (mm)"
msgstr ""
-#: models.py:63
+#: models.py:86
msgid "Width (mm)"
msgstr ""
-#: models.py:64
+#: models.py:87
msgid "Height (mm)"
msgstr ""
-#: models.py:65
+#: models.py:88
msgid "Volume (l)"
msgstr ""
-#: models.py:70
+#: models.py:93
msgid "Container types"
msgstr ""
-#: models.py:90
+#: models.py:113
msgid "Container ref."
msgstr ""
-#: models.py:95
+#: models.py:118
msgid "Containers"
msgstr ""
+
+#: models.py:130
+msgid "Reference"
+msgstr ""
+
+#: models.py:134
+msgid "Container localisations"
+msgstr ""
+
+#: views.py:96
+msgid "Warehouse creation"
+msgstr ""
+
+#: views.py:105
+msgid "Warehouse modification"
+msgstr ""
+
+#: templates/ishtar/wizard/wizard_containerlocalisation.html:5
+msgid ""
+"No division set for this warehouse. Define it to localise container in this "
+"warehouse."
+msgstr ""
diff --git a/ishtar_common/locale/django.pot b/ishtar_common/locale/django.pot
index 813f31a3c..0d87043b1 100644
--- a/ishtar_common/locale/django.pot
+++ b/ishtar_common/locale/django.pot
@@ -127,40 +127,40 @@ msgstr ""
msgid "\"%(value)s\" not in %(values)s"
msgstr ""
-#: forms.py:72
+#: forms.py:73
msgid "Enter a valid name consisting of letters, spaces and hyphens."
msgstr ""
-#: forms.py:88 forms_common.py:618
+#: forms.py:89 forms_common.py:618
msgid "Confirm"
msgstr ""
-#: forms.py:93
+#: forms.py:94
msgid "Are you sure you want to delete?"
msgstr ""
-#: forms.py:102
+#: forms.py:103
msgid "There are identical items."
msgstr ""
-#: forms.py:140 forms.py:141
+#: forms.py:141 forms.py:142
msgid "Closing date"
msgstr ""
-#: forms.py:154
+#: forms.py:155
msgid "You should select an item."
msgstr ""
-#: forms.py:155
+#: forms.py:156
msgid "Add a new item"
msgstr ""
-#: forms.py:262 models.py:1360
+#: forms.py:262 models.py:1366
msgid "Template"
msgstr ""
#: forms_common.py:41 forms_common.py:59 forms_common.py:182
-#: forms_common.py:406 models.py:1426 models.py:2818
+#: forms_common.py:406 models.py:1432 models.py:2824
#: templates/blocks/JQueryAdvancedTown.html:19
#: templates/ishtar/sheet_organization.html:13
msgid "Town"
@@ -176,8 +176,8 @@ msgid ""
"french town Saint-Denis in the Seine-Saint-Denis department.
"
msgstr ""
-#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1599
-#: models.py:2445 models.py:2627 models.py:2688
+#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1605
+#: models.py:2451 models.py:2633 models.py:2694
#: templates/ishtar/sheet_person.html:4
msgid "Person"
msgstr ""
@@ -189,63 +189,63 @@ msgid ""
msgstr ""
#: forms_common.py:170 forms_common.py:327 forms_common.py:451
-#: ishtar_menu.py:75 models.py:1600 models.py:2331
+#: ishtar_menu.py:75 models.py:1606 models.py:2337
#: 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:1027 models.py:1359
-#: models.py:1645 models.py:1864 models.py:2325 models.py:2431 models.py:2804
+#: forms_common.py:376 forms_common.py:446 models.py:1033 models.py:1365
+#: models.py:1651 models.py:1870 models.py:2331 models.py:2437 models.py:2810
#: templates/ishtar/sheet_organization.html:8
#: templates/ishtar/sheet_organization.html:21
msgid "Name"
msgstr ""
-#: forms_common.py:174 models.py:1581 models.py:1995
+#: forms_common.py:174 models.py:1587 models.py:2001
msgid "Organization type"
msgstr ""
-#: forms_common.py:176 forms_common.py:400 models.py:1421
+#: forms_common.py:176 forms_common.py:400 models.py:1427
#: templates/ishtar/sheet_organization.html:10
msgid "Address"
msgstr ""
-#: forms_common.py:178 forms_common.py:403 models.py:1422
+#: forms_common.py:178 forms_common.py:403 models.py:1428
#: templates/ishtar/sheet_organization.html:11
msgid "Address complement"
msgstr ""
-#: forms_common.py:180 forms_common.py:404 models.py:1424
+#: forms_common.py:180 forms_common.py:404 models.py:1430
#: templates/ishtar/sheet_organization.html:12
msgid "Postal code"
msgstr ""
-#: forms_common.py:183 forms_common.py:407 models.py:1427
+#: forms_common.py:183 forms_common.py:407 models.py:1433
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:1454
+#: forms_common.py:448 forms_common.py:572 models.py:1460
msgid "Email"
msgstr ""
-#: forms_common.py:186 forms_common.py:383 models.py:1439
+#: forms_common.py:186 forms_common.py:383 models.py:1445
#: 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:1451
+#: forms_common.py:187 forms_common.py:392 models.py:1457
#: 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:2025
-#: models.py:2327 models.py:2739 templates/sheet_ope.html:85
+#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2031
+#: models.py:2333 models.py:2745 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
@@ -269,7 +269,7 @@ msgstr ""
msgid "Organization to merge"
msgstr ""
-#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2429
+#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2435
#: templates/ishtar/sheet_organization.html:22
msgid "Surname"
msgstr ""
@@ -287,25 +287,25 @@ msgstr ""
msgid "Identity"
msgstr ""
-#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1996
-#: models.py:2423 models.py:2425 models.py:2736 templates/sheet_ope.html:104
+#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:2002
+#: models.py:2429 models.py:2431 models.py:2742 templates/sheet_ope.html:104
#: templates/ishtar/blocks/window_tables/documents.html:7
msgid "Title"
msgstr ""
-#: forms_common.py:372 models.py:2427
+#: forms_common.py:372 models.py:2433
msgid "Salutation"
msgstr ""
-#: forms_common.py:378 models.py:2433
+#: forms_common.py:378 models.py:2439
msgid "Raw name"
msgstr ""
-#: forms_common.py:381 models.py:1440
+#: forms_common.py:381 models.py:1446
msgid "Phone description"
msgstr ""
-#: forms_common.py:384 models.py:1442 models.py:1444
+#: forms_common.py:384 models.py:1448 models.py:1450
msgid "Phone description 2"
msgstr ""
@@ -313,11 +313,11 @@ msgstr ""
msgid "Phone 2"
msgstr ""
-#: forms_common.py:388 models.py:1448
+#: forms_common.py:388 models.py:1454
msgid "Phone description 3"
msgstr ""
-#: forms_common.py:390 models.py:1446
+#: forms_common.py:390 models.py:1452
msgid "Phone 3"
msgstr ""
@@ -325,23 +325,23 @@ msgstr ""
msgid "Current organization"
msgstr ""
-#: forms_common.py:409 models.py:1429
+#: forms_common.py:409 models.py:1435
msgid "Other address: address"
msgstr ""
-#: forms_common.py:412 models.py:1432
+#: forms_common.py:412 models.py:1438
msgid "Other address: address complement"
msgstr ""
-#: forms_common.py:414 models.py:1433
+#: forms_common.py:414 models.py:1439
msgid "Other address: postal code"
msgstr ""
-#: forms_common.py:416 models.py:1435
+#: forms_common.py:416 models.py:1441
msgid "Other address: town"
msgstr ""
-#: forms_common.py:418 models.py:1437
+#: forms_common.py:418 models.py:1443
msgid "Other address: country"
msgstr ""
@@ -357,7 +357,7 @@ msgstr ""
msgid "Account search"
msgstr ""
-#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2379
+#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2385
msgid "Person type"
msgstr ""
@@ -365,7 +365,7 @@ msgstr ""
msgid "Account"
msgstr ""
-#: forms_common.py:575 wizards.py:1217
+#: forms_common.py:575 wizards.py:1241
msgid "New password"
msgstr ""
@@ -389,7 +389,7 @@ msgstr ""
msgid "Send the new password by email?"
msgstr ""
-#: forms_common.py:628 forms_common.py:641 models.py:2819
+#: forms_common.py:628 forms_common.py:641 models.py:2825
msgid "Towns"
msgstr ""
@@ -405,7 +405,7 @@ msgstr ""
msgid "Documentation informations"
msgstr ""
-#: forms_common.py:775 forms_common.py:823 models.py:1997 models.py:2713
+#: forms_common.py:775 forms_common.py:823 models.py:2003 models.py:2719
msgid "Source type"
msgstr ""
@@ -417,37 +417,37 @@ msgstr ""
msgid "Internal reference"
msgstr ""
-#: forms_common.py:783 models.py:2750
+#: forms_common.py:783 models.py:2756
msgid "Numerical ressource (web address)"
msgstr ""
-#: forms_common.py:784 models.py:2752
+#: forms_common.py:784 models.py:2758
msgid "Receipt date"
msgstr ""
-#: forms_common.py:786 models.py:2154 models.py:2754
+#: forms_common.py:786 models.py:2160 models.py:2760
msgid "Creation date"
msgstr ""
-#: forms_common.py:789 models.py:2757
+#: forms_common.py:789 models.py:2763
msgid "Receipt date in documentation"
msgstr ""
-#: forms_common.py:791 forms_common.py:827 models.py:322 models.py:627
-#: models.py:1891 models.py:2437 models.py:2764
+#: forms_common.py:791 forms_common.py:827 models.py:322 models.py:633
+#: models.py:1897 models.py:2443 models.py:2770
msgid "Comment"
msgstr ""
-#: forms_common.py:793 forms_common.py:826 models.py:1029 models.py:1649
-#: models.py:1823 models.py:1865 models.py:2763 templates/sheet_ope.html:128
+#: forms_common.py:793 forms_common.py:826 models.py:1035 models.py:1655
+#: models.py:1829 models.py:1871 models.py:2769 templates/sheet_ope.html:128
msgid "Description"
msgstr ""
-#: forms_common.py:796 models.py:2765
+#: forms_common.py:796 models.py:2771
msgid "Additional information"
msgstr ""
-#: forms_common.py:798 forms_common.py:830 models.py:2767
+#: forms_common.py:798 forms_common.py:830 models.py:2773
msgid "Has a duplicate"
msgstr ""
@@ -462,7 +462,7 @@ msgid ""
"p>"
msgstr ""
-#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2693
+#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2699
#: templates/ishtar/wizard/wizard_person_deletion.html:124
msgid "Author"
msgstr ""
@@ -475,7 +475,7 @@ msgstr ""
msgid "Would you like to delete this documentation?"
msgstr ""
-#: forms_common.py:856 models.py:1998 models.py:2681 models.py:2690
+#: forms_common.py:856 models.py:2004 models.py:2687 models.py:2696
msgid "Author type"
msgstr ""
@@ -487,7 +487,7 @@ msgstr ""
msgid "There are identical authors."
msgstr ""
-#: forms_common.py:893 models.py:2694 models.py:2746
+#: forms_common.py:893 models.py:2700 models.py:2752
#: templates/sheet_ope.html:106
#: templates/ishtar/blocks/window_tables/documents.html:9
msgid "Authors"
@@ -505,7 +505,7 @@ msgstr ""
msgid "Deletion"
msgstr ""
-#: ishtar_menu.py:39 models.py:1155 views.py:1513
+#: ishtar_menu.py:39 models.py:1161 views.py:1514
msgid "Global variables"
msgstr ""
@@ -533,15 +533,15 @@ msgstr ""
msgid "Manual merge"
msgstr ""
-#: ishtar_menu.py:109 models.py:2165
+#: ishtar_menu.py:109 models.py:2171
msgid "Imports"
msgstr ""
-#: ishtar_menu.py:112 views.py:1521
+#: ishtar_menu.py:112 views.py:1522
msgid "New import"
msgstr ""
-#: ishtar_menu.py:116 views.py:1535
+#: ishtar_menu.py:116 views.py:1536
msgid "Current imports"
msgstr ""
@@ -561,7 +561,7 @@ msgstr ""
msgid "This item already exists."
msgstr ""
-#: models.py:318 models.py:626 models.py:1394 models.py:1406 models.py:1820
+#: models.py:318 models.py:632 models.py:1400 models.py:1412 models.py:1826
msgid "Label"
msgstr ""
@@ -569,192 +569,192 @@ msgstr ""
msgid "Textual ID"
msgstr ""
-#: models.py:323 models.py:629 models.py:1363
+#: models.py:323 models.py:635 models.py:1369
msgid "Available"
msgstr ""
-#: models.py:648 models.py:1937
+#: models.py:654 models.py:1943
msgid "Key"
msgstr ""
-#: models.py:654
+#: models.py:660
msgid "Specific key to an import"
msgstr ""
-#: models.py:746
+#: models.py:752
msgid "Last editor"
msgstr ""
-#: models.py:749
+#: models.py:755
msgid "Creator"
msgstr ""
-#: models.py:891 models.py:2830
+#: models.py:897 models.py:2836
msgid "Order"
msgstr ""
-#: models.py:892
+#: models.py:898
msgid "Symmetrical"
msgstr ""
-#: models.py:893
+#: models.py:899
msgid "Tiny label"
msgstr ""
-#: models.py:907
+#: models.py:913
msgid "Cannot have symmetrical and an inverse_relation"
msgstr ""
-#: models.py:1021
+#: models.py:1027
msgid "Euro"
msgstr ""
-#: models.py:1022
+#: models.py:1028
msgid "US dollar"
msgstr ""
-#: models.py:1028 models.py:1647
+#: models.py:1034 models.py:1653
msgid "Slug"
msgstr ""
-#: models.py:1030
+#: models.py:1036
msgid "Files module"
msgstr ""
-#: models.py:1031
+#: models.py:1037
msgid "Context records module"
msgstr ""
-#: models.py:1033
+#: models.py:1039
msgid "Finds module"
msgstr ""
-#: models.py:1034
+#: models.py:1040
msgid "Need context records module"
msgstr ""
-#: models.py:1036
+#: models.py:1042
msgid "Warehouses module"
msgstr ""
-#: models.py:1037
+#: models.py:1043
msgid "Need finds module"
msgstr ""
-#: models.py:1039
+#: models.py:1045
msgid "Home page"
msgstr ""
-#: models.py:1040
+#: models.py:1046
#, 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:1044
+#: models.py:1050
msgid "File external id"
msgstr ""
-#: models.py:1046
+#: models.py:1052
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:1051
+#: models.py:1057
msgid "Parcel external id"
msgstr ""
-#: models.py:1054
+#: models.py:1060
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:1059
+#: models.py:1065
msgid "Context record external id"
msgstr ""
-#: models.py:1061
+#: models.py:1067
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:1066
+#: models.py:1072
msgid "Base find external id"
msgstr ""
-#: models.py:1068
+#: models.py:1074
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:1073
+#: models.py:1079
msgid "Find external id"
msgstr ""
-#: models.py:1075
+#: models.py:1081
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:1080
+#: models.py:1086
msgid "Raw name for person"
msgstr ""
-#: models.py:1082
+#: models.py:1088
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:1086
+#: models.py:1092
msgid "Current active"
msgstr ""
-#: models.py:1087
+#: models.py:1093
msgid "Currency"
msgstr ""
-#: models.py:1091
+#: models.py:1097
msgid "Ishtar site profile"
msgstr ""
-#: models.py:1092
+#: models.py:1098
msgid "Ishtar site profiles"
msgstr ""
-#: models.py:1148
+#: models.py:1154
msgid "Variable name"
msgstr ""
-#: models.py:1149
+#: models.py:1155
msgid "Description of the variable"
msgstr ""
-#: models.py:1151 models.py:1938
+#: models.py:1157 models.py:1944
msgid "Value"
msgstr ""
-#: models.py:1154
+#: models.py:1160
msgid "Global variable"
msgstr ""
-#: models.py:1264 models.py:1294
+#: models.py:1270 models.py:1300
msgid "Total"
msgstr ""
-#: models.py:1271 models.py:1395 models.py:1407
+#: models.py:1277 models.py:1401 models.py:1413
#: templates/ishtar/sheet_person.html:22
#: templates/ishtar/dashboards/dashboard_main_detail.html:141
#: templates/ishtar/dashboards/dashboard_main_detail_users.html:26
@@ -762,609 +762,609 @@ msgstr ""
msgid "Number"
msgstr ""
-#: models.py:1358
+#: models.py:1364
msgid "Administrative Act"
msgstr ""
-#: models.py:1362
+#: models.py:1368
msgid "Associated object"
msgstr ""
-#: models.py:1366
+#: models.py:1372
msgid "Document template"
msgstr ""
-#: models.py:1367
+#: models.py:1373
msgid "Document templates"
msgstr ""
-#: models.py:1398 models.py:1408 models.py:2149
+#: models.py:1404 models.py:1414 models.py:2155
msgid "State"
msgstr ""
-#: models.py:1412 templates/blocks/JQueryAdvancedTown.html:12
+#: models.py:1418 templates/blocks/JQueryAdvancedTown.html:12
msgid "Department"
msgstr ""
-#: models.py:1413
+#: models.py:1419
msgid "Departments"
msgstr ""
-#: models.py:1450
+#: models.py:1456
msgid "Raw phone"
msgstr ""
-#: models.py:1456
+#: models.py:1462
msgid "Alternative address is prefered"
msgstr ""
-#: models.py:1495
+#: models.py:1501
msgid "Tel: "
msgstr ""
-#: models.py:1499
+#: models.py:1505
msgid "Mobile: "
msgstr ""
-#: models.py:1503
+#: models.py:1509
msgid "Email: "
msgstr ""
-#: models.py:1508
+#: models.py:1514
msgid "Merge key"
msgstr ""
-#: models.py:1582
+#: models.py:1588
msgid "Organization types"
msgstr ""
-#: models.py:1601 views.py:237
+#: models.py:1607 views.py:237
msgid "Operation"
msgstr ""
-#: models.py:1603
+#: models.py:1609
msgid "Archaeological site"
msgstr ""
-#: models.py:1604
+#: models.py:1610
msgid "Parcels"
msgstr ""
-#: models.py:1606
+#: models.py:1612
msgid "Operation source"
msgstr ""
-#: models.py:1609 views.py:1329 views.py:1379
+#: models.py:1615 views.py:1330 views.py:1380
msgid "Archaeological files"
msgstr ""
-#: models.py:1611 views.py:1332 views.py:1387
+#: models.py:1617 views.py:1333 views.py:1388
msgid "Context records"
msgstr ""
-#: models.py:1613
+#: models.py:1619
msgid "Context record relations"
msgstr ""
-#: models.py:1615
+#: models.py:1621
msgid "Base finds"
msgstr ""
-#: models.py:1651 templates/ishtar/dashboards/dashboard_main.html:25
+#: models.py:1657 templates/ishtar/dashboards/dashboard_main.html:25
msgid "Users"
msgstr ""
-#: models.py:1653
+#: models.py:1659
msgid "Associated model"
msgstr ""
-#: models.py:1656
+#: models.py:1662
msgid "Is template"
msgstr ""
-#: models.py:1657
+#: models.py:1663
msgid "Unicity keys (separator \";\")"
msgstr ""
-#: models.py:1661
+#: models.py:1667
msgid "Importer - Type"
msgstr ""
-#: models.py:1662
+#: models.py:1668
msgid "Importer - Types"
msgstr ""
-#: models.py:1752
+#: models.py:1758
msgid "Importer - Default"
msgstr ""
-#: models.py:1753
+#: models.py:1759
msgid "Importer - Defaults"
msgstr ""
-#: models.py:1788
+#: models.py:1794
msgid "Importer - Default value"
msgstr ""
-#: models.py:1789
+#: models.py:1795
msgid "Importer - Default values"
msgstr ""
-#: models.py:1822
+#: models.py:1828
msgid "Column number"
msgstr ""
-#: models.py:1825
+#: models.py:1831
msgid "Required"
msgstr ""
-#: models.py:1828
+#: models.py:1834
msgid "Importer - Column"
msgstr ""
-#: models.py:1829
+#: models.py:1835
msgid "Importer - Columns"
msgstr ""
-#: models.py:1849
+#: models.py:1855
msgid "Field name"
msgstr ""
-#: models.py:1851 models.py:1885
+#: models.py:1857 models.py:1891
msgid "Force creation of new items"
msgstr ""
-#: models.py:1853 models.py:1887
+#: models.py:1859 models.py:1893
msgid "Concatenate with existing"
msgstr ""
-#: models.py:1855 models.py:1889
+#: models.py:1861 models.py:1895
msgid "Concatenate character"
msgstr ""
-#: models.py:1859
+#: models.py:1865
msgid "Importer - Duplicate field"
msgstr ""
-#: models.py:1860
+#: models.py:1866
msgid "Importer - Duplicate fields"
msgstr ""
-#: models.py:1867
+#: models.py:1873
msgid "Regular expression"
msgstr ""
-#: models.py:1870
+#: models.py:1876
msgid "Importer - Regular expression"
msgstr ""
-#: models.py:1871
+#: models.py:1877
msgid "Importer - Regular expressions"
msgstr ""
-#: models.py:1894
+#: models.py:1900
msgid "Importer - Target"
msgstr ""
-#: models.py:1895
+#: models.py:1901
msgid "Importer - Targets"
msgstr ""
-#: models.py:1919 views.py:520
+#: models.py:1925 views.py:520
msgid "True"
msgstr ""
-#: models.py:1920 views.py:522
+#: models.py:1926 views.py:522
msgid "False"
msgstr ""
-#: models.py:1939
+#: models.py:1945
msgid "Is set"
msgstr ""
-#: models.py:1946
+#: models.py:1952
msgid "Importer - Target key"
msgstr ""
-#: models.py:1947
+#: models.py:1953
msgid "Importer - Targets keys"
msgstr ""
-#: models.py:1999 models.py:2729 models.py:2742
+#: models.py:2005 models.py:2735 models.py:2748
msgid "Format"
msgstr ""
-#: models.py:2000 models.py:2834
+#: models.py:2006 models.py:2840
msgid "Operation type"
msgstr ""
-#: models.py:2001
+#: models.py:2007
msgid "Period"
msgstr ""
-#: models.py:2002
+#: models.py:2008
msgid "Report state"
msgstr ""
-#: models.py:2003
+#: models.py:2009
msgid "Remain type"
msgstr ""
-#: models.py:2004
+#: models.py:2010
msgid "Unit"
msgstr ""
-#: models.py:2005
+#: models.py:2011
msgid "Activity type"
msgstr ""
-#: models.py:2006
+#: models.py:2012
msgid "Material"
msgstr ""
-#: models.py:2008
+#: models.py:2014
msgid "Conservatory state"
msgstr ""
-#: models.py:2009
+#: models.py:2015
msgid "Preservation type"
msgstr ""
-#: models.py:2010
+#: models.py:2016
msgid "Object type"
msgstr ""
-#: models.py:2012
+#: models.py:2018
msgid "Identification type"
msgstr ""
-#: models.py:2014
+#: models.py:2020
msgid "Context record relation type"
msgstr ""
-#: models.py:2015 models.py:2721
+#: models.py:2021 models.py:2727
msgid "Support type"
msgstr ""
-#: models.py:2021
+#: models.py:2027
msgid "Integer"
msgstr ""
-#: models.py:2022
+#: models.py:2028
msgid "Float"
msgstr ""
-#: models.py:2023
+#: models.py:2029
msgid "String"
msgstr ""
-#: models.py:2024 templates/sheet_ope.html:86
+#: models.py:2030 templates/sheet_ope.html:86
msgid "Date"
msgstr ""
-#: models.py:2026 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83
+#: models.py:2032 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83
#: templates/ishtar/dashboards/dashboard_main_detail.html:126
msgid "Year"
msgstr ""
-#: models.py:2027
+#: models.py:2033
msgid "String to boolean"
msgstr ""
-#: models.py:2028
+#: models.py:2034
msgctxt "filesystem"
msgid "File"
msgstr ""
-#: models.py:2029
+#: models.py:2035
msgid "Unknow type"
msgstr ""
-#: models.py:2045
+#: models.py:2051
msgid "4 digit year. e.g.: \"2015\""
msgstr ""
-#: models.py:2046
+#: models.py:2052
msgid "4 digit year/month/day. e.g.: \"2015/02/04\""
msgstr ""
-#: models.py:2047
+#: models.py:2053
msgid "Day/month/4 digit year. e.g.: \"04/02/2015\""
msgstr ""
-#: models.py:2057
+#: models.py:2063
msgid "Options"
msgstr ""
-#: models.py:2059
+#: models.py:2065
msgid "Split character(s)"
msgstr ""
-#: models.py:2063
+#: models.py:2069
msgid "Importer - Formater type"
msgstr ""
-#: models.py:2064
+#: models.py:2070
msgid "Importer - Formater types"
msgstr ""
-#: models.py:2113 templates/ishtar/dashboards/dashboard_main_detail.html:63
+#: models.py:2119 templates/ishtar/dashboards/dashboard_main_detail.html:63
msgid "Created"
msgstr ""
-#: models.py:2114
+#: models.py:2120
msgid "Analyse in progress"
msgstr ""
-#: models.py:2115
+#: models.py:2121
msgid "Analysed"
msgstr ""
-#: models.py:2116
+#: models.py:2122
msgid "Import pending"
msgstr ""
-#: models.py:2117
+#: models.py:2123
msgid "Import in progress"
msgstr ""
-#: models.py:2118
+#: models.py:2124
msgid "Finished with errors"
msgstr ""
-#: models.py:2119
+#: models.py:2125
msgid "Finished"
msgstr ""
-#: models.py:2120
+#: models.py:2126
msgid "Archived"
msgstr ""
-#: models.py:2132
+#: models.py:2138
msgid "Imported file"
msgstr ""
-#: models.py:2135
+#: models.py:2141
msgid "Associated images (zip file)"
msgstr ""
-#: models.py:2137
+#: models.py:2143
msgid "Encoding"
msgstr ""
-#: models.py:2139
+#: models.py:2145
msgid "Skip lines"
msgstr ""
-#: models.py:2140 templates/ishtar/import_list.html:47
+#: models.py:2146 templates/ishtar/import_list.html:47
msgid "Error file"
msgstr ""
-#: models.py:2143
+#: models.py:2149
msgid "Result file"
msgstr ""
-#: models.py:2146 templates/ishtar/import_list.html:53
+#: models.py:2152 templates/ishtar/import_list.html:53
msgid "Match file"
msgstr ""
-#: models.py:2152
+#: models.py:2158
msgid "Conservative import"
msgstr ""
-#: models.py:2157
+#: models.py:2163
msgid "End date"
msgstr ""
-#: models.py:2159
+#: models.py:2165
msgid "Remaining seconds"
msgstr ""
-#: models.py:2164
+#: models.py:2170
msgid "Import"
msgstr ""
-#: models.py:2181
+#: models.py:2187
msgid "Analyse"
msgstr ""
-#: models.py:2183 models.py:2186
+#: models.py:2189 models.py:2192
msgid "Re-analyse"
msgstr ""
-#: models.py:2184
+#: models.py:2190
msgid "Launch import"
msgstr ""
-#: models.py:2187
+#: models.py:2193
msgid "Re-import"
msgstr ""
-#: models.py:2188
+#: models.py:2194
msgid "Archive"
msgstr ""
-#: models.py:2190
+#: models.py:2196
msgid "Unarchive"
msgstr ""
-#: models.py:2191 widgets.py:110 templates/ishtar/form_delete.html:11
+#: models.py:2197 widgets.py:129 templates/ishtar/form_delete.html:11
msgid "Delete"
msgstr ""
-#: models.py:2332
+#: models.py:2338
msgid "Organizations"
msgstr ""
-#: models.py:2334
+#: models.py:2340
msgid "Can view all Organizations"
msgstr ""
-#: models.py:2335
+#: models.py:2341
msgid "Can view own Organization"
msgstr ""
-#: models.py:2336
+#: models.py:2342
msgid "Can add own Organization"
msgstr ""
-#: models.py:2338
+#: models.py:2344
msgid "Can change own Organization"
msgstr ""
-#: models.py:2340
+#: models.py:2346
msgid "Can delete own Organization"
msgstr ""
-#: models.py:2375
+#: models.py:2381
msgid "Groups"
msgstr ""
-#: models.py:2380
+#: models.py:2386
msgid "Person types"
msgstr ""
-#: models.py:2391
+#: models.py:2397
msgid "Title type"
msgstr ""
-#: models.py:2392
+#: models.py:2398
msgid "Title types"
msgstr ""
-#: models.py:2401
+#: models.py:2407
msgid "Mr"
msgstr ""
-#: models.py:2402
+#: models.py:2408
msgid "Miss"
msgstr ""
-#: models.py:2403
+#: models.py:2409
msgid "Mr and Mrs"
msgstr ""
-#: models.py:2404
+#: models.py:2410
msgid "Mrs"
msgstr ""
-#: models.py:2405
+#: models.py:2411
msgid "Doctor"
msgstr ""
-#: models.py:2435
+#: models.py:2441
msgid "Contact type"
msgstr ""
-#: models.py:2438 models.py:2502
+#: models.py:2444 models.py:2508
msgid "Types"
msgstr ""
-#: models.py:2441
+#: models.py:2447
msgid "Is attached to"
msgstr ""
-#: models.py:2446
+#: models.py:2452
msgid "Persons"
msgstr ""
-#: models.py:2448
+#: models.py:2454
msgid "Can view all Persons"
msgstr ""
-#: models.py:2449
+#: models.py:2455
msgid "Can view own Person"
msgstr ""
-#: models.py:2450
+#: models.py:2456
msgid "Can add own Person"
msgstr ""
-#: models.py:2451
+#: models.py:2457
msgid "Can change own Person"
msgstr ""
-#: models.py:2452
+#: models.py:2458
msgid "Can delete own Person"
msgstr ""
-#: models.py:2630
+#: models.py:2636
msgid "Advanced shortcut menu"
msgstr ""
-#: models.py:2633
+#: models.py:2639
msgid "Ishtar user"
msgstr ""
-#: models.py:2634
+#: models.py:2640
msgid "Ishtar users"
msgstr ""
-#: models.py:2676
+#: models.py:2682
msgid "To modify the password use the form in Auth > User"
msgstr ""
-#: models.py:2682
+#: models.py:2688
msgid "Author types"
msgstr ""
-#: models.py:2714
+#: models.py:2720
msgid "Source types"
msgstr ""
-#: models.py:2722
+#: models.py:2728
msgid "Support types"
msgstr ""
-#: models.py:2730
+#: models.py:2736
msgid "Formats"
msgstr ""
-#: models.py:2737
+#: models.py:2743
msgid "External ID"
msgstr ""
-#: models.py:2740
+#: models.py:2746
msgid "Support"
msgstr ""
-#: models.py:2744
+#: models.py:2750
msgid "Scale"
msgstr ""
-#: models.py:2758
+#: models.py:2764
msgid "Item number"
msgstr ""
-#: models.py:2759
+#: models.py:2765
msgid "Ref."
msgstr ""
-#: models.py:2762
+#: models.py:2768
msgid "Internal ref."
msgstr ""
-#: models.py:2805
+#: models.py:2811
msgid "Surface (m2)"
msgstr ""
-#: models.py:2806 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
+#: models.py:2812 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
msgid "Localisation"
msgstr ""
-#: models.py:2831
+#: models.py:2837
msgid "Is preventive"
msgstr ""
-#: models.py:2835
+#: models.py:2841
msgid "Operation types"
msgstr ""
-#: models.py:2864
+#: models.py:2870
msgid "Preventive"
msgstr ""
-#: models.py:2865
+#: models.py:2871
msgid "Research"
msgstr ""
@@ -1420,64 +1420,64 @@ msgstr ""
msgid "Find"
msgstr ""
-#: views.py:1268 views.py:1311
+#: views.py:1269 views.py:1312
msgid "Operation not permitted."
msgstr ""
-#: views.py:1270
+#: views.py:1271
#, python-format
msgid "New %s"
msgstr ""
-#: views.py:1330 views.py:1383
+#: views.py:1331 views.py:1384
msgid "Operations"
msgstr ""
-#: views.py:1334 views.py:1390
+#: views.py:1335 views.py:1391
msgid "Finds"
msgstr ""
-#: views.py:1582 templates/ishtar/import_list.html:43
+#: views.py:1583 templates/ishtar/import_list.html:43
msgid "Link unmatched items"
msgstr ""
-#: views.py:1597
+#: views.py:1598
msgid "Delete import"
msgstr ""
-#: views.py:1636
+#: views.py:1637
msgid "Merge persons"
msgstr ""
-#: views.py:1660
+#: views.py:1661
msgid "Select the main person"
msgstr ""
-#: views.py:1669
+#: views.py:1670
msgid "Merge organization"
msgstr ""
-#: views.py:1679
+#: views.py:1680
msgid "Select the main organization"
msgstr ""
-#: views.py:1719 views.py:1735
+#: views.py:1720 views.py:1736
msgid "Corporation manager"
msgstr ""
-#: widgets.py:239 widgets.py:346 widgets.py:461
+#: widgets.py:258 widgets.py:365 widgets.py:480
msgid "Search..."
msgstr ""
-#: widgets.py:643 templatetags/window_tables.py:81
+#: widgets.py:671 templatetags/window_tables.py:85
msgid "No results"
msgstr ""
-#: widgets.py:644 templatetags/window_tables.py:82
+#: widgets.py:672 templatetags/window_tables.py:86
msgid "Loading..."
msgstr ""
-#: widgets.py:645
+#: widgets.py:673
msgid "Remove"
msgstr ""
@@ -1489,7 +1489,7 @@ msgstr ""
msgid "No"
msgstr ""
-#: wizards.py:1274
+#: wizards.py:1298
#, python-format
msgid "[%(app_name)s] Account creation/modification"
msgstr ""
@@ -1937,7 +1937,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"
@@ -2330,7 +2330,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
@@ -2338,7 +2338,7 @@ 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."
diff --git a/translations/fr/archaeological_context_records.po b/translations/fr/archaeological_context_records.po
index 4a9a99f8c..474161ec8 100644
--- a/translations/fr/archaeological_context_records.po
+++ b/translations/fr/archaeological_context_records.po
@@ -5,13 +5,15 @@
# Valérie-Emma Leroux , 2016. #zanata
msgid ""
msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-12-16 16:37+0100\n"
"PO-Revision-Date: 2016-11-14 05:46-0500\n"
"Last-Translator: Valérie-Emma Leroux \n"
"Language-Team: \n"
"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
diff --git a/translations/fr/archaeological_files.po b/translations/fr/archaeological_files.po
index 2a2c1bdcb..fa89733ff 100644
--- a/translations/fr/archaeological_files.po
+++ b/translations/fr/archaeological_files.po
@@ -7,13 +7,15 @@
# Étienne Loks , 2016. #zanata
msgid ""
msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-12-16 16:37+0100\n"
"PO-Revision-Date: 2016-11-15 04:16-0500\n"
"Last-Translator: Étienne Loks \n"
"Language-Team: \n"
"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
@@ -257,7 +259,7 @@ msgstr "Dossier : responsable"
msgid "File permit reference"
msgstr "Dossier : réf. du permis"
-#: ishtar_menu.py:33 models.py:220 wizards.py:154 wizards.py:164
+#: ishtar_menu.py:33 models.py:220 wizards.py:155 wizards.py:165
#: templates/ishtar/sheet_file.html:4
msgid "Archaeological file"
msgstr "Dossier"
diff --git a/translations/fr/archaeological_files_pdl.po b/translations/fr/archaeological_files_pdl.po
index 949555adc..3aad0a7f8 100644
--- a/translations/fr/archaeological_files_pdl.po
+++ b/translations/fr/archaeological_files_pdl.po
@@ -5,13 +5,15 @@
# Valérie-Emma Leroux , 2016. #zanata
msgid ""
msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-12-16 16:37+0100\n"
"PO-Revision-Date: 2016-11-14 05:33-0500\n"
"Last-Translator: Copied by Zanata \n"
"Language-Team: \n"
"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"X-Generator: Zanata 3.9.6\n"
diff --git a/translations/fr/archaeological_finds.po b/translations/fr/archaeological_finds.po
index 320ad2ebb..b9be16973 100644
--- a/translations/fr/archaeological_finds.po
+++ b/translations/fr/archaeological_finds.po
@@ -6,147 +6,153 @@
# Étienne Loks , 2016. #zanata
msgid ""
msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-12-16 16:37+0100\n"
"PO-Revision-Date: 2016-12-12 02:55-0500\n"
"Last-Translator: Étienne Loks \n"
"Language-Team: \n"
"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
-#: forms.py:55 forms.py:59 wizards.py:60
+#: forms.py:88 forms.py:92 wizards.py:63
msgid "Context record"
msgstr "Unité d'Enregistrement"
-#: forms.py:88 ishtar_menu.py:31 models.py:451 models.py:771 models.py:942
-#: models.py:1104 templates/ishtar/sheet_find.html:5
+#: forms.py:121 ishtar_menu.py:32 models_finds.py:449 models_finds.py:772
+#: models_finds.py:781 models_treatments.py:213
+#: templates/ishtar/sheet_find.html:5
msgid "Find"
msgstr "Mobilier"
-#: forms.py:99 forms.py:230 forms.py:454 models.py:129 models.py:382
+#: forms.py:132 forms.py:263 forms.py:487 models_finds.py:127
+#: models_finds.py:380
msgid "Free ID"
msgstr "ID libre"
-#: forms.py:101 models.py:437
+#: forms.py:134 models_finds.py:435
msgid "Previous ID"
msgstr "Identifiant précédent"
-#: forms.py:102 forms.py:262 forms.py:687 models.py:133 models.py:383
-#: models.py:841
+#: forms.py:135 forms.py:295 forms_treatments.py:130 models_finds.py:131
+#: models_finds.py:381 models_treatments.py:104
msgid "Description"
msgstr "Description"
-#: forms.py:105 forms.py:264 models.py:144
+#: forms.py:138 forms.py:297 models_finds.py:142
msgid "Batch/object"
msgstr "Lot/objet"
-#: forms.py:107 models.py:411
+#: forms.py:140 models_finds.py:409
msgid "Is complete?"
msgstr "Est complet ?"
-#: forms.py:110 forms.py:252 forms.py:458 models.py:52
+#: forms.py:143 forms.py:285 forms.py:491 models_finds.py:50
msgid "Material type"
msgstr "Type de matériau"
-#: forms.py:111 forms.py:256 models.py:64 models.py:387
+#: forms.py:144 forms.py:289 models_finds.py:62 models_finds.py:385
msgid "Conservatory state"
msgstr "État sanitaire"
-#: forms.py:114 models.py:389
+#: forms.py:147 models_finds.py:387
msgid "Conservatory comment"
msgstr "Commentaire relatif à la conservation"
-#: forms.py:117 models.py:104 models.py:414
+#: forms.py:150 models_finds.py:102 models_finds.py:412
msgid "Object types"
msgstr "Types d'objet"
-#: forms.py:119 forms.py:255 models.py:73
+#: forms.py:152 forms.py:288 models_finds.py:71
msgid "Preservation type"
msgstr "Type de conservation"
-#: forms.py:122 forms.py:258 models.py:416
+#: forms.py:155 forms.py:291 models_finds.py:414
msgid "Integrity / interest"
msgstr "Intégrité / intérêt"
-#: forms.py:125 forms.py:260 models.py:419
+#: forms.py:158 forms.py:293 models_finds.py:417
msgid "Remarkability"
msgstr "Remarquabilité"
-#: forms.py:128 models.py:429
+#: forms.py:161 models_finds.py:427
msgid "Point of topographic reference"
msgstr "Point de référence topographique"
-#: forms.py:131 models.py:423
+#: forms.py:164 models_finds.py:421
msgid "Length (cm)"
msgstr "Longueur (cm)"
-#: forms.py:132 models.py:424
+#: forms.py:165 models_finds.py:422
msgid "Width (cm)"
msgstr "Largeur (cm)"
-#: forms.py:133 models.py:425
+#: forms.py:166 models_finds.py:423
msgid "Height (cm)"
msgstr "Hauteur (cm)"
-#: forms.py:134 models.py:426
+#: forms.py:167 models_finds.py:424
msgid "Diameter (cm)"
msgstr "Diamètre (cm)"
-#: forms.py:135 models.py:427
+#: forms.py:168 models_finds.py:425
msgid "Thickness (cm)"
msgstr "Épaisseur (cm)"
-#: forms.py:136 forms.py:459 models.py:394
+#: forms.py:169 forms.py:492 models_finds.py:392
msgid "Volume (l)"
msgstr "Volume (l)"
-#: forms.py:137 forms.py:460 models.py:395
+#: forms.py:170 forms.py:493 models_finds.py:393
msgid "Weight (g)"
msgstr "Poids (g)"
-#: forms.py:139 models.py:431
+#: forms.py:172 models_finds.py:429
msgid "Dimensions comment"
msgstr "Commentaire concernant les dimensions"
-#: forms.py:140 forms.py:461 models.py:398
+#: forms.py:173 forms.py:494 models_finds.py:396
msgid "Find number"
msgstr "Mobilier (en nombre)"
-#: forms.py:142 models.py:422
+#: forms.py:175 models_finds.py:420
msgid "Minimum number of individuals (MNI)"
msgstr "Nombre minimum d'individus (NMI)"
-#: forms.py:143 models.py:433
+#: forms.py:176 models_finds.py:431
msgid "Mark"
msgstr "Marque"
-#: forms.py:144 forms.py:266 models.py:439
+#: forms.py:177 forms.py:299 models_finds.py:437
msgid "Check"
msgstr "Vérification"
-#: forms.py:146 models.py:441
+#: forms.py:179 models_finds.py:439
msgid "Check date"
msgstr "Date de vérification"
-#: forms.py:147 forms.py:685 models.py:134 models.py:434 models.py:840
+#: forms.py:180 forms_treatments.py:128 forms_treatments.py:409
+#: models_finds.py:132 models_finds.py:432 models_treatments.py:103
+#: models_treatments.py:401
msgid "Comment"
msgstr "Commentaires"
-#: forms.py:150 models.py:435
+#: forms.py:183 models_finds.py:433
msgid "Comment on dating"
msgstr "Commentaire général sur les datations"
-#: forms.py:151 models.py:443
+#: forms.py:184 models_finds.py:441
msgid "Estimated value"
msgstr "Valeur estimée"
-#: forms.py:153 forms.py:696
+#: forms.py:186 forms_treatments.py:139
msgid "Image"
msgstr "Image"
-#: forms.py:154 forms.py:697
+#: forms.py:187 forms_treatments.py:140
#, python-format
msgid ""
"Heavy images are resized to: %(width)dx%(height)d (ratio is preserved)."
@@ -155,210 +161,219 @@ msgstr ""
"
Les images trop grandes sont retaillées en : %(width)dx%(height)d (le "
"ratio est conservé).
"
-#: forms.py:193 forms.py:224 models.py:406
+#: forms.py:226 forms.py:257 models_finds.py:404
msgid "Dating"
msgstr "Datation"
-#: forms.py:198 forms.py:250
+#: forms.py:231 forms.py:283
msgid "Period"
msgstr "Période"
-#: forms.py:199 forms.py:691 models.py:843 models.py:955 models.py:1109
+#: forms.py:232 forms_treatments.py:134 forms_treatments.py:411
+#: models_finds.py:786 models_treatments.py:106 models_treatments.py:224
#: templates/ishtar/sheet_find.html:95 templates/ishtar/sheet_find.html:135
msgid "Start date"
msgstr "Date de début"
-#: forms.py:201 forms.py:693 models.py:844 models.py:956 models.py:1110
+#: forms.py:234 forms_treatments.py:136 models_finds.py:787
+#: models_treatments.py:107 models_treatments.py:225
#: templates/ishtar/sheet_find.html:96 templates/ishtar/sheet_find.html:136
msgid "End date"
msgstr "Date de fin"
-#: forms.py:202
+#: forms.py:235
msgid "Quality"
msgstr "Qualité"
-#: forms.py:204
+#: forms.py:237
msgid "Dating type"
msgstr "Type de datation"
-#: forms.py:206
+#: forms.py:239
msgid "Precise dating"
msgstr "Datation précise"
-#: forms.py:228 models.py:152
+#: forms.py:261 models_finds.py:150
msgid "Short ID"
msgstr "ID court"
-#: forms.py:229 models.py:155
+#: forms.py:262 models_finds.py:153
msgid "Complete ID"
msgstr "ID complet"
-#: forms.py:233 forms.py:610 forms.py:651 models.py:823
+#: forms.py:266 forms_treatments.py:53 forms_treatments.py:94
+#: forms_treatments.py:259 forms_treatments.py:331 forms_treatments.py:381
+#: forms_treatments.py:464 models_treatments.py:83 models_treatments.py:373
msgid "Year"
msgstr "Année"
-#: forms.py:235
+#: forms.py:268
msgid "Operation's number (index by year)"
msgstr "Numéro de l'opération (index par année)"
-#: forms.py:238
+#: forms.py:271
msgid "Code PATRIARCHE"
msgstr "Code PATRIARCHE"
-#: forms.py:242
+#: forms.py:275
msgid "Archaeological site"
msgstr "Entité archéologique"
-#: forms.py:248
+#: forms.py:281
msgid "Search within related operations"
msgstr "Rechercher parmi les opérations liées"
-#: forms.py:253 models.py:103
+#: forms.py:286 models_finds.py:101
msgid "Object type"
msgstr "Type d'objet"
-#: forms.py:267 forms.py:613
+#: forms.py:300 forms_treatments.py:56
msgid "Has an image?"
msgstr "Dispose d'une image ?"
-#: forms.py:309 forms.py:322 views.py:73
+#: forms.py:342 forms.py:355 views.py:125
msgid "Find search"
msgstr "Rechercher un mobilier"
-#: forms.py:336 templates/ishtar/sheet_treatment.html:36
+#: forms.py:369 templates/ishtar/sheet_treatment.html:36
msgid "Upstream finds"
msgstr "Mobilier amont"
-#: forms.py:338 models.py:452
+#: forms.py:371 models_finds.py:450
msgid "Finds"
msgstr "Mobilier"
-#: forms.py:348
+#: forms.py:381
msgid "You should at least select one archaeological find."
msgstr "Vous devez sélectionner au moins un mobilier archéologique."
-#: forms.py:451
+#: forms.py:484
msgid "Resulting find"
msgstr "Mobilier résultant"
-#: forms.py:456
+#: forms.py:489
msgid "Precise description"
msgstr "Description précise"
-#: forms.py:471
+#: forms.py:504
msgid "Resulting finds"
msgstr "Mobiliers résultants"
-#: forms.py:476
+#: forms.py:509
msgid "Would you like to delete this find?"
msgstr "Voulez-vous supprimer ce mobilier ?"
-#: forms.py:480 models.py:816
+#: forms.py:513 models_treatments.py:76
msgid "Upstream find"
msgstr "Mobilier amont"
-#: forms.py:493
+#: forms.py:526
msgid "Archaeological find search"
msgstr "Rechercher un mobilier"
-#: forms.py:495
+#: forms.py:528
msgid "You should select an archaeological find."
msgstr "Vous devez sélectionner du mobilier."
-#: forms.py:500
+#: forms.py:533
msgid "Year of the operation"
msgstr "Année de l'opération"
-#: forms.py:502
+#: forms.py:535
msgid "Numeric reference"
msgstr "Référence numérique"
-#: forms.py:509
+#: forms.py:542
msgid "Period of the archaeological find"
msgstr "Période du mobilier"
-#: forms.py:511
+#: forms.py:544
msgid "Material type of the archaeological find"
msgstr "Type de matériau du mobilier"
-#: forms.py:513
+#: forms.py:546
msgid "Description of the archaeological find"
msgstr "Description du mobilier"
-#: forms.py:525
+#: forms.py:558 forms_treatments.py:563 forms_treatments.py:587
msgid "Documentation search"
msgstr "Rechercher une documentation"
-#: forms.py:527
+#: forms.py:560 forms_treatments.py:565 forms_treatments.py:589
msgid "You should select a document."
msgstr "Vous devez sélectionner un document."
-#: forms.py:544
+#: forms.py:577
msgid "Another basket already exists with this name."
msgstr "Un autre panier existant utilise déjà ce nom."
-#: forms.py:554 forms.py:558 forms.py:713 ishtar_menu.py:55
+#: forms.py:587 forms.py:591 forms_treatments.py:156 ishtar_menu.py:56
msgid "Basket"
msgstr "Panier"
-#: forms.py:608 forms.py:647 models.py:819 templates/ishtar/sheet_find.html:90
-#: templates/ishtar/sheet_find.html:130
+#: forms_treatments.py:51 forms_treatments.py:90 models_treatments.py:79
+#: templates/ishtar/sheet_find.html:90 templates/ishtar/sheet_find.html:130
msgid "Label"
msgstr "Intitulé"
-#: forms.py:609 forms.py:650 models.py:821
+#: forms_treatments.py:52 forms_treatments.py:93 models_treatments.py:81
msgid "Other ref."
msgstr "Autre réf."
-#: forms.py:611 forms.py:769 models.py:824
+#: forms_treatments.py:54 forms_treatments.py:212 forms_treatments.py:260
+#: forms_treatments.py:323 forms_treatments.py:332 forms_treatments.py:434
+#: forms_treatments.py:465 forms_treatments.py:530 models_treatments.py:85
+#: models_treatments.py:375
msgid "Index"
msgstr "Index"
-#: forms.py:612 forms.py:656 models.py:793 models.py:826 models.py:954
+#: forms_treatments.py:55 forms_treatments.py:99 forms_treatments.py:276
+#: forms_treatments.py:551 models_treatments.py:53 models_treatments.py:89
+#: models_treatments.py:223
msgid "Treatment type"
msgstr "Type de traitement"
-#: forms.py:624 views.py:302
+#: forms_treatments.py:67 forms_treatments.py:533 views.py:355
msgid "Treatment search"
msgstr "Rechercher un traitement"
-#: forms.py:636
+#: forms_treatments.py:79
msgid "Base treatment"
msgstr "Traitement de base"
-#: forms.py:658
+#: forms_treatments.py:101
msgid "Target"
msgstr "Destination"
-#: forms.py:660 models.py:833
+#: forms_treatments.py:103 forms_treatments.py:392 models_treatments.py:96
msgid "Responsible"
msgstr "Responsable"
-#: forms.py:666 models.py:836
+#: forms_treatments.py:109 models_treatments.py:99
msgid "Organization"
msgstr "Organisation"
-#: forms.py:672 models.py:828 models.py:957
+#: forms_treatments.py:115 models_treatments.py:91 models_treatments.py:226
msgid "Location"
msgstr "Lieu"
-#: forms.py:678
+#: forms_treatments.py:121
msgid "Container (relevant for packaging)"
msgstr "Conteneur (pertinent dans le cadre du conditionnement)"
-#: forms.py:684
+#: forms_treatments.py:127 forms_treatments.py:388
msgid "External ref."
msgstr "Réf. externe"
-#: forms.py:689 models.py:842
+#: forms_treatments.py:132 models_treatments.py:105
msgid "Goal"
msgstr "But"
-#: forms.py:713
+#: forms_treatments.py:156
msgid "Single find"
msgstr "Mobilier isolé"
-#: forms.py:741
+#: forms_treatments.py:184
msgid ""
"The container field is attached to the treatment. If no packaging treatment "
"is done it is not relevant."
@@ -366,20 +381,32 @@ msgstr ""
"Le champ concernant le conteneur est rattaché au traitement. Si aucun "
"conditionnement n'est réalisé, il n'est pas pertinent."
-#: forms.py:746
+#: forms_treatments.py:189
msgid "If a packaging treatment is done, the container field must be filled."
msgstr ""
"Si un conditionnement est fait, le champ du conteneur doit être rempli."
-#: forms.py:750
+#: forms_treatments.py:193
msgid "A responsible or an organization must be defined."
msgstr "Un responsable ou une organisation doit être défini."
-#: forms.py:782
+#: forms_treatments.py:231
msgid "Another treatment with this index exists for {}."
msgstr "Un autre traitement avec cet index existe pour {}."
-#: forms.py:789
+#: forms_treatments.py:237
+#, fuzzy
+msgid "Associated file"
+msgstr "Mobilier de base associé"
+
+#: forms_treatments.py:241 forms_treatments.py:372 ishtar_menu.py:107
+#: models_treatments.py:406 models_treatments.py:471 wizards.py:182
+#: templates/ishtar/sheet_treatmentfile.html:5
+#, fuzzy
+msgid "Treatment file"
+msgstr "Type de traitement"
+
+#: forms_treatments.py:250
msgid ""
"Are you sure you want to delete this treatment? All modification made to the "
"associated finds since this treatment record will be lost!"
@@ -388,453 +415,735 @@ msgstr ""
"sur le mobilier associé réalisées depuis l'enregistrement de ce traitement "
"seront perdues !"
-#: forms.py:792
+#: forms_treatments.py:253
msgid "Would you like to delete this treatment?"
msgstr "Voulez-vous supprimer ce traitement ?"
-#: ishtar_menu.py:35 ishtar_menu.py:78 ishtar_menu.py:113
+#: forms_treatments.py:261 forms_treatments.py:309 forms_treatments.py:466
+#: forms_treatments.py:515
+#, fuzzy
+msgid "Act type"
+msgstr "Type d'objet"
+
+#: forms_treatments.py:262 forms_treatments.py:467
+#, fuzzy
+msgid "Indexed?"
+msgstr "Index"
+
+#: forms_treatments.py:263 forms_treatments.py:468 models_finds.py:120
+msgid "Object"
+msgstr "Objet"
+
+#: forms_treatments.py:267 forms_treatments.py:472
+msgid "Signature date after"
+msgstr ""
+
+#: forms_treatments.py:269 forms_treatments.py:474
+msgid "Signature date before"
+msgstr ""
+
+#: forms_treatments.py:271 forms_treatments.py:546
+#, fuzzy
+msgid "Treatment name"
+msgstr "Type de traitement"
+
+#: forms_treatments.py:272 forms_treatments.py:547
+#, fuzzy
+msgid "Treatment year"
+msgstr "Rechercher un traitement"
+
+#: forms_treatments.py:273 forms_treatments.py:548
+#, fuzzy
+msgid "Treatment index"
+msgstr "Type de traitement"
+
+#: forms_treatments.py:275 forms_treatments.py:550
+#, fuzzy
+msgid "Treatment internal reference"
+msgstr "Rechercher un traitement"
+
+#: forms_treatments.py:279 forms_treatments.py:484
+#, fuzzy
+msgid "Modified by"
+msgstr "Modifier"
+
+#: forms_treatments.py:329 forms_treatments.py:379 models_treatments.py:380
+msgid "Name"
+msgstr ""
+
+#: forms_treatments.py:330 forms_treatments.py:386
+#, fuzzy
+msgid "Internal ref."
+msgstr "Réf. externe"
+
+#: forms_treatments.py:333 forms_treatments.py:390 forms_treatments.py:481
+#: forms_treatments.py:575 models_treatments.py:362 models_treatments.py:381
+#, fuzzy
+msgid "Treatment file type"
+msgstr "Type de traitement"
+
+#: forms_treatments.py:335
+msgid "In charge"
+msgstr ""
+
+#: forms_treatments.py:341 forms_treatments.py:398 models_treatments.py:389
+msgid "Applicant"
+msgstr ""
+
+#: forms_treatments.py:347 forms_treatments.py:404 models_treatments.py:393
+#, fuzzy
+msgid "Applicant organisation"
+msgstr "Localisation topogaphique"
+
+#: forms_treatments.py:360 forms_treatments.py:538 views.py:458
+#, fuzzy
+msgid "Treatment file search"
+msgstr "Rechercher un traitement"
+
+#: forms_treatments.py:414 models_treatments.py:399
+msgid "Reception date"
+msgstr ""
+
+#: forms_treatments.py:417 models_treatments.py:395
+#, fuzzy
+msgid "Closing date"
+msgstr "Date de fin"
+
+#: forms_treatments.py:453
+#, fuzzy
+msgid "Another treatment file with this index exists for {}."
+msgstr "Un autre traitement avec cet index existe pour {}."
+
+#: forms_treatments.py:459
+#, fuzzy
+msgid "Are you sure you want to delete this treatment file?"
+msgstr "Voulez-vous supprimer ce traitement ?"
+
+#: forms_treatments.py:460
+#, fuzzy
+msgid "Would you like to delete this treatment file?"
+msgstr "Voulez-vous supprimer ce traitement ?"
+
+#: forms_treatments.py:476 forms_treatments.py:570
+#, fuzzy
+msgid "Treatment file name"
+msgstr "Supprimer un traitement"
+
+#: forms_treatments.py:477 forms_treatments.py:571
+#, fuzzy
+msgid "Treatment file year"
+msgstr "Rechercher un traitement"
+
+#: forms_treatments.py:478 forms_treatments.py:572
+#, fuzzy
+msgid "Treatment file index"
+msgstr "Supprimer un traitement"
+
+#: forms_treatments.py:480 forms_treatments.py:574
+msgid "Treatment file internal reference"
+msgstr ""
+
+#: forms_treatments.py:535
+#, fuzzy
+msgid "You should select an treatment."
+msgstr "Vous devez sélectionner un document."
+
+#: forms_treatments.py:541
+#, fuzzy
+msgid "You should select an treatment file."
+msgstr "Vous devez sélectionner un document."
+
+#: ishtar_menu.py:36 ishtar_menu.py:79 ishtar_menu.py:111 ishtar_menu.py:134
+#: ishtar_menu.py:158 ishtar_menu.py:190 ishtar_menu.py:214 ishtar_menu.py:238
msgid "Search"
msgstr "Recherche"
-#: ishtar_menu.py:40 ishtar_menu.py:58 ishtar_menu.py:83 ishtar_menu.py:118
+#: ishtar_menu.py:41 ishtar_menu.py:59 ishtar_menu.py:84 ishtar_menu.py:116
+#: ishtar_menu.py:138 ishtar_menu.py:163 ishtar_menu.py:195 ishtar_menu.py:218
+#: ishtar_menu.py:243
msgid "Creation"
msgstr "Ajout"
-#: ishtar_menu.py:45 ishtar_menu.py:88 ishtar_menu.py:123
+#: ishtar_menu.py:46 ishtar_menu.py:89 ishtar_menu.py:121 ishtar_menu.py:142
+#: ishtar_menu.py:168 ishtar_menu.py:200 ishtar_menu.py:223 ishtar_menu.py:248
msgid "Modification"
msgstr "Modification"
-#: ishtar_menu.py:50 ishtar_menu.py:69 ishtar_menu.py:93 ishtar_menu.py:128
+#: ishtar_menu.py:51 ishtar_menu.py:70 ishtar_menu.py:94 ishtar_menu.py:126
+#: ishtar_menu.py:145 ishtar_menu.py:173 ishtar_menu.py:205 ishtar_menu.py:226
+#: ishtar_menu.py:253
msgid "Deletion"
msgstr "Suppression"
-#: ishtar_menu.py:63
+#: ishtar_menu.py:64
msgid "Manage items"
msgstr "Gérer les éléments"
-#: ishtar_menu.py:75
+#: ishtar_menu.py:76
msgid "Documentation"
msgstr "Documentation"
-#: ishtar_menu.py:106 models.py:851 models.py:944 models.py:1096
-#: templates/ishtar/sheet_treatment.html:5
+#: ishtar_menu.py:131 ishtar_menu.py:211 models_finds.py:783
+msgid "Administrative act"
+msgstr "Acte administratif"
+
+#: ishtar_menu.py:149 ishtar_menu.py:230 templates/ishtar/sheet_find.html:204
+#: templates/ishtar/sheet_find.html:206
+msgid "Documents"
+msgstr "Documents"
+
+#: ishtar_menu.py:155 ishtar_menu.py:235
+msgid "Source"
+msgstr ""
+
+#: ishtar_menu.py:183 models_treatments.py:115 models_treatments.py:215
+#: models_treatments.py:455 templates/ishtar/sheet_treatment.html:5
msgid "Treatment"
msgstr "Traitement"
-#: ishtar_menu.py:110
+#: ishtar_menu.py:187
msgid "Simple treatments"
msgstr "Traitements simples"
-#: models.py:45
+#: models_finds.py:43
msgid "Code"
msgstr "Code"
-#: models.py:46
+#: models_finds.py:44
msgid "Recommendation"
msgstr "Recommandation"
-#: models.py:49
+#: models_finds.py:47
msgid "Parent material"
msgstr "Matériau parent"
-#: models.py:53 models.py:385
+#: models_finds.py:51 models_finds.py:383
msgid "Material types"
msgstr "Types de matériau"
-#: models.py:61
+#: models_finds.py:59
msgid "Parent conservatory state"
msgstr "État sanitaire - parent"
-#: models.py:65
+#: models_finds.py:63
msgid "Conservatory states"
msgstr "États sanitaires"
-#: models.py:74
+#: models_finds.py:72
msgid "Preservation types"
msgstr "Types de conservation"
-#: models.py:82
+#: models_finds.py:80
msgid "Integrity / interest type"
msgstr "Type d'intégrité / intérêt"
-#: models.py:83
+#: models_finds.py:81
msgid "Integrity / interest types"
msgstr "Types d'intégrité / intérêt"
-#: models.py:91
+#: models_finds.py:89
msgid "Remarkability type"
msgstr "Type de remarquabilité"
-#: models.py:92
+#: models_finds.py:90
msgid "Remarkability types"
msgstr "Types de remarquabilité"
-#: models.py:100
+#: models_finds.py:98
msgid "Parent"
msgstr "Parent"
-#: models.py:121
+#: models_finds.py:119
msgid "Unknow"
msgstr "Inconnu"
-#: models.py:122
-msgid "Object"
-msgstr "Objet"
-
-#: models.py:123
+#: models_finds.py:121
msgid "Batch"
msgstr "Lot"
-#: models.py:130 models.py:378 models.py:838
+#: models_finds.py:128 models_finds.py:376 models_treatments.py:101
+#: models_treatments.py:378
msgid "External ID"
msgstr "ID externe"
-#: models.py:132 models.py:380
+#: models_finds.py:130 models_finds.py:378
msgid "External ID is set automatically"
msgstr "L'identifiant externe est configuré automatiquement"
-#: models.py:136
+#: models_finds.py:134
msgid "Topographic localisation"
msgstr "Localisation topogaphique"
-#: models.py:137
+#: models_finds.py:135
msgid "Special interest"
msgstr "Intérêt spécifique"
-#: models.py:141
+#: models_finds.py:139
msgid "Context Record"
msgstr "Unité d'Enregistrement"
-#: models.py:142
+#: models_finds.py:140
msgid "Discovery date"
msgstr "Date de découverte"
-#: models.py:147
+#: models_finds.py:145
msgid "Material index"
msgstr "Index matériel"
-#: models.py:148
+#: models_finds.py:146
msgid "Point"
msgstr "Point"
-#: models.py:149
+#: models_finds.py:147
msgid "Line"
msgstr "Ligne"
-#: models.py:150
+#: models_finds.py:148
msgid "Polygon"
msgstr "Polygon"
-#: models.py:153 models.py:156
+#: models_finds.py:151 models_finds.py:154
msgid "Cached value - do not edit"
msgstr "Valeur en cache - ne pas éditer"
-#: models.py:161 models.py:376
+#: models_finds.py:159 models_finds.py:374
msgid "Base find"
msgstr "Mobilier de base"
-#: models.py:162
+#: models_finds.py:160
msgid "Base finds"
msgstr "Mobilier de base"
-#: models.py:164
+#: models_finds.py:162
msgid "Can view all Base finds"
msgstr "Peut voir tout le Mobilier de base"
-#: models.py:165
+#: models_finds.py:163
msgid "Can view own Base find"
msgstr "Peut voir son propre Mobilier de base"
-#: models.py:166
+#: models_finds.py:164
msgid "Can add own Base find"
msgstr "Peut ajouter son propre Mobilier de base"
-#: models.py:167
+#: models_finds.py:165
msgid "Can change own Base find"
msgstr "Peut modifier son propre Mobilier de base"
-#: models.py:168
+#: models_finds.py:166
msgid "Can delete own Base find"
msgstr "Peut supprimer son propre Mobilier de base"
-#: models.py:278
+#: models_finds.py:276
msgid "g"
msgstr "g"
-#: models.py:279
+#: models_finds.py:277
msgid "kg"
msgstr "kg"
-#: models.py:281
+#: models_finds.py:279
msgid "Not checked"
msgstr "Non vérifié"
-#: models.py:282
+#: models_finds.py:280
msgid "Checked but incorrect"
msgstr "Vérifié mais incorrect"
-#: models.py:283
+#: models_finds.py:281
msgid "Checked and correct"
msgstr "Vérifié et correct"
-#: models.py:316
+#: models_finds.py:314
msgid "Periods"
msgstr "Périodes"
-#: models.py:326
+#: models_finds.py:324
msgid "Base find - Short ID"
msgstr "Mobilier de base - ID court"
-#: models.py:327
+#: models_finds.py:325
msgid "Base find - Complete ID"
msgstr "Mobilier de base - ID complet"
-#: models.py:328
+#: models_finds.py:326
msgid "Base find - Comment"
msgstr "Mobilier de base - Commentaires"
-#: models.py:329
+#: models_finds.py:327
msgid "Base find - Description"
msgstr "Mobilier de base - Description"
-#: models.py:330
+#: models_finds.py:328
msgid "Base find - Topographic localisation"
msgstr "Mobilier de base - Localisation topographique"
-#: models.py:332
+#: models_finds.py:330
msgid "Base find - Special interest"
msgstr "Mobilier de base - Intérêt spécifique"
-#: models.py:333
+#: models_finds.py:331
msgid "Base find - Discovery date"
msgstr "Mobilier de base - Date de découverte"
-#: models.py:381 models.py:948
+#: models_finds.py:379 models_treatments.py:219
msgid "Order"
msgstr "Ordre"
-#: models.py:392
+#: models_finds.py:390
msgid "Type of preservation to consider"
msgstr "Mesures de conservation à envisager"
-#: models.py:396
+#: models_finds.py:394
msgid "Weight unit"
msgstr "Unité de poids"
-#: models.py:402 templates/ishtar/sheet_find.html:83
+#: models_finds.py:400 templates/ishtar/sheet_find.html:83
msgid "Upstream treatment"
msgstr "Traitement amont"
-#: models.py:405 templates/ishtar/sheet_find.html:123
+#: models_finds.py:403 templates/ishtar/sheet_find.html:123
msgid "Downstream treatment"
msgstr "Traitement aval"
-#: models.py:409 models.py:845 models.py:958
+#: models_finds.py:407 models_treatments.py:108 models_treatments.py:227
#: templates/ishtar/sheet_find.html:94 templates/ishtar/sheet_find.html:134
msgid "Container"
msgstr "Contenant"
-#: models.py:445
+#: models_finds.py:443 models_treatments.py:111 models_treatments.py:402
msgid "Cached name"
msgstr "Nom en cache"
-#: models.py:454
+#: models_finds.py:452
msgid "Can view all Finds"
msgstr "Peut voir tout le Mobilier"
-#: models.py:455
+#: models_finds.py:453
msgid "Can view own Find"
msgstr "Peut voir son propre Mobilier"
-#: models.py:456
+#: models_finds.py:454
msgid "Can add own Find"
msgstr "Peut ajouter son propre Mobilier"
-#: models.py:457
+#: models_finds.py:455
msgid "Can change own Find"
msgstr "Peut modifier son propre Mobilier"
-#: models.py:458
+#: models_finds.py:456
msgid "Can delete own Find"
msgstr "Peut supprimer son propre Mobilier"
-#: models.py:464
+#: models_finds.py:462
msgid "FIND"
msgstr "MOBILIER"
-#: models.py:769
+#: models_finds.py:770
msgid "Find documentation"
msgstr "Documentation de mobilier"
-#: models.py:770
+#: models_finds.py:771
msgid "Find documentations"
msgstr "Documentations de mobilier"
-#: models.py:780
+#: models_finds.py:784
+msgid "Person"
+msgstr "Individu"
+
+#: models_finds.py:790
+msgid "Property"
+msgstr "Propriété"
+
+#: models_finds.py:791
+msgid "Properties"
+msgstr "Propriétés"
+
+#: models_treatments.py:40
msgid "Virtual"
msgstr "Virtuel"
-#: models.py:782
+#: models_treatments.py:42
msgid "Upstream is many"
msgstr "Les éléments amont sont multiples"
-#: models.py:784
+#: models_treatments.py:44
msgid "Check this if for this treatment from many finds you'll get one."
msgstr ""
"Cochez cela si, pour ce traitement, à partir de plusieurs éléments vous en "
"obtenez un seul."
-#: models.py:787
+#: models_treatments.py:47
msgid "Downstream is many"
msgstr "Les éléments aval sont multiples"
-#: models.py:789
+#: models_treatments.py:49
msgid "Check this if for this treatment from one find you'll get many."
msgstr ""
"Cochez cela si, pour ce traitement, à partir d'un seul élément vous en "
"obtenez plusieurs."
-#: models.py:794
+#: models_treatments.py:54
msgid "Treatment types"
msgstr "Types de traitement"
-#: models.py:815
+#: models_treatments.py:75
msgid "Downstream find"
msgstr "Mobilier aval"
-#: models.py:830
+#: models_treatments.py:93
msgid "Location where the treatment is done. Target warehouse for a move."
msgstr ""
"Endroit où le traitement est réalisé. Renseignez le dépôt de destination "
"pour un déplacement."
-#: models.py:847
+#: models_treatments.py:110
msgid "Target a basket"
msgstr "Cibler un panier"
-#: models.py:852 templates/ishtar/sheet_find.html:80
+#: models_treatments.py:116 templates/ishtar/sheet_find.html:80
+#: templates/ishtar/sheet_treatmentfile.html:27
msgid "Treatments"
msgstr "Traitements"
-#: models.py:855
+#: models_treatments.py:119
msgid "Can view all Treatments"
msgstr "Peut voir tous les Traitements"
-#: models.py:856
+#: models_treatments.py:120
msgid "Can view own Treatment"
msgstr "Peut voir son propre Traitement"
-#: models.py:857
+#: models_treatments.py:121
msgid "Can add own Treatment"
msgstr "Peut ajouter son propre Traitement"
-#: models.py:858
+#: models_treatments.py:122
msgid "Can change own Treatment"
msgstr "Peut modifier son propre Traitement"
-#: models.py:859
+#: models_treatments.py:123
msgid "Can delete own Treatment"
msgstr "Peut supprimer son propre Traitement"
-#: models.py:865
+#: models_treatments.py:129
msgid "by"
msgstr "par"
-#: models.py:959 templates/ishtar/sheet_find.html:93
+#: models_treatments.py:228 templates/ishtar/sheet_find.html:93
#: templates/ishtar/sheet_find.html:133
msgid "Doer"
msgstr "Opérateur"
-#: models.py:960 models.py:961 templates/ishtar/sheet_find.html:92
-#: templates/ishtar/sheet_find.html:132
+#: models_treatments.py:229 models_treatments.py:230
+#: templates/ishtar/sheet_find.html:92 templates/ishtar/sheet_find.html:132
msgid "Related finds"
msgstr "Mobilier associé"
-#: models.py:1082
+#: models_treatments.py:351
msgid "Is upstream"
msgstr "Est en amont"
-#: models.py:1093
+#: models_treatments.py:363
+#, fuzzy
+msgid "Treatment file types"
+msgstr "Types de traitement"
+
+#: models_treatments.py:376
+#, fuzzy
+msgid "Internal reference"
+msgstr "Référence numérique"
+
+#: models_treatments.py:385
+msgid "Person in charge"
+msgstr ""
+
+#: models_treatments.py:397
+#, fuzzy
+msgid "Creation date"
+msgstr "Ajout"
+
+#: models_treatments.py:407
+#, fuzzy
+msgid "Treatment files"
+msgstr "Types de traitement"
+
+#: models_treatments.py:410
+#, fuzzy
+msgid "Can view all Treatment files"
+msgstr "Peut voir tous les Traitements"
+
+#: models_treatments.py:412
+#, fuzzy
+msgid "Can view own Treatment file"
+msgstr "Peut voir son propre Traitement"
+
+#: models_treatments.py:414
+#, fuzzy
+msgid "Can add own Treatment file"
+msgstr "Peut ajouter son propre Traitement"
+
+#: models_treatments.py:416
+#, fuzzy
+msgid "Can change own Treatment file"
+msgstr "Peut modifier son propre Traitement"
+
+#: models_treatments.py:418
+#, fuzzy
+msgid "Can delete own Treatment file"
+msgstr "Peut supprimer son propre Traitement"
+
+#: models_treatments.py:461
msgid "Treatment documentation"
msgstr "Documentation d'un traitement"
-#: models.py:1094
+#: models_treatments.py:462
msgid "Treament documentations"
msgstr "Documentations des traitements"
-#: models.py:1106
-msgid "Administrative act"
-msgstr "Acte administratif"
-
-#: models.py:1107
-msgid "Person"
-msgstr "Individu"
-
-#: models.py:1113
-msgid "Property"
-msgstr "Propriété"
+#: models_treatments.py:477
+#, fuzzy
+msgid "Treatment file documentation"
+msgstr "Documentation d'un traitement"
-#: models.py:1114
-msgid "Properties"
-msgstr "Propriétés"
+#: models_treatments.py:478
+#, fuzzy
+msgid "Treament file documentations"
+msgstr "Documentations des traitements"
-#: views.py:68
+#: views.py:120
msgid "New find"
msgstr "Ajouter un mobilier"
-#: views.py:82
+#: views.py:134
msgid "Find modification"
msgstr "Modifier un mobilier"
-#: views.py:97
+#: views.py:149
msgid "Find deletion"
msgstr "Supprimer un mobilier"
-#: views.py:102
+#: views.py:154
msgid "Find: source search"
msgstr "Mobilier : rechercher une documentation associée"
-#: views.py:110
+#: views.py:162
msgid "Find: new source"
msgstr "Mobilier : ajouter une documentation associée"
-#: views.py:118
+#: views.py:170
msgid "Find: source modification"
msgstr "Mobilier : modifier une documentation associée"
-#: views.py:133
+#: views.py:185
msgid "Find: source deletion"
msgstr "Mobilier : supprimer un mobilier associé"
-#: views.py:147
+#: views.py:199
msgid "New basket"
msgstr "Ajouter un panier"
-#: views.py:166
+#: views.py:218
msgid "Manage items in basket"
msgstr "Gérer les éléments dans un panier"
-#: views.py:186
+#: views.py:238
msgid "Manage basket"
msgstr "Gérer un panier"
-#: views.py:274
+#: views.py:326
msgid "Delete basket"
msgstr "Supprimer un panier"
-#: views.py:323
+#: views.py:376
msgid "New treatment"
msgstr "Ajouter un traitement"
-#: views.py:330
+#: views.py:383 views.py:475
msgid "Modify"
msgstr "Modifier"
-#: views.py:337
+#: views.py:400
msgid "Treatment deletion"
msgstr "Supprimer un traitement"
-#: wizards.py:59
+#: views.py:407
+#, fuzzy
+msgid "Treatment: search administrative act"
+msgstr "Acte administratif"
+
+#: views.py:416
+#, fuzzy
+msgid "Treatment: new administrative act"
+msgstr "Acte administratif"
+
+#: views.py:426
+msgid "Treatment: administrative act modification"
+msgstr ""
+
+#: views.py:435
+#, fuzzy
+msgid "Treatment: administrative act deletion"
+msgstr "Supprimer un traitement"
+
+#: views.py:468
+#, fuzzy
+msgid "New treatment file"
+msgstr "Ajouter un traitement"
+
+#: views.py:491
+#, fuzzy
+msgid "Treatment file deletion"
+msgstr "Supprimer un traitement"
+
+#: views.py:498
+msgid "Treatment file: search administrative act"
+msgstr ""
+
+#: views.py:508
+#, fuzzy
+msgid "Treatment file: new administrative act"
+msgstr "Acte administratif"
+
+#: views.py:518
+msgid "Treatment file: administrative act modification"
+msgstr ""
+
+#: views.py:527
+msgid "Treatment file: administrative act deletion"
+msgstr ""
+
+#: views.py:553
+#, fuzzy
+msgid "Treatment: source search"
+msgstr "Rechercher un traitement"
+
+#: views.py:568
+#, fuzzy
+msgid "Treatment: source modification"
+msgstr "Mobilier : modifier une documentation associée"
+
+#: views.py:583
+#, fuzzy
+msgid "Treatment: source deletion"
+msgstr "Supprimer un traitement"
+
+#: views.py:596
+#, fuzzy
+msgid "Treatment file: source search"
+msgstr "Rechercher un traitement"
+
+#: views.py:612
+#, fuzzy
+msgid "Treatment file: source modification"
+msgstr "Mobilier : modifier une documentation associée"
+
+#: views.py:630
+#, fuzzy
+msgid "Treatment file: source deletion"
+msgstr "Supprimer un traitement"
+
+#: wizards.py:62 wizards.py:194
msgid "Operation"
msgstr "Opération"
@@ -859,10 +1168,6 @@ msgstr "CSV"
msgid "Associated base finds"
msgstr "Mobilier de base associé"
-#: templates/ishtar/sheet_find.html:204 templates/ishtar/sheet_find.html:206
-msgid "Documents"
-msgstr "Documents"
-
#: templates/ishtar/sheet_find.html:208
msgid "Title"
msgstr "Titre"
@@ -886,3 +1191,13 @@ msgstr "Documentation associée au mobilier"
#: templates/ishtar/sheet_treatment.html:41
msgid "Downstream finds"
msgstr "Mobilier aval"
+
+#: templates/ishtar/sheet_treatmentfilesource.html:4
+#, fuzzy
+msgid "Treatement file source"
+msgstr "Rechercher un traitement"
+
+#: templates/ishtar/sheet_treatmentsource.html:4
+#, fuzzy
+msgid "Treatment source"
+msgstr "Rechercher un traitement"
diff --git a/translations/fr/archaeological_operations.po b/translations/fr/archaeological_operations.po
index 9fdd9d373..4b6a6214c 100644
--- a/translations/fr/archaeological_operations.po
+++ b/translations/fr/archaeological_operations.po
@@ -7,23 +7,25 @@
# Étienne Loks , 2016. #zanata
msgid ""
msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-12-16 16:37+0100\n"
"PO-Revision-Date: 2016-12-04 07:53-0500\n"
"Last-Translator: Étienne Loks \n"
"Language-Team: \n"
"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
#: forms.py:69 forms.py:371 forms.py:1009 forms.py:1031 forms.py:1035
-#: models.py:1190 templates/ishtar/sheet_operation.html:144
+#: models.py:1213 templates/ishtar/sheet_operation.html:144
#: templates/ishtar/blocks/window_tables/parcels.html:10
msgid "Parcels"
msgstr "Parcelles"
-#: forms.py:72 forms.py:205 forms.py:985 models.py:1176
+#: forms.py:72 forms.py:205 forms.py:985 models.py:1199
#: templates/ishtar/blocks/window_tables/parcels.html:7
#: templates/ishtar/dashboards/dashboard_operation.html:432
#: templates/ishtar/dashboards/dashboard_operation.html:446
@@ -33,21 +35,21 @@ msgid "Town"
msgstr "Commune"
#: forms.py:74 forms.py:455 forms.py:752 forms.py:1255 models.py:271
-#: models.py:993 models.py:1174
+#: models.py:1005 models.py:1197
#: templates/ishtar/blocks/window_tables/parcels.html:8
msgid "Year"
msgstr "Année"
-#: forms.py:77 models.py:1177
+#: forms.py:77 models.py:1200
#: templates/ishtar/blocks/window_tables/parcels.html:9
msgid "Section"
msgstr "Section"
-#: forms.py:80 models.py:1179
+#: forms.py:80 models.py:1202
msgid "Parcel number"
msgstr "Numéro de parcelle"
-#: forms.py:82 models.py:1181 models.py:1198 models.py:1247
+#: forms.py:82 models.py:1204 models.py:1221 models.py:1270
msgid "Public domain"
msgstr "Domaine public"
@@ -84,7 +86,7 @@ msgid "Relation type"
msgstr "Type de relation"
#: forms.py:383 ishtar_menu.py:30 models.py:366 models.py:826 models.py:856
-#: models.py:884 models.py:985 models.py:1173 wizards.py:339 wizards.py:350
+#: models.py:884 models.py:987 models.py:1196 wizards.py:344 wizards.py:355
#: templates/ishtar/sheet_operation.html:4
msgid "Operation"
msgstr "Opération"
@@ -147,7 +149,7 @@ msgstr "Est ouvert ?"
msgid "In charge"
msgstr "Responsable"
-#: forms.py:485 models.py:979
+#: forms.py:485 models.py:981
msgid "Scientist in charge"
msgstr "Responsable scientifique"
@@ -253,8 +255,8 @@ msgstr "Rechercher une opération"
msgid "Associated file"
msgstr "Dossier associé"
-#: forms.py:640 forms.py:933 models.py:493 models.py:883 models.py:990
-#: wizards.py:76
+#: forms.py:640 forms.py:933 models.py:493 models.py:883 models.py:992
+#: wizards.py:80
msgid "Archaeological file"
msgstr "Dossier archéologique"
@@ -322,7 +324,7 @@ msgstr "Avec un rapport"
msgid "With finds"
msgstr "Avec du mobilier"
-#: forms.py:733 forms.py:1327 templates/ishtar/sheet_administrativeact.html:13
+#: forms.py:733 forms.py:1327 templates/ishtar/sheet_administrativeact.html:20
#: templates/ishtar/sheet_operation.html:24
msgid "General"
msgstr "Général"
@@ -347,7 +349,7 @@ msgstr "Référence de l'opérateur"
msgid "Total surface (m2)"
msgstr "Surface totale (m2)"
-#: forms.py:800 models.py:53 models.py:255 models.py:1363
+#: forms.py:800 models.py:53 models.py:255 models.py:1386
msgid "Start date"
msgstr "Date de début"
@@ -389,13 +391,12 @@ msgstr ""
#: forms.py:891
msgid "The excavation end date cannot be before the start date."
-msgstr ""
-"La date de fin de chantier ne peut être antérieure à la date de début."
+msgstr "La date de fin de chantier ne peut être antérieure à la date de début."
#: forms.py:919
-#, python-format
+#, fuzzy, python-format
msgid ""
-"Operation code already exist for year: %(year)d - use a value bigger than "
+"Operation code already exists for year: %(year)d - use a value bigger than "
"%(last_val)d"
msgstr ""
"Ce code d'opération existe déjà pour l'année %(year)d - utilisez une valeur "
@@ -446,11 +447,11 @@ msgstr "Prescription sur une vaste surface"
msgid "Prescription on geoarchaeological context"
msgstr "Prescription sur un contexte géoarchéologique"
-#: forms.py:983 forms.py:1005 models.py:283 models.py:1003
+#: forms.py:983 forms.py:1005 models.py:283 models.py:1015
msgid "Towns"
msgstr "Communes"
-#: forms.py:1012 models.py:1189 models.py:1361
+#: forms.py:1012 models.py:1212 models.py:1384
msgid "Parcel"
msgstr "Parcelle"
@@ -496,7 +497,7 @@ msgstr "Voulez-vous clore cette opération ?"
msgid "Would you like to delete this operation?"
msgstr "Voulez-vous supprimer cette opération ?"
-#: forms.py:1186 forms.py:1256 forms.py:1392 models.py:858 models.py:970
+#: forms.py:1186 forms.py:1256 forms.py:1392 models.py:858 models.py:972
msgid "Index"
msgstr "Index"
@@ -525,7 +526,7 @@ msgstr "Rechercher une documentation"
msgid "You should select a document."
msgstr "Vous devez sélectionner un document."
-#: forms.py:1263 forms.py:1330 models.py:895 models.py:964
+#: forms.py:1263 forms.py:1330 models.py:897 models.py:966
msgid "Act type"
msgstr "Type d'acte"
@@ -533,7 +534,7 @@ msgstr "Type d'acte"
msgid "Indexed?"
msgstr "Indexé ?"
-#: forms.py:1270 forms.py:1335 models.py:994
+#: forms.py:1270 forms.py:1335 models.py:1006
#: templates/ishtar/blocks/window_tables/administrativacts.html:10
msgid "Object"
msgstr "Objet"
@@ -546,14 +547,14 @@ msgstr "Rechercher un acte administratif"
msgid "You should select an administrative act."
msgstr "Vous devez sélectionner un acte administratif."
-#: forms.py:1338 models.py:991
+#: forms.py:1338 models.py:1003
msgid "Signature date"
msgstr "Date de signature"
#: forms.py:1380
-#, python-format
+#, fuzzy, python-format
msgid ""
-"This index already exist for year: %(year)d - use a value bigger than "
+"This index already exists for year: %(year)d - use a value bigger than "
"%(last_val)d"
msgstr ""
"Cet index existe déjà pour l'année : %(year)d, utilisez une valeur plus "
@@ -604,7 +605,7 @@ msgstr "Clôture"
msgid "Deletion"
msgstr "Suppression"
-#: ishtar_menu.py:58 models.py:1010
+#: ishtar_menu.py:58 models.py:1022
#: templates/ishtar/sheet_administrativeact.html:4
msgid "Administrative act"
msgstr "Acte administratif"
@@ -634,11 +635,11 @@ msgstr "Informations générales"
msgid "Operations"
msgstr "Opérations"
-#: models.py:52 models.py:70 models.py:1825
+#: models.py:52 models.py:70 models.py:1848
msgid "Order"
msgstr "Ordre"
-#: models.py:54 models.py:1364
+#: models.py:54 models.py:1387
msgid "End date"
msgstr "Date de fin"
@@ -758,7 +759,7 @@ msgstr "Date de clôture"
msgid "In charge scientist"
msgstr "Responsable scientifique"
-#: models.py:276 models.py:1169
+#: models.py:276 models.py:1192
msgid "File"
msgstr "Dossier"
@@ -911,146 +912,156 @@ msgstr "Peut modifier sa propre Documentation d'opération"
msgid "Can delete own Operation source"
msgstr "Peut supprimer sa propre Documentation d'opération"
-#: models.py:886
+#: models.py:885 models.py:997
+#, fuzzy
+msgid "Treatment file"
+msgstr "Détail par département"
+
+#: models.py:886 models.py:1002
+#, fuzzy
+msgid "Treatment"
+msgstr "Département"
+
+#: models.py:888
msgid "Intended to"
msgstr "Destiné à"
-#: models.py:888
+#: models.py:890
msgid "Code"
msgstr "Code"
-#: models.py:891
+#: models.py:893
msgid "Associated template"
msgstr "Patron associé"
-#: models.py:892
+#: models.py:894
msgid "Indexed"
msgstr "Indexé"
-#: models.py:896
+#: models.py:898
msgid "Act types"
msgstr "Types d'acte"
-#: models.py:968
+#: models.py:970
msgid "Person in charge of the operation"
msgstr "Responsable d'opération"
-#: models.py:974
+#: models.py:976
msgid "Archaeological preventive operator"
msgstr "Opérateur d'archéologie préventive"
-#: models.py:982
+#: models.py:984
msgid "Signatory"
msgstr "Signataire"
-#: models.py:1000
+#: models.py:1012
msgid "Departments"
msgstr "Départements"
-#: models.py:1001
+#: models.py:1013
msgid "Cached values get from associated departments"
msgstr "Valeur en cache des départements associés"
-#: models.py:1004
+#: models.py:1016
msgid "Cached values get from associated towns"
msgstr "Valeur en cache des communes associées"
-#: models.py:1011 templates/ishtar/sheet_operation.html:102
+#: models.py:1023 templates/ishtar/sheet_operation.html:102
#: templates/ishtar/sheet_operation.html:138
msgid "Administrative acts"
msgstr "Actes administratifs"
-#: models.py:1014
+#: models.py:1026
msgid "Can view all Administrative acts"
msgstr "Peut voir tous les Actes administratifs"
-#: models.py:1016
+#: models.py:1028
msgid "Can view own Administrative act"
msgstr "Peut voir son propre Acte administratif"
-#: models.py:1018
+#: models.py:1030
msgid "Can add own Administrative act"
msgstr "Peut ajouter son propre Acte administratif"
-#: models.py:1020
+#: models.py:1032
msgid "Can change own Administrative act"
msgstr "Peut modifier son propre Acte administratif"
-#: models.py:1022
+#: models.py:1034
msgid "Can delete own Administrative act"
msgstr "Peut supprimer son propre Acte administratif"
-#: models.py:1031
+#: models.py:1043
#: templates/ishtar/blocks/window_tables/administrativacts.html:7
#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:7
msgid "Ref."
msgstr "Réf."
-#: models.py:1114
+#: models.py:1137
msgid "This index already exists for this year"
msgstr "Cet index existe déjà pour cette année."
-#: models.py:1182
+#: models.py:1205
msgid "External ID"
msgstr "ID externe"
-#: models.py:1185
+#: models.py:1208
msgid "External ID is set automatically"
msgstr "L'identifiant externe est configuré automatiquement"
-#: models.py:1186
+#: models.py:1209
msgid "Address - Locality"
msgstr "Adresse - Lieu-dit"
-#: models.py:1359
+#: models.py:1382
msgid "Owner"
msgstr "Propriétaire"
-#: models.py:1367
+#: models.py:1390
msgid "Parcel owner"
msgstr "Propriétaire de parcelle"
-#: models.py:1368
+#: models.py:1391
msgid "Parcel owners"
msgstr "Propriétaires de parcelle"
-#: models.py:1394
+#: models.py:1417
msgid "Recorded"
msgstr "Enregistré"
-#: models.py:1395
+#: models.py:1418
msgid "Effective"
msgstr "Effectif"
-#: models.py:1396
+#: models.py:1419
msgid "Active"
msgstr "Actif"
-#: models.py:1397
+#: models.py:1420
msgid "Field completed"
msgstr "Terrain achevé"
-#: models.py:1398
+#: models.py:1421
msgid "Associated report"
msgstr "Rapport associé"
-#: models.py:1399
+#: models.py:1422
msgid "Closed"
msgstr "Clos"
-#: models.py:1400
+#: models.py:1423
msgid "Documented and closed"
msgstr "Documenté et clos"
-#: models.py:1826
+#: models.py:1849
msgid "Is preventive"
msgstr "Préventif"
-#: models.py:1829
+#: models.py:1852
msgid "Operation type old"
msgstr "Type d'opération - ancien"
-#: models.py:1830
+#: models.py:1853
msgid "Operation types old"
msgstr "Types d'opération - ancien"
@@ -1102,7 +1113,7 @@ msgstr "Opération : supprimer un acte administratif"
msgid "Add"
msgstr "Ajouter"
-#: wizards.py:199
+#: wizards.py:203
msgid ""
"Warning: No Archaeological File is provided. If you have forget it return to "
"the first step."
@@ -1110,55 +1121,11 @@ msgstr ""
"Attention : Aucun dossier archéologique n'a été précisé. S'il s'agit d'un "
"oubli, définissez-le à la première étape."
-#: templates/ishtar/sheet_administrativeact.html:14
-msgid "Year:"
-msgstr "Année :"
-
-#: templates/ishtar/sheet_administrativeact.html:15
-msgid "Numerical reference:"
-msgstr "Identifiant numérique :"
-
-#: templates/ishtar/sheet_administrativeact.html:16
-msgid "Internal reference:"
-msgstr "Référence interne :"
-
-#: templates/ishtar/sheet_administrativeact.html:17
-msgid "Type:"
-msgstr "Type :"
-
-#: templates/ishtar/sheet_administrativeact.html:18
-msgid "Object:"
-msgstr "Objet :"
-
-#: templates/ishtar/sheet_administrativeact.html:19
-msgid "Signature date:"
-msgstr "Date de signature :"
-
-#: templates/ishtar/sheet_administrativeact.html:20
-msgid "In charge:"
-msgstr "Responsable :"
-
-#: templates/ishtar/sheet_administrativeact.html:21
-msgid "Archaeological preventive operator:"
-msgstr "Opérateur d'archéologie préventive :"
-
-#: templates/ishtar/sheet_administrativeact.html:23
-msgid "Associated file:"
-msgstr "Dossier associé :"
-
-#: templates/ishtar/sheet_administrativeact.html:24
-msgid "Associated operation:"
-msgstr "Opération associée :"
-
-#: templates/ishtar/sheet_administrativeact.html:26
+#: templates/ishtar/sheet_administrativeact.html:36
#: templates/ishtar/sheet_operation.html:38
msgid "Surface:"
msgstr "Surface :"
-#: templates/ishtar/sheet_administrativeact.html:27
-msgid "Created by:"
-msgstr "Créé par :"
-
#: templates/ishtar/sheet_operation.html:14
msgid "This operation is virtual."
msgstr "Cette opération est virtuelle."
@@ -1516,3 +1483,36 @@ msgstr "communes principales par coût"
#: templates/ishtar/wizard/wizard_adminact_deletion.html:6
msgid "This act is indexed!"
msgstr "Cet acte est indexé !"
+
+#~ msgid "Year:"
+#~ msgstr "Année :"
+
+#~ msgid "Numerical reference:"
+#~ msgstr "Identifiant numérique :"
+
+#~ msgid "Internal reference:"
+#~ msgstr "Référence interne :"
+
+#~ msgid "Type:"
+#~ msgstr "Type :"
+
+#~ msgid "Object:"
+#~ msgstr "Objet :"
+
+#~ msgid "Signature date:"
+#~ msgstr "Date de signature :"
+
+#~ msgid "In charge:"
+#~ msgstr "Responsable :"
+
+#~ msgid "Archaeological preventive operator:"
+#~ msgstr "Opérateur d'archéologie préventive :"
+
+#~ msgid "Associated file:"
+#~ msgstr "Dossier associé :"
+
+#~ msgid "Associated operation:"
+#~ msgstr "Opération associée :"
+
+#~ msgid "Created by:"
+#~ msgstr "Créé par :"
diff --git a/translations/fr/archaeological_warehouse.po b/translations/fr/archaeological_warehouse.po
index 0537f91a9..0d540f0f5 100644
--- a/translations/fr/archaeological_warehouse.po
+++ b/translations/fr/archaeological_warehouse.po
@@ -6,156 +6,232 @@
# Étienne Loks , 2016. #zanata
msgid ""
msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-12-16 16:37+0100\n"
"PO-Revision-Date: 2016-12-04 07:54-0500\n"
"Last-Translator: Étienne Loks \n"
"Language-Team: \n"
"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
-#: forms.py:34 forms.py:97 models.py:47 models.py:87
+#: forms.py:35 forms.py:91 forms.py:149 ishtar_menu.py:39 models.py:53
+#: models.py:110
msgid "Warehouse"
msgstr "Dépôt"
-#: forms.py:43 models.py:38
+#: forms.py:44 forms.py:49 models.py:129
+msgid "Division"
+msgstr ""
+
+#: forms.py:51 models.py:77
+msgid "Order"
+msgstr ""
+
+#: forms.py:62 models.py:46
+msgid "Divisions"
+msgstr ""
+
+#: forms.py:66 forms.py:95 models.py:38
msgid "Name"
msgstr "Nom"
-#: forms.py:45 models.py:30 models.py:40
+#: forms.py:67 forms.py:97 models.py:30 models.py:40
msgid "Warehouse type"
msgstr "Type de dépôt"
-#: forms.py:48 models.py:43
+#: forms.py:68 forms.py:114
+msgid "Town"
+msgstr "Commune"
+
+#: forms.py:79
+#, fuzzy
+msgid "Warehouse search"
+msgstr "Dépôts"
+
+#: forms.py:100 models.py:43
msgid "Person in charge"
msgstr "Responsable"
-#: forms.py:54 forms.py:102 models.py:44 models.py:91
+#: forms.py:106 forms.py:154 models.py:44 models.py:114
msgid "Comment"
msgstr "Commentaires"
-#: forms.py:56
+#: forms.py:108
msgid "Address"
msgstr "Adresse"
-#: forms.py:58
+#: forms.py:110
msgid "Address complement"
msgstr "Complément d'adresse"
-#: forms.py:60
+#: forms.py:112
msgid "Postal code"
msgstr "Code postal"
-#: forms.py:62 forms.py:66
-msgid "Town"
-msgstr "Commune"
-
-#: forms.py:63
+#: forms.py:115
msgid "Country"
msgstr "Pays"
-#: forms.py:65
+#: forms.py:117
msgid "Phone"
msgstr "Téléphone"
-#: forms.py:93 models.py:94
+#: forms.py:118
+msgid "Mobile phone"
+msgstr ""
+
+#: forms.py:145 models.py:117 models.py:127
msgid "Container"
msgstr "Contenant"
-#: forms.py:94 forms.py:129 models.py:66
+#: forms.py:146 forms.py:181 models.py:89
msgid "Ref."
msgstr "Réf."
-#: forms.py:95 forms.py:128 models.py:69 models.py:89
+#: forms.py:147 forms.py:180 models.py:92 models.py:112
msgid "Container type"
msgstr "Type de contenant"
-#: forms.py:139
+#: forms.py:191
msgid "Container search"
msgstr "Rechercher un contenant"
-#: forms.py:141
+#: forms.py:193
msgid "You should select a container."
msgstr "Vous devez sélectionner un contenant."
-#: forms.py:142
+#: forms.py:194
msgid "Add a new container"
msgstr "Ajouter un nouveau contenant"
-#: forms.py:146 ishtar_menu.py:33 views.py:87
+#: forms.py:198 ishtar_menu.py:35 views.py:89
msgid "Packaging"
msgstr "Conditionnement"
-#: forms.py:153
+#: forms.py:205
msgid "Packager"
msgstr "Personne assurant le conditionnement"
-#: forms.py:159
+#: forms.py:211
msgid "Date"
msgstr "Date"
-#: forms.py:168
+#: forms.py:220
msgid "Packaged finds"
msgstr "Mobilier conditionné"
-#: ishtar_menu.py:30
+#: forms.py:224
+msgid "Localisation"
+msgstr ""
+
+#: ishtar_menu.py:32
msgid "Treatment"
msgstr "Traitement"
+#: ishtar_menu.py:41
+msgid "Creation"
+msgstr ""
+
+#: ishtar_menu.py:44
+msgid "Modification"
+msgstr ""
+
+#: ishtar_menu.py:47 models.py:133 views.py:114
+#, fuzzy
+msgid "Container localisation"
+msgstr "Rechercher un contenant"
+
#: models.py:31
msgid "Warehouse types"
msgstr "Types de dépôts"
-#: models.py:48
+#: models.py:54
msgid "Warehouses"
msgstr "Dépôts"
-#: models.py:50
+#: models.py:56
msgid "Can view all Warehouses"
msgstr "Peut voir tous les Dépôts"
-#: models.py:51
+#: models.py:57
msgid "Can view own Warehouse"
msgstr "Peut voir son propre Dépôt"
-#: models.py:52
+#: models.py:58
msgid "Can add own Warehouse"
msgstr "Peut ajouter son propre Dépôt"
-#: models.py:53
+#: models.py:59
msgid "Can change own Warehouse"
msgstr "Peut modifier son propre Dépôt"
-#: models.py:54
+#: models.py:60
msgid "Can delete own Warehouse"
msgstr "Peut supprimer son propre Dépôt"
-#: models.py:62
+#: models.py:69
+#, fuzzy
+msgid "Warehouse division"
+msgstr "Dépôts"
+
+#: models.py:70
+#, fuzzy
+msgid "Warehouse divisions"
+msgstr "Dépôts"
+
+#: models.py:85
msgid "Length (mm)"
msgstr "Longueur (mm)"
-#: models.py:63
+#: models.py:86
msgid "Width (mm)"
msgstr "Largeur (mm)"
-#: models.py:64
+#: models.py:87
msgid "Height (mm)"
msgstr "Hauteur (mm)"
-#: models.py:65
+#: models.py:88
msgid "Volume (l)"
msgstr "Volume (l)"
-#: models.py:70
+#: models.py:93
msgid "Container types"
msgstr "Types de contenant"
-#: models.py:90
+#: models.py:113
msgid "Container ref."
msgstr "Réf. du contenant"
-#: models.py:95
+#: models.py:118
msgid "Containers"
msgstr "Contenants"
+
+#: models.py:130
+msgid "Reference"
+msgstr ""
+
+#: models.py:134
+#, fuzzy
+msgid "Container localisations"
+msgstr "Types de contenant"
+
+#: views.py:96
+#, fuzzy
+msgid "Warehouse creation"
+msgstr "Type de dépôt"
+
+#: views.py:105
+#, fuzzy
+msgid "Warehouse modification"
+msgstr "Type de dépôt"
+
+#: templates/ishtar/wizard/wizard_containerlocalisation.html:5
+msgid ""
+"No division set for this warehouse. Define it to localise container in this "
+"warehouse."
+msgstr ""
diff --git a/translations/fr/ishtar_common.po b/translations/fr/ishtar_common.po
index 532fb09ce..f6d8eab97 100644
--- a/translations/fr/ishtar_common.po
+++ b/translations/fr/ishtar_common.po
@@ -7,13 +7,15 @@
# Étienne Loks , 2016. #zanata
msgid ""
msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-12-16 16:37+0100\n"
"PO-Revision-Date: 2016-11-16 03:05-0500\n"
"Last-Translator: Étienne Loks \n"
"Language-Team: \n"
"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
@@ -141,40 +143,40 @@ msgstr "résultat"
msgid "\"%(value)s\" not in %(values)s"
msgstr "\"%(value)s\" n'est pas dans %(values)s"
-#: forms.py:72
+#: forms.py:73
msgid "Enter a valid name consisting of letters, spaces and hyphens."
msgstr "Entrez un nom correct composé de lettres, espaces et tirets."
-#: forms.py:88 forms_common.py:618
+#: forms.py:89 forms_common.py:618
msgid "Confirm"
msgstr "Confirmer"
-#: forms.py:93
+#: forms.py:94
msgid "Are you sure you want to delete?"
msgstr "Êtes-vous sûr de vouloir supprimer ?"
-#: forms.py:102
+#: forms.py:103
msgid "There are identical items."
msgstr "Il y a des éléments identiques."
-#: forms.py:140 forms.py:141
+#: forms.py:141 forms.py:142
msgid "Closing date"
msgstr "Date de clôture"
-#: forms.py:154
+#: forms.py:155
msgid "You should select an item."
msgstr "Vous devez sélectionner un élément."
-#: forms.py:155
+#: forms.py:156
msgid "Add a new item"
msgstr "Ajouter un nouvel élément"
-#: forms.py:262 models.py:1360
+#: forms.py:262 models.py:1366
msgid "Template"
msgstr "Patron"
#: forms_common.py:41 forms_common.py:59 forms_common.py:182
-#: forms_common.py:406 models.py:1426 models.py:2818
+#: forms_common.py:406 models.py:1432 models.py:2824
#: templates/blocks/JQueryAdvancedTown.html:19
#: templates/ishtar/sheet_organization.html:13
msgid "Town"
@@ -197,8 +199,8 @@ msgstr ""
"Par exemple tapez « saint denis 93 » pour obtenir la "
"commune Saint-Denis dans le département français de Seine-Saint-Denis.
"
-#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1599
-#: models.py:2445 models.py:2627 models.py:2688
+#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1605
+#: models.py:2451 models.py:2633 models.py:2694
#: templates/ishtar/sheet_person.html:4
msgid "Person"
msgstr "Personne"
@@ -212,63 +214,63 @@ msgstr ""
"pas possible."
#: forms_common.py:170 forms_common.py:327 forms_common.py:451
-#: ishtar_menu.py:75 models.py:1600 models.py:2331
+#: ishtar_menu.py:75 models.py:1606 models.py:2337
#: templates/ishtar/sheet_organization.html:4
msgid "Organization"
msgstr "Organisation"
#: forms_common.py:173 forms_common.py:210 forms_common.py:322
-#: forms_common.py:376 forms_common.py:446 models.py:1027 models.py:1359
-#: models.py:1645 models.py:1864 models.py:2325 models.py:2431 models.py:2804
+#: forms_common.py:376 forms_common.py:446 models.py:1033 models.py:1365
+#: models.py:1651 models.py:1870 models.py:2331 models.py:2437 models.py:2810
#: templates/ishtar/sheet_organization.html:8
#: templates/ishtar/sheet_organization.html:21
msgid "Name"
msgstr "Nom"
-#: forms_common.py:174 models.py:1581 models.py:1995
+#: forms_common.py:174 models.py:1587 models.py:2001
msgid "Organization type"
msgstr "Type d'organisation"
-#: forms_common.py:176 forms_common.py:400 models.py:1421
+#: forms_common.py:176 forms_common.py:400 models.py:1427
#: templates/ishtar/sheet_organization.html:10
msgid "Address"
msgstr "Adresse"
-#: forms_common.py:178 forms_common.py:403 models.py:1422
+#: forms_common.py:178 forms_common.py:403 models.py:1428
#: templates/ishtar/sheet_organization.html:11
msgid "Address complement"
msgstr "Complément d'adresse"
-#: forms_common.py:180 forms_common.py:404 models.py:1424
+#: forms_common.py:180 forms_common.py:404 models.py:1430
#: templates/ishtar/sheet_organization.html:12
msgid "Postal code"
msgstr "Code postal"
-#: forms_common.py:183 forms_common.py:407 models.py:1427
+#: forms_common.py:183 forms_common.py:407 models.py:1433
msgid "Country"
msgstr "Pays"
#: forms_common.py:185 forms_common.py:324 forms_common.py:380
-#: forms_common.py:448 forms_common.py:572 models.py:1454
+#: forms_common.py:448 forms_common.py:572 models.py:1460
msgid "Email"
msgstr "Courriel"
-#: forms_common.py:186 forms_common.py:383 models.py:1439
+#: forms_common.py:186 forms_common.py:383 models.py:1445
#: templates/ishtar/sheet_organization.html:14
#: templates/ishtar/sheet_person.html:19
#: templates/ishtar/wizard/wizard_person.html:17
msgid "Phone"
msgstr "Téléphone"
-#: forms_common.py:187 forms_common.py:392 models.py:1451
+#: forms_common.py:187 forms_common.py:392 models.py:1457
#: templates/ishtar/sheet_organization.html:15
#: templates/ishtar/sheet_person.html:37
#: templates/ishtar/wizard/wizard_person.html:35
msgid "Mobile phone"
msgstr "Téléphone portable"
-#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2025
-#: models.py:2327 models.py:2739 templates/sheet_ope.html:85
+#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2031
+#: models.py:2333 models.py:2745 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
@@ -292,7 +294,7 @@ msgstr "Fusionner tous les éléments dans"
msgid "Organization to merge"
msgstr "Organisation à fusionner"
-#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2429
+#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2435
#: templates/ishtar/sheet_organization.html:22
msgid "Surname"
msgstr "Prénom"
@@ -310,25 +312,25 @@ msgstr "Personne à fusionner"
msgid "Identity"
msgstr "Identité"
-#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1996
-#: models.py:2423 models.py:2425 models.py:2736 templates/sheet_ope.html:104
+#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:2002
+#: models.py:2429 models.py:2431 models.py:2742 templates/sheet_ope.html:104
#: templates/ishtar/blocks/window_tables/documents.html:7
msgid "Title"
msgstr "Titre"
-#: forms_common.py:372 models.py:2427
+#: forms_common.py:372 models.py:2433
msgid "Salutation"
msgstr "Formule d'appel"
-#: forms_common.py:378 models.py:2433
+#: forms_common.py:378 models.py:2439
msgid "Raw name"
msgstr "Nom brut"
-#: forms_common.py:381 models.py:1440
+#: forms_common.py:381 models.py:1446
msgid "Phone description"
msgstr "Type de téléphone"
-#: forms_common.py:384 models.py:1442 models.py:1444
+#: forms_common.py:384 models.py:1448 models.py:1450
msgid "Phone description 2"
msgstr "Type de téléphone 2"
@@ -336,11 +338,11 @@ msgstr "Type de téléphone 2"
msgid "Phone 2"
msgstr "Téléphone 2"
-#: forms_common.py:388 models.py:1448
+#: forms_common.py:388 models.py:1454
msgid "Phone description 3"
msgstr "Type de téléphone 3"
-#: forms_common.py:390 models.py:1446
+#: forms_common.py:390 models.py:1452
msgid "Phone 3"
msgstr "Téléphone 3"
@@ -348,23 +350,23 @@ msgstr "Téléphone 3"
msgid "Current organization"
msgstr "Organisation actuelle"
-#: forms_common.py:409 models.py:1429
+#: forms_common.py:409 models.py:1435
msgid "Other address: address"
msgstr "Autre adresse : adresse"
-#: forms_common.py:412 models.py:1432
+#: forms_common.py:412 models.py:1438
msgid "Other address: address complement"
msgstr "Autre adresse : complément d'adresse"
-#: forms_common.py:414 models.py:1433
+#: forms_common.py:414 models.py:1439
msgid "Other address: postal code"
msgstr "Autre adresse : code postal"
-#: forms_common.py:416 models.py:1435
+#: forms_common.py:416 models.py:1441
msgid "Other address: town"
msgstr "Autre adresse : ville"
-#: forms_common.py:418 models.py:1437
+#: forms_common.py:418 models.py:1443
msgid "Other address: country"
msgstr "Autre adresse : pays"
@@ -380,7 +382,7 @@ msgstr "Nom d'utilisateur"
msgid "Account search"
msgstr "Rechercher un compte"
-#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2379
+#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2385
msgid "Person type"
msgstr "Type de personne"
@@ -388,7 +390,7 @@ msgstr "Type de personne"
msgid "Account"
msgstr "Compte"
-#: forms_common.py:575 wizards.py:1217
+#: forms_common.py:575 wizards.py:1241
msgid "New password"
msgstr "Nouveau mot de passe"
@@ -412,7 +414,7 @@ msgstr "Ce nom d'utilisateur existe déjà."
msgid "Send the new password by email?"
msgstr "Envoyer le nouveau mot de passe par courriel ?"
-#: forms_common.py:628 forms_common.py:641 models.py:2819
+#: forms_common.py:628 forms_common.py:641 models.py:2825
msgid "Towns"
msgstr "Communes"
@@ -428,7 +430,7 @@ msgstr "Seul un choix peut être coché."
msgid "Documentation informations"
msgstr "Information sur le document"
-#: forms_common.py:775 forms_common.py:823 models.py:1997 models.py:2713
+#: forms_common.py:775 forms_common.py:823 models.py:2003 models.py:2719
msgid "Source type"
msgstr "Type de document"
@@ -440,37 +442,37 @@ msgstr "Référence"
msgid "Internal reference"
msgstr "Référence interne"
-#: forms_common.py:783 models.py:2750
+#: forms_common.py:783 models.py:2756
msgid "Numerical ressource (web address)"
msgstr "Ressource numérique (adresse web)"
-#: forms_common.py:784 models.py:2752
+#: forms_common.py:784 models.py:2758
msgid "Receipt date"
msgstr "Date de réception"
-#: forms_common.py:786 models.py:2154 models.py:2754
+#: forms_common.py:786 models.py:2160 models.py:2760
msgid "Creation date"
msgstr "Date de création"
-#: forms_common.py:789 models.py:2757
+#: forms_common.py:789 models.py:2763
msgid "Receipt date in documentation"
msgstr "Date de réception en documentation"
-#: forms_common.py:791 forms_common.py:827 models.py:322 models.py:627
-#: models.py:1891 models.py:2437 models.py:2764
+#: forms_common.py:791 forms_common.py:827 models.py:322 models.py:633
+#: models.py:1897 models.py:2443 models.py:2770
msgid "Comment"
msgstr "Commentaire"
-#: forms_common.py:793 forms_common.py:826 models.py:1029 models.py:1649
-#: models.py:1823 models.py:1865 models.py:2763 templates/sheet_ope.html:128
+#: forms_common.py:793 forms_common.py:826 models.py:1035 models.py:1655
+#: models.py:1829 models.py:1871 models.py:2769 templates/sheet_ope.html:128
msgid "Description"
msgstr "Description"
-#: forms_common.py:796 models.py:2765
+#: forms_common.py:796 models.py:2771
msgid "Additional information"
msgstr "Informations supplémentaires"
-#: forms_common.py:798 forms_common.py:830 models.py:2767
+#: forms_common.py:798 forms_common.py:830 models.py:2773
msgid "Has a duplicate"
msgstr "Existe en doublon"
@@ -487,7 +489,7 @@ msgstr ""
"Les images trop grandes sont retaillées en : %(width)dx%(height)d (le "
"ratio est conservé).
"
-#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2693
+#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2699
#: templates/ishtar/wizard/wizard_person_deletion.html:124
msgid "Author"
msgstr "Auteur"
@@ -500,7 +502,7 @@ msgstr "Informations complémentaires"
msgid "Would you like to delete this documentation?"
msgstr "Voulez-vous supprimer ce document ?"
-#: forms_common.py:856 models.py:1998 models.py:2681 models.py:2690
+#: forms_common.py:856 models.py:2004 models.py:2687 models.py:2696
msgid "Author type"
msgstr "Type d'auteur"
@@ -512,7 +514,7 @@ msgstr "Sélection d'auteur"
msgid "There are identical authors."
msgstr "Il y a des auteurs identiques."
-#: forms_common.py:893 models.py:2694 models.py:2746
+#: forms_common.py:893 models.py:2700 models.py:2752
#: templates/sheet_ope.html:106
#: templates/ishtar/blocks/window_tables/documents.html:9
msgid "Authors"
@@ -530,7 +532,7 @@ msgstr "Ajout/modification"
msgid "Deletion"
msgstr "Suppression"
-#: ishtar_menu.py:39 models.py:1155 views.py:1513
+#: ishtar_menu.py:39 models.py:1161 views.py:1514
msgid "Global variables"
msgstr "Variables globales"
@@ -558,15 +560,15 @@ msgstr "Fusion automatique"
msgid "Manual merge"
msgstr "Fusion manuelle"
-#: ishtar_menu.py:109 models.py:2165
+#: ishtar_menu.py:109 models.py:2171
msgid "Imports"
msgstr "Imports"
-#: ishtar_menu.py:112 views.py:1521
+#: ishtar_menu.py:112 views.py:1522
msgid "New import"
msgstr "Nouvel import"
-#: ishtar_menu.py:116 views.py:1535
+#: ishtar_menu.py:116 views.py:1536
msgid "Current imports"
msgstr "Imports en cours"
@@ -586,7 +588,7 @@ msgstr "Un élément sélectionné n'est pas valide."
msgid "This item already exists."
msgstr "Cet élément existe déjà."
-#: models.py:318 models.py:626 models.py:1394 models.py:1406 models.py:1820
+#: models.py:318 models.py:632 models.py:1400 models.py:1412 models.py:1826
msgid "Label"
msgstr "Libellé"
@@ -594,83 +596,83 @@ msgstr "Libellé"
msgid "Textual ID"
msgstr "Identifiant textuel"
-#: models.py:323 models.py:629 models.py:1363
+#: models.py:323 models.py:635 models.py:1369
msgid "Available"
msgstr "Disponible"
-#: models.py:648 models.py:1937
+#: models.py:654 models.py:1943
msgid "Key"
msgstr "Clé"
-#: models.py:654
+#: models.py:660
msgid "Specific key to an import"
msgstr "Clé spécifique à un import"
-#: models.py:746
+#: models.py:752
msgid "Last editor"
msgstr "Dernier éditeur"
-#: models.py:749
+#: models.py:755
msgid "Creator"
msgstr "Créateur"
-#: models.py:891 models.py:2830
+#: models.py:897 models.py:2836
msgid "Order"
msgstr "Ordre"
-#: models.py:892
+#: models.py:898
msgid "Symmetrical"
msgstr "Symétrique"
-#: models.py:893
+#: models.py:899
msgid "Tiny label"
msgstr "Libellé court"
-#: models.py:907
+#: models.py:913
msgid "Cannot have symmetrical and an inverse_relation"
msgstr "Ne peut pas être symétrique et avoir une relation inverse"
-#: models.py:1021
+#: models.py:1027
msgid "Euro"
msgstr "Euro"
-#: models.py:1022
+#: models.py:1028
msgid "US dollar"
msgstr "Dollars US"
-#: models.py:1028 models.py:1647
+#: models.py:1034 models.py:1653
msgid "Slug"
msgstr "Identifiant texte"
-#: models.py:1030
+#: models.py:1036
msgid "Files module"
msgstr "Module Dossiers"
-#: models.py:1031
+#: models.py:1037
msgid "Context records module"
msgstr "Module Unités d'Enregistrement"
-#: models.py:1033
+#: models.py:1039
msgid "Finds module"
msgstr "Module Mobilier"
-#: models.py:1034
+#: models.py:1040
msgid "Need context records module"
msgstr "Nécessite le module Unités d'Enregistrement"
-#: models.py:1036
+#: models.py:1042
msgid "Warehouses module"
msgstr "Module Dépôts"
-#: models.py:1037
+#: models.py:1043
msgid "Need finds module"
msgstr "Nécessite le module mobilier"
-#: models.py:1039
+#: models.py:1045
msgid "Home page"
msgstr "Page d'accueil"
-#: models.py:1040
+#: models.py:1046
#, python-brace-format
msgid ""
"Homepage of Ishtar - if not defined a default homepage will appear. Use the "
@@ -680,11 +682,11 @@ msgstr ""
"défaut apparaît. Utiliser la syntaxe Markdown. {random_image} peut être "
"utilisé pour afficher une image au hasard."
-#: models.py:1044
+#: models.py:1050
msgid "File external id"
msgstr "Identifiant externe de fichier"
-#: models.py:1046
+#: models.py:1052
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 "
@@ -694,11 +696,11 @@ msgstr ""
"précaution. Une formule incorrecte peut rendre l'application inutilisable et "
"l'import de données externes peut alors être destructif."
-#: models.py:1051
+#: models.py:1057
msgid "Parcel external id"
msgstr "Identifiant externe de parcelle"
-#: models.py:1054
+#: models.py:1060
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 "
@@ -708,11 +710,11 @@ msgstr ""
"précaution. Une formule incorrecte peut rendre l'application inutilisable et "
"l'import de données externes peut alors être destructif."
-#: models.py:1059
+#: models.py:1065
msgid "Context record external id"
msgstr "Identifiant externe d'unité d'enregistrement"
-#: models.py:1061
+#: models.py:1067
msgid ""
"Formula to manage context record external ID. Change this with care. With "
"incorrect formula, the application might be unusable and import of external "
@@ -722,11 +724,11 @@ msgstr ""
"manipuler avec précaution. Une formule incorrecte peut rendre l'application "
"inutilisable et l'import de données externes peut alors être destructif."
-#: models.py:1066
+#: models.py:1072
msgid "Base find external id"
msgstr "Identifiant externe de mobilier de base"
-#: models.py:1068
+#: models.py:1074
msgid ""
"Formula to manage base find external ID. Change this with care. With "
"incorrect formula, the application might be unusable and import of external "
@@ -736,11 +738,11 @@ msgstr ""
"manipuler avec précaution. Une formule incorrecte peut rendre l'application "
"inutilisable et l'import de données externes peut alors être destructif."
-#: models.py:1073
+#: models.py:1079
msgid "Find external id"
msgstr "Identifiant externe de mobilier"
-#: models.py:1075
+#: models.py:1081
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 "
@@ -750,11 +752,11 @@ msgstr ""
"précaution. Une formule incorrecte peut rendre l'application inutilisable et "
"l'import de données externes peut alors être destructif."
-#: models.py:1080
+#: models.py:1086
msgid "Raw name for person"
msgstr "Nom brut pour une personne"
-#: models.py:1082
+#: models.py:1088
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 "
@@ -764,43 +766,43 @@ msgstr ""
"Une formule incorrecte peut rendre l'application inutilisable et l'import de "
"données externes peut alors être destructif."
-#: models.py:1086
+#: models.py:1092
msgid "Current active"
msgstr "Actuellement utilisé"
-#: models.py:1087
+#: models.py:1093
msgid "Currency"
msgstr "Devise"
-#: models.py:1091
+#: models.py:1097
msgid "Ishtar site profile"
msgstr "Profil d'instance Ishtar"
-#: models.py:1092
+#: models.py:1098
msgid "Ishtar site profiles"
msgstr "Profils d'instance Ishtar"
-#: models.py:1148
+#: models.py:1154
msgid "Variable name"
msgstr "Nom de la variable"
-#: models.py:1149
+#: models.py:1155
msgid "Description of the variable"
msgstr "Description de la variable"
-#: models.py:1151 models.py:1938
+#: models.py:1157 models.py:1944
msgid "Value"
msgstr "Valeur"
-#: models.py:1154
+#: models.py:1160
msgid "Global variable"
msgstr "Variable globale"
-#: models.py:1264 models.py:1294
+#: models.py:1270 models.py:1300
msgid "Total"
msgstr "Total"
-#: models.py:1271 models.py:1395 models.py:1407
+#: models.py:1277 models.py:1401 models.py:1413
#: templates/ishtar/sheet_person.html:22
#: templates/ishtar/dashboards/dashboard_main_detail.html:141
#: templates/ishtar/dashboards/dashboard_main_detail_users.html:26
@@ -808,611 +810,611 @@ msgstr "Total"
msgid "Number"
msgstr "Nombre"
-#: models.py:1358
+#: models.py:1364
msgid "Administrative Act"
msgstr "Acte administratif"
-#: models.py:1362
+#: models.py:1368
msgid "Associated object"
msgstr "Objet associé"
-#: models.py:1366
+#: models.py:1372
msgid "Document template"
msgstr "Patron de document"
-#: models.py:1367
+#: models.py:1373
msgid "Document templates"
msgstr "Patrons de document"
-#: models.py:1398 models.py:1408 models.py:2149
+#: models.py:1404 models.py:1414 models.py:2155
msgid "State"
msgstr "État"
-#: models.py:1412 templates/blocks/JQueryAdvancedTown.html:12
+#: models.py:1418 templates/blocks/JQueryAdvancedTown.html:12
msgid "Department"
msgstr "Département"
-#: models.py:1413
+#: models.py:1419
msgid "Departments"
msgstr "Départements"
-#: models.py:1450
+#: models.py:1456
msgid "Raw phone"
msgstr "Téléphone brut"
-#: models.py:1456
+#: models.py:1462
msgid "Alternative address is prefered"
msgstr "L'adresse alternative est préférée"
-#: models.py:1495
+#: models.py:1501
msgid "Tel: "
msgstr "Tél :"
-#: models.py:1499
+#: models.py:1505
msgid "Mobile: "
msgstr "Mobile :"
-#: models.py:1503
+#: models.py:1509
msgid "Email: "
msgstr "Courriel :"
-#: models.py:1508
+#: models.py:1514
msgid "Merge key"
msgstr "Clé de fusion"
-#: models.py:1582
+#: models.py:1588
msgid "Organization types"
msgstr "Types d'organisation"
-#: models.py:1601 views.py:237
+#: models.py:1607 views.py:237
msgid "Operation"
msgstr "Opération"
-#: models.py:1603
+#: models.py:1609
msgid "Archaeological site"
msgstr "Entité Archéologique"
-#: models.py:1604
+#: models.py:1610
msgid "Parcels"
msgstr "Parcelles"
-#: models.py:1606
+#: models.py:1612
msgid "Operation source"
msgstr "Documentation de l'opération"
-#: models.py:1609 views.py:1329 views.py:1379
+#: models.py:1615 views.py:1330 views.py:1380
msgid "Archaeological files"
msgstr "Dossiers"
-#: models.py:1611 views.py:1332 views.py:1387
+#: models.py:1617 views.py:1333 views.py:1388
msgid "Context records"
msgstr "Unités d'Enregistrement"
-#: models.py:1613
+#: models.py:1619
msgid "Context record relations"
msgstr "Relations entre Unités d'Enregistrement"
-#: models.py:1615
+#: models.py:1621
msgid "Base finds"
msgstr "Mobilier de base"
-#: models.py:1651 templates/ishtar/dashboards/dashboard_main.html:25
+#: models.py:1657 templates/ishtar/dashboards/dashboard_main.html:25
msgid "Users"
msgstr "Utilisateurs"
-#: models.py:1653
+#: models.py:1659
msgid "Associated model"
msgstr "Modèle associé"
-#: models.py:1656
+#: models.py:1662
msgid "Is template"
msgstr "Est un patron"
-#: models.py:1657
+#: models.py:1663
msgid "Unicity keys (separator \";\")"
msgstr "Clés d'unicité (séparateur « ; »)"
-#: models.py:1661
+#: models.py:1667
msgid "Importer - Type"
msgstr "Importeur - Type"
-#: models.py:1662
+#: models.py:1668
msgid "Importer - Types"
msgstr "Importeur - Types"
-#: models.py:1752
+#: models.py:1758
msgid "Importer - Default"
msgstr "Importeur - Par défaut"
-#: models.py:1753
+#: models.py:1759
msgid "Importer - Defaults"
msgstr "Importeur - Par défaut"
-#: models.py:1788
+#: models.py:1794
msgid "Importer - Default value"
msgstr "Importeur - Valeur par défaut"
-#: models.py:1789
+#: models.py:1795
msgid "Importer - Default values"
msgstr "Importeur - Valeurs par défaut"
-#: models.py:1822
+#: models.py:1828
msgid "Column number"
msgstr "Numéro de colonne"
-#: models.py:1825
+#: models.py:1831
msgid "Required"
msgstr "Requis"
-#: models.py:1828
+#: models.py:1834
msgid "Importer - Column"
msgstr "Importeur - Colonne"
-#: models.py:1829
+#: models.py:1835
msgid "Importer - Columns"
msgstr "Importeur - Colonnes"
-#: models.py:1849
+#: models.py:1855
msgid "Field name"
msgstr "Nom du champ"
-#: models.py:1851 models.py:1885
+#: models.py:1857 models.py:1891
msgid "Force creation of new items"
msgstr "Forcer la création de nouveaux éléments"
-#: models.py:1853 models.py:1887
+#: models.py:1859 models.py:1893
msgid "Concatenate with existing"
msgstr "Concaténer avec l'existant"
-#: models.py:1855 models.py:1889
+#: models.py:1861 models.py:1895
msgid "Concatenate character"
msgstr "Caractère de concaténation"
-#: models.py:1859
+#: models.py:1865
msgid "Importer - Duplicate field"
msgstr "Importeur - Champ dupliqué"
-#: models.py:1860
+#: models.py:1866
msgid "Importer - Duplicate fields"
msgstr "Importeur - Champs dupliqués"
-#: models.py:1867
+#: models.py:1873
msgid "Regular expression"
msgstr "Expression régulière"
-#: models.py:1870
+#: models.py:1876
msgid "Importer - Regular expression"
msgstr "Importeur - Expression régulière"
-#: models.py:1871
+#: models.py:1877
msgid "Importer - Regular expressions"
msgstr "Importeur - Expressions régulières"
-#: models.py:1894
+#: models.py:1900
msgid "Importer - Target"
msgstr "Importeur - Cible"
-#: models.py:1895
+#: models.py:1901
msgid "Importer - Targets"
msgstr "Importeur - Cibles"
-#: models.py:1919 views.py:520
+#: models.py:1925 views.py:520
msgid "True"
msgstr "Oui"
-#: models.py:1920 views.py:522
+#: models.py:1926 views.py:522
msgid "False"
msgstr "Non"
-#: models.py:1939
+#: models.py:1945
msgid "Is set"
msgstr "Est défini"
-#: models.py:1946
+#: models.py:1952
msgid "Importer - Target key"
msgstr "Importeur - Clé de rapprochement"
-#: models.py:1947
+#: models.py:1953
msgid "Importer - Targets keys"
msgstr "Importeur - Clés de rapprochement"
-#: models.py:1999 models.py:2729 models.py:2742
+#: models.py:2005 models.py:2735 models.py:2748
msgid "Format"
msgstr "Format"
-#: models.py:2000 models.py:2834
+#: models.py:2006 models.py:2840
msgid "Operation type"
msgstr "Type d'opération"
-#: models.py:2001
+#: models.py:2007
msgid "Period"
msgstr "Périodes"
-#: models.py:2002
+#: models.py:2008
msgid "Report state"
msgstr "État de rapport"
-#: models.py:2003
+#: models.py:2009
msgid "Remain type"
msgstr "Type de vestige"
-#: models.py:2004
+#: models.py:2010
msgid "Unit"
msgstr "Unité"
-#: models.py:2005
+#: models.py:2011
msgid "Activity type"
msgstr "Type d'activité"
-#: models.py:2006
+#: models.py:2012
msgid "Material"
msgstr "Matériau"
-#: models.py:2008
+#: models.py:2014
msgid "Conservatory state"
msgstr "État de conservation"
-#: models.py:2009
+#: models.py:2015
msgid "Preservation type"
msgstr "Type de conservation"
-#: models.py:2010
+#: models.py:2016
msgid "Object type"
msgstr "Type d'objet"
-#: models.py:2012
+#: models.py:2018
msgid "Identification type"
msgstr "Type d'identification"
-#: models.py:2014
+#: models.py:2020
msgid "Context record relation type"
msgstr "Type de relations entre Unités d'Enregistrement"
-#: models.py:2015 models.py:2721
+#: models.py:2021 models.py:2727
msgid "Support type"
msgstr "Type de support"
-#: models.py:2021
+#: models.py:2027
msgid "Integer"
msgstr "Entier"
-#: models.py:2022
+#: models.py:2028
msgid "Float"
msgstr "Nombre à virgule"
-#: models.py:2023
+#: models.py:2029
msgid "String"
msgstr "Chaîne de caractères"
-#: models.py:2024 templates/sheet_ope.html:86
+#: models.py:2030 templates/sheet_ope.html:86
msgid "Date"
msgstr "Date"
-#: models.py:2026 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83
+#: models.py:2032 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83
#: templates/ishtar/dashboards/dashboard_main_detail.html:126
msgid "Year"
msgstr "Année"
-#: models.py:2027
+#: models.py:2033
msgid "String to boolean"
msgstr "Chaîne de caractères vers booléen"
-#: models.py:2028
+#: models.py:2034
msgctxt "filesystem"
msgid "File"
msgstr "Fichier"
-#: models.py:2029
+#: models.py:2035
msgid "Unknow type"
msgstr "Type inconnu"
-#: models.py:2045
+#: models.py:2051
msgid "4 digit year. e.g.: \"2015\""
msgstr "Année sur 4 chiffres. Exemple : « 2015 »"
-#: models.py:2046
+#: models.py:2052
msgid "4 digit year/month/day. e.g.: \"2015/02/04\""
msgstr "Année sur 4 chiffres/mois/jour. Exemple : « 2015/02/04 »"
-#: models.py:2047
+#: models.py:2053
msgid "Day/month/4 digit year. e.g.: \"04/02/2015\""
msgstr "Jour/mois/année sur 4 chiffres. Exemple : « 04/02/2015 »"
-#: models.py:2057
+#: models.py:2063
msgid "Options"
msgstr "Options"
-#: models.py:2059
+#: models.py:2065
msgid "Split character(s)"
msgstr "Caractère(s) de séparation"
-#: models.py:2063
+#: models.py:2069
msgid "Importer - Formater type"
msgstr "Importeur - Type de mise en forme"
-#: models.py:2064
+#: models.py:2070
msgid "Importer - Formater types"
msgstr "Importeur - Types de mise en forme"
-#: models.py:2113 templates/ishtar/dashboards/dashboard_main_detail.html:63
+#: models.py:2119 templates/ishtar/dashboards/dashboard_main_detail.html:63
msgid "Created"
msgstr "Créé"
-#: models.py:2114
+#: models.py:2120
msgid "Analyse in progress"
msgstr "Analyse en cours"
-#: models.py:2115
+#: models.py:2121
msgid "Analysed"
msgstr "Analysé"
-#: models.py:2116
+#: models.py:2122
msgid "Import pending"
msgstr "Import en attente"
-#: models.py:2117
+#: models.py:2123
msgid "Import in progress"
msgstr "Import en cours"
-#: models.py:2118
+#: models.py:2124
msgid "Finished with errors"
msgstr "Terminé avec des erreurs"
-#: models.py:2119
+#: models.py:2125
msgid "Finished"
msgstr "Terminé"
-#: models.py:2120
+#: models.py:2126
msgid "Archived"
msgstr "Archivé"
-#: models.py:2132
+#: models.py:2138
msgid "Imported file"
msgstr "Fichier importé"
-#: models.py:2135
+#: models.py:2141
msgid "Associated images (zip file)"
msgstr "Images associées (fichier zip)"
-#: models.py:2137
+#: models.py:2143
msgid "Encoding"
msgstr "Codage"
-#: models.py:2139
+#: models.py:2145
msgid "Skip lines"
msgstr "Nombre de lignes d'entête"
-#: models.py:2140 templates/ishtar/import_list.html:47
+#: models.py:2146 templates/ishtar/import_list.html:47
msgid "Error file"
msgstr "Fichier erreur"
-#: models.py:2143
+#: models.py:2149
msgid "Result file"
msgstr "Fichier résultant"
-#: models.py:2146 templates/ishtar/import_list.html:53
+#: models.py:2152 templates/ishtar/import_list.html:53
msgid "Match file"
msgstr "Fichier de correspondance"
-#: models.py:2152
+#: models.py:2158
msgid "Conservative import"
msgstr "Import conservateur"
-#: models.py:2157
+#: models.py:2163
msgid "End date"
msgstr "Date de fin"
-#: models.py:2159
+#: models.py:2165
msgid "Remaining seconds"
msgstr "Secondes restantes"
-#: models.py:2164
+#: models.py:2170
msgid "Import"
msgstr "Import"
-#: models.py:2181
+#: models.py:2187
msgid "Analyse"
msgstr "Analyser"
-#: models.py:2183 models.py:2186
+#: models.py:2189 models.py:2192
msgid "Re-analyse"
msgstr "Analyser de nouveau "
-#: models.py:2184
+#: models.py:2190
msgid "Launch import"
msgstr "Lancer l'import"
-#: models.py:2187
+#: models.py:2193
msgid "Re-import"
msgstr "Ré-importer"
-#: models.py:2188
+#: models.py:2194
msgid "Archive"
msgstr "Archiver"
-#: models.py:2190
+#: models.py:2196
msgid "Unarchive"
msgstr "Désarchiver"
-#: models.py:2191 widgets.py:110 templates/ishtar/form_delete.html:11
+#: models.py:2197 widgets.py:129 templates/ishtar/form_delete.html:11
msgid "Delete"
msgstr "Supprimer"
-#: models.py:2332
+#: models.py:2338
msgid "Organizations"
msgstr "Organisations"
-#: models.py:2334
+#: models.py:2340
msgid "Can view all Organizations"
msgstr "Peut voir toutes les Organisations"
-#: models.py:2335
+#: models.py:2341
msgid "Can view own Organization"
msgstr "Peut voir sa propre Organisation"
-#: models.py:2336
+#: models.py:2342
msgid "Can add own Organization"
msgstr "Peut ajouter sa propre Organisation"
-#: models.py:2338
+#: models.py:2344
msgid "Can change own Organization"
msgstr "Peut modifier sa propre Organisation"
-#: models.py:2340
+#: models.py:2346
msgid "Can delete own Organization"
msgstr "Peut supprimer sa propre Organisation"
-#: models.py:2375
+#: models.py:2381
msgid "Groups"
msgstr "Groupes"
-#: models.py:2380
+#: models.py:2386
msgid "Person types"
msgstr "Types de personne"
-#: models.py:2391
+#: models.py:2397
msgid "Title type"
msgstr "Type de titre"
-#: models.py:2392
+#: models.py:2398
msgid "Title types"
msgstr "Types de titre"
-#: models.py:2401
+#: models.py:2407
msgid "Mr"
msgstr "M."
-#: models.py:2402
+#: models.py:2408
msgid "Miss"
msgstr "Mlle"
-#: models.py:2403
+#: models.py:2409
msgid "Mr and Mrs"
msgstr "M. et Mme"
-#: models.py:2404
+#: models.py:2410
msgid "Mrs"
msgstr "Mme"
-#: models.py:2405
+#: models.py:2411
msgid "Doctor"
msgstr "Dr."
-#: models.py:2435
+#: models.py:2441
msgid "Contact type"
msgstr "Type de contact"
-#: models.py:2438 models.py:2502
+#: models.py:2444 models.py:2508
msgid "Types"
msgstr "Types"
-#: models.py:2441
+#: models.py:2447
msgid "Is attached to"
msgstr "Est rattaché à"
-#: models.py:2446
+#: models.py:2452
msgid "Persons"
msgstr "Personnes"
-#: models.py:2448
+#: models.py:2454
msgid "Can view all Persons"
msgstr "Peut voir toutes les Personnes"
-#: models.py:2449
+#: models.py:2455
msgid "Can view own Person"
msgstr "Peut voir sa propre Personne"
-#: models.py:2450
+#: models.py:2456
msgid "Can add own Person"
msgstr "Peut ajouter sa propre Personne"
-#: models.py:2451
+#: models.py:2457
msgid "Can change own Person"
msgstr "Peut modifier sa propre Personne"
-#: models.py:2452
+#: models.py:2458
msgid "Can delete own Person"
msgstr "Peut supprimer sa propre Personne"
-#: models.py:2630
+#: models.py:2636
msgid "Advanced shortcut menu"
msgstr "Menu de raccourci (avancé)"
-#: models.py:2633
+#: models.py:2639
msgid "Ishtar user"
msgstr "Utilisateur d'Ishtar"
-#: models.py:2634
+#: models.py:2640
msgid "Ishtar users"
msgstr "Utilisateurs d'Ishtar"
-#: models.py:2676
+#: models.py:2682
msgid "To modify the password use the form in Auth > User"
msgstr ""
"Pour modifier le mot de passe, utilisez le formulaire dans Authentification "
"> Utilisateurs"
-#: models.py:2682
+#: models.py:2688
msgid "Author types"
msgstr "Types d'auteur"
-#: models.py:2714
+#: models.py:2720
msgid "Source types"
msgstr "Types de document"
-#: models.py:2722
+#: models.py:2728
msgid "Support types"
msgstr "Types de support"
-#: models.py:2730
+#: models.py:2736
msgid "Formats"
msgstr "Formats"
-#: models.py:2737
+#: models.py:2743
msgid "External ID"
msgstr "Identifiant externe"
-#: models.py:2740
+#: models.py:2746
msgid "Support"
msgstr "Support"
-#: models.py:2744
+#: models.py:2750
msgid "Scale"
msgstr "Échelle"
-#: models.py:2758
+#: models.py:2764
msgid "Item number"
msgstr "Numéro d'élément"
-#: models.py:2759
+#: models.py:2765
msgid "Ref."
msgstr "Réf."
-#: models.py:2762
+#: models.py:2768
msgid "Internal ref."
msgstr "Réf. interne"
-#: models.py:2805
+#: models.py:2811
msgid "Surface (m2)"
msgstr "Surface (m2)"
-#: models.py:2806 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
+#: models.py:2812 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
msgid "Localisation"
msgstr "Localisation"
-#: models.py:2831
+#: models.py:2837
msgid "Is preventive"
msgstr "Est du préventif"
-#: models.py:2835
+#: models.py:2841
msgid "Operation types"
msgstr "Types d'opération"
-#: models.py:2864
+#: models.py:2870
msgid "Preventive"
msgstr "Préventif"
-#: models.py:2865
+#: models.py:2871
msgid "Research"
msgstr "Programmé"
@@ -1468,64 +1470,64 @@ msgstr "Unité d'Enregistrement"
msgid "Find"
msgstr "Mobilier"
-#: views.py:1268 views.py:1311
+#: views.py:1269 views.py:1312
msgid "Operation not permitted."
msgstr "Opération non permise."
-#: views.py:1270
+#: views.py:1271
#, python-format
msgid "New %s"
msgstr "Nouveau %s"
-#: views.py:1330 views.py:1383
+#: views.py:1331 views.py:1384
msgid "Operations"
msgstr "Opérations"
-#: views.py:1334 views.py:1390
+#: views.py:1335 views.py:1391
msgid "Finds"
msgstr "Mobilier"
-#: views.py:1582 templates/ishtar/import_list.html:43
+#: views.py:1583 templates/ishtar/import_list.html:43
msgid "Link unmatched items"
msgstr "Associer les éléments non rapprochés"
-#: views.py:1597
+#: views.py:1598
msgid "Delete import"
msgstr "Supprimer un import"
-#: views.py:1636
+#: views.py:1637
msgid "Merge persons"
msgstr "Fusionner des personnes"
-#: views.py:1660
+#: views.py:1661
msgid "Select the main person"
msgstr "Choisir la personne principale"
-#: views.py:1669
+#: views.py:1670
msgid "Merge organization"
msgstr "Fusionner des organisations"
-#: views.py:1679
+#: views.py:1680
msgid "Select the main organization"
msgstr "Sélectionner l'organisation principale"
-#: views.py:1719 views.py:1735
+#: views.py:1720 views.py:1736
msgid "Corporation manager"
msgstr "Représentant de la personne morale"
-#: widgets.py:239 widgets.py:346 widgets.py:461
+#: widgets.py:258 widgets.py:365 widgets.py:480
msgid "Search..."
msgstr "Recherche..."
-#: widgets.py:643 templatetags/window_tables.py:81
+#: widgets.py:671 templatetags/window_tables.py:85
msgid "No results"
msgstr "Pas de résultats"
-#: widgets.py:644 templatetags/window_tables.py:82
+#: widgets.py:672 templatetags/window_tables.py:86
msgid "Loading..."
msgstr "Chargement..."
-#: widgets.py:645
+#: widgets.py:673
msgid "Remove"
msgstr "Enlever"
@@ -1537,7 +1539,7 @@ msgstr "Oui"
msgid "No"
msgstr "Non"
-#: wizards.py:1274
+#: wizards.py:1298
#, python-format
msgid "[%(app_name)s] Account creation/modification"
msgstr "[%(app_name)s] Création/modification du compte"
@@ -1578,8 +1580,7 @@ msgstr "L'équipe %(app_name)s"
#: templates/base.html:41
msgid "Searches in the shortcut menu deal with all items."
-msgstr ""
-"Les recherches dans le menu de raccourci concernent tous les éléments."
+msgstr "Les recherches dans le menu de raccourci concernent tous les éléments."
#: templates/base.html:42
msgid "Searches in the shortcut menu deal with only your items."
@@ -1993,7 +1994,7 @@ msgstr "supprimer"
#: 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"
@@ -2395,7 +2396,7 @@ msgstr "Vous avez entré les informations suivantes :"
msgid "Would you like to save them?"
msgstr "Voulez-vous sauvegarder ces informations ?"
-#: 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
@@ -2403,7 +2404,7 @@ msgstr "Voulez-vous sauvegarder ces informations ?"
msgid "Add/Modify"
msgstr "Ajouter/Modifier"
-#: 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."
--
cgit v1.2.3
From da0129e3bc820c8787b0e6dbe2ed829ca4a02e86 Mon Sep 17 00:00:00 2001
From: Étienne Loks
Date: Wed, 21 Dec 2016 11:28:27 +0100
Subject: Operation deletion test - adjust migration dependencies
---
...sted_operation_type__add_field_file_organiza.py | 3 ++-
.../migrations/0001_initial.py | 3 ++-
archaeological_operations/tests.py | 26 ++++++++++++++++++++++
archaeological_operations/views.py | 13 +++++++----
ishtar_common/migrations/0058_generate_title.py | 1 +
.../migrations/0062_remove_ishtar_local_prefix.py | 1 +
6 files changed, 41 insertions(+), 6 deletions(-)
(limited to 'archaeological_files')
diff --git a/archaeological_files/migrations/0014_auto__add_field_file_requested_operation_type__add_field_file_organiza.py b/archaeological_files/migrations/0014_auto__add_field_file_requested_operation_type__add_field_file_organiza.py
index 6855d8198..aeb1faec1 100644
--- a/archaeological_files/migrations/0014_auto__add_field_file_requested_operation_type__add_field_file_organiza.py
+++ b/archaeological_files/migrations/0014_auto__add_field_file_requested_operation_type__add_field_file_organiza.py
@@ -6,6 +6,7 @@ from django.db import models
class Migration(SchemaMigration):
+ depends_on = (('archaeological_operations', '0001_initial.py'), )
def forwards(self, orm):
# Adding field 'File.requested_operation_type'
@@ -402,4 +403,4 @@ class Migration(SchemaMigration):
}
}
- complete_apps = ['archaeological_files']
\ No newline at end of file
+ complete_apps = ['archaeological_files']
diff --git a/archaeological_operations/migrations/0001_initial.py b/archaeological_operations/migrations/0001_initial.py
index 2039268aa..c5b4619ab 100644
--- a/archaeological_operations/migrations/0001_initial.py
+++ b/archaeological_operations/migrations/0001_initial.py
@@ -6,6 +6,7 @@ from django.db import models
class Migration(SchemaMigration):
+ depends_on = (('archaeological_files', '0001_initial.py'), )
def forwards(self, orm):
# Adding model 'OperationType'
@@ -651,4 +652,4 @@ class Migration(SchemaMigration):
}
}
- complete_apps = ['archaeological_operations']
\ No newline at end of file
+ complete_apps = ['archaeological_operations']
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py
index 316e3c897..2aa64ed15 100644
--- a/archaeological_operations/tests.py
+++ b/archaeological_operations/tests.py
@@ -697,6 +697,32 @@ class OperationWizardCreationTest(WizardTest, OperationInitTest, TestCase):
self.operation_number + 1)
+class OperationWizardDeleteTest(OperationWizardCreationTest):
+ fixtures = OperationWizardCreationTest.fixtures
+ url_name = 'operation_deletion'
+ wizard_name = 'operation_deletion_wizard'
+ steps = views.operation_deletion_steps
+ form_datas = [
+ FormData(
+ "Wizard deletion test",
+ form_datas={
+ 'selec-operation_deletion': {'pk': None},
+ }
+ )
+ ]
+
+ def pre_wizard(self):
+ self.ope = self.get_default_operation(force=True)
+ self.form_datas[0].form_datas['selec-operation_deletion']['pk'] = \
+ self.ope.pk
+ self.operation_number = models.Operation.objects.count()
+ super(OperationWizardDeleteTest, self).pre_wizard()
+
+ def post_wizard(self):
+ self.assertEqual(self.operation_number - 1,
+ models.Operation.objects.count())
+
+
class OperationWizardClosingTest(OperationWizardCreationTest):
fixtures = OperationWizardCreationTest.fixtures
url_name = 'operation_closing'
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index 7a9c7329b..005fae0db 100644
--- a/archaeological_operations/views.py
+++ b/archaeological_operations/views.py
@@ -163,8 +163,8 @@ def dashboard_operation(request, *args, **kwargs):
return render_to_response('ishtar/dashboards/dashboard_operation.html',
dct, context_instance=RequestContext(request))
-operation_search_wizard = SearchWizard.as_view([
- ('general-operation_search', OperationFormSelection)],
+operation_search_wizard = SearchWizard.as_view(
+ [('general-operation_search', OperationFormSelection)],
label=_(u"Operation search"),
url_name='operation_search',)
@@ -276,9 +276,14 @@ operation_closing_wizard = OperationClosingWizard.as_view(
label=_(u"Operation closing"),
url_name='operation_closing',)
-operation_deletion_wizard = OperationDeletionWizard.as_view([
+
+operation_deletion_steps = [
('selec-operation_deletion', OperationFormSelection),
- ('final-operation_deletion', OperationDeletionForm)],
+ ('final-operation_deletion', OperationDeletionForm)
+]
+
+operation_deletion_wizard = OperationDeletionWizard.as_view(
+ operation_deletion_steps,
label=_(u"Operation deletion"),
url_name='operation_deletion',)
diff --git a/ishtar_common/migrations/0058_generate_title.py b/ishtar_common/migrations/0058_generate_title.py
index 3fcb82ee5..d30850cab 100644
--- a/ishtar_common/migrations/0058_generate_title.py
+++ b/ishtar_common/migrations/0058_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/0062_remove_ishtar_local_prefix.py b/ishtar_common/migrations/0062_remove_ishtar_local_prefix.py
index a4624081a..b1406a111 100644
--- a/ishtar_common/migrations/0062_remove_ishtar_local_prefix.py
+++ b/ishtar_common/migrations/0062_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):
for p in orm['ishtar_common.IshtarSiteProfile'].objects.all():
--
cgit v1.2.3