summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-10-22 13:51:30 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-10-22 13:51:30 +0200
commitcd1b777d6e95d1895780b414870ec27358ac0dd3 (patch)
tree904c5114a778b5d2bdeb688f842ef084caed4f97
parent950cfb19a1c809e9d5e777c2750b3dd3f39bbf9f (diff)
parent480fa4f7e9a0ca6fed3b1f444807734d854de2b0 (diff)
downloadIshtar-cd1b777d6e95d1895780b414870ec27358ac0dd3.tar.bz2
Ishtar-cd1b777d6e95d1895780b414870ec27358ac0dd3.zip
Merge branch 'v0.9' into wheezy
-rw-r--r--.gitignore1
-rw-r--r--CHANGES.md26
-rw-r--r--Makefile.example2
-rw-r--r--archaeological_context_records/fixtures/initial_data-fr.json167
-rw-r--r--archaeological_context_records/forms.py6
-rw-r--r--archaeological_context_records/locale/django.pot194
-rw-r--r--archaeological_context_records/migrations/0009_auto__chg_field_contextrecord_image__chg_field_contextrecord_thumbnail.py672
-rw-r--r--archaeological_context_records/models.py54
-rw-r--r--archaeological_context_records/templates/ishtar/sheet_contextrecord.html4
-rw-r--r--archaeological_context_records/views.py51
-rw-r--r--archaeological_files/locale/django.pot120
-rw-r--r--archaeological_files/models.py30
-rw-r--r--archaeological_files/views.py57
-rw-r--r--archaeological_finds/fixtures/initial_data-fr.json224
-rw-r--r--archaeological_finds/forms.py2
-rw-r--r--archaeological_finds/locale/django.pot206
-rw-r--r--archaeological_finds/migrations/0011_auto__chg_field_historicalfind_image__chg_field_historicalfind_thumbna.py1053
-rw-r--r--archaeological_finds/migrations/0012_regenerate_cached_label.py1015
-rw-r--r--archaeological_finds/models.py97
-rw-r--r--archaeological_finds/templates/ishtar/sheet_find.html9
-rw-r--r--archaeological_finds/views.py83
-rw-r--r--archaeological_operations/fixtures/initial_data-fr.json1613
-rw-r--r--archaeological_operations/forms.py6
-rw-r--r--archaeological_operations/locale/django.pot286
-rw-r--r--archaeological_operations/migrations/0011_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py688
-rw-r--r--archaeological_operations/models.py140
-rw-r--r--archaeological_operations/templates/ishtar/sheet_operation.html8
-rw-r--r--archaeological_operations/views.py105
-rw-r--r--archaeological_warehouse/locale/django.pot14
-rw-r--r--archaeological_warehouse/models.py9
-rw-r--r--archaeological_warehouse/views.py9
-rw-r--r--ishtar_common/fixtures/initial_importtypes-fr.json4337
-rw-r--r--ishtar_common/forms_common.py2
-rw-r--r--ishtar_common/locale/django.pot554
-rw-r--r--ishtar_common/models.py40
-rw-r--r--ishtar_common/static/js/ishtar.js12
-rw-r--r--ishtar_common/static/media/style.css70
-rw-r--r--ishtar_common/templates/blocks/JQueryJqGrid.html7
-rw-r--r--ishtar_common/templates/ishtar/blocks/advanced_shortcut_menu.html10
-rw-r--r--ishtar_common/templates/ishtar/blocks/shortcut_menu.html12
-rw-r--r--ishtar_common/urls.py2
-rw-r--r--ishtar_common/utils.py37
-rw-r--r--ishtar_common/views.py124
-rw-r--r--ishtar_common/widgets.py13
-rw-r--r--translations/de/ishtar_common.po554
-rw-r--r--translations/fr/archaeological_context_records.po194
-rw-r--r--translations/fr/archaeological_files.po120
-rw-r--r--translations/fr/archaeological_finds.po206
-rw-r--r--translations/fr/archaeological_operations.po286
-rw-r--r--translations/fr/archaeological_warehouse.po14
-rw-r--r--translations/fr/ishtar_common.po556
-rw-r--r--version.py2
52 files changed, 11894 insertions, 2209 deletions
diff --git a/.gitignore b/.gitignore
index ebbb01d07..086a9b48c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,5 +16,6 @@ docs/*/build
Makefile
oook_replace
.zanata-cache
+.cache
dist
ishtar.egg-info
diff --git a/CHANGES.md b/CHANGES.md
index 95503838b..87a5f0dba 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,6 +1,32 @@
Ishtar changelog
================
+0.98.8 (2016-10-22)
+-------------------
+
+### Features ###
+
+- Better management of cached label generation:
+ - cascading update management
+ - relevant history saving
+ - force generation on rollback
+ - better performance (but can still be slow)
+- Manage export with importer's templates
+- Sheets: highlight main references
+- Update default french fixtures
+- Image filename are now up to 255 characters. Length test is done on forms.
+- Fixed position for shortcut menu and top bar
+- Show/hide shortcut menu
+- Context record: move "has furniture" to general panel
+
+### Bug fixes ###
+
+- Operation: fix sort existing parcels
+- Fix basket displaying in default menu
+- Fix random image choice
+- Makefile: fix bad fixture generation rules
+- Small CSS fix
+
0.98.7 (2016-10-17)
-------------------
diff --git a/Makefile.example b/Makefile.example
index 53db6cb04..9db609d37 100644
--- a/Makefile.example
+++ b/Makefile.example
@@ -149,7 +149,7 @@ generate_doc:
done
rm /tmp/ishtar.dot
-fixtures: fixtures_auth fixtures_common fixtures_operations fixtures_archaeological_context_records fixtures_archaeological_finds fixtures_archaeological_warehouse fixtures_archaeological_files
+fixtures: fixtures_auth fixtures_common fixtures_operations fixtures_context_records fixtures_finds fixtures_warehouse fixtures_files
fixtures_auth:
cd $(project); $(PYTHON) ./manage.py dumpdata --indent 4 \
diff --git a/archaeological_context_records/fixtures/initial_data-fr.json b/archaeological_context_records/fixtures/initial_data-fr.json
index 4991e7b66..019940ea3 100644
--- a/archaeological_context_records/fixtures/initial_data-fr.json
+++ b/archaeological_context_records/fixtures/initial_data-fr.json
@@ -6,7 +6,7 @@
"comment": "Datation fond\u00e9e sur des faits",
"available": true,
"txt_idx": "sure",
- "label": "Aver\u00e9e"
+ "label": "Av\u00e9r\u00e9e"
}
},
{
@@ -23,7 +23,7 @@
"pk": 1,
"model": "archaeological_context_records.activitytype",
"fields": {
- "comment": "Unit\u00e9 enregistrement qui n'est pas directement d'origine anthropique",
+ "comment": "Unit\u00e9 d'enregistrement qui n'est pas directement d'origine anthropique. ",
"available": true,
"txt_idx": "natural",
"order": 1000,
@@ -34,7 +34,7 @@
"pk": 2,
"model": "archaeological_context_records.activitytype",
"fields": {
- "comment": "Unit\u00e9 \u00e9labor\u00e9e par l'homme, comme une mur ou un sol am\u00e9nag\u00e9 par exemple",
+ "comment": "Unit\u00e9 \u00e9labor\u00e9e par l'homme, comme une mur ou un sol am\u00e9nag\u00e9 par exemple.",
"available": true,
"txt_idx": "construction",
"order": 1100,
@@ -45,10 +45,10 @@
"pk": 3,
"model": "archaeological_context_records.activitytype",
"fields": {
- "comment": "Unit\u00e9 r\u00e9sultant de l'arr\u00eat d'anthropisation",
+ "comment": "Unit\u00e9 r\u00e9sultant de l'arr\u00eat d'anthropisation.",
"available": true,
"txt_idx": "desertion",
- "order": 1300,
+ "order": 1200,
"label": "Abandon"
}
},
@@ -56,10 +56,10 @@
"pk": 4,
"model": "archaeological_context_records.activitytype",
"fields": {
- "comment": "Unit\u00e9 li\u00e9e \u00e0 l'anthropisation elle-m\u00eame",
+ "comment": "Unit\u00e9 li\u00e9e \u00e0 l'anthropisation elle-m\u00eame.",
"available": true,
"txt_idx": "occupation",
- "order": 1200,
+ "order": 1300,
"label": "Occupation"
}
},
@@ -119,25 +119,25 @@
}
},
{
- "pk": 6,
+ "pk": 5,
"model": "archaeological_context_records.identificationtype",
"fields": {
"comment": "",
"available": true,
- "txt_idx": "geological_level",
+ "txt_idx": "desertion_level",
"order": 1400,
- "label": "Niveau g\u00e9ologique"
+ "label": "Niveau d'abandon"
}
},
{
- "pk": 5,
+ "pk": 6,
"model": "archaeological_context_records.identificationtype",
"fields": {
"comment": "",
"available": true,
- "txt_idx": "desertion_level",
+ "txt_idx": "geological_level",
"order": 1400,
- "label": "Niveau d'abandon"
+ "label": "Niveau g\u00e9ologique"
}
},
{
@@ -218,15 +218,15 @@
}
},
{
- "pk": 9,
+ "pk": 13,
"model": "archaeological_context_records.unit",
"fields": {
- "comment": "Unit\u00e9 g\u00e9n\u00e9rale (d'ordinaire virtuelle) pouvant regrouper du mobilier trouver en dehors d'un contexte spatialis\u00e9 : mobilier trouver lors d'un d\u00e9capage, sous une semelle d'un fouilleur, dans les d\u00e9blais, etc.",
+ "comment": "",
"available": true,
"parent": null,
- "label": "Hors contexte",
+ "label": "Secteur",
"order": 1,
- "txt_idx": "not_in_context"
+ "txt_idx": "sector"
}
},
{
@@ -242,6 +242,30 @@
}
},
{
+ "pk": 9,
+ "model": "archaeological_context_records.unit",
+ "fields": {
+ "comment": "Unit\u00e9 g\u00e9n\u00e9rale (d'ordinaire virtuelle) pouvant regrouper du mobilier trouver en dehors d'un contexte spatialis\u00e9 : mobilier trouver lors d'un d\u00e9capage, sous une semelle d'un fouilleur, dans les d\u00e9blais, etc.",
+ "available": true,
+ "parent": null,
+ "label": "Hors contexte",
+ "order": 1,
+ "txt_idx": "not_in_context"
+ }
+ },
+ {
+ "pk": 14,
+ "model": "archaeological_context_records.unit",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "parent": null,
+ "label": "Zone",
+ "order": 2,
+ "txt_idx": "zone"
+ }
+ },
+ {
"pk": 10,
"model": "archaeological_context_records.unit",
"fields": {
@@ -365,7 +389,7 @@
"pk": 1,
"model": "archaeological_context_records.datingtype",
"fields": {
- "comment": "D'apr\u00e8s une datation de type C14, OSL, TL, arch\u00e9omagn\u00e9tisme, etc, forunissant une date en BPcal avec une marge.",
+ "comment": "D'apr\u00e8s une datation de type C14, OSL, TL, arch\u00e9omagn\u00e9tisme, etc, fournissant une date en BP cal avec une marge.",
"available": true,
"txt_idx": "from_absolute_dating",
"label": "D'apr\u00e8s datation absolue"
@@ -375,7 +399,7 @@
"pk": 2,
"model": "archaeological_context_records.datingtype",
"fields": {
- "comment": "Une \u00e9tude du mobilier est la source de datation",
+ "comment": "Une \u00e9tude du mobilier est la source de datation.",
"available": true,
"txt_idx": "from_artefact",
"label": "D'apr\u00e8s \u00e9tude du mobilier"
@@ -385,47 +409,79 @@
"pk": 2,
"model": "archaeological_context_records.relationtype",
"fields": {
- "comment": "Cette UE en remplit une autre (qui doit \u00eatre vraisemblablement une US de creusement)",
+ "comment": "Une UE en rempli une autre (qui doit \u00eatre vraisemblablement une US de creusement)",
"available": true,
- "label": "Remplit",
+ "tiny_label": null,
+ "label": "Comble",
"symmetrical": false,
- "inverse_relation": null,
+ "inverse_relation": 10,
"order": 1,
"txt_idx": "filling"
}
},
{
- "pk": 4,
+ "pk": 8,
+ "model": "archaeological_context_records.relationtype",
+ "fields": {
+ "comment": "UE recoup\u00e9e par une autre",
+ "available": true,
+ "tiny_label": null,
+ "label": "Coup\u00e9 par",
+ "symmetrical": false,
+ "inverse_relation": 1,
+ "order": 1,
+ "txt_idx": "cutted"
+ }
+ },
+ {
+ "pk": 9,
"model": "archaeological_context_records.relationtype",
"fields": {
- "comment": "Cette UE est en relation indirecte avec une autre",
+ "comment": "UE \u00e9quivalant \u00e0 une autre",
"available": true,
- "label": "Est en relation indirecte avec",
+ "tiny_label": null,
+ "label": "\u00c9quivaut \u00e0",
"symmetrical": true,
"inverse_relation": null,
"order": 1,
- "txt_idx": "indirect_relation"
+ "txt_idx": "equals"
}
},
{
- "pk": 5,
+ "pk": 3,
"model": "archaeological_context_records.relationtype",
"fields": {
- "comment": "Cette UE en inclut (regroupe) d'autres (ex: tranch\u00e9e / structures ou entre structure / US, etc.)",
+ "comment": "UE est situ\u00e9e au-dessus d'une autre",
"available": true,
- "label": "Inclut",
+ "tiny_label": null,
+ "label": "Est au-dessus de",
"symmetrical": false,
- "inverse_relation": 6,
+ "inverse_relation": 7,
"order": 1,
- "txt_idx": "include"
+ "txt_idx": "is_above"
+ }
+ },
+ {
+ "pk": 10,
+ "model": "archaeological_context_records.relationtype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "tiny_label": null,
+ "label": "Est-combl\u00e9 par",
+ "symmetrical": false,
+ "inverse_relation": 2,
+ "order": 1,
+ "txt_idx": "filled_by"
}
},
{
"pk": 7,
"model": "archaeological_context_records.relationtype",
"fields": {
- "comment": "Cette UE est situ\u00e9e en-dessous d'une autre",
+ "comment": "UE est situ\u00e9e en-dessous d'une autre",
"available": true,
+ "tiny_label": null,
"label": "Est en-dessous de",
"symmetrical": false,
"inverse_relation": 3,
@@ -434,37 +490,40 @@
}
},
{
- "pk": 3,
+ "pk": 6,
"model": "archaeological_context_records.relationtype",
"fields": {
- "comment": "Cette UE est situ\u00e9e au-dessus d'une autre",
+ "comment": "Cette unit\u00e9 d'enregistrement fait partie d'une autre",
"available": true,
- "label": "Est au-dessus de",
+ "tiny_label": null,
+ "label": "Est inclus dans",
"symmetrical": false,
- "inverse_relation": 7,
+ "inverse_relation": 5,
"order": 1,
- "txt_idx": "is_above"
+ "txt_idx": "is_included"
}
},
{
- "pk": 8,
+ "pk": 5,
"model": "archaeological_context_records.relationtype",
"fields": {
- "comment": "Cette UE est recoup\u00e9e par une autre",
+ "comment": "Cette Unit\u00e9 d\u2019enregistrement en inclut (regroupe) d'autres (ex: tranch\u00e9e / structures ou entre structure / US, etc.)",
"available": true,
- "label": "Est coup\u00e9e par",
+ "tiny_label": null,
+ "label": "Inclut",
"symmetrical": false,
- "inverse_relation": 1,
+ "inverse_relation": 6,
"order": 1,
- "txt_idx": "cutted"
+ "txt_idx": "include"
}
},
{
"pk": 1,
"model": "archaeological_context_records.relationtype",
"fields": {
- "comment": "Cette UE en recoupe une autre",
+ "comment": "UE recoupant une autre",
"available": true,
+ "tiny_label": null,
"label": "Recoupe",
"symmetrical": false,
"inverse_relation": 8,
@@ -473,29 +532,17 @@
}
},
{
- "pk": 9,
+ "pk": 4,
"model": "archaeological_context_records.relationtype",
"fields": {
- "comment": "Cette UE est \u00e9quivalente \u00e0 une autre",
+ "comment": "A pr\u00e9ciser ",
"available": true,
- "label": "\u00c9quivaut \u00e0",
+ "tiny_label": null,
+ "label": "Relation indirecte",
"symmetrical": true,
"inverse_relation": null,
"order": 1,
- "txt_idx": "equals"
- }
- },
- {
- "pk": 6,
- "model": "archaeological_context_records.relationtype",
- "fields": {
- "comment": "Cette UE fait partie d'une autre",
- "available": true,
- "label": "Est incluse dans",
- "symmetrical": false,
- "inverse_relation": 5,
- "order": 1,
- "txt_idx": "is_included"
+ "txt_idx": "indirect_relation"
}
}
]
diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py
index 4a5267654..72cb24097 100644
--- a/archaeological_context_records/forms.py
+++ b/archaeological_context_records/forms.py
@@ -145,6 +145,8 @@ class RecordFormGeneral(ManageOldType, forms.Form):
thickness = forms.FloatField(label=_(u"Thickness (m)"), required=False)
depth = forms.FloatField(label=_(u"Depth (m)"), required=False)
unit = forms.ChoiceField(label=_("Unit"), required=False, choices=[])
+ has_furniture = forms.NullBooleanField(label=_(u"Has furniture?"),
+ required=False)
location = forms.CharField(
label=_(u"Location"), widget=forms.Textarea,
required=False, validators=[validators.MaxLengthValidator(200)])
@@ -154,7 +156,7 @@ class RecordFormGeneral(ManageOldType, forms.Form):
u"(ratio is preserved).</p>") % {
'width': settings.IMAGE_MAX_SIZE[0],
'height': settings.IMAGE_MAX_SIZE[1]}),
- required=False, widget=widgets.ImageFileInput())
+ max_length=255, required=False, widget=widgets.ImageFileInput())
def __init__(self, *args, **kwargs):
operation = None
@@ -289,8 +291,6 @@ class RecordFormInterpretation(ManageOldType, forms.Form):
datings_comment = forms.CharField(
label=_(u"Comments on dating"), required=False,
widget=forms.Textarea)
- has_furniture = forms.NullBooleanField(label=_(u"Has furniture?"),
- required=False)
filling = forms.CharField(label=_(u"Filling"),
widget=forms.Textarea, required=False)
interpretation = forms.CharField(label=_(u"Interpretation"),
diff --git a/archaeological_context_records/locale/django.pot b/archaeological_context_records/locale/django.pot
index c2fe20b14..283d5b050 100644
--- a/archaeological_context_records/locale/django.pot
+++ b/archaeological_context_records/locale/django.pot
@@ -7,11 +7,11 @@
msgid ""
msgstr ""
-#: forms.py:47 forms.py:51 models.py:143 wizards.py:77
+#: forms.py:47 forms.py:51 models.py:164 wizards.py:77
msgid "Operation"
msgstr ""
-#: forms.py:59 forms.py:137 models.py:145
+#: forms.py:59 forms.py:137 models.py:166
msgid "ID"
msgstr ""
@@ -35,7 +35,7 @@ msgstr ""
msgid "Search within operation relations"
msgstr ""
-#: forms.py:77 forms.py:230 models.py:55
+#: forms.py:77 forms.py:232 models.py:55
msgid "Period"
msgstr ""
@@ -51,7 +51,7 @@ msgstr ""
msgid "Search within relations"
msgstr ""
-#: forms.py:111 forms.py:335 views.py:133
+#: forms.py:111 forms.py:335 views.py:88
msgid "Context record search"
msgstr ""
@@ -63,123 +63,123 @@ msgstr ""
msgid "General"
msgstr ""
-#: forms.py:136 models.py:131 models.py:141
+#: forms.py:136 models.py:131 models.py:162
msgid "Parcel"
msgstr ""
-#: forms.py:139 models.py:146 templates/ishtar/sheet_contextrecord.html:25
+#: forms.py:139 models.py:167 templates/ishtar/sheet_contextrecord.html:27
msgid "Description"
msgstr ""
-#: forms.py:141 models.py:147
+#: forms.py:141 models.py:168
msgid "General comment"
msgstr ""
-#: forms.py:143 models.py:151
+#: forms.py:143 models.py:172
msgid "Length (m)"
msgstr ""
-#: forms.py:144 models.py:152
+#: forms.py:144 models.py:173
msgid "Width (m)"
msgstr ""
-#: forms.py:145 models.py:153
+#: forms.py:145 models.py:174
msgid "Thickness (m)"
msgstr ""
-#: forms.py:146 models.py:155
+#: forms.py:146 models.py:176
msgid "Depth (m)"
msgstr ""
-#: forms.py:147 models.py:163
+#: forms.py:147 models.py:184
msgid "Unit"
msgstr ""
-#: forms.py:149 models.py:157
+#: forms.py:148 models.py:186
+msgid "Has furniture?"
+msgstr ""
+
+#: forms.py:151 models.py:178
msgid "Location"
msgstr ""
-#: forms.py:152
+#: forms.py:154
msgid "Image"
msgstr ""
-#: forms.py:153
+#: forms.py:155
#, python-format
msgid ""
"<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</"
"p>"
msgstr ""
-#: forms.py:219
+#: forms.py:221
msgid "This ID already exists for this operation."
msgstr ""
-#: forms.py:225 forms.py:252 models.py:66
+#: forms.py:227 forms.py:254 models.py:66
msgid "Dating"
msgstr ""
-#: forms.py:231 models.py:56
+#: forms.py:233 models.py:56
msgid "Start date"
msgstr ""
-#: forms.py:232 models.py:57 models.py:150
+#: forms.py:234 models.py:57 models.py:171
msgid "End date"
msgstr ""
-#: forms.py:233 models.py:60
+#: forms.py:235 models.py:60
msgid "Quality"
msgstr ""
-#: forms.py:234 models.py:38 models.py:58
+#: forms.py:236 models.py:38 models.py:58
msgid "Dating type"
msgstr ""
-#: forms.py:261 ishtar_menu.py:29 models.py:403
+#: forms.py:263 ishtar_menu.py:29 models.py:457
msgid "Context record"
msgstr ""
-#: forms.py:282
+#: forms.py:284
msgid "Relations"
msgstr ""
-#: forms.py:286 forms.py:296 models.py:168
-#: templates/ishtar/sheet_contextrecord.html:37
+#: forms.py:288 forms.py:296 models.py:189
+#: templates/ishtar/sheet_contextrecord.html:39
msgid "Interpretation"
msgstr ""
-#: forms.py:290
+#: forms.py:292
msgid "Comments on dating"
msgstr ""
-#: forms.py:292 models.py:165
-msgid "Has furniture?"
-msgstr ""
-
-#: forms.py:294 models.py:167
+#: forms.py:294 models.py:188
msgid "Filling"
msgstr ""
-#: forms.py:298 models.py:188
+#: forms.py:298 models.py:209
msgid "Activity"
msgstr ""
-#: forms.py:300 models.py:186
+#: forms.py:300 models.py:207
msgid "Identification"
msgstr ""
-#: forms.py:302 models.py:171
+#: forms.py:302 models.py:192
msgid "TAQ"
msgstr ""
-#: forms.py:303 models.py:175
+#: forms.py:303 models.py:196
msgid "Estimated TAQ"
msgstr ""
-#: forms.py:305 models.py:178
+#: forms.py:305 models.py:199
msgid "TPQ"
msgstr ""
-#: forms.py:306 models.py:182
+#: forms.py:306 models.py:203
msgid "Estimated TPQ"
msgstr ""
@@ -303,248 +303,248 @@ msgstr ""
msgid "Identification Types"
msgstr ""
-#: models.py:138
+#: models.py:159
msgid "External ID"
msgstr ""
-#: models.py:140
+#: models.py:161
msgid "External ID is set automatically"
msgstr ""
-#: models.py:148
+#: models.py:169
msgid "Date d'ouverture"
msgstr ""
-#: models.py:158
+#: models.py:179
msgid "A short description of the location of the context record"
msgstr ""
-#: models.py:161
+#: models.py:182
msgid "Comment on datings"
msgstr ""
-#: models.py:172
+#: models.py:193
msgid ""
"\"Terminus Ante Quem\" the context record can't have been created after this "
"date"
msgstr ""
-#: models.py:176
+#: models.py:197
msgid "Estimation of a \"Terminus Ante Quem\""
msgstr ""
-#: models.py:179
+#: models.py:200
msgid ""
"\"Terminus Post Quem\" the context record can't have been created before "
"this date"
msgstr ""
-#: models.py:183
+#: models.py:204
msgid "Estimation of a \"Terminus Post Quem\""
msgstr ""
-#: models.py:191
+#: models.py:212
msgid "Point"
msgstr ""
-#: models.py:192
+#: models.py:213
msgid "Polygon"
msgstr ""
-#: models.py:193
+#: models.py:214
msgid "Cached name"
msgstr ""
-#: models.py:197 models.py:198 templates/ishtar/sheet_contextrecord.html:4
+#: models.py:218 models.py:219 templates/ishtar/sheet_contextrecord.html:4
msgid "Context Record"
msgstr ""
-#: models.py:200
+#: models.py:221
msgid "Can view all Context Records"
msgstr ""
-#: models.py:202
+#: models.py:223
msgid "Can view own Context Record"
msgstr ""
-#: models.py:204
+#: models.py:225
msgid "Can add own Context Record"
msgstr ""
-#: models.py:206
+#: models.py:227
msgid "Can change own Context Record"
msgstr ""
-#: models.py:208
+#: models.py:229
msgid "Can delete own Context Record"
msgstr ""
-#: models.py:218
+#: models.py:239
msgctxt "short"
msgid "Context record"
msgstr ""
-#: models.py:350
+#: models.py:375
msgid "Inverse relation"
msgstr ""
-#: models.py:354 models.py:378
+#: models.py:379 models.py:403
msgid "Relation type"
msgstr ""
-#: models.py:355
+#: models.py:380
msgid "Relation types"
msgstr ""
-#: models.py:373
+#: models.py:398
msgid "ID (left)"
msgstr ""
-#: models.py:374
+#: models.py:399
msgid "Unit (left)"
msgstr ""
-#: models.py:375
+#: models.py:400
msgid "Parcel (left)"
msgstr ""
-#: models.py:376
+#: models.py:401
msgid "Description (left)"
msgstr ""
-#: models.py:377
+#: models.py:402
msgid "Periods (left)"
msgstr ""
-#: models.py:379
+#: models.py:404
msgid "Unit (right)"
msgstr ""
-#: models.py:380 models.py:381
+#: models.py:405 models.py:406
msgid "Parcel (right)"
msgstr ""
-#: models.py:382
+#: models.py:407
msgid "Description (right)"
msgstr ""
-#: models.py:383
+#: models.py:408
msgid "Periods (right)"
msgstr ""
-#: models.py:387
+#: models.py:417
msgid "Record relation"
msgstr ""
-#: models.py:388
+#: models.py:418
msgid "Record relations"
msgstr ""
-#: models.py:400
+#: models.py:454
msgid "Context record documentation"
msgstr ""
-#: models.py:401
+#: models.py:455
msgid "Context record documentations"
msgstr ""
-#: views.py:143
+#: views.py:98
msgid "New context record"
msgstr ""
-#: views.py:154
+#: views.py:109
msgid "Context record modification"
msgstr ""
-#: views.py:168
+#: views.py:123
msgid "Context record deletion"
msgstr ""
-#: views.py:173
+#: views.py:128
msgid "Context record: source search"
msgstr ""
-#: views.py:181
+#: views.py:136
msgid "Context record: new source"
msgstr ""
-#: views.py:189
+#: views.py:144
msgid "Context record: source modification"
msgstr ""
-#: views.py:204
+#: views.py:159
msgid "Context record: source deletion"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:14
+#: templates/ishtar/sheet_contextrecord.html:17
msgid "Complete ID:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:14
+#: templates/ishtar/sheet_contextrecord.html:17
msgid "Temporary ID:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:49
+#: templates/ishtar/sheet_contextrecord.html:51
msgid "Datations"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:58
+#: templates/ishtar/sheet_contextrecord.html:60
msgid "Context record relations"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:65
+#: templates/ishtar/sheet_contextrecord.html:67
msgid "Operation summary"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:67
+#: templates/ishtar/sheet_contextrecord.html:69
msgid "Patriarche OA code not yet recorded!"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:74
+#: templates/ishtar/sheet_contextrecord.html:76
msgid "State:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:74
+#: templates/ishtar/sheet_contextrecord.html:76
msgid "Active file"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:74
+#: templates/ishtar/sheet_contextrecord.html:76
msgid "Closed operation"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:76
+#: templates/ishtar/sheet_contextrecord.html:78
msgid "Closing date:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:76
+#: templates/ishtar/sheet_contextrecord.html:78
msgid "by"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:84
+#: templates/ishtar/sheet_contextrecord.html:86
msgid "Localisation"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:85
+#: templates/ishtar/sheet_contextrecord.html:87
msgid "Towns:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:86
+#: templates/ishtar/sheet_contextrecord.html:88
msgid "Related operation:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:88
+#: templates/ishtar/sheet_contextrecord.html:90
msgid "No operation linked to this context unit!"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:91
+#: templates/ishtar/sheet_contextrecord.html:93
msgid "Document from this context record"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:96
+#: templates/ishtar/sheet_contextrecord.html:98
msgid "Finds"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:101
+#: templates/ishtar/sheet_contextrecord.html:103
msgid "Documents from associated finds"
msgstr ""
diff --git a/archaeological_context_records/migrations/0009_auto__chg_field_contextrecord_image__chg_field_contextrecord_thumbnail.py b/archaeological_context_records/migrations/0009_auto__chg_field_contextrecord_image__chg_field_contextrecord_thumbnail.py
new file mode 100644
index 000000000..d17c902c5
--- /dev/null
+++ b/archaeological_context_records/migrations/0009_auto__chg_field_contextrecord_image__chg_field_contextrecord_thumbnail.py
@@ -0,0 +1,672 @@
+# -*- 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):
+
+ # Changing field 'ContextRecord.image'
+ db.alter_column('archaeological_context_records_contextrecord', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'ContextRecord.thumbnail'
+ db.alter_column('archaeological_context_records_contextrecord', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'HistoricalContextRecord.image'
+ db.alter_column('archaeological_context_records_historicalcontextrecord', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'HistoricalContextRecord.thumbnail'
+ db.alter_column('archaeological_context_records_historicalcontextrecord', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'ContextRecordSource.image'
+ db.alter_column('archaeological_context_records_contextrecordsource', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'ContextRecordSource.thumbnail'
+ db.alter_column('archaeological_context_records_contextrecordsource', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ def backwards(self, orm):
+
+ # Changing field 'ContextRecord.image'
+ db.alter_column('archaeological_context_records_contextrecord', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'ContextRecord.thumbnail'
+ db.alter_column('archaeological_context_records_contextrecord', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'HistoricalContextRecord.image'
+ db.alter_column('archaeological_context_records_historicalcontextrecord', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'HistoricalContextRecord.thumbnail'
+ db.alter_column('archaeological_context_records_historicalcontextrecord', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'ContextRecordSource.image'
+ db.alter_column('archaeological_context_records_contextrecordsource', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'ContextRecordSource.thumbnail'
+ db.alter_column('archaeological_context_records_contextrecordsource', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ models = {
+ 'archaeological_context_records.activitytype': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'ActivityType'},
+ '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_context_records.contextrecord': {
+ 'Meta': {'ordering': "('cached_label',)", 'object_name': 'ContextRecord'},
+ 'activity': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ActivityType']", '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'}),
+ 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'datings': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.Dating']", 'symmetrical': 'False'}),
+ 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_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'}),
+ 'identification': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.IdentificationType']", 'null': 'True', 'blank': '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_context_records_contextrecord'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'location': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Operation']"}),
+ 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Parcel']"}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'related_context_records': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.ContextRecord']", 'null': 'True', 'through': "orm['archaeological_context_records.RecordRelations']", 'blank': 'True'}),
+ 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'unit': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['archaeological_context_records.Unit']"}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.contextrecordsource': {
+ 'Meta': {'object_name': 'ContextRecordSource'},
+ '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': "'contextrecordsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ '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'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ '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_context_records.dating': {
+ 'Meta': {'object_name': 'Dating'},
+ 'dating_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingType']", 'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'period': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']"}),
+ 'precise_dating': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'quality': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingQuality']", 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.datingquality': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DatingQuality'},
+ '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_context_records.datingtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DatingType'},
+ '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_context_records.historicalcontextrecord': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalContextRecord'},
+ 'activity_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_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'}),
+ 'identification_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'location': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'parcel_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'unit_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.identificationtype': {
+ 'Meta': {'ordering': "('order', 'label')", 'object_name': 'IdentificationType'},
+ '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_context_records.recordrelations': {
+ 'Meta': {'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_context_records.ContextRecord']"}),
+ 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']"}),
+ 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"})
+ },
+ 'archaeological_context_records.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_context_records.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_context_records.unit': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'Unit'},
+ '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', [], {}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.Unit']", 'null': 'True', 'blank': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ '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_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.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.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.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.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'})
+ },
+ '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.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_context_records'] \ No newline at end of file
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py
index e1cb216a2..bbfb410f8 100644
--- a/archaeological_context_records/models.py
+++ b/archaeological_context_records/models.py
@@ -135,6 +135,27 @@ class ContextRecord(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
}
}
IMAGE_PREFIX = 'context_records/'
+
+ # search parameters
+ EXTRA_REQUEST_KEYS = {
+ 'parcel__town': 'parcel__town__pk',
+ 'operation__year': 'operation__year__contains',
+ 'operation__code_patriarche': 'operation__code_patriarche',
+ 'operation__operation_code': 'operation__operation_code',
+ 'datings__period': 'datings__period__pk',
+ 'parcel_0': 'operation__parcels__section',
+ 'parcel_1': 'operation__parcels__parcel_number',
+ 'parcel_2': 'operation__parcels__public_domain',
+ 'label': 'label__icontains',
+ 'archaeological_sites': 'operation__archaeological_sites__pk',
+ 'cached_label': 'cached_label__icontains',
+ }
+ RELATION_TYPES_PREFIX = {'ope_relation_types': 'operation__'}
+ RELATIVE_SESSION_NAMES = [
+ ('operation', 'operation__pk'),
+ ('file', 'operation__associated_file__pk')]
+
+ # fields
external_id = models.TextField(_(u"External ID"), blank=True, null=True)
auto_external_id = models.BooleanField(
_(u"External ID is set automatically"), default=False)
@@ -264,6 +285,10 @@ class ContextRecord(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
def _generate_cached_label(self):
return self.full_label()
+ def _get_associated_cached_labels(self):
+ from archaeological_finds.models import Find
+ return list(Find.objects.filter(base_finds__context_record=self).all())
+
@property
def reference(self):
if not self.operation:
@@ -383,6 +408,11 @@ class RecordRelations(GeneralRecordRelations, models.Model):
"right_record__datings__period": _(u"Periods (right)")
}
+ # search parameters
+ EXTRA_REQUEST_KEYS = {
+ "left_record__operation": "left_record__operation__pk"
+ }
+
class Meta:
verbose_name = _(u"Record relation")
verbose_name_plural = _(u"Record relations")
@@ -396,6 +426,30 @@ class ContextRecordSource(Source):
TABLE_COLS = ['context_record__operation', 'context_record'] + \
Source.TABLE_COLS
+ # search parameters
+ RELATIVE_SESSION_NAMES = [
+ ('contextrecord', 'context_record__pk'),
+ ('operation', 'context_record__operation__pk'),
+ ('file', 'context_record__operation__associated_file__pk')]
+ BOOL_FIELDS = ['duplicate']
+ EXTRA_REQUEST_KEYS = {
+ 'title': 'title__icontains',
+ 'description': 'description__icontains',
+ 'comment': 'comment__icontains',
+ 'person': 'authors__person__pk',
+ 'additional_information': 'additional_information__icontains',
+ 'context_record__parcel__town': 'context_record__parcel__town__pk',
+ 'context_record__operation__year': 'context_record__operation__year',
+ 'context_record__operation__operation_code':
+ 'context_record__operation__operation_code',
+ 'context_record__operation__code_patriarche':
+ 'context_record__operation__code_patriarche',
+ 'context_record__operation': 'context_record__operation__pk',
+ 'context_record__datings__period':
+ 'context_record__datings__period__pk',
+ 'context_record__unit': 'context_record__unit__pk',
+ }
+
class Meta:
verbose_name = _(u"Context record documentation")
verbose_name_plural = _(u"Context record documentations")
diff --git a/archaeological_context_records/templates/ishtar/sheet_contextrecord.html b/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
index 907697c9e..e5edb4af5 100644
--- a/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
+++ b/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
@@ -10,6 +10,9 @@
<a href='{{item.image.url}}' rel="prettyPhoto" title="{{item.label}}" class='photo'><img src='{{item.thumbnail.url}}'/></a>
{% endif%}
+<p class='window-refs'>{{ item.parcel.short_label }}</p>
+<p class="window-refs">{{ item.label|default:"" }}</p>
+
<ul class='form-flex'>
<li><label>{% if item.operation.code_patriarche %}{%trans "Complete ID:"%}{% else %}{%trans "Temporary ID:"%}{% endif %}</label><span class='value'>{{item.full_label}}</span></li>
{% field_li "Creation date" item.creation_date %}
@@ -17,7 +20,6 @@
{% field_li "Type" item.unit %}
{% field_li_multiple "Chronology" item.datings %}
{% field_li "Town" item.parcel.town %}
-{% field_li "Parcel" item.parcel.short_label %}
</ul>
{% field "Comment on datings" item.datings_comment "<pre>" "</pre>" %}
diff --git a/archaeological_context_records/views.py b/archaeological_context_records/views.py
index 0ced39b20..8991e4edd 100644
--- a/archaeological_context_records/views.py
+++ b/archaeological_context_records/views.py
@@ -35,20 +35,6 @@ import models
show_contextrecord = show_item(models.ContextRecord, 'contextrecord')
revert_contextrecord = revert_item(models.ContextRecord)
-contextrecord_extra_keys = {
- 'parcel__town': 'parcel__town__pk',
- 'operation__year': 'operation__year__contains',
- 'operation__code_patriarche': 'operation__code_patriarche',
- 'operation__operation_code': 'operation__operation_code',
- 'datings__period': 'datings__period__pk',
- 'parcel_0': 'operation__parcels__section',
- 'parcel_1': 'operation__parcels__parcel_number',
- 'parcel_2': 'operation__parcels__public_domain',
- 'label': 'label__icontains',
- 'archaeological_sites': 'operation__archaeological_sites__pk',
- 'cached_label': 'cached_label__icontains',
-}
-
def autocomplete_contextrecord(request):
if (not request.user.has_perm(
@@ -80,16 +66,10 @@ def autocomplete_contextrecord(request):
get_contextrecord = get_item(
models.ContextRecord,
- 'get_contextrecord', 'contextrecord',
- relation_types_prefix={'ope_relation_types': 'operation__'},
- relative_session_names=[
- ('operation', 'operation__pk'),
- ('file', 'operation__associated_file__pk')],
- extra_request_keys=contextrecord_extra_keys,)
+ 'get_contextrecord', 'contextrecord')
get_contextrecord_for_ope = get_item(
models.ContextRecord,
'get_contextrecord', 'contextrecord',
- extra_request_keys=contextrecord_extra_keys,
own_table_cols=models.ContextRecord.TABLE_COLS_FOR_OPE)
show_contextrecordsource = show_item(models.ContextRecordSource,
@@ -97,36 +77,11 @@ show_contextrecordsource = show_item(models.ContextRecordSource,
get_contextrecordsource = get_item(
models.ContextRecordSource,
- 'get_contextrecordsource', 'contextrecordsource',
- relative_session_names=[
- ('contextrecord', 'context_record__pk'),
- ('operation', 'context_record__operation__pk'),
- ('file', 'context_record__operation__associated_file__pk')],
- bool_fields=['duplicate'],
- extra_request_keys={
- 'title': 'title__icontains',
- 'description': 'description__icontains',
- 'comment': 'comment__icontains',
- 'person': 'authors__person__pk',
- 'additional_information': 'additional_information__icontains',
- 'context_record__parcel__town': 'context_record__parcel__town__pk',
- 'context_record__operation__year': 'context_record__operation__year',
- 'context_record__operation__operation_code':
- 'context_record__operation__operation_code',
- 'context_record__operation__code_patriarche':
- 'context_record__operation__code_patriarche',
- 'context_record__operation': 'context_record__operation__pk',
- 'context_record__datings__period':
- 'context_record__datings__period__pk',
- 'context_record__unit': 'context_record__unit__pk',
- })
+ 'get_contextrecordsource', 'contextrecordsource')
get_contextrecordrelation = get_item(
models.RecordRelations, 'get_contextrecordrelation',
- 'contextrecordrelation',
- extra_request_keys={
- "left_record__operation": "left_record__operation__pk"
- })
+ 'contextrecordrelation')
record_search_wizard = SearchWizard.as_view([
('general-record_search', RecordFormSelection)],
diff --git a/archaeological_files/locale/django.pot b/archaeological_files/locale/django.pot
index 239526e90..c8e5b3952 100644
--- a/archaeological_files/locale/django.pot
+++ b/archaeological_files/locale/django.pot
@@ -9,11 +9,11 @@ msgid ""
msgstr ""
#: forms.py:52 forms.py:212 forms.py:257 forms.py:404 forms.py:431
-#: models.py:84 templates/ishtar/sheet_file.html:146
+#: models.py:108 templates/ishtar/sheet_file.html:146
msgid "Year"
msgstr ""
-#: forms.py:53 forms.py:217 forms.py:259 models.py:87
+#: forms.py:53 forms.py:217 forms.py:259 models.py:111
msgid "Numeric reference"
msgstr ""
@@ -25,7 +25,7 @@ msgstr ""
msgid "Parcel (section/number/public domain)"
msgstr ""
-#: forms.py:60 forms.py:415 forms.py:442 models.py:519
+#: forms.py:60 forms.py:415 forms.py:442 models.py:543
msgid "Department"
msgstr ""
@@ -33,7 +33,7 @@ msgstr ""
msgid "File name"
msgstr ""
-#: forms.py:62 forms.py:158 forms.py:223 models.py:95
+#: forms.py:62 forms.py:158 forms.py:223 models.py:119
msgid "File type"
msgstr ""
@@ -45,15 +45,15 @@ msgstr ""
msgid "Saisine type"
msgstr ""
-#: forms.py:65 forms.py:311 models.py:60 models.py:126
+#: forms.py:65 forms.py:311 models.py:60 models.py:150
msgid "Permit type"
msgstr ""
-#: forms.py:67 forms.py:314 models.py:127
+#: forms.py:67 forms.py:314 models.py:151
msgid "Permit reference"
msgstr ""
-#: forms.py:68 forms.py:229 forms.py:372 models.py:156
+#: forms.py:68 forms.py:229 forms.py:372 models.py:180
#: templates/ishtar/sheet_file.html:99
msgid "Comment"
msgstr ""
@@ -62,7 +62,7 @@ msgstr ""
msgid "In charge"
msgstr ""
-#: forms.py:77 forms.py:289 forms.py:453 models.py:102
+#: forms.py:77 forms.py:289 forms.py:453 models.py:126
msgid "General contractor"
msgstr ""
@@ -86,11 +86,11 @@ msgstr ""
msgid "You should select a file."
msgstr ""
-#: forms.py:146 forms.py:221 models.py:135
+#: forms.py:146 forms.py:221 models.py:159
msgid "Creation date"
msgstr ""
-#: forms.py:147 forms.py:324 models.py:137
+#: forms.py:147 forms.py:324 models.py:161
msgid "Reception date"
msgstr ""
@@ -118,23 +118,23 @@ msgstr ""
msgid "General"
msgstr ""
-#: forms.py:206 models.py:97
+#: forms.py:206 models.py:121
msgid "Person in charge"
msgstr ""
-#: forms.py:220 models.py:94
+#: forms.py:220 models.py:118
msgid "Name"
msgstr ""
-#: forms.py:225 models.py:139
+#: forms.py:225 models.py:163
msgid "Related file"
msgstr ""
-#: forms.py:233 models.py:147
+#: forms.py:233 models.py:171
msgid "Total surface (m2)"
msgstr ""
-#: forms.py:236 models.py:153
+#: forms.py:236 models.py:177
msgid "Main address"
msgstr ""
@@ -155,11 +155,11 @@ msgstr ""
msgid "Preventive informations"
msgstr ""
-#: forms.py:301 models.py:114
+#: forms.py:301 models.py:138
msgid "Responsible for town planning service"
msgstr ""
-#: forms.py:317 models.py:150
+#: forms.py:317 models.py:174
msgid "Total developed surface (m2)"
msgstr ""
@@ -168,15 +168,15 @@ msgstr ""
msgid "Research archaeology"
msgstr ""
-#: forms.py:348 models.py:159 templates/ishtar/sheet_file.html:90
+#: forms.py:348 models.py:183 templates/ishtar/sheet_file.html:90
msgid "Departments"
msgstr ""
-#: forms.py:359 models.py:168
+#: forms.py:359 models.py:192
msgid "Scientist in charge"
msgstr ""
-#: forms.py:361 models.py:162 templates/ishtar/sheet_file.html:92
+#: forms.py:361 models.py:186 templates/ishtar/sheet_file.html:92
msgid "Requested operation type"
msgstr ""
@@ -184,11 +184,11 @@ msgstr ""
msgid "Lead organization"
msgstr ""
-#: forms.py:379 models.py:172 templates/ishtar/sheet_file.html:97
+#: forms.py:379 models.py:196 templates/ishtar/sheet_file.html:97
msgid "Classified area"
msgstr ""
-#: forms.py:381 models.py:174 templates/ishtar/sheet_file.html:98
+#: forms.py:381 models.py:198 templates/ishtar/sheet_file.html:98
msgid "Protected area"
msgstr ""
@@ -248,7 +248,7 @@ msgstr ""
msgid "File permit reference"
msgstr ""
-#: ishtar_menu.py:33 models.py:196 templates/ishtar/sheet_file.html:4
+#: ishtar_menu.py:33 models.py:220 templates/ishtar/sheet_file.html:4
msgid "Archaeological file"
msgstr ""
@@ -292,7 +292,7 @@ msgstr ""
msgid "General informations"
msgstr ""
-#: ishtar_menu.py:87 models.py:197
+#: ishtar_menu.py:87 models.py:221
#: templates/ishtar/dashboards/dashboard_file.html:7
msgid "Archaeological files"
msgstr ""
@@ -313,147 +313,147 @@ msgstr ""
msgid "Delay (in days)"
msgstr ""
-#: models.py:88
+#: models.py:112
msgid "Internal reference"
msgstr ""
-#: models.py:90
+#: models.py:114
msgid "External ID"
msgstr ""
-#: models.py:93
+#: models.py:117
msgid "External ID is set automatically"
msgstr ""
-#: models.py:105
+#: models.py:129
msgid "General contractor (raw)"
msgstr ""
-#: models.py:109
+#: models.py:133
msgid "General contractor organization"
msgstr ""
-#: models.py:117
+#: models.py:141
msgid "Town planning service (raw)"
msgstr ""
-#: models.py:123
+#: models.py:147
msgid "Town planning service organization"
msgstr ""
-#: models.py:129
+#: models.py:153
msgid "Closing date"
msgstr ""
-#: models.py:130
+#: models.py:154
msgid "Town"
msgstr ""
-#: models.py:132
+#: models.py:156
msgid "Towns"
msgstr ""
-#: models.py:145
+#: models.py:169
msgid "Instruction deadline"
msgstr ""
-#: models.py:151
+#: models.py:175
msgid "Locality"
msgstr ""
-#: models.py:154
+#: models.py:178
msgid "Main address - postal code"
msgstr ""
-#: models.py:164 templates/ishtar/sheet_file.html:93
+#: models.py:188 templates/ishtar/sheet_file.html:93
msgid "Organization"
msgstr ""
-#: models.py:169
+#: models.py:193
msgid "Research archaeology comment"
msgstr ""
-#: models.py:183
+#: models.py:207
msgid "Cached name"
msgstr ""
-#: models.py:184
+#: models.py:208
msgid "Imported line"
msgstr ""
-#: models.py:199
+#: models.py:223
msgid "Can view all Archaelogical files"
msgstr ""
-#: models.py:200
+#: models.py:224
msgid "Can view own Archaelogical file"
msgstr ""
-#: models.py:201
+#: models.py:225
msgid "Can add own Archaelogical file"
msgstr ""
-#: models.py:203
+#: models.py:227
msgid "Can change own Archaelogical file"
msgstr ""
-#: models.py:205
+#: models.py:229
msgid "Can delete own Archaelogical file"
msgstr ""
-#: models.py:206
+#: models.py:230
msgid "Can close File"
msgstr ""
-#: models.py:212
+#: models.py:236
msgid "FILE"
msgstr ""
-#: models.py:380
+#: models.py:404
msgid "Multi-town"
msgstr ""
-#: models.py:386
+#: models.py:410
msgid "No town"
msgstr ""
-#: models.py:518
+#: models.py:542
msgid "File"
msgstr ""
-#: views.py:160
+#: views.py:107
msgid "File search"
msgstr ""
-#: views.py:169
+#: views.py:116
msgid "New file"
msgstr ""
-#: views.py:188
+#: views.py:135
msgid "File modification"
msgstr ""
-#: views.py:211
+#: views.py:158
msgid "File closing"
msgstr ""
-#: views.py:216
+#: views.py:163
msgid "File deletion"
msgstr ""
-#: views.py:223
+#: views.py:170
msgid "File: search administrative act"
msgstr ""
-#: views.py:232
+#: views.py:179
msgid "File: new administrative act"
msgstr ""
-#: views.py:242
+#: views.py:189
msgid "File: administrative act modification"
msgstr ""
-#: views.py:266
+#: views.py:213
msgid "File: administrative act deletion"
msgstr ""
diff --git a/archaeological_files/models.py b/archaeological_files/models.py
index 3721e4d3d..623eb1dee 100644
--- a/archaeological_files/models.py
+++ b/archaeological_files/models.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-# Copyright (C) 2012-2015 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+# Copyright (C) 2012-2016 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -77,10 +77,34 @@ if settings.COUNTRY == 'fr':
class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
ShortMenuItem, DashboardFormItem):
+ SLUG = 'file'
+ SHOW_URL = 'show-file'
TABLE_COLS = ['numeric_reference', 'year', 'internal_reference',
'file_type', 'saisine_type', 'towns', ]
- SHOW_URL = 'show-file'
- SLUG = 'file'
+
+ # search parameters
+ BOOL_FIELDS = ['end_date__isnull']
+ EXTRA_REQUEST_KEYS = {
+ 'parcel_0': ('parcels__section',
+ 'operations__parcels__section'),
+ 'parcel_1': ('parcels__parcel_number',
+ 'operations__parcels__parcel_number'),
+ 'parcel_2': ('operations__parcels__public_domain',
+ 'parcels__public_domain'),
+ 'end_date': 'end_date__isnull',
+ 'towns__numero_insee__startswith':
+ 'towns__numero_insee__startswith',
+ 'name': 'name__icontains',
+ 'cached_label': 'cached_label__icontains',
+ 'comment': 'comment__icontains',
+ 'permit_reference': 'permit_reference__icontains',
+ 'general_contractor__attached_to':
+ 'general_contractor__attached_to__pk',
+ 'history_creator': 'history_creator__ishtaruser__person__pk',
+ 'history_modifier': 'history_modifier__ishtaruser__person__pk',
+ }
+
+ # fields
year = models.IntegerField(_(u"Year"),
default=lambda: datetime.datetime.now().year)
numeric_reference = models.IntegerField(
diff --git a/archaeological_files/views.py b/archaeological_files/views.py
index a8053214f..0b05ad37d 100644
--- a/archaeological_files/views.py
+++ b/archaeological_files/views.py
@@ -28,7 +28,6 @@ from django.utils.translation import ugettext_lazy as _
from ishtar_common.views import get_item, show_item, revert_item
-from ishtar_common.models import Person
from archaeological_operations.models import Operation
import models
@@ -77,28 +76,7 @@ def autocomplete_file(request):
for file in files])
return HttpResponse(data, mimetype='text/plain')
-get_file = get_item(
- models.File, 'get_file', 'file',
- bool_fields=['end_date__isnull'],
- extra_request_keys={
- 'parcel_0': ('parcels__section',
- 'operations__parcels__section'),
- 'parcel_1': ('parcels__parcel_number',
- 'operations__parcels__parcel_number'),
- 'parcel_2': ('operations__parcels__public_domain',
- 'parcels__public_domain'),
- 'end_date': 'end_date__isnull',
- 'towns__numero_insee__startswith':
- 'towns__numero_insee__startswith',
- 'name': 'name__icontains',
- 'cached_label': 'cached_label__icontains',
- 'comment': 'comment__icontains',
- 'permit_reference': 'permit_reference__icontains',
- 'general_contractor__attached_to':
- 'general_contractor__attached_to__pk',
- 'history_creator': 'history_creator__ishtaruser__person__pk',
- 'history_modifier': 'history_modifier__ishtaruser__person__pk',
- },)
+get_file = get_item(models.File, 'get_file', 'file')
revert_file = revert_item(models.File)
@@ -113,38 +91,7 @@ show_file = show_item(models.File, 'file', extra_dct=extra_file_dct)
get_administrativeactfile = get_item(
AdministrativeAct, 'get_administrativeactfile', 'administrativeactfile',
- associated_models=[
- (models.File, 'associated_file'),
- (Person, 'associated_file__general_contractor')],
- dated_fields=['signature_date__lte', 'signature_date__gte'],
- extra_request_keys={
- 'year': 'signature_date__year',
- 'associated_file__towns': 'associated_file__towns__pk',
- 'history_creator': 'history_creator__ishtaruser__person__pk',
- 'associated_file__operations__code_patriarche':
- 'associated_file__operations__code_patriarche',
- 'act_type__intented_to': 'act_type__intented_to',
- 'act_object': 'act_object__icontains',
- 'signature_date_before': 'signature_date__lte',
- 'signature_date_after': 'signature_date__gte',
- 'associated_file__general_contractor__attached_to':
- 'associated_file__general_contractor__attached_to__pk',
- 'associated_file__name': 'associated_file__name__icontains',
- 'associated_file__towns__numero_insee__startswith':
- 'associated_file__towns__numero_insee__startswith',
- 'indexed': 'index__isnull',
- 'parcel_0': ('operation__parcels__section',
- 'associated_file__parcels__section'),
- 'parcel_1': (
- 'operation__parcels__parcel_number',
- 'associated_file__parcels__parcel_number'),
- 'parcel_2': ('operations__parcels__public_domain',
- 'associated_file__parcels__public_domain'),
- 'associated_file__permit_reference':
- 'associated_file__permit_reference__icontains'},
- reversed_bool_fields=['index__isnull'],
- base_request={"associated_file__pk__isnull": False},
- relative_session_names=[('file', 'associated_file__pk')])
+ base_request={"associated_file__pk__isnull": False})
def dashboard_file(request, *args, **kwargs):
diff --git a/archaeological_finds/fixtures/initial_data-fr.json b/archaeological_finds/fixtures/initial_data-fr.json
index 426a3800a..334c1113e 100644
--- a/archaeological_finds/fixtures/initial_data-fr.json
+++ b/archaeological_finds/fixtures/initial_data-fr.json
@@ -8,11 +8,50 @@
"code": "M.AT",
"parent": null,
"label": "Autre",
- "recommendation": "",
+ "recommendation": "gaffe ?",
"txt_idx": "other"
}
},
{
+ "pk": 51,
+ "model": "archaeological_finds.materialtype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "code": "M.OG",
+ "parent": 23,
+ "label": "Bois non travaill\u00e9",
+ "recommendation": "",
+ "txt_idx": "wood"
+ }
+ },
+ {
+ "pk": 52,
+ "model": "archaeological_finds.materialtype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "code": "M.OG",
+ "parent": 22,
+ "label": "Bois travaill\u00e9",
+ "recommendation": "",
+ "txt_idx": "shaped_wood"
+ }
+ },
+ {
+ "pk": 45,
+ "model": "archaeological_finds.materialtype",
+ "fields": {
+ "comment": "sqqddgsdg",
+ "available": true,
+ "code": "BRZ",
+ "parent": 27,
+ "label": "Bronze",
+ "recommendation": "sdgsqfsq",
+ "txt_idx": "brz"
+ }
+ },
+ {
"pk": 24,
"model": "archaeological_finds.materialtype",
"fields": {
@@ -21,11 +60,50 @@
"code": "M.TC",
"parent": 13,
"label": "C\u00e9ramique",
- "recommendation": "",
+ "recommendation": "ras",
"txt_idx": "ceramic"
}
},
{
+ "pk": 47,
+ "model": "archaeological_finds.materialtype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "code": "M.OG",
+ "parent": 23,
+ "label": "Charbon de bois",
+ "recommendation": "\u00c9viter l'\u00e9crasement",
+ "txt_idx": "charcoal"
+ }
+ },
+ {
+ "pk": 46,
+ "model": "archaeological_finds.materialtype",
+ "fields": {
+ "comment": "Fait de plusieurs mati\u00e8res",
+ "available": true,
+ "code": "CP",
+ "parent": null,
+ "label": "Composite",
+ "recommendation": "",
+ "txt_idx": "composite"
+ }
+ },
+ {
+ "pk": 44,
+ "model": "archaeological_finds.materialtype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "code": "M.OG",
+ "parent": 22,
+ "label": "Cuir",
+ "recommendation": "",
+ "txt_idx": "leather"
+ }
+ },
+ {
"pk": 34,
"model": "archaeological_finds.materialtype",
"fields": {
@@ -34,11 +112,24 @@
"code": "M.EP",
"parent": 32,
"label": "Enduit peint",
- "recommendation": "",
+ "recommendation": "gaffe",
"txt_idx": "painted_plaster"
}
},
{
+ "pk": 54,
+ "model": "archaeological_finds.materialtype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "code": "M.TC",
+ "parent": 24,
+ "label": "Fa\u00efence",
+ "recommendation": "",
+ "txt_idx": "faience"
+ }
+ },
+ {
"pk": 43,
"model": "archaeological_finds.materialtype",
"fields": {
@@ -47,11 +138,63 @@
"code": "M.OS",
"parent": 39,
"label": "Faune",
- "recommendation": "",
+ "recommendation": "gaffe",
"txt_idx": "animal_bone"
}
},
{
+ "pk": 49,
+ "model": "archaeological_finds.materialtype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "code": "M.MT",
+ "parent": 28,
+ "label": "Fer",
+ "recommendation": "",
+ "txt_idx": "Iron"
+ }
+ },
+ {
+ "pk": 50,
+ "model": "archaeological_finds.materialtype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "code": "M.MT",
+ "parent": 28,
+ "label": "Fonte",
+ "recommendation": "",
+ "txt_idx": "cast_iron"
+ }
+ },
+ {
+ "pk": 48,
+ "model": "archaeological_finds.materialtype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "code": "M.OG",
+ "parent": 23,
+ "label": "Graine",
+ "recommendation": "Hygrom\u00e9trie \u00e0 contr\u00f4ler, \u00e9viter l'\u00e9crasement",
+ "txt_idx": "seed"
+ }
+ },
+ {
+ "pk": 55,
+ "model": "archaeological_finds.materialtype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "code": "M.TC",
+ "parent": 24,
+ "label": "Gr\u00e8s c\u00e9ramique",
+ "recommendation": "",
+ "txt_idx": "stoneware"
+ }
+ },
+ {
"pk": 17,
"model": "archaeological_finds.materialtype",
"fields": {
@@ -60,7 +203,7 @@
"code": "M.ID",
"parent": null,
"label": "Ind\u00e9termin\u00e9",
- "recommendation": "",
+ "recommendation": "ras",
"txt_idx": "unknown"
}
},
@@ -73,7 +216,7 @@
"code": "M.LP",
"parent": 11,
"label": "Lapidaire",
- "recommendation": "",
+ "recommendation": "ras",
"txt_idx": "lapidary"
}
},
@@ -86,7 +229,7 @@
"code": "M.LT",
"parent": 11,
"label": "Lithique",
- "recommendation": "",
+ "recommendation": "ras",
"txt_idx": "lithic"
}
},
@@ -99,7 +242,7 @@
"code": "M.AT",
"parent": 16,
"label": "Mat\u00e9riaux de construction autre",
- "recommendation": "",
+ "recommendation": "ras ou ???",
"txt_idx": "constr_material"
}
},
@@ -112,7 +255,7 @@
"code": "M.MT",
"parent": null,
"label": "M\u00e9tal",
- "recommendation": "",
+ "recommendation": "gaffe",
"txt_idx": "metal"
}
},
@@ -125,7 +268,7 @@
"code": "M.MT",
"parent": 14,
"label": "M\u00e9tal ferreux",
- "recommendation": "",
+ "recommendation": "gaffe",
"txt_idx": "iron_metal"
}
},
@@ -138,7 +281,7 @@
"code": "M.MT",
"parent": 14,
"label": "M\u00e9tal non ferreux",
- "recommendation": "",
+ "recommendation": "gaffe",
"txt_idx": "not_iron_metal"
}
},
@@ -151,7 +294,7 @@
"code": "M.MI",
"parent": null,
"label": "Min\u00e9ral",
- "recommendation": "",
+ "recommendation": "ras",
"txt_idx": "mineral"
}
},
@@ -164,7 +307,7 @@
"code": "M.MT",
"parent": 14,
"label": "Mon\u00e9taire",
- "recommendation": "",
+ "recommendation": "gaffe",
"txt_idx": "monetary"
}
},
@@ -177,7 +320,7 @@
"code": "M.?",
"parent": null,
"label": "Non \u00e9tudi\u00e9",
- "recommendation": "",
+ "recommendation": "gaffe",
"txt_idx": "not_studied"
}
},
@@ -190,7 +333,7 @@
"code": "M.OG",
"parent": null,
"label": "Organique",
- "recommendation": "",
+ "recommendation": "gaffe",
"txt_idx": "organic"
}
},
@@ -203,7 +346,7 @@
"code": "M.OG",
"parent": 12,
"label": "Organique non travaill\u00e9",
- "recommendation": "",
+ "recommendation": "gaffe",
"txt_idx": "raw_organic"
}
},
@@ -216,7 +359,7 @@
"code": "M.OG",
"parent": 12,
"label": "Organique travaill\u00e9",
- "recommendation": "",
+ "recommendation": "gaffe",
"txt_idx": "organicwork"
}
},
@@ -229,7 +372,7 @@
"code": "M.OS",
"parent": 39,
"label": "Os humain",
- "recommendation": "",
+ "recommendation": "gaffe",
"txt_idx": "human_bone"
}
},
@@ -241,8 +384,8 @@
"available": true,
"code": "M.OS",
"parent": 23,
- "label": "Os non travaill\u00e9",
- "recommendation": "",
+ "label": "Os (non travaill\u00e9)",
+ "recommendation": "gaffe",
"txt_idx": "unworked_bone"
}
},
@@ -255,7 +398,7 @@
"code": "M.OS",
"parent": 22,
"label": "Os travaill\u00e9",
- "recommendation": "",
+ "recommendation": "gaffe !",
"txt_idx": "bonework"
}
},
@@ -268,11 +411,24 @@
"code": "M.MI",
"parent": 11,
"label": "Pierre autre",
- "recommendation": "",
+ "recommendation": "ras",
"txt_idx": "other_stone"
}
},
{
+ "pk": 53,
+ "model": "archaeological_finds.materialtype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "code": "M.TC",
+ "parent": 24,
+ "label": "Porcelaine",
+ "recommendation": "",
+ "txt_idx": "porcelain"
+ }
+ },
+ {
"pk": 37,
"model": "archaeological_finds.materialtype",
"fields": {
@@ -280,8 +436,8 @@
"available": true,
"code": "P.NT",
"parent": 16,
- "label": "Pr\u00e9l\u00e8vement non trait\u00e9",
- "recommendation": "",
+ "label": "Pr\u00e9l\u00e8vement trait\u00e9 et \u00e9tudi\u00e9",
+ "recommendation": "ras ?? + d\u00e9lai de traitement ?",
"txt_idx": "sampling_not_processed"
}
},
@@ -294,7 +450,7 @@
"code": "P.TE",
"parent": 16,
"label": "Pr\u00e9l\u00e8vement trait\u00e9 et \u00e9tudi\u00e9",
- "recommendation": "",
+ "recommendation": "ras ?",
"txt_idx": "sampling_processed_studied"
}
},
@@ -307,7 +463,7 @@
"code": "P.NE",
"parent": 16,
"label": "Pr\u00e9l\u00e8vement trait\u00e9 non \u00e9tudi\u00e9",
- "recommendation": "",
+ "recommendation": "ras ??",
"txt_idx": "sampling_processed_not_studied"
}
},
@@ -320,7 +476,7 @@
"code": "M.AT",
"parent": 16,
"label": "Synth\u00e9tique",
- "recommendation": "",
+ "recommendation": "???",
"txt_idx": "synthetic"
}
},
@@ -333,7 +489,7 @@
"code": "M.TC",
"parent": null,
"label": "Terre cuite",
- "recommendation": "",
+ "recommendation": "ras",
"txt_idx": "earthenware"
}
},
@@ -346,7 +502,7 @@
"code": "M.TC",
"parent": 13,
"label": "Terre cuite architecturale",
- "recommendation": "",
+ "recommendation": "ras",
"txt_idx": "architect_earthenwork"
}
},
@@ -359,7 +515,7 @@
"code": "M.TC",
"parent": 13,
"label": "Terre cuite autre",
- "recommendation": "",
+ "recommendation": "ras ou pas ???",
"txt_idx": "other_earthenwork"
}
},
@@ -372,7 +528,7 @@
"code": "M.VR",
"parent": null,
"label": "Verre",
- "recommendation": "",
+ "recommendation": "gaffe",
"txt_idx": "glass"
}
},
@@ -385,7 +541,7 @@
"code": "M.VR",
"parent": 15,
"label": "Verre autre",
- "recommendation": "",
+ "recommendation": "gaffe",
"txt_idx": "glass_other"
}
},
@@ -398,7 +554,7 @@
"code": "M.VR",
"parent": 15,
"label": "Verre construction",
- "recommendation": "",
+ "recommendation": "gaffe",
"txt_idx": "glass_constr"
}
},
@@ -461,7 +617,7 @@
"comment": "R\u00e9duction des oxydes d\u00e9velopp\u00e9s sur/dans un objet arch\u00e9ologique par l'usage de courant \u00e9lectrique.",
"available": true,
"virtual": false,
- "label": "Electrolyse",
+ "label": "\u00c9lectrolyse",
"upstream_is_many": false,
"downstream_is_many": false,
"txt_idx": "electrolysis"
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py
index 216c1ae75..66ba9f8ea 100644
--- a/archaeological_finds/forms.py
+++ b/archaeological_finds/forms.py
@@ -143,7 +143,7 @@ class FindForm(ManageOldType, forms.Form):
u"(ratio is preserved).</p>") % {
'width': settings.IMAGE_MAX_SIZE[0],
'height': settings.IMAGE_MAX_SIZE[1]}),
- required=False, widget=widgets.ImageFileInput())
+ max_length=255, required=False, widget=widgets.ImageFileInput())
def __init__(self, *args, **kwargs):
super(FindForm, self).__init__(*args, **kwargs)
diff --git a/archaeological_finds/locale/django.pot b/archaeological_finds/locale/django.pot
index b11e47a36..93a83eb05 100644
--- a/archaeological_finds/locale/django.pot
+++ b/archaeological_finds/locale/django.pot
@@ -12,21 +12,21 @@ msgstr ""
msgid "Context record"
msgstr ""
-#: forms.py:83 ishtar_menu.py:31 models.py:399 models.py:685 models.py:785
-#: models.py:929 templates/ishtar/sheet_find.html:5
+#: forms.py:83 ishtar_menu.py:31 models.py:439 models.py:750 models.py:850
+#: models.py:1000 templates/ishtar/sheet_find.html:5
msgid "Find"
msgstr ""
-#: forms.py:94 forms.py:218 forms.py:425 models.py:127 models.py:336
+#: forms.py:94 forms.py:218 forms.py:425 models.py:127 models.py:376
msgid "Free ID"
msgstr ""
-#: forms.py:96 models.py:385
+#: forms.py:96 models.py:425
msgid "Previous ID"
msgstr ""
-#: forms.py:97 forms.py:250 forms.py:591 models.py:131 models.py:337
-#: models.py:719
+#: forms.py:97 forms.py:250 forms.py:591 models.py:131 models.py:377
+#: models.py:784
msgid "Description"
msgstr ""
@@ -34,7 +34,7 @@ msgstr ""
msgid "Batch/object"
msgstr ""
-#: forms.py:102 models.py:365
+#: forms.py:102 models.py:405
msgid "Is complete?"
msgstr ""
@@ -42,15 +42,15 @@ msgstr ""
msgid "Material type"
msgstr ""
-#: forms.py:106 forms.py:244 models.py:62 models.py:341
+#: forms.py:106 forms.py:244 models.py:62 models.py:381
msgid "Conservatory state"
msgstr ""
-#: forms.py:109 models.py:343
+#: forms.py:109 models.py:383
msgid "Conservatory comment"
msgstr ""
-#: forms.py:112 models.py:102 models.py:368
+#: forms.py:112 models.py:102 models.py:408
msgid "Object types"
msgstr ""
@@ -58,67 +58,67 @@ msgstr ""
msgid "Preservation type"
msgstr ""
-#: forms.py:117 forms.py:246 models.py:370
+#: forms.py:117 forms.py:246 models.py:410
msgid "Integrity / interest"
msgstr ""
-#: forms.py:120 forms.py:248 models.py:373
+#: forms.py:120 forms.py:248 models.py:413
msgid "Remarkability"
msgstr ""
-#: forms.py:122 models.py:375
+#: forms.py:122 models.py:415
msgid "Length (cm)"
msgstr ""
-#: forms.py:123 models.py:376
+#: forms.py:123 models.py:416
msgid "Width (cm)"
msgstr ""
-#: forms.py:124 models.py:377
+#: forms.py:124 models.py:417
msgid "Height (cm)"
msgstr ""
-#: forms.py:125 models.py:378
+#: forms.py:125 models.py:418
msgid "Diameter (cm)"
msgstr ""
-#: forms.py:126 forms.py:430 models.py:348
+#: forms.py:126 forms.py:430 models.py:388
msgid "Volume (l)"
msgstr ""
-#: forms.py:127 forms.py:431 models.py:349
+#: forms.py:127 forms.py:431 models.py:389
msgid "Weight (g)"
msgstr ""
-#: forms.py:129 models.py:379
+#: forms.py:129 models.py:419
msgid "Dimensions comment"
msgstr ""
-#: forms.py:130 forms.py:432 models.py:352
+#: forms.py:130 forms.py:432 models.py:392
msgid "Find number"
msgstr ""
-#: forms.py:131 models.py:381
+#: forms.py:131 models.py:421
msgid "Mark"
msgstr ""
-#: forms.py:132 forms.py:254 models.py:387
+#: forms.py:132 forms.py:254 models.py:427
msgid "Check"
msgstr ""
-#: forms.py:134 models.py:389
+#: forms.py:134 models.py:429
msgid "Check date"
msgstr ""
-#: forms.py:135 models.py:132 models.py:382 models.py:720
+#: forms.py:135 models.py:132 models.py:422 models.py:785
msgid "Comment"
msgstr ""
-#: forms.py:138 models.py:383
+#: forms.py:138 models.py:423
msgid "Comment on dating"
msgstr ""
-#: forms.py:139 models.py:391
+#: forms.py:139 models.py:431
msgid "Estimated value"
msgstr ""
@@ -133,7 +133,7 @@ msgid ""
"p>"
msgstr ""
-#: forms.py:181 forms.py:212 models.py:360
+#: forms.py:181 forms.py:212 models.py:400
msgid "Dating"
msgstr ""
@@ -141,13 +141,13 @@ msgstr ""
msgid "Period"
msgstr ""
-#: forms.py:187 forms.py:593 models.py:733 models.py:798 models.py:934
-#: templates/ishtar/sheet_find.html:85 templates/ishtar/sheet_find.html:114
+#: forms.py:187 forms.py:593 models.py:798 models.py:863 models.py:1005
+#: templates/ishtar/sheet_find.html:92 templates/ishtar/sheet_find.html:121
msgid "Start date"
msgstr ""
-#: forms.py:189 forms.py:595 models.py:734 models.py:799 models.py:935
-#: templates/ishtar/sheet_find.html:86 templates/ishtar/sheet_find.html:115
+#: forms.py:189 forms.py:595 models.py:799 models.py:864 models.py:1006
+#: templates/ishtar/sheet_find.html:93 templates/ishtar/sheet_find.html:122
msgid "End date"
msgstr ""
@@ -199,7 +199,7 @@ msgstr ""
msgid "Has an image?"
msgstr ""
-#: forms.py:297 forms.py:310 views.py:133
+#: forms.py:297 forms.py:310 views.py:66
msgid "Find search"
msgstr ""
@@ -207,7 +207,7 @@ msgstr ""
msgid "Upstream finds"
msgstr ""
-#: forms.py:326 models.py:400
+#: forms.py:326 models.py:440
msgid "Finds"
msgstr ""
@@ -283,16 +283,16 @@ msgstr ""
msgid "Base treatment"
msgstr ""
-#: forms.py:578 models.py:707 models.py:722 models.py:797
+#: forms.py:578 models.py:772 models.py:787 models.py:862
msgid "Treatment type"
msgstr ""
-#: forms.py:580 models.py:731 models.py:802
-#: templates/ishtar/sheet_find.html:83 templates/ishtar/sheet_find.html:112
+#: forms.py:580 models.py:796 models.py:867
+#: templates/ishtar/sheet_find.html:90 templates/ishtar/sheet_find.html:119
msgid "Doer"
msgstr ""
-#: forms.py:586 models.py:724 models.py:800
+#: forms.py:586 models.py:789 models.py:865
msgid "Location"
msgstr ""
@@ -344,7 +344,7 @@ msgstr ""
msgid "Parent material"
msgstr ""
-#: models.py:51 models.py:339
+#: models.py:51 models.py:379
msgid "Material types"
msgstr ""
@@ -392,11 +392,11 @@ msgstr ""
msgid "Batch"
msgstr ""
-#: models.py:128 models.py:332 models.py:715
+#: models.py:128 models.py:372 models.py:780
msgid "External ID"
msgstr ""
-#: models.py:130 models.py:334
+#: models.py:130 models.py:374
msgid "External ID is set automatically"
msgstr ""
@@ -436,7 +436,7 @@ msgstr ""
msgid "Cached value - do not edit"
msgstr ""
-#: models.py:159 models.py:330
+#: models.py:159 models.py:370
msgid "Base find"
msgstr ""
@@ -512,209 +512,209 @@ msgstr ""
msgid "Base find - Discovery date"
msgstr ""
-#: models.py:335 models.py:791
+#: models.py:375 models.py:856
msgid "Order"
msgstr ""
-#: models.py:346
+#: models.py:386
msgid "Type of preservation to consider"
msgstr ""
-#: models.py:350
+#: models.py:390
msgid "Weight unit"
msgstr ""
-#: models.py:356 templates/ishtar/sheet_find.html:76
+#: models.py:396 templates/ishtar/sheet_find.html:83
msgid "Upstream treatment"
msgstr ""
-#: models.py:359 templates/ishtar/sheet_find.html:105
+#: models.py:399 templates/ishtar/sheet_find.html:112
msgid "Downstream treatment"
msgstr ""
-#: models.py:363 models.py:717 models.py:801
-#: templates/ishtar/sheet_find.html:84 templates/ishtar/sheet_find.html:113
+#: models.py:403 models.py:782 models.py:866
+#: templates/ishtar/sheet_find.html:91 templates/ishtar/sheet_find.html:120
msgid "Container"
msgstr ""
-#: models.py:393
+#: models.py:433
msgid "Cached name"
msgstr ""
-#: models.py:402
+#: models.py:442
msgid "Can view all Finds"
msgstr ""
-#: models.py:403
+#: models.py:443
msgid "Can view own Find"
msgstr ""
-#: models.py:404
+#: models.py:444
msgid "Can add own Find"
msgstr ""
-#: models.py:405
+#: models.py:445
msgid "Can change own Find"
msgstr ""
-#: models.py:406
+#: models.py:446
msgid "Can delete own Find"
msgstr ""
-#: models.py:412
+#: models.py:452
msgid "FIND"
msgstr ""
-#: models.py:683
+#: models.py:748
msgid "Find documentation"
msgstr ""
-#: models.py:684
+#: models.py:749
msgid "Find documentations"
msgstr ""
-#: models.py:694
+#: models.py:759
msgid "Virtual"
msgstr ""
-#: models.py:696
+#: models.py:761
msgid "Upstream is many"
msgstr ""
-#: models.py:698
+#: models.py:763
msgid "Check this if for this treatment from many finds you'll get one."
msgstr ""
-#: models.py:701
+#: models.py:766
msgid "Downstream is many"
msgstr ""
-#: models.py:703
+#: models.py:768
msgid "Check this if for this treatment from one find you'll get many."
msgstr ""
-#: models.py:708
+#: models.py:773
msgid "Treatment types"
msgstr ""
-#: models.py:726
+#: models.py:791
msgid "Location where the treatment is done. Target warehouse for a move."
msgstr ""
-#: models.py:728
+#: models.py:793
msgid "Other location"
msgstr ""
-#: models.py:738 models.py:787 models.py:921
+#: models.py:803 models.py:852 models.py:992
msgid "Treatment"
msgstr ""
-#: models.py:739 templates/ishtar/sheet_find.html:73
+#: models.py:804 templates/ishtar/sheet_find.html:80
msgid "Treatments"
msgstr ""
-#: models.py:741
+#: models.py:806
msgid "Can view all Treatments"
msgstr ""
-#: models.py:742
+#: models.py:807
msgid "Can view own Treatment"
msgstr ""
-#: models.py:743
+#: models.py:808
msgid "Can add own Treatment"
msgstr ""
-#: models.py:744
+#: models.py:809
msgid "Can change own Treatment"
msgstr ""
-#: models.py:745
+#: models.py:810
msgid "Can delete own Treatment"
msgstr ""
-#: models.py:751
+#: models.py:816
msgid "by"
msgstr ""
-#: models.py:803 models.py:804 templates/ishtar/sheet_find.html:82
-#: templates/ishtar/sheet_find.html:111
+#: models.py:868 models.py:869 templates/ishtar/sheet_find.html:89
+#: templates/ishtar/sheet_find.html:118
msgid "Related finds"
msgstr ""
-#: models.py:907
+#: models.py:978
msgid "Is upstream"
msgstr ""
-#: models.py:918
+#: models.py:989
msgid "Treatment documentation"
msgstr ""
-#: models.py:919
+#: models.py:990
msgid "Treament documentations"
msgstr ""
-#: models.py:931
+#: models.py:1002
msgid "Administrative act"
msgstr ""
-#: models.py:932
+#: models.py:1003
msgid "Person"
msgstr ""
-#: models.py:938
+#: models.py:1009
msgid "Property"
msgstr ""
-#: models.py:939
+#: models.py:1010
msgid "Properties"
msgstr ""
-#: views.py:128
+#: views.py:61
msgid "New find"
msgstr ""
-#: views.py:142
+#: views.py:75
msgid "Find modification"
msgstr ""
-#: views.py:157
+#: views.py:90
msgid "Find deletion"
msgstr ""
-#: views.py:162
+#: views.py:95
msgid "Find: source search"
msgstr ""
-#: views.py:170
+#: views.py:103
msgid "Find: new source"
msgstr ""
-#: views.py:178
+#: views.py:111
msgid "Find: source modification"
msgstr ""
-#: views.py:193
+#: views.py:126
msgid "Find: source deletion"
msgstr ""
-#: views.py:207
+#: views.py:140
msgid "New basket"
msgstr ""
-#: views.py:226
+#: views.py:159
msgid "Manage items in basket"
msgstr ""
-#: views.py:246
+#: views.py:179
msgid "Manage basket"
msgstr ""
-#: views.py:334
+#: views.py:267
msgid "Delete basket"
msgstr ""
-#: views.py:372
+#: views.py:303
msgid "New treatment"
msgstr ""
@@ -722,36 +722,36 @@ msgstr ""
msgid "Operation"
msgstr ""
-#: templates/ishtar/sheet_find.html:81 templates/ishtar/sheet_find.html:110
-#: templates/ishtar/sheet_find.html:180
+#: templates/ishtar/sheet_find.html:88 templates/ishtar/sheet_find.html:117
+#: templates/ishtar/sheet_find.html:187
msgid "Type"
msgstr ""
-#: templates/ishtar/sheet_find.html:101
+#: templates/ishtar/sheet_find.html:108
msgid "Export as CSV"
msgstr ""
-#: templates/ishtar/sheet_find.html:101 templates/ishtar/sheet_find.html:131
+#: templates/ishtar/sheet_find.html:108 templates/ishtar/sheet_find.html:138
msgid "CSV"
msgstr ""
-#: templates/ishtar/sheet_find.html:136
+#: templates/ishtar/sheet_find.html:143
msgid "Associated base finds"
msgstr ""
-#: templates/ishtar/sheet_find.html:175 templates/ishtar/sheet_find.html:177
+#: templates/ishtar/sheet_find.html:182 templates/ishtar/sheet_find.html:184
msgid "Documents"
msgstr ""
-#: templates/ishtar/sheet_find.html:179
+#: templates/ishtar/sheet_find.html:186
msgid "Title"
msgstr ""
-#: templates/ishtar/sheet_find.html:181
+#: templates/ishtar/sheet_find.html:188
msgid "Authors"
msgstr ""
-#: templates/ishtar/sheet_find.html:182
+#: templates/ishtar/sheet_find.html:189
msgid "Link"
msgstr ""
diff --git a/archaeological_finds/migrations/0011_auto__chg_field_historicalfind_image__chg_field_historicalfind_thumbna.py b/archaeological_finds/migrations/0011_auto__chg_field_historicalfind_image__chg_field_historicalfind_thumbna.py
new file mode 100644
index 000000000..eb09747d4
--- /dev/null
+++ b/archaeological_finds/migrations/0011_auto__chg_field_historicalfind_image__chg_field_historicalfind_thumbna.py
@@ -0,0 +1,1053 @@
+# -*- 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):
+
+ # Changing field 'HistoricalFind.image'
+ db.alter_column('archaeological_finds_historicalfind', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'HistoricalFind.thumbnail'
+ db.alter_column('archaeological_finds_historicalfind', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'FindSource.image'
+ db.alter_column('archaeological_finds_findsource', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'FindSource.thumbnail'
+ db.alter_column('archaeological_finds_findsource', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'Find.image'
+ db.alter_column('archaeological_finds_find', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'Find.thumbnail'
+ db.alter_column('archaeological_finds_find', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'TreatmentSource.image'
+ db.alter_column('archaeological_finds_treatmentsource', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'TreatmentSource.thumbnail'
+ db.alter_column('archaeological_finds_treatmentsource', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ def backwards(self, orm):
+
+ # Changing field 'HistoricalFind.image'
+ db.alter_column('archaeological_finds_historicalfind', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'HistoricalFind.thumbnail'
+ db.alter_column('archaeological_finds_historicalfind', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'FindSource.image'
+ db.alter_column('archaeological_finds_findsource', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'FindSource.thumbnail'
+ db.alter_column('archaeological_finds_findsource', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'Find.image'
+ db.alter_column('archaeological_finds_find', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'Find.thumbnail'
+ db.alter_column('archaeological_finds_find', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'TreatmentSource.image'
+ db.alter_column('archaeological_finds_treatmentsource', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'TreatmentSource.thumbnail'
+ db.alter_column('archaeological_finds_treatmentsource', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ models = {
+ 'archaeological_context_records.activitytype': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'ActivityType'},
+ '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_context_records.contextrecord': {
+ 'Meta': {'ordering': "('cached_label',)", 'object_name': 'ContextRecord'},
+ 'activity': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ActivityType']", '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'}),
+ 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'datings': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.Dating']", 'symmetrical': 'False'}),
+ 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_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'}),
+ 'identification': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.IdentificationType']", 'null': 'True', 'blank': '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_context_records_contextrecord'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'location': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Operation']"}),
+ 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Parcel']"}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'related_context_records': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.ContextRecord']", 'null': 'True', 'through': "orm['archaeological_context_records.RecordRelations']", 'blank': 'True'}),
+ 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'unit': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['archaeological_context_records.Unit']"}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.dating': {
+ 'Meta': {'object_name': 'Dating'},
+ 'dating_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingType']", 'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'period': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']"}),
+ 'precise_dating': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'quality': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingQuality']", 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.datingquality': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DatingQuality'},
+ '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_context_records.datingtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DatingType'},
+ '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_context_records.identificationtype': {
+ 'Meta': {'ordering': "('order', 'label')", 'object_name': 'IdentificationType'},
+ '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_context_records.recordrelations': {
+ 'Meta': {'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_context_records.ContextRecord']"}),
+ 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']"}),
+ 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"})
+ },
+ 'archaeological_context_records.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_context_records.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_context_records.unit': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'Unit'},
+ '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', [], {}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.Unit']", 'null': 'True', 'blank': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ '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.basefind': {
+ 'Meta': {'object_name': 'BaseFind'},
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'batch': ('django.db.models.fields.CharField', [], {'default': "'U'", 'max_length': '1'}),
+ 'cache_complete_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cache_short_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'base_finds'", 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'discovery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('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_finds_basefind'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'label': ('django.db.models.fields.TextField', [], {}),
+ 'line': ('django.contrib.gis.db.models.fields.LineStringField', [], {'null': 'True', 'blank': 'True'}),
+ 'material_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'special_interest': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}),
+ 'topographic_localisation': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_finds.conservatorystate': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'ConservatoryState'},
+ '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'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.ConservatoryState']", 'null': 'True', 'blank': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_finds.find': {
+ 'Meta': {'ordering': "('cached_label',)", 'object_name': 'Find'},
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'base_finds': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.BaseFind']"}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'check_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'checked': ('django.db.models.fields.CharField', [], {'default': "'NC'", 'max_length': '2'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'conservatory_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'conservatory_state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.ConservatoryState']", 'null': 'True', 'blank': 'True'}),
+ 'container': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'finds'", 'null': 'True', 'to': "orm['archaeological_warehouse.Container']"}),
+ 'dating_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'datings': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_context_records.Dating']"}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'dimensions_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'downstream_treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'upstream'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}),
+ 'estimated_value': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'find_number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'height': ('django.db.models.fields.FloatField', [], {'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_find'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'integrities': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.IntegrityType']"}),
+ 'is_complete': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.TextField', [], {}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'mark': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'material_types': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'finds'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.MaterialType']"}),
+ 'object_types': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.ObjectType']"}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'preservation_to_considers': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'finds'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.PreservationType']"}),
+ 'previous_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'remarkabilities': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.RemarkabilityType']"}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'upstream_treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'downstream'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}),
+ 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'weight': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'weight_unit': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_finds.findbasket': {
+ 'Meta': {'unique_together': "(('label', 'user'),)", 'object_name': 'FindBasket'},
+ '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'}),
+ 'items': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'basket'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['archaeological_finds.Find']"}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
+ 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_finds.finddownstreamtreatments': {
+ 'Meta': {'ordering': "('find', '-treatment_nb')", 'unique_together': "(('find', 'treatment'),)", 'object_name': 'FindDownstreamTreatments', 'db_table': "'find_downtreatments'", 'managed': 'False'},
+ 'find': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'finddownstreamtreatments_related'", 'to': "orm['archaeological_finds.Find']"}),
+ 'treatment': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.Treatment']", 'primary_key': 'True'}),
+ 'treatment_nb': ('django.db.models.fields.IntegerField', [], {})
+ },
+ 'archaeological_finds.findsource': {
+ 'Meta': {'object_name': 'FindSource'},
+ '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': "'findsource_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'}),
+ 'find': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_finds.Find']"}),
+ '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'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ '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_finds.findtreatments': {
+ 'Meta': {'ordering': "('find', 'upstream', '-treatment_nb')", 'unique_together': "(('find', 'treatment'),)", 'object_name': 'FindTreatments', 'db_table': "'find_treatments'", 'managed': 'False'},
+ 'find': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'findtreatments_related'", 'to': "orm['archaeological_finds.Find']"}),
+ 'treatment': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.Treatment']", 'primary_key': 'True'}),
+ 'treatment_nb': ('django.db.models.fields.IntegerField', [], {}),
+ 'upstream': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
+ },
+ 'archaeological_finds.findupstreamtreatments': {
+ 'Meta': {'ordering': "('find', '-treatment_nb')", 'unique_together': "(('find', 'treatment'),)", 'object_name': 'FindUpstreamTreatments', 'db_table': "'find_uptreatments'", 'managed': 'False'},
+ 'find': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'findupstreamtreatments_related'", 'to': "orm['archaeological_finds.Find']"}),
+ 'treatment': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.Treatment']", 'primary_key': 'True'}),
+ 'treatment_nb': ('django.db.models.fields.IntegerField', [], {})
+ },
+ 'archaeological_finds.historicalbasefind': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalBaseFind'},
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'batch': ('django.db.models.fields.CharField', [], {'default': "'U'", 'max_length': '1'}),
+ 'cache_complete_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cache_short_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'context_record_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'discovery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('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'}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'label': ('django.db.models.fields.TextField', [], {}),
+ 'line': ('django.contrib.gis.db.models.fields.LineStringField', [], {'null': 'True', 'blank': 'True'}),
+ 'material_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'special_interest': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}),
+ 'topographic_localisation': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_finds.historicalfind': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalFind'},
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'check_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'checked': ('django.db.models.fields.CharField', [], {'default': "'NC'", 'max_length': '2'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'conservatory_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'conservatory_state_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'container_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'dating_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'dimensions_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'downstream_treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'estimated_value': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'find_number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'height': ('django.db.models.fields.FloatField', [], {'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'}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'is_complete': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.TextField', [], {}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'mark': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'previous_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'upstream_treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'weight': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'weight_unit': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_finds.historicaltreatment': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalTreatment'},
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'container_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', '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'}),
+ 'location_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'other_location': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'person_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'treatment_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_finds.integritytype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'IntegrityType'},
+ '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.materialtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'MaterialType'},
+ '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'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.MaterialType']", 'null': 'True', 'blank': 'True'}),
+ 'recommendation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_finds.objecttype': {
+ 'Meta': {'ordering': "('parent__label', 'label')", 'object_name': 'ObjectType'},
+ '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'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.ObjectType']", 'null': 'True', 'blank': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_finds.preservationtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'PreservationType'},
+ '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.property': {
+ 'Meta': {'object_name': 'Property'},
+ 'administrative_act': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.AdministrativeAct']"}),
+ 'end_date': ('django.db.models.fields.DateField', [], {}),
+ 'find': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.Find']"}),
+ 'history_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_finds_property'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'properties'", 'to': "orm['ishtar_common.Person']"}),
+ 'start_date': ('django.db.models.fields.DateField', [], {})
+ },
+ 'archaeological_finds.remarkabilitytype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'RemarkabilityType'},
+ '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.treatment': {
+ 'Meta': {'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': '120', '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_treatment'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']", 'null': 'True', 'blank': 'True'}),
+ 'other_location': ('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'}),
+ 'treatment_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentType']"})
+ },
+ 'archaeological_finds.treatmentsource': {
+ 'Meta': {'object_name': 'TreatmentSource'},
+ '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': "'treatmentsource_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'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ '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'}),
+ 'treatment': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_finds.Treatment']"})
+ },
+ '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': '1'}),
+ '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'}),
+ '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.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.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.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.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_finds'] \ No newline at end of file
diff --git a/archaeological_finds/migrations/0012_regenerate_cached_label.py b/archaeological_finds/migrations/0012_regenerate_cached_label.py
new file mode 100644
index 000000000..7e454ed75
--- /dev/null
+++ b/archaeological_finds/migrations/0012_regenerate_cached_label.py
@@ -0,0 +1,1015 @@
+# -*- coding: utf-8 -*-
+import sys
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ from archaeological_operations.models import Operation
+ q = Operation.objects
+ nb = q.count()
+ sys.stdout.write("Force regenerating cache...\n")
+ for idx, ope in enumerate(q.all()):
+ sys.stdout.write("\r{}/{}".format(idx + 1, nb))
+ sys.stdout.flush()
+ ope.skip_history_when_saving = True
+ ope.save()
+
+ def backwards(self, orm):
+ pass
+
+ models = {
+ 'archaeological_context_records.activitytype': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'ActivityType'},
+ '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_context_records.contextrecord': {
+ 'Meta': {'ordering': "('cached_label',)", 'object_name': 'ContextRecord'},
+ 'activity': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ActivityType']", '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'}),
+ 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'datings': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.Dating']", 'symmetrical': 'False'}),
+ 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_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'}),
+ 'identification': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.IdentificationType']", 'null': 'True', 'blank': '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_context_records_contextrecord'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'location': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Operation']"}),
+ 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Parcel']"}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'related_context_records': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.ContextRecord']", 'null': 'True', 'through': "orm['archaeological_context_records.RecordRelations']", 'blank': 'True'}),
+ 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'unit': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['archaeological_context_records.Unit']"}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.dating': {
+ 'Meta': {'object_name': 'Dating'},
+ 'dating_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingType']", 'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'period': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']"}),
+ 'precise_dating': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'quality': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingQuality']", 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.datingquality': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DatingQuality'},
+ '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_context_records.datingtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DatingType'},
+ '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_context_records.identificationtype': {
+ 'Meta': {'ordering': "('order', 'label')", 'object_name': 'IdentificationType'},
+ '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_context_records.recordrelations': {
+ 'Meta': {'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_context_records.ContextRecord']"}),
+ 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']"}),
+ 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"})
+ },
+ 'archaeological_context_records.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_context_records.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_context_records.unit': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'Unit'},
+ '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', [], {}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.Unit']", 'null': 'True', 'blank': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ '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.basefind': {
+ 'Meta': {'object_name': 'BaseFind'},
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'batch': ('django.db.models.fields.CharField', [], {'default': "'U'", 'max_length': '1'}),
+ 'cache_complete_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cache_short_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'base_finds'", 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'discovery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('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_finds_basefind'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'label': ('django.db.models.fields.TextField', [], {}),
+ 'line': ('django.contrib.gis.db.models.fields.LineStringField', [], {'null': 'True', 'blank': 'True'}),
+ 'material_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'special_interest': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}),
+ 'topographic_localisation': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_finds.conservatorystate': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'ConservatoryState'},
+ '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'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.ConservatoryState']", 'null': 'True', 'blank': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_finds.find': {
+ 'Meta': {'ordering': "('cached_label',)", 'object_name': 'Find'},
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'base_finds': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.BaseFind']"}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'check_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'checked': ('django.db.models.fields.CharField', [], {'default': "'NC'", 'max_length': '2'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'conservatory_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'conservatory_state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.ConservatoryState']", 'null': 'True', 'blank': 'True'}),
+ 'container': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'finds'", 'null': 'True', 'to': "orm['archaeological_warehouse.Container']"}),
+ 'dating_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'datings': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_context_records.Dating']"}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'dimensions_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'downstream_treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'upstream'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}),
+ 'estimated_value': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'find_number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'height': ('django.db.models.fields.FloatField', [], {'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_find'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'integrities': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.IntegrityType']"}),
+ 'is_complete': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.TextField', [], {}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'mark': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'material_types': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'finds'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.MaterialType']"}),
+ 'object_types': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.ObjectType']"}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'preservation_to_considers': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'finds'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.PreservationType']"}),
+ 'previous_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'remarkabilities': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.RemarkabilityType']"}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'upstream_treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'downstream'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}),
+ 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'weight': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'weight_unit': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_finds.findbasket': {
+ 'Meta': {'unique_together': "(('label', 'user'),)", 'object_name': 'FindBasket'},
+ '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'}),
+ 'items': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'basket'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['archaeological_finds.Find']"}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
+ 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_finds.finddownstreamtreatments': {
+ 'Meta': {'ordering': "('find', '-treatment_nb')", 'unique_together': "(('find', 'treatment'),)", 'object_name': 'FindDownstreamTreatments', 'db_table': "'find_downtreatments'", 'managed': 'False'},
+ 'find': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'finddownstreamtreatments_related'", 'to': "orm['archaeological_finds.Find']"}),
+ 'treatment': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.Treatment']", 'primary_key': 'True'}),
+ 'treatment_nb': ('django.db.models.fields.IntegerField', [], {})
+ },
+ 'archaeological_finds.findsource': {
+ 'Meta': {'object_name': 'FindSource'},
+ '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': "'findsource_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'}),
+ 'find': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_finds.Find']"}),
+ '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'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ '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_finds.findtreatments': {
+ 'Meta': {'ordering': "('find', 'upstream', '-treatment_nb')", 'unique_together': "(('find', 'treatment'),)", 'object_name': 'FindTreatments', 'db_table': "'find_treatments'", 'managed': 'False'},
+ 'find': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'findtreatments_related'", 'to': "orm['archaeological_finds.Find']"}),
+ 'treatment': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.Treatment']", 'primary_key': 'True'}),
+ 'treatment_nb': ('django.db.models.fields.IntegerField', [], {}),
+ 'upstream': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
+ },
+ 'archaeological_finds.findupstreamtreatments': {
+ 'Meta': {'ordering': "('find', '-treatment_nb')", 'unique_together': "(('find', 'treatment'),)", 'object_name': 'FindUpstreamTreatments', 'db_table': "'find_uptreatments'", 'managed': 'False'},
+ 'find': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'findupstreamtreatments_related'", 'to': "orm['archaeological_finds.Find']"}),
+ 'treatment': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.Treatment']", 'primary_key': 'True'}),
+ 'treatment_nb': ('django.db.models.fields.IntegerField', [], {})
+ },
+ 'archaeological_finds.historicalbasefind': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalBaseFind'},
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'batch': ('django.db.models.fields.CharField', [], {'default': "'U'", 'max_length': '1'}),
+ 'cache_complete_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cache_short_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'context_record_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'discovery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('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'}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'label': ('django.db.models.fields.TextField', [], {}),
+ 'line': ('django.contrib.gis.db.models.fields.LineStringField', [], {'null': 'True', 'blank': 'True'}),
+ 'material_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'special_interest': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}),
+ 'topographic_localisation': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_finds.historicalfind': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalFind'},
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'check_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'checked': ('django.db.models.fields.CharField', [], {'default': "'NC'", 'max_length': '2'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'conservatory_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'conservatory_state_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'container_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'dating_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'dimensions_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'downstream_treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'estimated_value': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'find_number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'height': ('django.db.models.fields.FloatField', [], {'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'}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'is_complete': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.TextField', [], {}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'mark': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'previous_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'upstream_treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'weight': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'weight_unit': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_finds.historicaltreatment': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalTreatment'},
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'container_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', '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'}),
+ 'location_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'other_location': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'person_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'treatment_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_finds.integritytype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'IntegrityType'},
+ '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.materialtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'MaterialType'},
+ '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'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.MaterialType']", 'null': 'True', 'blank': 'True'}),
+ 'recommendation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_finds.objecttype': {
+ 'Meta': {'ordering': "('parent__label', 'label')", 'object_name': 'ObjectType'},
+ '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'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.ObjectType']", 'null': 'True', 'blank': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_finds.preservationtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'PreservationType'},
+ '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.property': {
+ 'Meta': {'object_name': 'Property'},
+ 'administrative_act': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.AdministrativeAct']"}),
+ 'end_date': ('django.db.models.fields.DateField', [], {}),
+ 'find': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.Find']"}),
+ 'history_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_finds_property'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'properties'", 'to': "orm['ishtar_common.Person']"}),
+ 'start_date': ('django.db.models.fields.DateField', [], {})
+ },
+ 'archaeological_finds.remarkabilitytype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'RemarkabilityType'},
+ '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.treatment': {
+ 'Meta': {'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': '120', '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_treatment'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']", 'null': 'True', 'blank': 'True'}),
+ 'other_location': ('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'}),
+ 'treatment_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentType']"})
+ },
+ 'archaeological_finds.treatmentsource': {
+ 'Meta': {'object_name': 'TreatmentSource'},
+ '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': "'treatmentsource_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'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ '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'}),
+ 'treatment': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_finds.Treatment']"})
+ },
+ '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': '1'}),
+ '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'}),
+ '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.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.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.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.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_finds']
diff --git a/archaeological_finds/models.py b/archaeological_finds/models.py
index 5581df084..5799d0e9a 100644
--- a/archaeological_finds/models.py
+++ b/archaeological_finds/models.py
@@ -327,6 +327,46 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
'base_finds.discovery_date': _(u"Base find - Discovery date"),
}
ATTRS_EQUIV = {'get_first_base_find': 'base_finds'}
+
+ # search parameters
+ REVERSED_BOOL_FIELDS = ['image__isnull']
+ RELATION_TYPES_PREFIX = {
+ 'ope_relation_types':
+ 'base_finds__context_record__operation__'}
+ RELATIVE_SESSION_NAMES = [
+ ('contextrecord', 'base_finds__context_record__pk'),
+ ('operation', 'base_finds__context_record__operation__pk'),
+ ('file', 'base_finds__context_record__operation__associated_file__pk')
+ ]
+ BASE_REQUEST = {'downstream_treatment__isnull': True}
+ EXTRA_REQUEST_KEYS = {
+ 'base_finds__cache_short_id':
+ 'base_finds__cache_short_id__icontains',
+ 'base_finds__cache_complete_id':
+ 'base_finds__cache_complete_id__icontains',
+ 'label':
+ 'label__icontains',
+ 'base_finds__context_record':
+ 'base_finds__context_record__pk',
+ 'base_finds__context_record__parcel__town':
+ 'base_finds__context_record__parcel__town',
+ 'base_finds__context_record__operation__year':
+ 'base_finds__context_record__operation__year__contains',
+ 'base_finds__context_record__operation':
+ 'base_finds__context_record__operation__pk',
+ 'archaeological_sites':
+ 'base_finds__context_record__operation__archaeological_sites__pk',
+ 'base_finds__context_record__operation__code_patriarche':
+ 'base_finds__context_record__operation__code_patriarche',
+ 'datings__period': 'datings__period__pk',
+ 'base_finds__find__description':
+ 'base_finds__find__description__icontains',
+ 'base_finds__batch': 'base_finds__batch',
+ 'basket': 'basket',
+ 'cached_label': 'cached_label__icontains',
+ 'image': 'image__isnull'}
+
+ # fields
base_finds = models.ManyToManyField(BaseFind, verbose_name=_(u"Base find"),
related_name='find')
external_id = models.TextField(_(u"External ID"), blank=True, null=True)
@@ -594,7 +634,9 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
owns = super(Find, cls).get_owns(
user, replace_query=replace_query,
limit=limit)
- return sorted(owns, key=lambda x: x.cached_label)
+ return sorted(
+ owns, key=lambda x: x.cached_label
+ if hasattr(x, 'cached_label') else unicode(x))
def _generate_cached_label(self):
return unicode(self)
@@ -603,6 +645,7 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
super(Find, self).save(*args, **kwargs)
updated = False
+ self.skip_history_when_saving = True
if not self.external_id or self.auto_external_id:
external_id = get_external_id('find_external_id', self)
if external_id != self.external_id:
@@ -636,19 +679,16 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
modified = True
base_find.index = BaseFind.get_max_index(
base_find.context_record.operation) + 1
- if not base_find.cache_short_id or \
- not base_find.cache_short_id.endswith(
- unicode(base_find.index)):
- base_find.cache_short_id = base_find.short_id()
- if base_find.cache_short_id:
- modified = True
- if not base_find.cache_complete_id or \
- not base_find.cache_complete_id.endswith(
- unicode(base_find.index)):
- base_find.cache_complete_id = base_find.complete_id()
- if base_find.cache_complete_id:
- modified = True
+ short_id = base_find.short_id()
+ if base_find.cache_short_id != short_id:
+ base_find.cache_short_id = short_id
+ modified = True
+ complete_id = base_find.complete_id()
+ if base_find.cache_complete_id != complete_id:
+ base_find.cache_complete_id = complete_id
+ modified = True
if modified:
+ base_find.skip_history_when_saving = True
base_find.save()
# if not base_find.material_index:
# idx = BaseFind.objects\
@@ -679,6 +719,31 @@ class FindSource(Source):
'find__base_finds__context_record', 'find'] + \
Source.TABLE_COLS
+ # search parameters
+ BOOL_FIELDS = ['duplicate']
+ RELATIVE_SESSION_NAMES = [
+ ('find', 'find__pk'),
+ ('contextrecord', 'find__base_finds__context_record__pk'),
+ ('operation', 'find__base_finds__context_record__operation__pk'),
+ ('file',
+ 'find__base_finds__context_record__operation__associated_file__pk')
+ ]
+ EXTRA_REQUEST_KEYS = {
+ 'title': 'title__icontains',
+ 'description': 'description__icontains',
+ 'comment': 'comment__icontains',
+ 'additional_information': 'additional_information__icontains',
+ 'person': 'authors__person__pk',
+ 'find__base_finds__context_record__operation__year':
+ 'find__base_finds__context_record__operation__year',
+ 'find__base_finds__context_record__operation__operation_code':
+ 'find__base_finds__context_record__operation__operation_code',
+ 'find__base_finds__context_record__operation__code_patriarche':
+ 'find__base_finds__context_record__operation__code_patriarche',
+ 'find__datings__period': 'find__datings__period__pk',
+ 'find__description': 'find__description__icontains',
+ }
+
class Meta:
verbose_name = _(u"Find documentation")
verbose_name_plural = _(u"Find documentations")
@@ -846,6 +911,9 @@ class FindUpstreamTreatments(AbsFindTreatments):
'treatment__location', 'treatment__container',
'treatment__person', 'treatment_nb']
+ # search parameters
+ EXTRA_REQUEST_KEYS = {'find_id': 'find_id'}
+
class Meta:
managed = False
db_table = 'find_uptreatments'
@@ -887,6 +955,9 @@ class FindDownstreamTreatments(AbsFindTreatments):
'treatment__location', 'treatment__container',
'treatment__person', 'treatment_nb']
+ # search parameters
+ EXTRA_REQUEST_KEYS = {'find_id': 'find_id'}
+
class Meta:
managed = False
db_table = 'find_downtreatments'
diff --git a/archaeological_finds/templates/ishtar/sheet_find.html b/archaeological_finds/templates/ishtar/sheet_find.html
index 0cc1616b2..00470906d 100644
--- a/archaeological_finds/templates/ishtar/sheet_find.html
+++ b/archaeological_finds/templates/ishtar/sheet_find.html
@@ -10,8 +10,15 @@
<a href='{{item.image.url}}' rel="prettyPhoto" title="{{item.label}}" class='photo'><img src='{{item.thumbnail.url}}'/></a>
{% endif%}
+<p class="window-refs">{{ item.label|default:"" }}</p>
+<p class='window-refs'>{% for base_find in item.base_finds.all %}{% if forloop.counter0 %} &ndash; {% endif %}{{base_find.complete_id}}{% endfor %}</p>
+<p class='window-refs'>{% for base_find in item.base_finds.all %}{% if forloop.counter0 %} &ndash; {% endif %}{{base_find.short_id}}{% endfor %}</p>
+<p class="window-refs">{{ item.administrative_index|default:"" }}</p>
+<p class="window-refs">{{ item.contextrecord|default:"" }}</p>
+
+
+
<ul class='form-flex'>
-{% field_li "Free-ID" item.label %}
{% field_li "Previous ID" item.previous_id %}
{% with item.history_creation_date|date:"SHORT_DATETIME_FORMAT" as creation_date %}
{% with item.history_creator.ishtaruser.full_label|add:"<br/><i>"|add:creation_date|add:"</i>" as creator %}
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py
index d441559cc..89babe9b7 100644
--- a/archaeological_finds/views.py
+++ b/archaeological_finds/views.py
@@ -40,81 +40,14 @@ from wizards import *
from forms import *
import models
-find_extra_keys = {
- 'base_finds__cache_short_id':
- 'base_finds__cache_short_id__icontains',
- 'base_finds__cache_complete_id':
- 'base_finds__cache_complete_id__icontains',
- 'label':
- 'label__icontains',
- 'base_finds__context_record':
- 'base_finds__context_record__pk',
- 'base_finds__context_record__parcel__town':
- 'base_finds__context_record__parcel__town',
- 'base_finds__context_record__operation__year':
- 'base_finds__context_record__operation__year__contains',
- 'base_finds__context_record__operation':
- 'base_finds__context_record__operation__pk',
- 'archaeological_sites':
- 'base_finds__context_record__operation__archaeological_sites__pk',
- 'base_finds__context_record__operation__code_patriarche':
- 'base_finds__context_record__operation__code_patriarche',
- 'datings__period': 'datings__period__pk',
- 'base_finds__find__description':
- 'base_finds__find__description__icontains',
- 'base_finds__batch': 'base_finds__batch',
- 'basket': 'basket',
- 'cached_label': 'cached_label__icontains',
- 'image': 'image__isnull'}
-
-get_find = get_item(
- models.Find, 'get_find', 'find',
- reversed_bool_fields=['image__isnull'],
- relation_types_prefix={
- 'ope_relation_types':
- 'base_finds__context_record__operation__'},
- relative_session_names=[
- ('contextrecord', 'base_finds__context_record__pk'),
- ('operation', 'base_finds__context_record__operation__pk'),
- ('file', 'base_finds__context_record__operation__associated_file__pk')
- ],
- base_request={'downstream_treatment__isnull': True},
- extra_request_keys=find_extra_keys.copy())
-
-get_find_for_ope = get_item(
- models.Find, 'get_find', 'find',
- reversed_bool_fields=['image__isnull'],
- base_request={'downstream_treatment__isnull': True},
- extra_request_keys=find_extra_keys.copy(),
- own_table_cols=models.Find.TABLE_COLS_FOR_OPE)
+get_find = get_item(models.Find, 'get_find', 'find')
+
+get_find_for_ope = get_item(models.Find, 'get_find', 'find',
+ own_table_cols=models.Find.TABLE_COLS_FOR_OPE)
show_findsource = show_item(models.FindSource, 'findsource')
-get_findsource = get_item(
- models.FindSource, 'get_findsource', 'findsource',
- bool_fields=['duplicate'],
- relative_session_names=[
- ('find', 'find__pk'),
- ('contextrecord', 'find__base_finds__context_record__pk'),
- ('operation', 'find__base_finds__context_record__operation__pk'),
- ('file',
- 'find__base_finds__context_record__operation__associated_file__pk')
- ],
- extra_request_keys={
- 'title': 'title__icontains',
- 'description': 'description__icontains',
- 'comment': 'comment__icontains',
- 'additional_information': 'additional_information__icontains',
- 'person': 'authors__person__pk',
- 'find__base_finds__context_record__operation__year':
- 'find__base_finds__context_record__operation__year',
- 'find__base_finds__context_record__operation__operation_code':
- 'find__base_finds__context_record__operation__operation_code',
- 'find__base_finds__context_record__operation__code_patriarche':
- 'find__base_finds__context_record__operation__code_patriarche',
- 'find__datings__period': 'find__datings__period__pk',
- 'find__description': 'find__description__icontains',
- })
+get_findsource = get_item(models.FindSource, 'get_findsource', 'findsource')
show_find = show_item(models.Find, 'find')
revert_find = revert_item(models.Find)
@@ -343,13 +276,11 @@ class DeleteFindBasketView(IshtarMixin, LoginRequiredMixin, FormView):
return HttpResponseRedirect(self.get_success_url())
get_upstreamtreatment = get_item(
- models.FindUpstreamTreatments, 'get_upstreamtreatment', 'uptreatment',
- extra_request_keys={'find_id': 'find_id'})
+ models.FindUpstreamTreatments, 'get_upstreamtreatment', 'uptreatment')
get_downstreamtreatment = get_item(
models.FindDownstreamTreatments, 'get_downstreamtreatment',
- 'downtreatment',
- extra_request_keys={'find_id': 'find_id'})
+ 'downtreatment')
treatment_creation_wizard = TreatmentWizard.as_view([
('basetreatment-treatment_creation', BaseTreatmentForm),
diff --git a/archaeological_operations/fixtures/initial_data-fr.json b/archaeological_operations/fixtures/initial_data-fr.json
index 03d331789..9e9fd2bf7 100644
--- a/archaeological_operations/fixtures/initial_data-fr.json
+++ b/archaeological_operations/fixtures/initial_data-fr.json
@@ -1302,6 +1302,296 @@
}
},
{
+ "pk": 160,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "aile",
+ "label": "aile"
+ }
+ },
+ {
+ "pk": 161,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "aire-de-battage",
+ "label": "aire de battage"
+ }
+ },
+ {
+ "pk": 162,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "amas",
+ "label": "amas"
+ }
+ },
+ {
+ "pk": 163,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "amas-coquillier",
+ "label": "amas coquillier"
+ }
+ },
+ {
+ "pk": 164,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "amas-de-debitage",
+ "label": "amas de d\u00e9bitage"
+ }
+ },
+ {
+ "pk": 165,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "amenagement-indetermine",
+ "label": "am\u00e9nagement ind\u00e9termin\u00e9"
+ }
+ },
+ {
+ "pk": 166,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "anomalie",
+ "label": "anomalie"
+ }
+ },
+ {
+ "pk": 167,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "arc",
+ "label": "arc"
+ }
+ },
+ {
+ "pk": 168,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "arcasse",
+ "label": "arcasse"
+ }
+ },
+ {
+ "pk": 169,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "arche",
+ "label": "arche"
+ }
+ },
+ {
+ "pk": 170,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "aula",
+ "label": "aula"
+ }
+ },
+ {
+ "pk": 171,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "autel",
+ "label": "autel"
+ }
+ },
+ {
+ "pk": 172,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "banquette",
+ "label": "banquette"
+ }
+ },
+ {
+ "pk": 173,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "barbacane",
+ "label": "barbacane"
+ }
+ },
+ {
+ "pk": 174,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "barrot",
+ "label": "barrot"
+ }
+ },
+ {
+ "pk": 175,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "basse-cour",
+ "label": "basse-cour"
+ }
+ },
+ {
+ "pk": 176,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "bassin",
+ "label": "bassin"
+ }
+ },
+ {
+ "pk": 177,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "bastion",
+ "label": "bastion"
+ }
+ },
+ {
+ "pk": 178,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "batiment",
+ "label": "b\u00e2timent"
+ }
+ },
+ {
+ "pk": 179,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "bloc",
+ "label": "bloc"
+ }
+ },
+ {
+ "pk": 180,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "bloc-orne",
+ "label": "bloc orn\u00e9"
+ }
+ },
+ {
+ "pk": 181,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "bloc-ouvrage",
+ "label": "bloc ouvrag\u00e9"
+ }
+ },
+ {
+ "pk": 182,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "boisage",
+ "label": "boisage"
+ }
+ },
+ {
+ "pk": 183,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "boniferie",
+ "label": "boniferie"
+ }
+ },
+ {
+ "pk": 184,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "borde",
+ "label": "bord\u00e9"
+ }
+ },
+ {
+ "pk": 185,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "borde-a-clin",
+ "label": "bord\u00e9 \u00e0 clin"
+ }
+ },
+ {
+ "pk": 186,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "borde-a-franc-bord",
+ "label": "bord\u00e9 \u00e0 franc-bord"
+ }
+ },
+ {
+ "pk": 187,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "borne",
+ "label": "borne"
+ }
+ },
+ {
+ "pk": 188,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "butte",
+ "label": "butte"
+ }
+ },
+ {
"pk": 5,
"model": "archaeological_operations.remaintype",
"fields": {
@@ -1312,6 +1602,306 @@
}
},
{
+ "pk": 189,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "calage",
+ "label": "calage"
+ }
+ },
+ {
+ "pk": 190,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "calfatage",
+ "label": "calfatage"
+ }
+ },
+ {
+ "pk": 191,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "calvaire",
+ "label": "calvaire"
+ }
+ },
+ {
+ "pk": 192,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "canalisation",
+ "label": "canalisation"
+ }
+ },
+ {
+ "pk": 193,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "cargaison",
+ "label": "cargaison"
+ }
+ },
+ {
+ "pk": 194,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "cave",
+ "label": "cave"
+ }
+ },
+ {
+ "pk": 195,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "cercueil",
+ "label": "cercueil"
+ }
+ },
+ {
+ "pk": 196,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "charpente",
+ "label": "charpente"
+ }
+ },
+ {
+ "pk": 9,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "txt_idx": "castle",
+ "label": "ch\u00e2teau"
+ }
+ },
+ {
+ "pk": 197,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "cloitre",
+ "label": "clo\u00eetre"
+ }
+ },
+ {
+ "pk": 198,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "cockpit",
+ "label": "cockpit"
+ }
+ },
+ {
+ "pk": 199,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "colonnade",
+ "label": "colonnade"
+ }
+ },
+ {
+ "pk": 200,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "colonne-element-de",
+ "label": "colonne (\u00e9l\u00e9ment de)"
+ }
+ },
+ {
+ "pk": 201,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "construction",
+ "label": "construction"
+ }
+ },
+ {
+ "pk": 202,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "coque",
+ "label": "coque"
+ }
+ },
+ {
+ "pk": 203,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "coque-borde-premier",
+ "label": "coque bord\u00e9-premier"
+ }
+ },
+ {
+ "pk": 204,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "coque-membrure-premiere",
+ "label": "coque membrure-premi\u00e8re"
+ }
+ },
+ {
+ "pk": 205,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "couple",
+ "label": "couple"
+ }
+ },
+ {
+ "pk": 206,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "cour",
+ "label": "cour"
+ }
+ },
+ {
+ "pk": 207,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "courtine",
+ "label": "courtine"
+ }
+ },
+ {
+ "pk": 208,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "croix",
+ "label": "croix"
+ }
+ },
+ {
+ "pk": 209,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "crypte",
+ "label": "crypte"
+ }
+ },
+ {
+ "pk": 210,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "cryptoportique",
+ "label": "cryptoportique"
+ }
+ },
+ {
+ "pk": 211,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "cuve",
+ "label": "cuve"
+ }
+ },
+ {
+ "pk": 212,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "cuvelage",
+ "label": "cuvelage"
+ }
+ },
+ {
+ "pk": 213,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "dallage",
+ "label": "dallage"
+ }
+ },
+ {
+ "pk": 214,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "demi-lune",
+ "label": "demi-lune"
+ }
+ },
+ {
+ "pk": 215,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "depotoir",
+ "label": "d\u00e9potoir"
+ }
+ },
+ {
+ "pk": 216,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "derive",
+ "label": "d\u00e9rive"
+ }
+ },
+ {
+ "pk": 217,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "doublage",
+ "label": "doublage"
+ }
+ },
+ {
"pk": 3,
"model": "archaeological_operations.remaintype",
"fields": {
@@ -1322,6 +1912,46 @@
}
},
{
+ "pk": 218,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "empierrement",
+ "label": "empierrement"
+ }
+ },
+ {
+ "pk": 219,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "emplanture",
+ "label": "emplanture"
+ }
+ },
+ {
+ "pk": 220,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "empreinte",
+ "label": "empreinte"
+ }
+ },
+ {
+ "pk": 221,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "enclos",
+ "label": "enclos"
+ }
+ },
+ {
"pk": 2,
"model": "archaeological_operations.remaintype",
"fields": {
@@ -1332,6 +1962,106 @@
}
},
{
+ "pk": 222,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "enclos-systeme-d",
+ "label": "enclos (syst\u00e8me d')"
+ }
+ },
+ {
+ "pk": 223,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "entree-amenagee",
+ "label": "entr\u00e9e am\u00e9nag\u00e9e"
+ }
+ },
+ {
+ "pk": 224,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "escalier",
+ "label": "escalier"
+ }
+ },
+ {
+ "pk": 225,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "etambot",
+ "label": "\u00e9tambot"
+ }
+ },
+ {
+ "pk": 226,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "etrave",
+ "label": "\u00e9trave"
+ }
+ },
+ {
+ "pk": 227,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "etrave-a-eperon",
+ "label": "\u00e9trave \u00e0 \u00e9peron"
+ }
+ },
+ {
+ "pk": 228,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "etuve",
+ "label": "\u00e9tuve"
+ }
+ },
+ {
+ "pk": 229,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "ferrier",
+ "label": "ferrier"
+ }
+ },
+ {
+ "pk": 230,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "fondation",
+ "label": "fondation"
+ }
+ },
+ {
+ "pk": 231,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "fosse",
+ "label": "fosse"
+ }
+ },
+ {
"pk": 4,
"model": "archaeological_operations.remaintype",
"fields": {
@@ -1352,6 +2082,26 @@
}
},
{
+ "pk": 232,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "fosses-reseau-de",
+ "label": "foss\u00e9s (r\u00e9seau de)"
+ }
+ },
+ {
+ "pk": 233,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "four",
+ "label": "four"
+ }
+ },
+ {
"pk": 8,
"model": "archaeological_operations.remaintype",
"fields": {
@@ -1362,6 +2112,716 @@
}
},
{
+ "pk": 234,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "foyer",
+ "label": "foyer"
+ }
+ },
+ {
+ "pk": 235,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "foyer-vidange-de",
+ "label": "foyer (vidange de)"
+ }
+ },
+ {
+ "pk": 236,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "front-de-taille",
+ "label": "front de taille"
+ }
+ },
+ {
+ "pk": 237,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "fuselage",
+ "label": "fuselage"
+ }
+ },
+ {
+ "pk": 238,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "galerie",
+ "label": "galerie"
+ }
+ },
+ {
+ "pk": 239,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "garenne",
+ "label": "garenne"
+ }
+ },
+ {
+ "pk": 240,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "glaciere",
+ "label": "glaci\u00e8re"
+ }
+ },
+ {
+ "pk": 241,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "gouvernail",
+ "label": "gouvernail"
+ }
+ },
+ {
+ "pk": 242,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "gradins",
+ "label": "gradins"
+ }
+ },
+ {
+ "pk": 243,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "grange",
+ "label": "grange"
+ }
+ },
+ {
+ "pk": 244,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "grenier",
+ "label": "grenier"
+ }
+ },
+ {
+ "pk": 245,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "helice",
+ "label": "h\u00e9lice"
+ }
+ },
+ {
+ "pk": 246,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "hypocauste",
+ "label": "hypocauste"
+ }
+ },
+ {
+ "pk": 247,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "incineration",
+ "label": "incin\u00e9ration"
+ }
+ },
+ {
+ "pk": 248,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "inhumation",
+ "label": "inhumation"
+ }
+ },
+ {
+ "pk": 249,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "inscription",
+ "label": "inscription"
+ }
+ },
+ {
+ "pk": 250,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "jardin",
+ "label": "jardin"
+ }
+ },
+ {
+ "pk": 251,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "laraire",
+ "label": "laraire"
+ }
+ },
+ {
+ "pk": 252,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "latrines",
+ "label": "latrines"
+ }
+ },
+ {
+ "pk": 253,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "lest",
+ "label": "lest"
+ }
+ },
+ {
+ "pk": 254,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "levee",
+ "label": "lev\u00e9e"
+ }
+ },
+ {
+ "pk": 255,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "mat",
+ "label": "m\u00e2t"
+ }
+ },
+ {
+ "pk": 256,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "membrure",
+ "label": "membrure"
+ }
+ },
+ {
+ "pk": 11,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "txt_idx": "menhir",
+ "label": "menhir"
+ }
+ },
+ {
+ "pk": 257,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "meule-fixe",
+ "label": "meule fixe"
+ }
+ },
+ {
+ "pk": 258,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "mosaique",
+ "label": "mosa\u00efque"
+ }
+ },
+ {
+ "pk": 259,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "moteur",
+ "label": "moteur"
+ }
+ },
+ {
+ "pk": 10,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "txt_idx": "castral_thing",
+ "label": "motte castrale"
+ }
+ },
+ {
+ "pk": 260,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "moule-a-cloches",
+ "label": "moule \u00e0 cloches"
+ }
+ },
+ {
+ "pk": 261,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "mur",
+ "label": "mur"
+ }
+ },
+ {
+ "pk": 263,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "niche",
+ "label": "niche"
+ }
+ },
+ {
+ "pk": 264,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "niveau-doccupation",
+ "label": "niveau d'occupation"
+ }
+ },
+ {
+ "pk": 265,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "oratoire",
+ "label": "oratoire"
+ }
+ },
+ {
+ "pk": 266,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "orniere",
+ "label": "orni\u00e8re"
+ }
+ },
+ {
+ "pk": 267,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "ouvrage-avance",
+ "label": "ouvrage avanc\u00e9"
+ }
+ },
+ {
+ "pk": 268,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "palissade",
+ "label": "palissade"
+ }
+ },
+ {
+ "pk": 269,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "paroi-ornee",
+ "label": "paroi orn\u00e9e"
+ }
+ },
+ {
+ "pk": 270,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "pavage",
+ "label": "pavage"
+ }
+ },
+ {
+ "pk": 271,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "pieu",
+ "label": "pieu"
+ }
+ },
+ {
+ "pk": 272,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "pigeonnier",
+ "label": "pigeonnier"
+ }
+ },
+ {
+ "pk": 273,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "pile",
+ "label": "pile"
+ }
+ },
+ {
+ "pk": 274,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "plafond",
+ "label": "plafond"
+ }
+ },
+ {
+ "pk": 275,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "plancher",
+ "label": "plancher"
+ }
+ },
+ {
+ "pk": 276,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "polissoir-fixe",
+ "label": "polissoir fixe"
+ }
+ },
+ {
+ "pk": 277,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "pont-de-bateau",
+ "label": "pont de bateau"
+ }
+ },
+ {
+ "pk": 278,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "porte",
+ "label": "porte"
+ }
+ },
+ {
+ "pk": 279,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "portique",
+ "label": "portique"
+ }
+ },
+ {
+ "pk": 280,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "preceinte",
+ "label": "pr\u00e9ceinte"
+ }
+ },
+ {
+ "pk": 281,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "pressoir",
+ "label": "pressoir"
+ }
+ },
+ {
+ "pk": 282,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "puits",
+ "label": "puits"
+ }
+ },
+ {
+ "pk": 283,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "purgerie",
+ "label": "purgerie"
+ }
+ },
+ {
+ "pk": 284,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "quille",
+ "label": "quille"
+ }
+ },
+ {
+ "pk": 285,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "recipient-fixe",
+ "label": "r\u00e9cipient fixe"
+ }
+ },
+ {
+ "pk": 286,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "rempart",
+ "label": "rempart"
+ }
+ },
+ {
+ "pk": 287,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "sarcophage",
+ "label": "sarcophage"
+ }
+ },
+ {
+ "pk": 288,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "silo",
+ "label": "silo"
+ }
+ },
+ {
+ "pk": 289,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "sol-doccupation",
+ "label": "sol d'occupation"
+ }
+ },
+ {
+ "pk": 290,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "sol-orne",
+ "label": "sol orn\u00e9"
+ }
+ },
+ {
+ "pk": 291,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "source-amenagee",
+ "label": "source am\u00e9nag\u00e9e"
+ }
+ },
+ {
+ "pk": 292,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "souterrain",
+ "label": "souterrain"
+ }
+ },
+ {
+ "pk": 293,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "statue",
+ "label": "statue"
+ }
+ },
+ {
+ "pk": 294,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "statue-menhir",
+ "label": "statue-menhir"
+ }
+ },
+ {
+ "pk": 295,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "stele",
+ "label": "st\u00e8le"
+ }
+ },
+ {
+ "pk": 296,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "talus",
+ "label": "talus"
+ }
+ },
+ {
+ "pk": 297,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "tour",
+ "label": "tour"
+ }
+ },
+ {
+ "pk": 298,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "trace-agraire",
+ "label": "trace agraire"
+ }
+ },
+ {
+ "pk": 299,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "train-datterrissage",
+ "label": "train d'atterrissage"
+ }
+ },
+ {
+ "pk": 300,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "tranchee-dextraction",
+ "label": "tranch\u00e9e d'extraction"
+ }
+ },
+ {
+ "pk": 301,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "trou-de-jauge",
+ "label": "trou de jauge"
+ }
+ },
+ {
+ "pk": 302,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "trou-de-poteau",
+ "label": "trou de poteau"
+ }
+ },
+ {
+ "pk": 303,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "trous-de-poteau-ensemble-de",
+ "label": "trous de poteau (ensemble de)"
+ }
+ },
+ {
"pk": 7,
"model": "archaeological_operations.remaintype",
"fields": {
@@ -1372,6 +2832,46 @@
}
},
{
+ "pk": 304,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "tunnel",
+ "label": "tunnel"
+ }
+ },
+ {
+ "pk": 305,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "urne",
+ "label": "urne"
+ }
+ },
+ {
+ "pk": 306,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "vaigre",
+ "label": "vaigre"
+ }
+ },
+ {
+ "pk": 307,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "verriere",
+ "label": "verri\u00e8re"
+ }
+ },
+ {
"pk": 1,
"model": "archaeological_operations.remaintype",
"fields": {
@@ -1382,16 +2882,23 @@
}
},
{
- "pk": 2,
- "model": "archaeological_operations.relationtype",
+ "pk": 308,
+ "model": "archaeological_operations.remaintype",
"fields": {
- "comment": "",
+ "comment": null,
"available": true,
- "label": "Est compris dans",
- "symmetrical": false,
- "inverse_relation": 1,
- "order": 1,
- "txt_idx": "is_in"
+ "txt_idx": "virure",
+ "label": "virure"
+ }
+ },
+ {
+ "pk": 309,
+ "model": "archaeological_operations.remaintype",
+ "fields": {
+ "comment": null,
+ "available": true,
+ "txt_idx": "zone-de-rejet",
+ "label": "zone de rejet"
}
},
{
@@ -1400,6 +2907,7 @@
"fields": {
"comment": "",
"available": true,
+ "tiny_label": null,
"label": "Comprend",
"symmetrical": false,
"inverse_relation": 2,
@@ -1408,10 +2916,38 @@
}
},
{
- "pk": 1,
+ "pk": 3,
+ "model": "archaeological_operations.relationtype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "tiny_label": null,
+ "label": "en relation vague avec",
+ "symmetrical": true,
+ "inverse_relation": null,
+ "order": 1,
+ "txt_idx": "fuzzy_relation"
+ }
+ },
+ {
+ "pk": 2,
+ "model": "archaeological_operations.relationtype",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "tiny_label": null,
+ "label": "Est compris dans",
+ "symmetrical": false,
+ "inverse_relation": 1,
+ "order": 1,
+ "txt_idx": "is_in"
+ }
+ },
+ {
+ "pk": 3,
"model": "archaeological_operations.reportstate",
"fields": {
- "comment": "Le rapport est attendu mais non re\u00e7u",
+ "comment": "Ce rapport n'a pas encore \u00e9t\u00e9 re\u00e7u",
"available": true,
"txt_idx": "not_received",
"order": 1,
@@ -1419,69 +2955,80 @@
}
},
{
- "pk": 2,
+ "pk": 1,
"model": "archaeological_operations.reportstate",
"fields": {
- "comment": "Rapport re\u00e7u et non encore d\u00e9pouill\u00e9",
+ "comment": "Rapport re\u00e7u non d\u00e9pouill\u00e9",
"available": true,
- "txt_idx": "received_not_processed",
+ "txt_idx": "received",
"order": 2,
"label": "Re\u00e7u et non d\u00e9pouill\u00e9"
}
},
{
- "pk": 3,
+ "pk": 2,
+ "model": "archaeological_operations.reportstate",
+ "fields": {
+ "comment": "",
+ "available": true,
+ "txt_idx": "no_report",
+ "order": 2,
+ "label": "Rapport inexistant"
+ }
+ },
+ {
+ "pk": 7,
"model": "archaeological_operations.reportstate",
"fields": {
"comment": "Plusieurs rapports re\u00e7us et non d\u00e9pouill\u00e9s",
"available": true,
- "txt_idx": "received_not_processed_S",
+ "txt_idx": "received__not_processed",
"order": 3,
- "label": "Re\u00e7us et non d\u00e9pouill\u00e9s"
+ "label": "Re\u00e7us et NON d\u00e9pouill\u00e9s"
}
},
{
- "pk": 4,
+ "pk": 10,
"model": "archaeological_operations.reportstate",
"fields": {
- "comment": "Il n'existe pas de rapport pour cette op\u00e9ration",
+ "comment": "Les rapports ont \u00e9t\u00e9 re\u00e7us et d\u00e9pouill\u00e9s partiellement",
"available": true,
- "txt_idx": "no_report",
+ "txt_idx": "reports_received_partially_processed",
"order": 4,
- "label": "Rapport inexistant"
+ "label": "Re\u00e7us, un rapport d\u00e9pouill\u00e9, un autre non d\u00e9pouill\u00e9"
}
},
{
- "pk": 6,
+ "pk": 4,
"model": "archaeological_operations.reportstate",
"fields": {
- "comment": "Rapport unique re\u00e7u et d\u00e9pouill\u00e9",
+ "comment": "Il n'existe pas de rapport pour cette op\u00e9ration",
"available": true,
- "txt_idx": "received_and_processed",
+ "txt_idx": "no-report",
"order": 4,
- "label": "Re\u00e7u et d\u00e9pouill\u00e9"
+ "label": "Rapport inexistant"
}
},
{
- "pk": 5,
+ "pk": 8,
"model": "archaeological_operations.reportstate",
"fields": {
- "comment": "Tous les rapports ont \u00e9t\u00e9 re\u00e7us et d\u00e9pouill\u00e9s",
+ "comment": "Tous les rapports ont \u00e9t\u00e9 re\u00e7us et n'ont pas \u00e9t\u00e9 encore d\u00e9pouill\u00e9s",
"available": true,
- "txt_idx": "received_and_processed_S",
- "order": 5,
+ "txt_idx": "received_and_processed",
+ "order": 4,
"label": "Re\u00e7us et d\u00e9pouill\u00e9s"
}
},
{
- "pk": 7,
+ "pk": 9,
"model": "archaeological_operations.reportstate",
"fields": {
- "comment": "Les rapports ont \u00e9t\u00e9 re\u00e7us et d\u00e9pouill\u00e9s partiellement",
+ "comment": "Rapport unique re\u00e7u et d\u00e9pouill\u00e9",
"available": true,
- "txt_idx": "received_and_partially_processed",
- "order": 7,
- "label": "Re\u00e7us, un rapport d\u00e9pouill\u00e9, un autre non d\u00e9pouill\u00e9"
+ "txt_idx": "one_report_received_and_processed",
+ "order": 4,
+ "label": "Re\u00e7u et d\u00e9pouill\u00e9"
}
}
]
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py
index fc1003576..a12f245cb 100644
--- a/archaeological_operations/forms.py
+++ b/archaeological_operations/forms.py
@@ -261,8 +261,8 @@ class ParcelFormSet(FormSet):
except models.Parcel.DoesNotExist:
continue
ordering_keys[number] = [
- parcel.town, parcel.year, parcel.section,
- parcel.parcel_number]
+ parcel.public_domain, parcel.town, parcel.year,
+ parcel.section, parcel.parcel_number]
continue
if number not in ordering_keys:
ordering_keys[number] = ['', '', '', '', '']
@@ -844,7 +844,7 @@ class OperationFormGeneral(ManageOldType, forms.Form):
u"(ratio is preserved).</p>") % {
'width': settings.IMAGE_MAX_SIZE[0],
'height': settings.IMAGE_MAX_SIZE[1]}),
- required=False, widget=widgets.ImageFileInput())
+ max_length=255, required=False, widget=widgets.ImageFileInput())
def __init__(self, *args, **kwargs):
super(OperationFormGeneral, self).__init__(*args, **kwargs)
diff --git a/archaeological_operations/locale/django.pot b/archaeological_operations/locale/django.pot
index 69480db9b..0e55c760b 100644
--- a/archaeological_operations/locale/django.pot
+++ b/archaeological_operations/locale/django.pot
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
#: forms.py:67 forms.py:369 forms.py:1004 forms.py:1026 forms.py:1030
-#: models.py:1052 templates/ishtar/sheet_operation.html:144
+#: models.py:1168 templates/ishtar/sheet_operation.html:144
#: templates/ishtar/blocks/window_tables/parcels.html:10
msgid "Parcels"
msgstr ""
-#: forms.py:70 forms.py:203 forms.py:980 models.py:1038
+#: forms.py:70 forms.py:203 forms.py:980 models.py:1154
#: templates/ishtar/blocks/window_tables/parcels.html:7
#: templates/ishtar/dashboards/dashboard_operation.html:432
#: templates/ishtar/dashboards/dashboard_operation.html:446
@@ -23,22 +23,22 @@ msgstr ""
msgid "Town"
msgstr ""
-#: forms.py:72 forms.py:459 forms.py:755 forms.py:1250 models.py:203
-#: models.py:855 models.py:1036
+#: forms.py:72 forms.py:459 forms.py:755 forms.py:1250 models.py:249
+#: models.py:971 models.py:1152
#: templates/ishtar/blocks/window_tables/parcels.html:8
msgid "Year"
msgstr ""
-#: forms.py:75 models.py:1039
+#: forms.py:75 models.py:1155
#: templates/ishtar/blocks/window_tables/parcels.html:9
msgid "Section"
msgstr ""
-#: forms.py:78 models.py:1041
+#: forms.py:78 models.py:1157
msgid "Parcel number"
msgstr ""
-#: forms.py:80 models.py:1043 models.py:1060 models.py:1109
+#: forms.py:80 models.py:1159 models.py:1176 models.py:1225
msgid "Public domain"
msgstr ""
@@ -74,8 +74,8 @@ msgstr ""
msgid "Relation type"
msgstr ""
-#: forms.py:381 ishtar_menu.py:30 models.py:298 models.py:753 models.py:778
-#: models.py:794 models.py:847 models.py:1035 wizards.py:339 wizards.py:350
+#: forms.py:381 ishtar_menu.py:30 models.py:344 models.py:804 models.py:834
+#: models.py:862 models.py:963 models.py:1151 wizards.py:339 wizards.py:350
#: templates/ishtar/sheet_operation.html:4
msgid "Operation"
msgstr ""
@@ -104,7 +104,7 @@ msgstr ""
msgid "Relations"
msgstr ""
-#: forms.py:460 forms.py:1221 models.py:204
+#: forms.py:460 forms.py:1221 models.py:250
msgid "Numeric reference"
msgstr ""
@@ -112,7 +112,7 @@ msgstr ""
msgid "Parcel (section/number/public domain)"
msgstr ""
-#: forms.py:469 forms.py:1264 models.py:754
+#: forms.py:469 forms.py:1264 models.py:805
#: templates/ishtar/dashboards/dashboard_operation.html:390
#: templates/ishtar/dashboards/dashboard_operation.html:411
#: templates/ishtar/dashboards/dashboard_operation.html:643
@@ -126,7 +126,7 @@ msgstr ""
msgid "Name"
msgstr ""
-#: forms.py:472 forms.py:675 forms.py:753 forms.py:1227 models.py:211
+#: forms.py:472 forms.py:675 forms.py:753 forms.py:1227 models.py:257
msgid "Operation type"
msgstr ""
@@ -134,24 +134,24 @@ msgstr ""
msgid "Is open?"
msgstr ""
-#: forms.py:483 forms.py:782 models.py:200
+#: forms.py:483 forms.py:782 models.py:246
msgid "In charge"
msgstr ""
-#: forms.py:490 models.py:841
+#: forms.py:490 models.py:957
msgid "Scientist in charge"
msgstr ""
-#: forms.py:492 forms.py:677 forms.py:773 models.py:198
+#: forms.py:492 forms.py:677 forms.py:773 models.py:244
msgid "Operator"
msgstr ""
-#: forms.py:499 forms.py:1097 models.py:89 models.py:213
+#: forms.py:499 forms.py:1097 models.py:89 models.py:259
#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:10
msgid "Remains"
msgstr ""
-#: forms.py:500 forms.py:1075 forms.py:1094 models.py:87 models.py:219
+#: forms.py:500 forms.py:1075 forms.py:1094 models.py:87 models.py:265
#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:9
msgid "Periods"
msgstr ""
@@ -184,19 +184,19 @@ msgstr ""
msgid "Abstract (full text search)"
msgstr ""
-#: forms.py:515 forms.py:835 models.py:267
+#: forms.py:515 forms.py:835 models.py:313
msgid "Comment about scientific documentation"
msgstr ""
-#: forms.py:516 forms.py:837 models.py:279
+#: forms.py:516 forms.py:837 models.py:325
msgid "Record quality"
msgstr ""
-#: forms.py:517 forms.py:805 models.py:231
+#: forms.py:517 forms.py:805 models.py:277
msgid "Report processing"
msgstr ""
-#: forms.py:519 forms.py:840 models.py:274
+#: forms.py:519 forms.py:840 models.py:320
msgid "Virtual operation"
msgstr ""
@@ -220,7 +220,7 @@ msgstr ""
msgid "Documentation deadline after"
msgstr ""
-#: forms.py:544 forms.py:825 models.py:286
+#: forms.py:544 forms.py:825 models.py:332
msgid "Documentation received"
msgstr ""
@@ -232,11 +232,11 @@ msgstr ""
msgid "Finds deadline after"
msgstr ""
-#: forms.py:550 forms.py:830 models.py:290
+#: forms.py:550 forms.py:830 models.py:336
msgid "Finds received"
msgstr ""
-#: forms.py:595 forms.py:1213 views.py:259
+#: forms.py:595 forms.py:1213 views.py:168
msgid "Operation search"
msgstr ""
@@ -244,11 +244,11 @@ msgstr ""
msgid "Associated file"
msgstr ""
-#: forms.py:643 forms.py:928 models.py:852 wizards.py:76
+#: forms.py:643 forms.py:928 models.py:968 wizards.py:76
msgid "Archaelogical file"
msgstr ""
-#: forms.py:650 forms.py:652 models.py:281
+#: forms.py:650 forms.py:652 models.py:327
msgid "Abstract"
msgstr ""
@@ -260,7 +260,7 @@ msgstr ""
msgid "years"
msgstr ""
-#: forms.py:657 models.py:184
+#: forms.py:657 models.py:230
msgid "Creation date"
msgstr ""
@@ -313,15 +313,15 @@ msgid "With finds"
msgstr ""
#: forms.py:736 forms.py:1322 templates/ishtar/sheet_administrativeact.html:13
-#: templates/ishtar/sheet_operation.html:20
+#: templates/ishtar/sheet_operation.html:24
msgid "General"
msgstr ""
-#: forms.py:751 models.py:264
+#: forms.py:751 models.py:310
msgid "Generic name"
msgstr ""
-#: forms.py:760 models.py:233
+#: forms.py:760 models.py:279
msgid "Old code"
msgstr ""
@@ -329,7 +329,7 @@ msgstr ""
msgid "Head scientist"
msgstr ""
-#: forms.py:779 models.py:263
+#: forms.py:779 models.py:309
msgid "Operator reference"
msgstr ""
@@ -337,23 +337,23 @@ msgstr ""
msgid "Total surface (m2)"
msgstr ""
-#: forms.py:798 models.py:53 models.py:187 models.py:1225
+#: forms.py:798 models.py:53 models.py:233 models.py:1341
msgid "Start date"
msgstr ""
-#: forms.py:800 models.py:189
+#: forms.py:800 models.py:235
msgid "Excavation end date"
msgstr ""
-#: forms.py:803 models.py:190
+#: forms.py:803 models.py:236
msgid "Report delivery date"
msgstr ""
-#: forms.py:822 models.py:283
+#: forms.py:822 models.py:329
msgid "Deadline for submission of the documentation"
msgstr ""
-#: forms.py:827 models.py:288
+#: forms.py:827 models.py:334
msgid "Deadline for submission of the finds"
msgstr ""
@@ -388,7 +388,7 @@ msgstr ""
msgid "Bad operation code"
msgstr ""
-#: forms.py:924 models.py:437
+#: forms.py:924 models.py:486
msgid "Operation code"
msgstr ""
@@ -396,20 +396,20 @@ msgstr ""
msgid "Preventive informations - excavation"
msgstr ""
-#: forms.py:951 models.py:217
+#: forms.py:951 models.py:263
#: templates/ishtar/dashboards/dashboard_operation.html:701
msgid "Cost (euros)"
msgstr ""
-#: forms.py:952 models.py:222
+#: forms.py:952 models.py:268
msgid "Scheduled man-days"
msgstr ""
-#: forms.py:954 models.py:225
+#: forms.py:954 models.py:271
msgid "Optional man-days"
msgstr ""
-#: forms.py:956 models.py:228
+#: forms.py:956 models.py:274
msgid "Effective man-days"
msgstr ""
@@ -417,23 +417,23 @@ msgstr ""
msgid "Preventive informations - diagnostic"
msgstr ""
-#: forms.py:969 models.py:247
+#: forms.py:969 models.py:293
msgid "Prescription on zoning"
msgstr ""
-#: forms.py:971 models.py:250
+#: forms.py:971 models.py:296
msgid "Prescription on large area"
msgstr ""
-#: forms.py:974 models.py:252
+#: forms.py:974 models.py:298
msgid "Prescription on geoarchaeological context"
msgstr ""
-#: forms.py:978 forms.py:1000 models.py:215 models.py:865
+#: forms.py:978 forms.py:1000 models.py:261 models.py:981
msgid "Towns"
msgstr ""
-#: forms.py:1007 models.py:1051 models.py:1223
+#: forms.py:1007 models.py:1167 models.py:1339
msgid "Parcel"
msgstr ""
@@ -462,7 +462,7 @@ msgstr ""
msgid "Archaeological site"
msgstr ""
-#: forms.py:1152 models.py:94 models.py:271
+#: forms.py:1152 models.py:94 models.py:317
#: templates/ishtar/sheet_operation.html:94
msgid "Archaeological sites"
msgstr ""
@@ -483,7 +483,7 @@ msgstr ""
msgid "Would you like to delete this operation?"
msgstr ""
-#: forms.py:1181 forms.py:1251 forms.py:1387 models.py:780 models.py:832
+#: forms.py:1181 forms.py:1251 forms.py:1387 models.py:836 models.py:948
msgid "Index"
msgstr ""
@@ -510,7 +510,7 @@ msgstr ""
msgid "You should select a document."
msgstr ""
-#: forms.py:1258 forms.py:1325 models.py:805 models.py:826
+#: forms.py:1258 forms.py:1325 models.py:873 models.py:942
msgid "Act type"
msgstr ""
@@ -518,12 +518,12 @@ msgstr ""
msgid "Indexed?"
msgstr ""
-#: forms.py:1265 forms.py:1330 models.py:856
+#: forms.py:1265 forms.py:1330 models.py:972
#: templates/ishtar/blocks/window_tables/administrativacts.html:10
msgid "Object"
msgstr ""
-#: forms.py:1302 views.py:415
+#: forms.py:1302 views.py:324
msgid "Administrative act search"
msgstr ""
@@ -531,7 +531,7 @@ msgstr ""
msgid "You should select an administrative act."
msgstr ""
-#: forms.py:1333 models.py:853
+#: forms.py:1333 models.py:969
msgid "Signature date"
msgstr ""
@@ -566,7 +566,7 @@ msgstr ""
msgid "Generate the associated doc?"
msgstr ""
-#: forms.py:1466 ishtar_menu.py:121 views.py:468
+#: forms.py:1466 ishtar_menu.py:121 views.py:377
msgctxt "admin act register"
msgid "Register"
msgstr ""
@@ -587,7 +587,7 @@ msgstr ""
msgid "Deletion"
msgstr ""
-#: ishtar_menu.py:58 models.py:872
+#: ishtar_menu.py:58 models.py:988
#: templates/ishtar/sheet_administrativeact.html:4
msgid "Administrative act"
msgstr ""
@@ -616,16 +616,16 @@ msgstr ""
msgid "General informations"
msgstr ""
-#: ishtar_menu.py:136 models.py:299
+#: ishtar_menu.py:136 models.py:345
#: templates/ishtar/dashboards/dashboard_operation.html:8
msgid "Operations"
msgstr ""
-#: models.py:52 models.py:70 models.py:1687
+#: models.py:52 models.py:70 models.py:1803
msgid "Order"
msgstr ""
-#: models.py:54 models.py:1226
+#: models.py:54 models.py:1342
msgid "End date"
msgstr ""
@@ -681,353 +681,353 @@ msgstr ""
msgid "Reliable"
msgstr ""
-#: models.py:186
+#: models.py:232
msgid "Closing date"
msgstr ""
-#: models.py:193
+#: models.py:239
msgid "In charge scientist"
msgstr ""
-#: models.py:208 models.py:1031
+#: models.py:254 models.py:1147
msgid "File"
msgstr ""
-#: models.py:212
+#: models.py:258
msgid "Surface (m2)"
msgstr ""
-#: models.py:265
+#: models.py:311
msgid "General comment"
msgstr ""
-#: models.py:268
+#: models.py:314
msgid "Cached name"
msgstr ""
-#: models.py:276
+#: models.py:322
msgid ""
"If checked, it means that this operation have not been officialy registered."
msgstr ""
-#: models.py:292
+#: models.py:338
msgid "Point"
msgstr ""
-#: models.py:293
+#: models.py:339
msgid "Multi polygon"
msgstr ""
-#: models.py:301
+#: models.py:347
msgid "Can view all Operations"
msgstr ""
-#: models.py:302
+#: models.py:348
msgid "Can view own Operation"
msgstr ""
-#: models.py:303
+#: models.py:349
msgid "Can add own Operation"
msgstr ""
-#: models.py:304
+#: models.py:350
msgid "Can change own Operation"
msgstr ""
-#: models.py:305
+#: models.py:351
msgid "Can delete own Operation"
msgstr ""
-#: models.py:306
+#: models.py:352
msgid "Can close Operation"
msgstr ""
-#: models.py:334
+#: models.py:380
msgid "OPE"
msgstr ""
-#: models.py:391
+#: models.py:440
msgid "Intercommunal"
msgstr ""
-#: models.py:422 models.py:793
+#: models.py:471 models.py:861
msgid "Archaeological file"
msgstr ""
-#: models.py:423
+#: models.py:472
msgid "Code patriarche"
msgstr ""
-#: models.py:463
+#: models.py:512
msgid "This operation code already exists for this year"
msgstr ""
-#: models.py:496
+#: models.py:545
msgid "Number of parcels"
msgstr ""
-#: models.py:514
+#: models.py:563
msgid "Number of administrative acts"
msgstr ""
-#: models.py:522
+#: models.py:571
msgid "Number of indexed administrative acts"
msgstr ""
-#: models.py:530
+#: models.py:579
msgid "Number of context records"
msgstr ""
-#: models.py:566
+#: models.py:615
msgid "Number of finds"
msgstr ""
-#: models.py:611
+#: models.py:660
msgid "No type"
msgstr ""
-#: models.py:642
+#: models.py:691
msgid "Number of sources"
msgstr ""
-#: models.py:684 templates/ishtar/dashboards/dashboard_operation.html:309
+#: models.py:733 templates/ishtar/dashboards/dashboard_operation.html:309
#: templates/ishtar/dashboards/dashboard_operation.html:575
#: templates/ishtar/dashboards/dashboard_operation.html:611
msgid "Mean"
msgstr ""
-#: models.py:724
+#: models.py:775
msgid "Inverse relation"
msgstr ""
-#: models.py:728
+#: models.py:779
msgid "Operation relation type"
msgstr ""
-#: models.py:729
+#: models.py:780
msgid "Operation relation types"
msgstr ""
-#: models.py:742
+#: models.py:793
msgid "Operation record relation"
msgstr ""
-#: models.py:743
+#: models.py:794
msgid "Operation record relations"
msgstr ""
-#: models.py:764
+#: models.py:840
msgid "Operation documentation"
msgstr ""
-#: models.py:765
+#: models.py:841
msgid "Operation documentations"
msgstr ""
-#: models.py:768
+#: models.py:844
msgid "Can view all Operation sources"
msgstr ""
-#: models.py:770
+#: models.py:846
msgid "Can view own Operation source"
msgstr ""
-#: models.py:772
+#: models.py:848
msgid "Can add own Operation source"
msgstr ""
-#: models.py:774
+#: models.py:850
msgid "Can change own Operation source"
msgstr ""
-#: models.py:776
+#: models.py:852
msgid "Can delete own Operation source"
msgstr ""
-#: models.py:796
+#: models.py:864
msgid "Intended to"
msgstr ""
-#: models.py:798
+#: models.py:866
msgid "Code"
msgstr ""
-#: models.py:801
+#: models.py:869
msgid "Associated template"
msgstr ""
-#: models.py:802
+#: models.py:870
msgid "Indexed"
msgstr ""
-#: models.py:806
+#: models.py:874
msgid "Act types"
msgstr ""
-#: models.py:830
+#: models.py:946
msgid "Person in charge of the operation"
msgstr ""
-#: models.py:836
+#: models.py:952
msgid "Archaeological preventive operator"
msgstr ""
-#: models.py:844
+#: models.py:960
msgid "Signatory"
msgstr ""
-#: models.py:862
+#: models.py:978
msgid "Departments"
msgstr ""
-#: models.py:863
+#: models.py:979
msgid "Cached values get from associated departments"
msgstr ""
-#: models.py:866
+#: models.py:982
msgid "Cached values get from associated towns"
msgstr ""
-#: models.py:873 templates/ishtar/sheet_operation.html:102
+#: models.py:989 templates/ishtar/sheet_operation.html:102
#: templates/ishtar/sheet_operation.html:138
msgid "Administrative acts"
msgstr ""
-#: models.py:876
+#: models.py:992
msgid "Can view all Administrative acts"
msgstr ""
-#: models.py:878
+#: models.py:994
msgid "Can view own Administrative act"
msgstr ""
-#: models.py:880
+#: models.py:996
msgid "Can add own Administrative act"
msgstr ""
-#: models.py:882
+#: models.py:998
msgid "Can change own Administrative act"
msgstr ""
-#: models.py:884
+#: models.py:1000
msgid "Can delete own Administrative act"
msgstr ""
-#: models.py:893
+#: models.py:1009
#: templates/ishtar/blocks/window_tables/administrativacts.html:7
#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:7
msgid "Ref."
msgstr ""
-#: models.py:976
+#: models.py:1092
msgid "This index already exists for this year"
msgstr ""
-#: models.py:1044
+#: models.py:1160
msgid "External ID"
msgstr ""
-#: models.py:1047
+#: models.py:1163
msgid "External ID is set automatically"
msgstr ""
-#: models.py:1048
+#: models.py:1164
msgid "Address - Locality"
msgstr ""
-#: models.py:1221
+#: models.py:1337
msgid "Owner"
msgstr ""
-#: models.py:1229
+#: models.py:1345
msgid "Parcel owner"
msgstr ""
-#: models.py:1230
+#: models.py:1346
msgid "Parcel owners"
msgstr ""
-#: models.py:1256
+#: models.py:1372
msgid "Recorded"
msgstr ""
-#: models.py:1257
+#: models.py:1373
msgid "Effective"
msgstr ""
-#: models.py:1258
+#: models.py:1374
msgid "Active"
msgstr ""
-#: models.py:1259
+#: models.py:1375
msgid "Field completed"
msgstr ""
-#: models.py:1260
+#: models.py:1376
msgid "Associated report"
msgstr ""
-#: models.py:1261
+#: models.py:1377
msgid "Closed"
msgstr ""
-#: models.py:1262
+#: models.py:1378
msgid "Documented and closed"
msgstr ""
-#: models.py:1688
+#: models.py:1804
msgid "Is preventive"
msgstr ""
-#: models.py:1691
+#: models.py:1807
msgid "Operation type old"
msgstr ""
-#: models.py:1692
+#: models.py:1808
msgid "Operation types old"
msgstr ""
-#: views.py:305
+#: views.py:214
msgid "New operation"
msgstr ""
-#: views.py:324
+#: views.py:233
msgid "Operation modification"
msgstr ""
-#: views.py:367
+#: views.py:276
msgid "Operation closing"
msgstr ""
-#: views.py:373
+#: views.py:282
msgid "Operation deletion"
msgstr ""
-#: views.py:378
+#: views.py:287
msgid "Operation: source search"
msgstr ""
-#: views.py:386
+#: views.py:295
msgid "Operation: source creation"
msgstr ""
-#: views.py:394
+#: views.py:303
msgid "Operation: source modification"
msgstr ""
-#: views.py:409
+#: views.py:318
msgid "Operation: source deletion"
msgstr ""
-#: views.py:428
+#: views.py:337
msgid "Operation: new administrative act"
msgstr ""
-#: views.py:438
+#: views.py:347
msgid "Operation: administrative act modification"
msgstr ""
-#: views.py:462
+#: views.py:371
msgid "Operation: administrative act deletion"
msgstr ""
diff --git a/archaeological_operations/migrations/0011_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py b/archaeological_operations/migrations/0011_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py
new file mode 100644
index 000000000..528a6533b
--- /dev/null
+++ b/archaeological_operations/migrations/0011_auto__chg_field_operationsource_image__chg_field_operationsource_thumb.py
@@ -0,0 +1,688 @@
+# -*- 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):
+
+ # Changing field 'OperationSource.image'
+ db.alter_column('archaeological_operations_operationsource', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'OperationSource.thumbnail'
+ db.alter_column('archaeological_operations_operationsource', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'HistoricalOperation.thumbnail'
+ db.alter_column('archaeological_operations_historicaloperation', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'HistoricalOperation.image'
+ db.alter_column('archaeological_operations_historicaloperation', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'Operation.image'
+ db.alter_column('archaeological_operations_operation', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ # Changing field 'Operation.thumbnail'
+ db.alter_column('archaeological_operations_operation', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True))
+
+ def backwards(self, orm):
+
+ # Changing field 'OperationSource.image'
+ db.alter_column('archaeological_operations_operationsource', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'OperationSource.thumbnail'
+ db.alter_column('archaeological_operations_operationsource', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'HistoricalOperation.thumbnail'
+ db.alter_column('archaeological_operations_historicaloperation', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'HistoricalOperation.image'
+ db.alter_column('archaeological_operations_historicaloperation', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'Operation.image'
+ db.alter_column('archaeological_operations_operation', 'image', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ # Changing field 'Operation.thumbnail'
+ db.alter_column('archaeological_operations_operation', 'thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True))
+
+ 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_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': '1'}),
+ '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'}),
+ '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'}),
+ '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'})
+ },
+ '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 d64936c90..14e5e1f7e 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -177,10 +177,56 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms,
QUALITY_DICT = dict(QUALITY)
SHOW_URL = 'show-operation'
TABLE_COLS = ['year_index', 'operation_type', 'remains', 'towns',
- 'start_date', 'excavation_end_date']
- TABLE_COLS.insert(4, 'associated_file_short_label')
+ 'associated_file_short_label', 'start_date',
+ 'excavation_end_date']
IMAGE_PREFIX = 'operations/'
SLUG = 'operation'
+
+ # search parameters
+ BOOL_FIELDS = ['end_date__isnull', 'virtual_operation',
+ 'documentation_received', 'finds_received']
+ DATED_FIELDS = [
+ 'start_date__lte', 'start_date__gte', 'excavation_end_date__lte',
+ 'excavation_end_date__gte', 'documentation_deadline__lte',
+ 'documentation_deadline__gte', 'finds_deadline__lte',
+ 'finds_deadline__gte']
+ RELATIVE_SESSION_NAMES = [('file', 'associated_file__pk')]
+ EXTRA_REQUEST_KEYS = {
+ 'common_name': 'common_name__icontains',
+ 'cached_label': 'cached_label__icontains',
+ 'comment': 'comment__icontains',
+ 'scientific_documentation_comment':
+ 'scientific_documentation_comment__icontains',
+ 'abstract': 'abstract__icontains',
+ 'end_date': 'end_date__isnull',
+ 'year_index': ('year', 'operation_code'),
+ 'start_before': 'start_date__lte',
+ 'start_after': 'start_date__gte',
+ 'end_before': 'excavation_end_date__lte',
+ 'end_after': 'excavation_end_date__gte',
+ 'towns__numero_insee__startswith':
+ 'towns__numero_insee__startswith',
+ 'parcel_0': ('parcels__section',
+ 'associated_file__parcels__section'),
+ 'parcel_1': (
+ 'parcels__parcel_number',
+ 'associated_file__parcels__parcel_number'),
+ 'parcel_2': (
+ 'parcels__public_domain',
+ 'associated_file__parcels__public_domain'),
+ 'history_creator':
+ 'history_creator__ishtaruser__person__pk',
+ 'history_modifier':
+ 'history_modifier__ishtaruser__person__pk',
+ 'archaeological_sites':
+ 'archaeological_sites__pk',
+ 'documentation_deadline_before': 'documentation_deadline__lte',
+ 'documentation_deadline_after': 'documentation_deadline__gte',
+ 'finds_deadline_before': 'finds_deadline__lte',
+ 'finds_deadline_after': 'finds_deadline__gte',
+ }
+
+ # fields definition
creation_date = models.DateField(_(u"Creation date"),
default=datetime.date.today)
end_date = models.DateField(_(u"Closing date"), null=True, blank=True)
@@ -387,6 +433,9 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms,
cached_label = settings.JOINT.join(items)
return cached_label
+ def _get_associated_cached_labels(self):
+ return list(self.context_record.all())
+
def get_town_label(self):
lbl = unicode(_('Intercommunal'))
if self.towns.count() == 1:
@@ -701,6 +750,7 @@ def operation_post_save(sender, **kwargs):
if not kwargs['instance']:
return
operation = kwargs['instance']
+ operation.skip_history_when_saving = True
if operation.fnap_financing and operation.cost:
fnap_cost = int(float(operation.cost) / 100 * operation.fnap_financing)
if not operation.fnap_cost or operation.fnap_cost != fnap_cost:
@@ -708,8 +758,9 @@ def operation_post_save(sender, **kwargs):
operation.save()
elif operation.fnap_cost and operation.cost:
fnap_percent = float(operation.fnap_cost) * 100 / operation.cost
- operation.fnap_financing = fnap_percent
- operation.save()
+ if operation.fnap_financing != fnap_percent:
+ operation.fnap_financing = fnap_percent
+ operation.save()
cached_label_changed(sender, **kwargs)
if operation.associated_file:
operation.associated_file.update_short_menu_class()
@@ -760,6 +811,31 @@ class OperationByDepartment(models.Model):
class OperationSource(Source):
+ SHOW_URL = 'show-operationsource'
+ MODIFY_URL = 'operation_source_modify'
+ TABLE_COLS = ['operation.year', 'operation.operation_code', 'index'] + \
+ Source.TABLE_COLS
+
+ # search parameters
+ BOOL_FIELDS = ['duplicate']
+ EXTRA_REQUEST_KEYS = {
+ 'title': 'title__icontains',
+ 'description': 'description__icontains',
+ 'comment': 'comment__icontains',
+ 'additional_information': 'additional_information__icontains',
+ 'person': 'authors__person__pk',
+ 'operation__towns': 'operation__towns__pk',
+ 'operation__operation_code': 'operation__operation_code',
+ 'operation__code_patriarche': 'operation__code_patriarche',
+ 'operation__operation_type': 'operation__operation_type__pk',
+ 'operation__year': 'operation__year'}
+
+ # fields
+ operation = models.ForeignKey(Operation, verbose_name=_(u"Operation"),
+ related_name="source")
+ index = models.IntegerField(verbose_name=_(u"Index"), blank=True,
+ null=True)
+
class Meta:
verbose_name = _(u"Operation documentation")
verbose_name_plural = _(u"Operation documentations")
@@ -775,14 +851,6 @@ class OperationSource(Source):
("delete_own_operationsource",
ugettext(u"Can delete own Operation source")),
)
- operation = models.ForeignKey(Operation, verbose_name=_(u"Operation"),
- related_name="source")
- index = models.IntegerField(verbose_name=_(u"Index"), blank=True,
- null=True)
- TABLE_COLS = ['operation.year', 'operation.operation_code', 'index'] + \
- Source.TABLE_COLS
- SHOW_URL = 'show-operationsource'
- MODIFY_URL = 'operation_source_modify'
@property
def owner(self):
@@ -823,6 +891,54 @@ class AdministrativeAct(BaseHistorizedItem, OwnPerms, ValueGetter):
TABLE_COLS.append('departments_label')
TABLE_COLS_FILE.append('departments_label')
TABLE_COLS_OPE.append('departments_label')
+
+ # search parameters
+ DATED_FIELDS = ['signature_date__lte', 'signature_date__gte']
+ ASSOCIATED_MODELS = [
+ ('File', 'associated_file'),
+ (Person, 'associated_file__general_contractor')]
+ EXTRA_REQUEST_KEYS = {
+ 'act_object': 'act_object__icontains',
+ 'act_type__intented_to': 'act_type__intented_to',
+ 'associated_file__general_contractor__attached_to':
+ 'associated_file__general_contractor__attached_to__pk',
+ 'associated_file__name': 'associated_file__name__icontains',
+ 'associated_file__operations__code_patriarche':
+ 'associated_file__operations__code_patriarche',
+ 'associated_file__permit_reference':
+ 'associated_file__permit_reference__icontains',
+ 'associated_file__towns': 'associated_file__towns__pk',
+ 'associated_file__towns__numero_insee__startswith':
+ 'associated_file__towns__numero_insee__startswith',
+ 'indexed': 'index__isnull',
+ 'history_creator':
+ 'history_creator__ishtaruser__person__pk',
+ 'history_modifier':
+ 'history_modifier__ishtaruser__person__pk',
+ 'operation__code_patriarche': 'operation__code_patriarche',
+ 'operation__towns': 'operation__towns__pk',
+ 'operation__towns__numero_insee__startswith':
+ 'operation__towns__numero_insee__startswith',
+ 'parcel_0': ('associated_file__parcels__section',
+ 'operation__parcels__section',
+ 'operation__associated_file__parcels__section'),
+ 'parcel_1': (
+ 'associated_file__parcels__parcel_number'
+ 'operation__parcels__parcel_number',
+ 'operation__associated_file__parcels__parcel_number'),
+ 'parcel_2': (
+ 'associated_file__parcels__public_domain',
+ 'operation__parcels__public_domain',
+ 'operation__associated_file__parcels__public_domain'),
+ 'signature_date_before': 'signature_date__lte',
+ 'signature_date_after': 'signature_date__gte',
+ 'year': 'signature_date__year',
+ }
+ REVERSED_BOOL_FIELDS = ['index__isnull']
+ RELATIVE_SESSION_NAMES = [('operation', 'operation__pk'),
+ ('file', 'associated_file__pk')]
+
+ # fields
act_type = models.ForeignKey(ActType, verbose_name=_(u"Act type"))
in_charge = models.ForeignKey(
Person, blank=True, null=True,
diff --git a/archaeological_operations/templates/ishtar/sheet_operation.html b/archaeological_operations/templates/ishtar/sheet_operation.html
index 07f8d8ab0..daddb42d6 100644
--- a/archaeological_operations/templates/ishtar/sheet_operation.html
+++ b/archaeological_operations/templates/ishtar/sheet_operation.html
@@ -17,12 +17,12 @@
<p class='alert'><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> {%trans "Patriarche OA code not yet recorded!"%}</p>
{% endif %}
+<p class='window-refs'>{% if item.year or item.operation_code %}{{item.year|default:''}}-{{item.operation_code|default:''}}{% endif %}{% if item.code_patriarche %} &ndash; OA{{item.code_patriarche}}{% endif %}
+</p>
+<p class='window-refs'>{{item.common_name|default:''}}</p>
+
<h3>{% trans "General"%}</h3>
<ul class='form-flex'>
-{% field_li "Name" item.common_name %}
-{% field_li "Year" item.year %}
-{% field_li "Numeric reference" item.operation_code %}
-{% field_li "Code patriarche" item.code_patriarche 'OA' %}
{% field_li "Old code" item.old_code %}
<li><label>{%trans "Last modification date:"%}</label> <span class='value'>{% if item.history_date %}{{ item.history_date }}{% else %}{{ item.history.all.0.history_date }}{% endif %}</span></li> <!-- date = now -->
{% field_li "Created by" item.history_creator.ishtaruser.full_label %}
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index ae82e9e89..18d57e617 100644
--- a/archaeological_operations/views.py
+++ b/archaeological_operations/views.py
@@ -136,112 +136,21 @@ def get_available_operation_code(request, year=None):
models.Operation.get_available_operation_code(year)})
return HttpResponse(data, mimetype='text/plain')
-get_operation = get_item(
- models.Operation, 'get_operation', 'operation',
- bool_fields=['end_date__isnull', 'virtual_operation',
- 'documentation_received', 'finds_received'],
- dated_fields=['start_date__lte', 'start_date__gte',
- 'excavation_end_date__lte', 'excavation_end_date__gte',
- 'documentation_deadline__lte', 'documentation_deadline__gte',
- 'finds_deadline__lte', 'finds_deadline__gte',
- ],
- relative_session_names=[('file', 'associated_file__pk')],
- extra_request_keys={
- 'common_name': 'common_name__icontains',
- 'cached_label': 'cached_label__icontains',
- 'comment': 'comment__icontains',
- 'scientific_documentation_comment':
- 'scientific_documentation_comment__icontains',
- 'abstract': 'abstract__icontains',
- 'end_date': 'end_date__isnull',
- 'year_index': ('year', 'operation_code'),
- 'start_before': 'start_date__lte',
- 'start_after': 'start_date__gte',
- 'end_before': 'excavation_end_date__lte',
- 'end_after': 'excavation_end_date__gte',
- 'towns__numero_insee__startswith':
- 'towns__numero_insee__startswith',
- 'parcel_0': ('parcels__section',
- 'associated_file__parcels__section'),
- 'parcel_1': (
- 'parcels__parcel_number',
- 'associated_file__parcels__parcel_number'),
- 'parcel_2': (
- 'parcels__public_domain',
- 'associated_file__parcels__public_domain'),
- 'history_creator':
- 'history_creator__ishtaruser__person__pk',
- 'history_modifier':
- 'history_modifier__ishtaruser__person__pk',
- 'archaeological_sites':
- 'archaeological_sites__pk',
- 'documentation_deadline_before': 'documentation_deadline__lte',
- 'documentation_deadline_after': 'documentation_deadline__gte',
- 'finds_deadline_before': 'finds_deadline__lte',
- 'finds_deadline_after': 'finds_deadline__gte',
- },
-)
+get_operation = get_item(models.Operation, 'get_operation', 'operation')
+
show_operation = show_item(models.Operation, 'operation')
revert_operation = revert_item(models.Operation)
show_operationsource = show_item(models.OperationSource, 'operationsource')
-get_operationsource = get_item(
- models.OperationSource,
- 'get_operationsource', 'operationsource',
- bool_fields=['duplicate'],
- extra_request_keys={
- 'title': 'title__icontains',
- 'description': 'description__icontains',
- 'comment': 'comment__icontains',
- 'additional_information': 'additional_information__icontains',
- 'person': 'authors__person__pk',
- 'operation__towns': 'operation__towns__pk',
- 'operation__operation_code': 'operation__operation_code',
- 'operation__code_patriarche': 'operation__code_patriarche',
- 'operation__operation_type': 'operation__operation_type__pk',
- 'operation__year': 'operation__year'})
+get_operationsource = get_item(models.OperationSource, 'get_operationsource',
+ 'operationsource')
get_administrativeactop = get_item(
- models.AdministrativeAct,
- 'get_administrativeactop', 'administrativeactop',
- extra_request_keys={
- 'associated_file__towns': 'associated_file__towns__pk',
- 'operation__towns': 'operation__towns__pk',
- 'operation__code_patriarche': 'operation__code_patriarche',
- 'act_type__intented_to': 'act_type__intented_to',
- 'year': 'signature_date__year',
- 'act_object': 'act_object__icontains',
- 'history_creator':
- 'history_creator__ishtaruser__person__pk',
- 'history_modifier':
- 'history_modifier__ishtaruser__person__pk',
- 'operation__towns__numero_insee__startswith':
- 'operation__towns__numero_insee__startswith',
- 'indexed': 'index__isnull',
- 'parcel_0': ('operation__parcels__section',
- 'operation__associated_file__parcels__section'),
- 'parcel_1': (
- 'operation__parcels__parcel_number',
- 'operation__associated_file__parcels__parcel_number'),
- 'parcel_2': (
- 'operation__parcels__public_domain',
- 'operation__associated_file__parcels__public_domain'),
- },
- reversed_bool_fields=['index__isnull'],
- relative_session_names=[('operation', 'operation__pk')])
+ models.AdministrativeAct, 'get_administrativeactop', 'administrativeactop')
get_administrativeact = get_item(
- models.AdministrativeAct,
- 'get_administrativeact', 'administrativeact',
- extra_request_keys={'year': 'signature_date__year',
- 'indexed': 'index__isnull',
- 'history_creator':
- 'history_creator__ishtaruser__person__pk',
- 'act_object': 'act_object__icontains',
- 'operation__towns__numero_insee__startswith':
- 'operation__towns__numero_insee__startswith',
- 'operation__towns': 'operation__towns__pk'},
- reversed_bool_fields=['index__isnull'],)
+ models.AdministrativeAct, 'get_administrativeact', 'administrativeact')
+
show_administrativeact = show_item(models.AdministrativeAct,
'administrativeact')
diff --git a/archaeological_warehouse/locale/django.pot b/archaeological_warehouse/locale/django.pot
index 4300d1d19..7155bb63e 100644
--- a/archaeological_warehouse/locale/django.pot
+++ b/archaeological_warehouse/locale/django.pot
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
-#: forms.py:34 forms.py:97 models.py:47 models.py:78
+#: forms.py:34 forms.py:97 models.py:47 models.py:87
msgid "Warehouse"
msgstr ""
@@ -22,7 +22,7 @@ msgstr ""
msgid "Person in charge"
msgstr ""
-#: forms.py:54 forms.py:102 models.py:44 models.py:82
+#: forms.py:54 forms.py:102 models.py:44 models.py:91
msgid "Comment"
msgstr ""
@@ -50,7 +50,7 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: forms.py:93 models.py:85
+#: forms.py:93 models.py:94
msgid "Container"
msgstr ""
@@ -58,7 +58,7 @@ msgstr ""
msgid "Ref."
msgstr ""
-#: forms.py:95 forms.py:128 models.py:69 models.py:80
+#: forms.py:95 forms.py:128 models.py:69 models.py:89
msgid "Container type"
msgstr ""
@@ -74,7 +74,7 @@ msgstr ""
msgid "Add a new container"
msgstr ""
-#: forms.py:146 ishtar_menu.py:33 views.py:94
+#: forms.py:146 ishtar_menu.py:33 views.py:87
msgid "Packaging"
msgstr ""
@@ -142,10 +142,10 @@ msgstr ""
msgid "Container types"
msgstr ""
-#: models.py:81
+#: models.py:90
msgid "Container ref."
msgstr ""
-#: models.py:86
+#: models.py:95
msgid "Containers"
msgstr ""
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py
index 17495bf72..389cc4f5a 100644
--- a/archaeological_warehouse/models.py
+++ b/archaeological_warehouse/models.py
@@ -75,6 +75,15 @@ post_delete.connect(post_save_cache, sender=ContainerType)
class Container(LightHistorizedItem):
TABLE_COLS = ['reference', 'container_type', 'location']
+
+ # search parameters
+ EXTRA_REQUEST_KEYS = {
+ 'location': 'location__pk',
+ 'container_type': 'container_type__pk',
+ 'reference': 'reference__icontains',
+ }
+
+ # fields
location = models.ForeignKey(Warehouse, verbose_name=_(u"Warehouse"))
container_type = models.ForeignKey(ContainerType,
verbose_name=_("Container type"))
diff --git a/archaeological_warehouse/views.py b/archaeological_warehouse/views.py
index 486c2a1e0..d8027a9a6 100644
--- a/archaeological_warehouse/views.py
+++ b/archaeological_warehouse/views.py
@@ -29,14 +29,7 @@ from wizards import *
from ishtar_common.forms import FinalForm
from forms import *
-get_container = get_item(
- models.Container,
- 'get_container', 'container',
- extra_request_keys={
- 'location': 'location__pk',
- 'container_type': 'container_type__pk',
- 'reference': 'reference__icontains',
- })
+get_container = get_item(models.Container, 'get_container', 'container')
new_warehouse = new_item(models.Warehouse, WarehouseForm)
new_container = new_item(models.Container, ContainerForm)
diff --git a/ishtar_common/fixtures/initial_importtypes-fr.json b/ishtar_common/fixtures/initial_importtypes-fr.json
index aa5816fc5..98703c8c9 100644
--- a/ishtar_common/fixtures/initial_importtypes-fr.json
+++ b/ishtar_common/fixtures/initial_importtypes-fr.json
@@ -1,5 +1,109 @@
[
{
+ "pk": 15,
+ "model": "ishtar_common.importertype",
+ "fields": {
+ "description": "Import depuis la base filemaker du SRA PdL",
+ "is_template": true,
+ "unicity_keys": "code_patriarche",
+ "users": [],
+ "slug": "operatio",
+ "associated_models": "archaeological_operations.models.Operation",
+ "name": "OPERATIO - Op\u00e9rations"
+ }
+ },
+ {
+ "pk": 6,
+ "model": "ishtar_common.importertype",
+ "fields": {
+ "description": "Test d'import depuis le DBF simplifi\u00e9 de patrairche",
+ "is_template": true,
+ "unicity_keys": null,
+ "users": [],
+ "slug": null,
+ "associated_models": "archaeological_operations.models.Operation",
+ "name": "OPE PATRIARCHE DBF simplifi\u00e9 (TEST)"
+ }
+ },
+ {
+ "pk": 7,
+ "model": "ishtar_common.importertype",
+ "fields": {
+ "description": "Import simple d'UE (pas de relations)",
+ "is_template": true,
+ "unicity_keys": null,
+ "users": [],
+ "slug": null,
+ "associated_models": "archaeological_context_records.models.ContextRecord",
+ "name": "SISPEO_UE"
+ }
+ },
+ {
+ "pk": 8,
+ "model": "ishtar_common.importertype",
+ "fields": {
+ "description": "Import depuis csv issu de SISPEO",
+ "is_template": true,
+ "unicity_keys": null,
+ "users": [],
+ "slug": null,
+ "associated_models": "archaeological_finds.models.BaseFind",
+ "name": "SISPEO_mobilier"
+ }
+ },
+ {
+ "pk": 9,
+ "model": "ishtar_common.importertype",
+ "fields": {
+ "description": "Import des parcelles depuis un export de base SISPEO",
+ "is_template": true,
+ "unicity_keys": null,
+ "users": [],
+ "slug": null,
+ "associated_models": "archaeological_operations.models.Parcel",
+ "name": "SISPEO_parcelles"
+ }
+ },
+ {
+ "pk": 10,
+ "model": "ishtar_common.importertype",
+ "fields": {
+ "description": "Import depuis un export de la base File Maker Objet du SRA PdL",
+ "is_template": true,
+ "unicity_keys": null,
+ "users": [],
+ "slug": null,
+ "associated_models": "archaeological_finds.models.BaseFind",
+ "name": "FM_SRA_PdL_Mobilier"
+ }
+ },
+ {
+ "pk": 14,
+ "model": "ishtar_common.importertype",
+ "fields": {
+ "description": "Exports dossiers SRA PdL : importeur Filemaker dossiers",
+ "is_template": false,
+ "unicity_keys": "external_id",
+ "users": [],
+ "slug": "sra-pdl-files",
+ "associated_models": "archaeological_files.models.File",
+ "name": "sra-pdl-files"
+ }
+ },
+ {
+ "pk": 16,
+ "model": "ishtar_common.importertype",
+ "fields": {
+ "description": "Base contact du SRA Pays de la Loire",
+ "is_template": true,
+ "unicity_keys": "",
+ "users": [],
+ "slug": "pdl-contact",
+ "associated_models": "ishtar_common.models.Person",
+ "name": "PDL - Contact"
+ }
+ },
+ {
"pk": 2,
"model": "ishtar_common.importertype",
"fields": {
@@ -65,6 +169,19 @@
}
},
{
+ "pk": 17,
+ "model": "ishtar_common.importertype",
+ "fields": {
+ "description": "Import complet standard operations",
+ "is_template": true,
+ "unicity_keys": "code_patriarche",
+ "users": [],
+ "slug": "ishtar_operations",
+ "associated_models": "archaeological_operations.models.Operation",
+ "name": "ISHTAR-Operations"
+ }
+ },
+ {
"pk": 2,
"model": "ishtar_common.regexp",
"fields": {
@@ -74,6 +191,62 @@
}
},
{
+ "pk": 16,
+ "model": "ishtar_common.importerdefault",
+ "fields": {
+ "importer_type": 14,
+ "target": "responsible_town_planning_service__attached_to"
+ }
+ },
+ {
+ "pk": 17,
+ "model": "ishtar_common.importerdefault",
+ "fields": {
+ "importer_type": 14,
+ "target": ""
+ }
+ },
+ {
+ "pk": 18,
+ "model": "ishtar_common.importerdefault",
+ "fields": {
+ "importer_type": 14,
+ "target": "in_charge"
+ }
+ },
+ {
+ "pk": 19,
+ "model": "ishtar_common.importerdefault",
+ "fields": {
+ "importer_type": 14,
+ "target": "general_contractor__attached_to"
+ }
+ },
+ {
+ "pk": 20,
+ "model": "ishtar_common.importerdefault",
+ "fields": {
+ "importer_type": 3,
+ "target": "authors"
+ }
+ },
+ {
+ "pk": 21,
+ "model": "ishtar_common.importerdefault",
+ "fields": {
+ "importer_type": 15,
+ "target": "operator"
+ }
+ },
+ {
+ "pk": 22,
+ "model": "ishtar_common.importerdefault",
+ "fields": {
+ "importer_type": 16,
+ "target": "attached_to"
+ }
+ },
+ {
"pk": 1,
"model": "ishtar_common.importerdefault",
"fields": {
@@ -90,6 +263,94 @@
}
},
{
+ "pk": 23,
+ "model": "ishtar_common.importerdefault",
+ "fields": {
+ "importer_type": 17,
+ "target": "operator"
+ }
+ },
+ {
+ "pk": 24,
+ "model": "ishtar_common.importerdefault",
+ "fields": {
+ "importer_type": 17,
+ "target": "scientist__person_types"
+ }
+ },
+ {
+ "pk": 21,
+ "model": "ishtar_common.importerdefaultvalues",
+ "fields": {
+ "default_target": 16,
+ "target": "organization_type",
+ "value": "planning_service"
+ }
+ },
+ {
+ "pk": 22,
+ "model": "ishtar_common.importerdefaultvalues",
+ "fields": {
+ "default_target": 17,
+ "target": "file_type",
+ "value": "preventive"
+ }
+ },
+ {
+ "pk": 23,
+ "model": "ishtar_common.importerdefaultvalues",
+ "fields": {
+ "default_target": 17,
+ "target": "creation_date",
+ "value": "2015-10-25 19:44:44.496129"
+ }
+ },
+ {
+ "pk": 24,
+ "model": "ishtar_common.importerdefaultvalues",
+ "fields": {
+ "default_target": 18,
+ "target": "attached_to",
+ "value": "9"
+ }
+ },
+ {
+ "pk": 25,
+ "model": "ishtar_common.importerdefaultvalues",
+ "fields": {
+ "default_target": 19,
+ "target": "organization_type",
+ "value": "general_contractor"
+ }
+ },
+ {
+ "pk": 26,
+ "model": "ishtar_common.importerdefaultvalues",
+ "fields": {
+ "default_target": 20,
+ "target": "author_type",
+ "value": "main_author"
+ }
+ },
+ {
+ "pk": 27,
+ "model": "ishtar_common.importerdefaultvalues",
+ "fields": {
+ "default_target": 21,
+ "target": "organization_type",
+ "value": "operator"
+ }
+ },
+ {
+ "pk": 28,
+ "model": "ishtar_common.importerdefaultvalues",
+ "fields": {
+ "default_target": 22,
+ "target": "organization_type",
+ "value": "undefined"
+ }
+ },
+ {
"pk": 1,
"model": "ishtar_common.importerdefaultvalues",
"fields": {
@@ -108,6 +369,24 @@
}
},
{
+ "pk": 29,
+ "model": "ishtar_common.importerdefaultvalues",
+ "fields": {
+ "default_target": 23,
+ "target": "organization_type",
+ "value": "operator"
+ }
+ },
+ {
+ "pk": 30,
+ "model": "ishtar_common.importerdefaultvalues",
+ "fields": {
+ "default_target": 24,
+ "target": "txt_idx",
+ "value": "head_scientist"
+ }
+ },
+ {
"pk": 1,
"model": "ishtar_common.importercolumn",
"fields": {
@@ -603,6 +882,17 @@
}
},
{
+ "pk": 229,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 12,
+ "required": false,
+ "importer_type": 5,
+ "description": "Ref. du contenant / label temporaire utilis\u00e9 pour le mobilier = label libre = Label pour l'instant",
+ "regexp_pre_filter": null
+ }
+ },
+ {
"pk": 40,
"model": "ishtar_common.importercolumn",
"fields": {
@@ -724,6 +1014,1678 @@
}
},
{
+ "pk": 55,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 1,
+ "required": true,
+ "importer_type": 6,
+ "description": "Type d'op\u00e9ration patriarche (ex: EV, AET, OPD, etc.)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 56,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 2,
+ "required": false,
+ "importer_type": 6,
+ "description": "Intitul\u00e9 de l'op\u00e9ration dans Patriarche",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 57,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 3,
+ "required": false,
+ "importer_type": 6,
+ "description": "Nom du responsable de l'op\u00e9ration",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 58,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 4,
+ "required": false,
+ "importer_type": 6,
+ "description": "Pr\u00e9nom du responsable de l'op\u00e9ration",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 59,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 5,
+ "required": false,
+ "importer_type": 6,
+ "description": "Chronologie dans PATRIARCHE, h\u00e9las une seule chronologie est enregistr\u00e9e",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 60,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 8,
+ "required": false,
+ "importer_type": 6,
+ "description": "Date du d\u00e9but de l'op\u00e9ration au format jour/mois/ann\u00e9e",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 61,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 9,
+ "required": false,
+ "importer_type": 6,
+ "description": "Date du fin de l'op\u00e9ration au format jour/mois/ann\u00e9e",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 62,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 10,
+ "required": false,
+ "importer_type": 6,
+ "description": "Identification de l'op\u00e9ration, import\u00e9 en tant que commentaire",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 63,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 11,
+ "required": true,
+ "importer_type": 6,
+ "description": "CODE Patriarche de l'op\u00e9ration, AVEC le code REGION",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 64,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 12,
+ "required": false,
+ "importer_type": 6,
+ "description": "Surface en m2",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 65,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 1,
+ "required": true,
+ "importer_type": 7,
+ "description": "Code OA avec le num\u00e9ro de r\u00e9gion (ex: 18 pour les PdL)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 66,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 2,
+ "required": true,
+ "importer_type": 7,
+ "description": "Code de l'UE (peut \u00eatre la concat\u00e9nation de fait + US ou autre)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 67,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 3,
+ "required": true,
+ "importer_type": 7,
+ "description": "Parcelle (peut \u00eatre li\u00e9 \u00e0 une parcelle virtuelle, ex: XXX 0)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 68,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 4,
+ "required": false,
+ "importer_type": 7,
+ "description": "Commentaire",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 94,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 5,
+ "required": false,
+ "importer_type": 7,
+ "description": "Type d'UE : identification",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 95,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 6,
+ "required": false,
+ "importer_type": 7,
+ "description": "Description de l'UE consid\u00e9r\u00e9e",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 96,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 7,
+ "required": false,
+ "importer_type": 7,
+ "description": "Datation (p\u00e9riode) pour l'UE s\u00e9par\u00e9es par un &",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 69,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 1,
+ "required": true,
+ "importer_type": 8,
+ "description": "Code patriarche de l'op\u00e9ration associ\u00e9e",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 70,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 2,
+ "required": true,
+ "importer_type": 8,
+ "description": "Code Document de SISPEO, soit l'identifiant complet (ancien du mobilier), ex: M.CE.0091_XXX.XX_0030",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 72,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 3,
+ "required": true,
+ "importer_type": 8,
+ "description": "UE - a passer en majuscule dans l'export csv de SISPEO / bien v\u00e9rifier qu'il n'y a pas de doublons dans l'import des UE pr\u00e9c\u00e9dent",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 74,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 4,
+ "required": false,
+ "importer_type": 8,
+ "description": "Type de manti\u00e8re de mobilier, s\u00e9par\u00e9s par des \"&\"",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 73,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 5,
+ "required": false,
+ "importer_type": 8,
+ "description": "\u00c9tat de conservation / lien avec une liste",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 77,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 6,
+ "required": false,
+ "importer_type": 8,
+ "description": "Commentaire",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 122,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 7,
+ "required": false,
+ "importer_type": 8,
+ "description": "Identifiant pr\u00e9c\u00e9dent / label libre",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 75,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 8,
+ "required": false,
+ "importer_type": 8,
+ "description": "Contient des objets complets ou non (pb il peut aussi y en avoir des incomplets m\u00e9lang\u00e9s \u00e0 des complets non isol\u00e9s...)\r\nA Am\u00e9liorer",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 78,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 9,
+ "required": false,
+ "importer_type": 8,
+ "description": "Datations s\u00e9par\u00e9es par des \"&\"",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 124,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 10,
+ "required": false,
+ "importer_type": 8,
+ "description": "Description de l'objet ou du lot d'objet",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 79,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 11,
+ "required": false,
+ "importer_type": 8,
+ "description": "Nombre d'objets",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 80,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 12,
+ "required": false,
+ "importer_type": 8,
+ "description": "Poids (en g)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 81,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 13,
+ "required": false,
+ "importer_type": 8,
+ "description": "Longueur en cm",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 125,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 14,
+ "required": false,
+ "importer_type": 8,
+ "description": "Largeur en cm",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 126,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 15,
+ "required": false,
+ "importer_type": 8,
+ "description": "Hauteur en cm",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 127,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 16,
+ "required": false,
+ "importer_type": 8,
+ "description": "Diam\u00e8tre en cm",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 128,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 18,
+ "required": false,
+ "importer_type": 8,
+ "description": "Datation pr\u00e9cise, champs txt libre",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 82,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 19,
+ "required": false,
+ "importer_type": 8,
+ "description": "Types d'objets se r\u00e9f\u00e9ren\u00e7ant par rapport \u00e0 un th\u00e9saurus",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 76,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 20,
+ "required": false,
+ "importer_type": 8,
+ "description": "Isolation ou lot d'objets",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 83,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 1,
+ "required": true,
+ "importer_type": 9,
+ "description": "Code patriarche de l'op\u00e9ration associ\u00e9e",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 84,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 2,
+ "required": true,
+ "importer_type": 9,
+ "description": "Commune (via num\u00e9ro INSEE)",
+ "regexp_pre_filter": 2
+ }
+ },
+ {
+ "pk": 85,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 4,
+ "required": true,
+ "importer_type": 9,
+ "description": "Section de la parcelle",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 86,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 5,
+ "required": true,
+ "importer_type": 9,
+ "description": "Num\u00e9ro de la parcelle (ex: 125)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 87,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 1,
+ "required": true,
+ "importer_type": 10,
+ "description": "Numero OA reference",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 88,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 2,
+ "required": true,
+ "importer_type": 10,
+ "description": "Ref\u00e9rence pr\u00e9c\u00e9dente de l'objet (base ou inventaire pr\u00e9c\u00e9dent, fouille, sp\u00e9cialiste, etc;)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 89,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 3,
+ "required": true,
+ "importer_type": 10,
+ "description": "UE li\u00e9e au mobilier",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 90,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 4,
+ "required": true,
+ "importer_type": 10,
+ "description": "Mati\u00e8res s\u00e9par\u00e9es par des \"&\"",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 91,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 5,
+ "required": false,
+ "importer_type": 10,
+ "description": "Etat de conservation",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 92,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 6,
+ "required": false,
+ "importer_type": 10,
+ "description": "Commentaires",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 93,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 7,
+ "required": false,
+ "importer_type": 10,
+ "description": "Label libre",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 192,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 2,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 193,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 3,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 194,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 5,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 195,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 9,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 196,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 10,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 197,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 12,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 198,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 13,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 199,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 14,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 200,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 16,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 201,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 18,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 202,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 19,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 203,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 20,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 204,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 35,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 205,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 37,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 206,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 38,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 207,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 41,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 208,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 42,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 209,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 47,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 210,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 49,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 211,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 50,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 212,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 53,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 213,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 54,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 214,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 55,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 215,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 57,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 216,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 58,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 217,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 72,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 218,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 75,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 219,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 76,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 220,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 77,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 221,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 85,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 222,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 87,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 223,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 88,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 224,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 89,
+ "required": false,
+ "importer_type": 14,
+ "description": null,
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 230,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 1,
+ "required": true,
+ "importer_type": 15,
+ "description": "Code Patriarche",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 231,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 3,
+ "required": false,
+ "importer_type": 15,
+ "description": "Type d'op\u00e9ration",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 232,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 4,
+ "required": false,
+ "importer_type": 15,
+ "description": "Nom de l'op\u00e9ration",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 233,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 5,
+ "required": false,
+ "importer_type": 15,
+ "description": "Nom de l'op\u00e9rateur",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 234,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 6,
+ "required": false,
+ "importer_type": 15,
+ "description": "Nom du responsable de l'op\u00e9ration.",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 235,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 7,
+ "required": false,
+ "importer_type": 15,
+ "description": "Pr\u00e9nom du responsable de l'op\u00e9ration.",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 236,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 8,
+ "required": false,
+ "importer_type": 15,
+ "description": "Date de d\u00e9but de l'op\u00e9ration avec le format ANN\u00c9E/MOIS/JOUR",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 237,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 9,
+ "required": false,
+ "importer_type": 15,
+ "description": "Date de fin de l'op\u00e9ration avec le format ANN\u00c9E/MOIS/JOUR",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 238,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 10,
+ "required": false,
+ "importer_type": 15,
+ "description": "P\u00e9riodes chronologiques",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 239,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 11,
+ "required": false,
+ "importer_type": 15,
+ "description": "Ann\u00e9e de r\u00e9f\u00e9rence administrative",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 240,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 12,
+ "required": false,
+ "importer_type": 15,
+ "description": "Num\u00e9ro de r\u00e9f\u00e9rence administrative de l'op\u00e9ration",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 241,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 13,
+ "required": false,
+ "importer_type": 15,
+ "description": "Ancienne ref type DRACAR",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 242,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 14,
+ "required": false,
+ "importer_type": 15,
+ "description": "Commentaires",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 243,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 15,
+ "required": false,
+ "importer_type": 15,
+ "description": "Date de rendu du rapport (du premier si il y en a plusieurs)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 244,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 16,
+ "required": false,
+ "importer_type": 15,
+ "description": "\u00c9tat de traitement des rapports",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 245,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 1,
+ "required": false,
+ "importer_type": 16,
+ "description": "Adresse du domicile",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 246,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 2,
+ "required": false,
+ "importer_type": 16,
+ "description": "Courriel",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 247,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 3,
+ "required": false,
+ "importer_type": 16,
+ "description": "Adresse",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 251,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 4,
+ "required": false,
+ "importer_type": 16,
+ "description": "Commentaire : #AFEAF",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 252,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 7,
+ "required": false,
+ "importer_type": 16,
+ "description": "Commentaire : #BSR_CONTRI",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 248,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 10,
+ "required": false,
+ "importer_type": 16,
+ "description": "Code postal domicie",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 249,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 11,
+ "required": false,
+ "importer_type": 16,
+ "description": "Code postal",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 250,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 17,
+ "required": false,
+ "importer_type": 16,
+ "description": "Quelle est l'adresse pr\u00e9f\u00e9r\u00e9e ? (pro/domicile)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 253,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 19,
+ "required": false,
+ "importer_type": 16,
+ "description": "Type de contact",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 254,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 28,
+ "required": false,
+ "importer_type": 16,
+ "description": "Nom",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 255,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 29,
+ "required": false,
+ "importer_type": 16,
+ "description": "Nom de la structure associ\u00e9e",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 256,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 31,
+ "required": false,
+ "importer_type": 16,
+ "description": "Commentaire",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 257,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 32,
+ "required": false,
+ "importer_type": 16,
+ "description": "T\u00e9l\u00e9phone champs brut",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 258,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 33,
+ "required": false,
+ "importer_type": 16,
+ "description": "Pays du domicile",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 259,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 34,
+ "required": false,
+ "importer_type": 16,
+ "description": "Pays",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 260,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 36,
+ "required": false,
+ "importer_type": 16,
+ "description": "Pr\u00e9nom",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 261,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 37,
+ "required": false,
+ "importer_type": 16,
+ "description": "Titre",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 262,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 41,
+ "required": false,
+ "importer_type": 16,
+ "description": "Type de t\u00e9l\u00e9phone (\u00e0 retraiter)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 263,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 42,
+ "required": false,
+ "importer_type": 16,
+ "description": "Ville du domicile",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 264,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 43,
+ "required": false,
+ "importer_type": 16,
+ "description": "Ville",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 265,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 1,
+ "required": true,
+ "importer_type": 17,
+ "description": "Code patriarche ou code num\u00e9rique (entier) unique pour une op\u00e9ration",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 266,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 2,
+ "required": true,
+ "importer_type": 17,
+ "description": "Nom usuel de l'op\u00e9ration",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 267,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 3,
+ "required": true,
+ "importer_type": 17,
+ "description": "Ann\u00e9e de r\u00e9f\u00e9rence (peut \u00eatre celle o\u00f9 le projet d'op\u00e9ration a \u00e9t\u00e9 cr\u00e9\u00e9 ou bien celle de la r\u00e9alisation selon votre usage) ",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 268,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 4,
+ "required": false,
+ "importer_type": 17,
+ "description": "Index (num\u00e9ro par ann\u00e9e), le couple ann\u00e9e + index doit \u00eatre unique",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 269,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 5,
+ "required": true,
+ "importer_type": 17,
+ "description": "Type d'op\u00e9ration (parmi une liste)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 270,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 7,
+ "required": false,
+ "importer_type": 17,
+ "description": "R\u00e9f\u00e9rence du dossier administratif associ\u00e9 \u00e0 l'op\u00e9ration sous la forme ANNEE-INDEX par exemple : \"2002-4\"",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 271,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 8,
+ "required": false,
+ "importer_type": 17,
+ "description": "Identifiants des sites (entit\u00e9s arch\u00e9ologiques) concern\u00e9es par l'op\u00e9ration, s\u00e9par\u00e9es par \u00ab\u00a0&\u00a0\u00bb. \r\nExemple : \"44 125 0028 & 44 125 0029\"",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 272,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 9,
+ "required": false,
+ "importer_type": 17,
+ "description": "Types de vestiges (s\u00e9par\u00e9s par un \u00ab\u00a0&\u00a0\u00bb)\r\nExemple : \"four & fosses & villa\"",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 273,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 10,
+ "required": false,
+ "importer_type": 17,
+ "description": "P\u00e9riodes concern\u00e9es (s\u00e9par\u00e9es par un \u00ab\u00a0&\u00a0\u00bb)\r\nExemple : \"Gallo-romain & Fer & Med\"",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 274,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 11,
+ "required": false,
+ "importer_type": 17,
+ "description": "Titre (M., Mme), du responsable d'op\u00e9ration (RO)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 275,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 12,
+ "required": false,
+ "importer_type": 17,
+ "description": "Pr\u00e9nom du Responsable scientifique (responsable d'op\u00e9ration)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 276,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 13,
+ "required": false,
+ "importer_type": 17,
+ "description": "Nom du Responsable scientifique (responsable d'op\u00e9ration)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 277,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 14,
+ "required": false,
+ "importer_type": 17,
+ "description": "Rattachement du Responsable scientifique (responsable d'op\u00e9ration)\r\nExemple : \"INRAP\" ou plus pr\u00e9cis \"INRAP Direction interr\u00e9gionale Grand Ouest\" selon votre degr\u00e9 de pr\u00e9cision dans la gestion des rattachements et des organisation.",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 278,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 15,
+ "required": false,
+ "importer_type": 17,
+ "description": "Nom de l'op\u00e9rateur (organisation)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 279,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 16,
+ "required": false,
+ "importer_type": 17,
+ "description": "R\u00e9f\u00e9rence de l'op\u00e9rateur (code ou autre r\u00e9f\u00e9rence interne de l'op\u00e9rateur)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 280,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 17,
+ "required": false,
+ "importer_type": 17,
+ "description": "Titre (M., Mme), du responsable du suivi scientifique",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 281,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 18,
+ "required": false,
+ "importer_type": 17,
+ "description": "Pr\u00e9nom du responsable du suivi scientifique (ex\u00a0: resp. SRA ou pilote de l'op\u00e9ration, mais non responsable de celle-ci)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 282,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 19,
+ "required": false,
+ "importer_type": 17,
+ "description": "Nom du responsable du suivi scientifique (ex : resp. SRA ou pilote de l'op\u00e9ration, mais non responsable de celle-ci)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 283,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 20,
+ "required": false,
+ "importer_type": 17,
+ "description": "Rattachement du resp. du suivi scientifique",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 284,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 21,
+ "required": false,
+ "importer_type": 17,
+ "description": "Surface couverte par l'op\u00e9ration (m2)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 285,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 22,
+ "required": false,
+ "importer_type": 17,
+ "description": "Date de d\u00e9but de l'op\u00e9ration (d\u00e9but du terrain d'ordinaire mais vous pouvez utiliser autre chose)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 286,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 23,
+ "required": false,
+ "importer_type": 17,
+ "description": "Date de fin de l'op\u00e9ration (fin du terrain d'ordinaire mais vous pouvez utiliser autre chose)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 287,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 24,
+ "required": false,
+ "importer_type": 17,
+ "description": "Date de cl\u00f4ture (peut-\u00eatre la date de rendu de la documentation, la fin de la recherche associ\u00e9e ou autre) d\u2019ordinaire cela repr\u00e9sente la date \u00e0 partir de laquelle la documentation issue de l'op\u00e9ration n'est plus du ressort du responsable d'op\u00e9ration, mais vous pouvez utiliser autre chose.",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 288,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 25,
+ "required": false,
+ "importer_type": 17,
+ "description": "Date d'avis (ex\u00a0: avis de CIRA ou autre selon votre usage)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 289,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 26,
+ "required": false,
+ "importer_type": 17,
+ "description": "R\u00e9sultats consid\u00e9r\u00e9s comme n\u00e9gatif (d\u2019ordinaire utilis\u00e9 pour les diagnostics n\u00e9gatifs)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 290,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 27,
+ "required": false,
+ "importer_type": 17,
+ "description": "Pr\u00e9nom du rapporteur (CIRA ou autre selon votre usage de la notion d'avis)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 291,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 28,
+ "required": false,
+ "importer_type": 17,
+ "description": "Nom du rapporteur (CIRA ou autre selon votre usage de la notion d'avis)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 292,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 29,
+ "required": false,
+ "importer_type": 17,
+ "description": "Rattachement rapporteur (organisation)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 293,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 30,
+ "required": false,
+ "importer_type": 17,
+ "description": "Date limite pr\u00e9vue pour le rendu de la documentation scientifique",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 294,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 31,
+ "required": false,
+ "importer_type": 17,
+ "description": "Documentation re\u00e7ue",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 295,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 32,
+ "required": false,
+ "importer_type": 17,
+ "description": "Date limite pr\u00e9vue pour le rendu du mobilier",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 296,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 33,
+ "required": false,
+ "importer_type": 17,
+ "description": "Mobilier re\u00e7u (ou livr\u00e9)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 297,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 34,
+ "required": false,
+ "importer_type": 17,
+ "description": "Commentaire g\u00e9n\u00e9ral",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 298,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 35,
+ "required": false,
+ "importer_type": 17,
+ "description": "Date de livraison du rapport",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 299,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 36,
+ "required": false,
+ "importer_type": 17,
+ "description": "\u00c9tat de traitement du rapport",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 300,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 37,
+ "required": false,
+ "importer_type": 17,
+ "description": "Commentaire sur la documentation scientifique (y compris mobilier)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
+ "pk": 301,
+ "model": "ishtar_common.importercolumn",
+ "fields": {
+ "col_number": 38,
+ "required": false,
+ "importer_type": 17,
+ "description": "Image (nom du fichier)",
+ "regexp_pre_filter": null
+ }
+ },
+ {
"pk": 46,
"model": "ishtar_common.importtarget",
"fields": {
@@ -864,34 +2826,6 @@
}
},
{
- "pk": 38,
- "model": "ishtar_common.importtarget",
- "fields": {
- "comment": "",
- "target": "label",
- "column": 37,
- "formater_type": 3,
- "concat_str": null,
- "regexp_filter": null,
- "concat": false,
- "force_new": false
- }
- },
- {
- "pk": 3,
- "model": "ishtar_common.importtarget",
- "fields": {
- "comment": null,
- "target": "common_name",
- "column": 3,
- "formater_type": 3,
- "concat_str": null,
- "regexp_filter": null,
- "concat": false,
- "force_new": false
- }
- },
- {
"pk": 4,
"model": "ishtar_common.importtarget",
"fields": {
@@ -1508,6 +3442,2218 @@
}
},
{
+ "pk": 290,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "code_patriarche",
+ "column": 265,
+ "formater_type": 1,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 293,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "operation_code",
+ "column": 268,
+ "formater_type": 1,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 296,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "periods",
+ "column": 273,
+ "formater_type": 6,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 299,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "scientist__surname",
+ "column": 275,
+ "formater_type": 3,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 302,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "operator__name",
+ "column": 278,
+ "formater_type": 36,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 305,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "in_charge__surname",
+ "column": 281,
+ "formater_type": 31,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 308,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "surface",
+ "column": 284,
+ "formater_type": 1,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 311,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "end_date",
+ "column": 287,
+ "formater_type": 25,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 314,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "cira_rapporteur__surname",
+ "column": 290,
+ "formater_type": 36,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 317,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "documentation_deadline",
+ "column": 293,
+ "formater_type": 25,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 320,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "finds_received",
+ "column": 296,
+ "formater_type": 19,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 323,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "report_processing",
+ "column": 299,
+ "formater_type": 37,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 38,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "label",
+ "column": 37,
+ "formater_type": 3,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 3,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "common_name",
+ "column": 3,
+ "formater_type": 3,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 291,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "common_name",
+ "column": 266,
+ "formater_type": 35,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 294,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "operation_type",
+ "column": 269,
+ "formater_type": 2,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 300,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "scientist__name",
+ "column": 276,
+ "formater_type": 30,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 297,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "archaeological_sites__reference",
+ "column": 271,
+ "formater_type": 40,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 303,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "operator_reference",
+ "column": 279,
+ "formater_type": 3,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 306,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "in_charge__name",
+ "column": 282,
+ "formater_type": 3,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 309,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "start_date",
+ "column": 285,
+ "formater_type": 25,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 312,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "cira_date",
+ "column": 288,
+ "formater_type": 25,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 315,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "cira_rapporteur__name",
+ "column": 291,
+ "formater_type": 3,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 318,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "documentation_received",
+ "column": 294,
+ "formater_type": 19,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 321,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "comment",
+ "column": 297,
+ "formater_type": 35,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 324,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "scientific_documentation_comment",
+ "column": 300,
+ "formater_type": 35,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 61,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "scientist__surname",
+ "column": 58,
+ "formater_type": 4,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 70,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "parcel__external_id",
+ "column": 67,
+ "formater_type": 11,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 71,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "comment",
+ "column": 68,
+ "formater_type": 16,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 72,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "context_record__operation__code_patriarche",
+ "column": 69,
+ "formater_type": 1,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 75,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "context_record__external_id",
+ "column": 72,
+ "formater_type": 3,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 73,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "external_id",
+ "column": 70,
+ "formater_type": 3,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 76,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "find__conservatory_state",
+ "column": 73,
+ "formater_type": 22,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 77,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "find__material_types",
+ "column": 74,
+ "formater_type": 20,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 254,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "find__label",
+ "column": 229,
+ "formater_type": 3,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 255,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "code_patriarche",
+ "column": 230,
+ "formater_type": 1,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 257,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "common_name",
+ "column": 232,
+ "formater_type": 35,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 259,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "scientist__raw_name",
+ "column": 234,
+ "formater_type": 30,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 78,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "find__is_complete",
+ "column": 75,
+ "formater_type": 19,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 261,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "start_date",
+ "column": 236,
+ "formater_type": 5,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 263,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "periods",
+ "column": 238,
+ "formater_type": 6,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 265,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "operation_code",
+ "column": 240,
+ "formater_type": 1,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 58,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "operation_type",
+ "column": 55,
+ "formater_type": 2,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 59,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "common_name",
+ "column": 56,
+ "formater_type": 3,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 60,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "scientist__raw_name",
+ "column": 57,
+ "formater_type": 4,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 62,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "periods",
+ "column": 59,
+ "formater_type": 6,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 64,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "excavation_end_date",
+ "column": 61,
+ "formater_type": 25,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 65,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "comment",
+ "column": 62,
+ "formater_type": 4,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 66,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "code_patriarche",
+ "column": 63,
+ "formater_type": 1,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 67,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "surface",
+ "column": 64,
+ "formater_type": 1,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 63,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "start_date",
+ "column": 60,
+ "formater_type": 25,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 82,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "find__find_number",
+ "column": 79,
+ "formater_type": 1,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 85,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "find__object_types",
+ "column": 82,
+ "formater_type": 26,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 79,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "is_isolated",
+ "column": 76,
+ "formater_type": 19,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 80,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "comment",
+ "column": 77,
+ "formater_type": 16,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 84,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "find__length",
+ "column": 81,
+ "formater_type": 1,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 86,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "operation__code_patriarche",
+ "column": 83,
+ "formater_type": 1,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 87,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "town__numero_insee",
+ "column": 84,
+ "formater_type": 11,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 88,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "section",
+ "column": 85,
+ "formater_type": 7,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 89,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "parcel_number",
+ "column": 86,
+ "formater_type": 8,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 69,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "label",
+ "column": 66,
+ "formater_type": 3,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 68,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "operation__code_patriarche",
+ "column": 65,
+ "formater_type": 1,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 90,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "context_record__operation__code_patriarche",
+ "column": 87,
+ "formater_type": 1,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 92,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "context_record__external_id",
+ "column": 89,
+ "formater_type": 3,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 269,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "report_processing",
+ "column": 244,
+ "formater_type": 37,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 267,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "comment",
+ "column": 242,
+ "formater_type": 35,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 93,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "find__material_types",
+ "column": 90,
+ "formater_type": 20,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 91,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "find__previous_id",
+ "column": 88,
+ "formater_type": 3,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 94,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "find__conservatory_state",
+ "column": 91,
+ "formater_type": 22,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 95,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "comment",
+ "column": 92,
+ "formater_type": 16,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 96,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "find__label",
+ "column": 93,
+ "formater_type": 3,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 97,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "identification",
+ "column": 94,
+ "formater_type": 24,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 98,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "description",
+ "column": 95,
+ "formater_type": 16,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 99,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": null,
+ "target": "datings__period",
+ "column": 96,
+ "formater_type": 6,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": true
+ }
+ },
+ {
+ "pk": 83,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "find__weight",
+ "column": 80,
+ "formater_type": 21,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 132,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "find__previous_id",
+ "column": 122,
+ "formater_type": 3,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 134,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "find__description",
+ "column": 124,
+ "formater_type": 16,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 135,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "find__width",
+ "column": 125,
+ "formater_type": 21,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 136,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "find__height",
+ "column": 126,
+ "formater_type": 21,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 137,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "find__diameter",
+ "column": 127,
+ "formater_type": 21,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 138,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "find__dating_comment",
+ "column": 128,
+ "formater_type": 16,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 81,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "find__datings__period",
+ "column": 78,
+ "formater_type": 6,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": true
+ }
+ },
+ {
+ "pk": 256,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "operation_type",
+ "column": 231,
+ "formater_type": 2,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 258,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "operator__name",
+ "column": 233,
+ "formater_type": 3,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 260,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "scientist__surname",
+ "column": 235,
+ "formater_type": 4,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 262,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "excavation_end_date",
+ "column": 237,
+ "formater_type": 5,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 264,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "year",
+ "column": 239,
+ "formater_type": 1,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 266,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "code_dracar",
+ "column": 241,
+ "formater_type": 16,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 268,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "report_delivery_date",
+ "column": 243,
+ "formater_type": 5,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 212,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Am\u00e9nageur - adresse",
+ "target": "general_contractor__attached_to__address",
+ "column": 192,
+ "formater_type": 10,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 213,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Am\u00e9nageur - adresse",
+ "target": "general_contractor__attached_to__postal_code",
+ "column": 192,
+ "formater_type": 28,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 214,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Am\u00e9nageur - adresse",
+ "target": "general_contractor__attached_to__town",
+ "column": 192,
+ "formater_type": 31,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 215,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Am\u00e9nageur - nom brut",
+ "target": "general_contractor__raw_name",
+ "column": 193,
+ "formater_type": 30,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 216,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Am\u00e9nageur - titre",
+ "target": "general_contractor__title",
+ "column": 194,
+ "formater_type": 29,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 217,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "parcels__year",
+ "column": 195,
+ "formater_type": 29,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 218,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "",
+ "column": 196,
+ "formater_type": 29,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 219,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Commune (si non d\u00e9finie avant)",
+ "target": "['main_town', 'parcels__town']",
+ "column": 197,
+ "formater_type": 29,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 220,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Commune (si non d\u00e9finie avant)",
+ "target": "['main_town', 'parcels__town']",
+ "column": 198,
+ "formater_type": 29,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 221,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Type de saisine",
+ "target": "saisine_type",
+ "column": 199,
+ "formater_type": 32,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 222,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Nom du dossier",
+ "target": "name",
+ "column": 200,
+ "formater_type": 35,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 223,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Service instructeur - adresse",
+ "target": "responsible_town_planning_service__raw_name",
+ "column": 201,
+ "formater_type": 4,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 224,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Service instructeur - adresse",
+ "target": "responsible_town_planning_service__attached_to__address",
+ "column": 201,
+ "formater_type": 4,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 225,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Service instructeur - adresse",
+ "target": "responsible_town_planning_service__attached_to__postal_code",
+ "column": 201,
+ "formater_type": 28,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 226,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Service instructeur - adresse",
+ "target": "responsible_town_planning_service__attached_to__town",
+ "column": 201,
+ "formater_type": 31,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 227,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Commentaire",
+ "target": "comment",
+ "column": 202,
+ "formater_type": 35,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 228,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Date de r\u00e9ception",
+ "target": "reception_date",
+ "column": 203,
+ "formater_type": 25,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 229,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Date de cr\u00e9ation",
+ "target": "creation_date",
+ "column": 204,
+ "formater_type": 25,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 230,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Commentaire",
+ "target": "comment",
+ "column": 205,
+ "formater_type": 35,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 231,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Autre r\u00e9f\u00e9rence",
+ "target": "internal_reference",
+ "column": 206,
+ "formater_type": 36,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 232,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Justificatif de prescription",
+ "target": "comment",
+ "column": 207,
+ "formater_type": 35,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 233,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Justificatif d'intervention",
+ "target": "comment",
+ "column": 208,
+ "formater_type": 35,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 234,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "M\u00e9thodologie de l'op\u00e9ration",
+ "target": "comment",
+ "column": 209,
+ "formater_type": 35,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 235,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "R\u00e9f. du permis de construire",
+ "target": "permit_reference",
+ "column": 210,
+ "formater_type": 4,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 236,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "R\u00e9f\u00e9rence de dossier am\u00e9nageur",
+ "target": "comment",
+ "column": 211,
+ "formater_type": 35,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 237,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Num\u00e9ro d'arr\u00eat\u00e9 pr\u00e9fectoral",
+ "target": "comment",
+ "column": 212,
+ "formater_type": 35,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 238,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Num\u00e9ro d'arr\u00eat\u00e9 SRA",
+ "target": "comment",
+ "column": 213,
+ "formater_type": 35,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 239,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Num\u00e9ro d'arr\u00eat\u00e9 de post-diagnostic",
+ "target": "comment",
+ "column": 214,
+ "formater_type": 35,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 240,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Commune (si non d\u00e9finie avant)",
+ "target": "['main_town', 'parcels__town']",
+ "column": 215,
+ "formater_type": 29,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 241,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Commentaire",
+ "target": "comment",
+ "column": 216,
+ "formater_type": 33,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 242,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Service instructeur - nom",
+ "target": "responsible_town_planning_service__attached_to__name",
+ "column": 217,
+ "formater_type": 4,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 243,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Responsable - nom brut",
+ "target": "in_charge__raw_name",
+ "column": 218,
+ "formater_type": 30,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 244,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Surface totale",
+ "target": "total_surface",
+ "column": 219,
+ "formater_type": 29,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 245,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Surface totale am\u00e9nag\u00e9e",
+ "target": "total_developed_surface",
+ "column": 220,
+ "formater_type": 29,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 246,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Type de permis",
+ "target": "permit_type",
+ "column": 221,
+ "formater_type": 34,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 247,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Ann\u00e9e du dossier",
+ "target": "year",
+ "column": 222,
+ "formater_type": 1,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 248,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Identifiant num\u00e9rique",
+ "target": "numeric_reference",
+ "column": 223,
+ "formater_type": 1,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 249,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "Identifiant externe",
+ "target": "external_id",
+ "column": 224,
+ "formater_type": 35,
+ "concat_str": null,
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 270,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "alt_address",
+ "column": 245,
+ "formater_type": 35,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 272,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "address",
+ "column": 247,
+ "formater_type": 35,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 273,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "alt_postal_code",
+ "column": 248,
+ "formater_type": 38,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 274,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "postal_code",
+ "column": 249,
+ "formater_type": 38,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 275,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "alt_address_is_prefered",
+ "column": 250,
+ "formater_type": 19,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 276,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "comment",
+ "column": 251,
+ "formater_type": 35,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": true,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 277,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "comment",
+ "column": 252,
+ "formater_type": 35,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": true,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 278,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "contact_type",
+ "column": 253,
+ "formater_type": 35,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 279,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "name",
+ "column": 254,
+ "formater_type": 30,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 281,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "comment",
+ "column": 256,
+ "formater_type": 35,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 282,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "raw_phone",
+ "column": 257,
+ "formater_type": 35,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 283,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "alt_country",
+ "column": 258,
+ "formater_type": 17,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 284,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "country",
+ "column": 259,
+ "formater_type": 17,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 285,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "surname",
+ "column": 260,
+ "formater_type": 39,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 286,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "title",
+ "column": 261,
+ "formater_type": 31,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 288,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "alt_town",
+ "column": 263,
+ "formater_type": 31,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 289,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "town",
+ "column": 264,
+ "formater_type": 31,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 287,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "phone_desc",
+ "column": 262,
+ "formater_type": 4,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 271,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "email",
+ "column": 246,
+ "formater_type": 4,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 280,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "attached_to__name",
+ "column": 255,
+ "formater_type": 10,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 292,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "year",
+ "column": 267,
+ "formater_type": 1,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 295,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "associated_file__external_id",
+ "column": 270,
+ "formater_type": 35,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 298,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "scientist__title",
+ "column": 274,
+ "formater_type": 11,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 301,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "scientist__organization__name",
+ "column": 277,
+ "formater_type": 30,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 304,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "in_charge__title",
+ "column": 280,
+ "formater_type": 11,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 307,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "in_charge__organization__name",
+ "column": 283,
+ "formater_type": 3,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 310,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "excavation_end_date",
+ "column": 286,
+ "formater_type": 25,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 313,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "negative_result",
+ "column": 289,
+ "formater_type": 19,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 316,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "cira_rapporteur__organization__name",
+ "column": 292,
+ "formater_type": 3,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 319,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "finds_deadline",
+ "column": 295,
+ "formater_type": 25,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 322,
+ "model": "ishtar_common.importtarget",
+ "fields": {
+ "comment": "",
+ "target": "report_delivery_date",
+ "column": 298,
+ "formater_type": 25,
+ "concat_str": "",
+ "regexp_filter": null,
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
"pk": 25,
"model": "ishtar_common.formatertype",
"fields": {
@@ -1634,6 +5780,15 @@
}
},
{
+ "pk": 40,
+ "model": "ishtar_common.formatertype",
+ "fields": {
+ "formater_type": "TypeFormater",
+ "many_split": "&",
+ "options": "archaeological_operations.models.archaeological_sites"
+ }
+ },
+ {
"pk": 2,
"model": "ishtar_common.formatertype",
"fields": {
@@ -1652,6 +5807,15 @@
}
},
{
+ "pk": 37,
+ "model": "ishtar_common.formatertype",
+ "fields": {
+ "formater_type": "TypeFormater",
+ "many_split": "",
+ "options": "archaeological_operations.models.ReportState"
+ }
+ },
+ {
"pk": 15,
"model": "ishtar_common.formatertype",
"fields": {
@@ -1688,6 +5852,15 @@
}
},
{
+ "pk": 38,
+ "model": "ishtar_common.formatertype",
+ "fields": {
+ "formater_type": "UnicodeFormater",
+ "many_split": "",
+ "options": "10"
+ }
+ },
+ {
"pk": 16,
"model": "ishtar_common.formatertype",
"fields": {
@@ -1769,6 +5942,15 @@
}
},
{
+ "pk": 39,
+ "model": "ishtar_common.formatertype",
+ "fields": {
+ "formater_type": "UnicodeFormater",
+ "many_split": "",
+ "options": "50"
+ }
+ },
+ {
"pk": 10,
"model": "ishtar_common.formatertype",
"fields": {
@@ -1823,6 +6005,105 @@
}
},
{
+ "pk": 7,
+ "model": "ishtar_common.importerduplicatefield",
+ "fields": {
+ "column": 57,
+ "concat_str": null,
+ "field_name": "scientist__name",
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 8,
+ "model": "ishtar_common.importerduplicatefield",
+ "fields": {
+ "column": 58,
+ "concat_str": null,
+ "field_name": "scientist__surname",
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 10,
+ "model": "ishtar_common.importerduplicatefield",
+ "fields": {
+ "column": 70,
+ "concat_str": null,
+ "field_name": "find__external_id",
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 11,
+ "model": "ishtar_common.importerduplicatefield",
+ "fields": {
+ "column": 76,
+ "concat_str": null,
+ "field_name": "",
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 12,
+ "model": "ishtar_common.importerduplicatefield",
+ "fields": {
+ "column": 70,
+ "concat_str": null,
+ "field_name": "label",
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 13,
+ "model": "ishtar_common.importerduplicatefield",
+ "fields": {
+ "column": 70,
+ "concat_str": null,
+ "field_name": "find__label",
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 9,
+ "model": "ishtar_common.importerduplicatefield",
+ "fields": {
+ "column": 66,
+ "concat_str": null,
+ "field_name": "external_id",
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 14,
+ "model": "ishtar_common.importerduplicatefield",
+ "fields": {
+ "column": 77,
+ "concat_str": null,
+ "field_name": "find__comment",
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
+ "pk": 30,
+ "model": "ishtar_common.importerduplicatefield",
+ "fields": {
+ "column": 234,
+ "concat_str": "",
+ "field_name": "scientist__name",
+ "concat": false,
+ "force_new": false
+ }
+ },
+ {
"pk": 5,
"model": "ishtar_common.importerduplicatefield",
"fields": {
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py
index 77e9c8972..c15999721 100644
--- a/ishtar_common/forms_common.py
+++ b/ishtar_common/forms_common.py
@@ -803,7 +803,7 @@ class SourceForm(ManageOldType, forms.Form):
u"(ratio is preserved).</p>") % {
'width': settings.IMAGE_MAX_SIZE[0],
'height': settings.IMAGE_MAX_SIZE[1]}),
- required=False, widget=widgets.ImageFileInput())
+ max_length=255, required=False, widget=widgets.ImageFileInput())
def __init__(self, *args, **kwargs):
super(SourceForm, self).__init__(*args, **kwargs)
diff --git a/ishtar_common/locale/django.pot b/ishtar_common/locale/django.pot
index 4759a7e47..5110bca31 100644
--- a/ishtar_common/locale/django.pot
+++ b/ishtar_common/locale/django.pot
@@ -155,12 +155,12 @@ msgstr ""
msgid "Add a new item"
msgstr ""
-#: forms.py:245 models.py:1307
+#: forms.py:245 models.py:1310
msgid "Template"
msgstr ""
#: forms_common.py:41 forms_common.py:59 forms_common.py:182
-#: forms_common.py:406 models.py:1373 models.py:2722
+#: forms_common.py:406 models.py:1376 models.py:2758
#: 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.</p>"
msgstr ""
-#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1543
-#: models.py:2361 models.py:2530 models.py:2592
+#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1546
+#: models.py:2384 models.py:2566 models.py:2628
#: 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:1544 models.py:2262
+#: ishtar_menu.py:75 models.py:1547 models.py:2273
#: 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:974 models.py:1306
-#: models.py:1589 models.py:1807 models.py:2256 models.py:2347 models.py:2708
+#: forms_common.py:376 forms_common.py:446 models.py:977 models.py:1309
+#: models.py:1592 models.py:1810 models.py:2267 models.py:2370 models.py:2744
#: templates/ishtar/sheet_organization.html:8
#: templates/ishtar/sheet_organization.html:21
msgid "Name"
msgstr ""
-#: forms_common.py:174 models.py:1528 models.py:1938
+#: forms_common.py:174 models.py:1531 models.py:1941
msgid "Organization type"
msgstr ""
-#: forms_common.py:176 forms_common.py:400 models.py:1368
+#: forms_common.py:176 forms_common.py:400 models.py:1371
#: templates/ishtar/sheet_organization.html:10
msgid "Address"
msgstr ""
-#: forms_common.py:178 forms_common.py:403 models.py:1369
+#: forms_common.py:178 forms_common.py:403 models.py:1372
#: templates/ishtar/sheet_organization.html:11
msgid "Address complement"
msgstr ""
-#: forms_common.py:180 forms_common.py:404 models.py:1371
+#: forms_common.py:180 forms_common.py:404 models.py:1374
#: templates/ishtar/sheet_organization.html:12
msgid "Postal code"
msgstr ""
-#: forms_common.py:183 forms_common.py:407 models.py:1374
+#: forms_common.py:183 forms_common.py:407 models.py:1377
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:1401
+#: forms_common.py:448 forms_common.py:572 models.py:1404
msgid "Email"
msgstr ""
-#: forms_common.py:186 forms_common.py:383 models.py:1386
+#: forms_common.py:186 forms_common.py:383 models.py:1389
#: 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:1398
+#: forms_common.py:187 forms_common.py:392 models.py:1401
#: 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:1966
-#: models.py:2258 models.py:2643 templates/sheet_ope.html:85
+#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:1969
+#: models.py:2269 models.py:2679 templates/sheet_ope.html:85
#: 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:2345
+#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2368
#: 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:1939
-#: models.py:2339 models.py:2341 models.py:2640 templates/sheet_ope.html:104
+#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1942
+#: models.py:2362 models.py:2364 models.py:2676 templates/sheet_ope.html:104
#: templates/ishtar/blocks/window_tables/documents.html:7
msgid "Title"
msgstr ""
-#: forms_common.py:372 models.py:2343
+#: forms_common.py:372 models.py:2366
msgid "Salutation"
msgstr ""
-#: forms_common.py:378 models.py:2349
+#: forms_common.py:378 models.py:2372
msgid "Raw name"
msgstr ""
-#: forms_common.py:381 models.py:1387
+#: forms_common.py:381 models.py:1390
msgid "Phone description"
msgstr ""
-#: forms_common.py:384 models.py:1389 models.py:1391
+#: forms_common.py:384 models.py:1392 models.py:1394
msgid "Phone description 2"
msgstr ""
@@ -313,11 +313,11 @@ msgstr ""
msgid "Phone 2"
msgstr ""
-#: forms_common.py:388 models.py:1395
+#: forms_common.py:388 models.py:1398
msgid "Phone description 3"
msgstr ""
-#: forms_common.py:390 models.py:1393
+#: forms_common.py:390 models.py:1396
msgid "Phone 3"
msgstr ""
@@ -325,23 +325,23 @@ msgstr ""
msgid "Current organization"
msgstr ""
-#: forms_common.py:409 models.py:1376
+#: forms_common.py:409 models.py:1379
msgid "Other address: address"
msgstr ""
-#: forms_common.py:412 models.py:1379
+#: forms_common.py:412 models.py:1382
msgid "Other address: address complement"
msgstr ""
-#: forms_common.py:414 models.py:1380
+#: forms_common.py:414 models.py:1383
msgid "Other address: postal code"
msgstr ""
-#: forms_common.py:416 models.py:1382
+#: forms_common.py:416 models.py:1385
msgid "Other address: town"
msgstr ""
-#: forms_common.py:418 models.py:1384
+#: forms_common.py:418 models.py:1387
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:2310
+#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2321
msgid "Person type"
msgstr ""
@@ -389,7 +389,7 @@ msgstr ""
msgid "Send the new password by email?"
msgstr ""
-#: forms_common.py:628 forms_common.py:641 models.py:2723
+#: forms_common.py:628 forms_common.py:641 models.py:2759
msgid "Towns"
msgstr ""
@@ -405,7 +405,7 @@ msgstr ""
msgid "Documentation informations"
msgstr ""
-#: forms_common.py:775 forms_common.py:823 models.py:1940 models.py:2617
+#: forms_common.py:775 forms_common.py:823 models.py:1943 models.py:2653
msgid "Source type"
msgstr ""
@@ -417,37 +417,37 @@ msgstr ""
msgid "Internal reference"
msgstr ""
-#: forms_common.py:783 models.py:2654
+#: forms_common.py:783 models.py:2690
msgid "Numerical ressource (web address)"
msgstr ""
-#: forms_common.py:784 models.py:2656
+#: forms_common.py:784 models.py:2692
msgid "Receipt date"
msgstr ""
-#: forms_common.py:786 models.py:2093 models.py:2658
+#: forms_common.py:786 models.py:2096 models.py:2694
msgid "Creation date"
msgstr ""
-#: forms_common.py:789 models.py:2661
+#: forms_common.py:789 models.py:2697
msgid "Receipt date in documentation"
msgstr ""
#: forms_common.py:791 forms_common.py:827 models.py:317 models.py:577
-#: models.py:1834 models.py:2353 models.py:2668
+#: models.py:1837 models.py:2376 models.py:2704
msgid "Comment"
msgstr ""
-#: forms_common.py:793 forms_common.py:826 models.py:976 models.py:1593
-#: models.py:1766 models.py:1808 models.py:2667 templates/sheet_ope.html:128
+#: forms_common.py:793 forms_common.py:826 models.py:979 models.py:1596
+#: models.py:1769 models.py:1811 models.py:2703 templates/sheet_ope.html:128
msgid "Description"
msgstr ""
-#: forms_common.py:796 models.py:2669
+#: forms_common.py:796 models.py:2705
msgid "Additional information"
msgstr ""
-#: forms_common.py:798 forms_common.py:830 models.py:2671
+#: forms_common.py:798 forms_common.py:830 models.py:2707
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:2597
+#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2633
#: 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:1941 models.py:2585 models.py:2594
+#: forms_common.py:856 models.py:1944 models.py:2621 models.py:2630
msgid "Author type"
msgstr ""
@@ -487,7 +487,7 @@ msgstr ""
msgid "There are identical authors."
msgstr ""
-#: forms_common.py:893 models.py:2598 models.py:2650
+#: forms_common.py:893 models.py:2634 models.py:2686
#: 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:1102 views.py:1450
+#: ishtar_menu.py:39 models.py:1105 views.py:1484
msgid "Global variables"
msgstr ""
@@ -533,20 +533,20 @@ msgstr ""
msgid "Manual merge"
msgstr ""
-#: ishtar_menu.py:70 ishtar_menu.py:101 models.py:2130 widgets.py:110
+#: ishtar_menu.py:70 ishtar_menu.py:101 models.py:2133 widgets.py:110
#: templates/ishtar/form_delete.html:11
msgid "Delete"
msgstr ""
-#: ishtar_menu.py:109 models.py:2104
+#: ishtar_menu.py:109 models.py:2107
msgid "Imports"
msgstr ""
-#: ishtar_menu.py:112 views.py:1458
+#: ishtar_menu.py:112 views.py:1492
msgid "New import"
msgstr ""
-#: ishtar_menu.py:116 views.py:1472
+#: ishtar_menu.py:116 views.py:1506
msgid "Current imports"
msgstr ""
@@ -566,7 +566,7 @@ msgstr ""
msgid "This item already exists."
msgstr ""
-#: models.py:313 models.py:576 models.py:1341 models.py:1353
+#: models.py:313 models.py:576 models.py:1344 models.py:1356
msgid "Label"
msgstr ""
@@ -574,11 +574,11 @@ msgstr ""
msgid "Textual ID"
msgstr ""
-#: models.py:318 models.py:579 models.py:1310
+#: models.py:318 models.py:579 models.py:1313
msgid "Available"
msgstr ""
-#: models.py:598 models.py:1880
+#: models.py:598 models.py:1883
msgid "Key"
msgstr ""
@@ -586,180 +586,180 @@ msgstr ""
msgid "Specific key to an import"
msgstr ""
-#: models.py:695
+#: models.py:696
msgid "Last editor"
msgstr ""
-#: models.py:698
+#: models.py:699
msgid "Creator"
msgstr ""
-#: models.py:838 models.py:2734
+#: models.py:841 models.py:2770
msgid "Order"
msgstr ""
-#: models.py:839
+#: models.py:842
msgid "Symmetrical"
msgstr ""
-#: models.py:840
+#: models.py:843
msgid "Tiny label"
msgstr ""
-#: models.py:854
+#: models.py:857
msgid "Cannot have symmetrical and an inverse_relation"
msgstr ""
-#: models.py:968
+#: models.py:971
msgid "Euro"
msgstr ""
-#: models.py:969
+#: models.py:972
msgid "US dollar"
msgstr ""
-#: models.py:975 models.py:1591
+#: models.py:978 models.py:1594
msgid "Slug"
msgstr ""
-#: models.py:977
+#: models.py:980
msgid "Files module"
msgstr ""
-#: models.py:978
+#: models.py:981
msgid "Context records module"
msgstr ""
-#: models.py:980
+#: models.py:983
msgid "Finds module"
msgstr ""
-#: models.py:981
+#: models.py:984
msgid "Need context records module"
msgstr ""
-#: models.py:983
+#: models.py:986
msgid "Warehouses module"
msgstr ""
-#: models.py:984
+#: models.py:987
msgid "Need finds module"
msgstr ""
-#: models.py:986
+#: models.py:989
msgid "Home page"
msgstr ""
-#: models.py:987
+#: models.py:990
#, 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:991
+#: models.py:994
msgid "File external id"
msgstr ""
-#: models.py:993
+#: models.py:996
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:998
+#: models.py:1001
msgid "Parcel external id"
msgstr ""
-#: models.py:1001
+#: models.py:1004
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:1006
+#: models.py:1009
msgid "Context record external id"
msgstr ""
-#: models.py:1008
+#: models.py:1011
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:1013
+#: models.py:1016
msgid "Base find external id"
msgstr ""
-#: models.py:1015
+#: models.py:1018
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:1020
+#: models.py:1023
msgid "Find external id"
msgstr ""
-#: models.py:1022
+#: models.py:1025
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:1027
+#: models.py:1030
msgid "Raw name for person"
msgstr ""
-#: models.py:1029
+#: models.py:1032
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:1033
+#: models.py:1036
msgid "Current active"
msgstr ""
-#: models.py:1034
+#: models.py:1037
msgid "Currency"
msgstr ""
-#: models.py:1038
+#: models.py:1041
msgid "Ishtar site profile"
msgstr ""
-#: models.py:1039
+#: models.py:1042
msgid "Ishtar site profiles"
msgstr ""
-#: models.py:1095
+#: models.py:1098
msgid "Variable name"
msgstr ""
-#: models.py:1096
+#: models.py:1099
msgid "Description of the variable"
msgstr ""
-#: models.py:1098 models.py:1881
+#: models.py:1101 models.py:1884
msgid "Value"
msgstr ""
-#: models.py:1101
+#: models.py:1104
msgid "Global variable"
msgstr ""
-#: models.py:1211 models.py:1241
+#: models.py:1214 models.py:1244
msgid "Total"
msgstr ""
-#: models.py:1218 models.py:1342 models.py:1354
+#: models.py:1221 models.py:1345 models.py:1357
#: templates/ishtar/sheet_person.html:22
#: templates/ishtar/dashboards/dashboard_main_detail.html:141
#: templates/ishtar/dashboards/dashboard_main_detail_users.html:26
@@ -767,605 +767,605 @@ msgstr ""
msgid "Number"
msgstr ""
-#: models.py:1305
+#: models.py:1308
msgid "Administrative Act"
msgstr ""
-#: models.py:1309
+#: models.py:1312
msgid "Associated object"
msgstr ""
-#: models.py:1313
+#: models.py:1316
msgid "Document template"
msgstr ""
-#: models.py:1314
+#: models.py:1317
msgid "Document templates"
msgstr ""
-#: models.py:1345 models.py:1355 models.py:2088
+#: models.py:1348 models.py:1358 models.py:2091
msgid "State"
msgstr ""
-#: models.py:1359 templates/blocks/JQueryAdvancedTown.html:12
+#: models.py:1362 templates/blocks/JQueryAdvancedTown.html:12
msgid "Department"
msgstr ""
-#: models.py:1360
+#: models.py:1363
msgid "Departments"
msgstr ""
-#: models.py:1397
+#: models.py:1400
msgid "Raw phone"
msgstr ""
-#: models.py:1403
+#: models.py:1406
msgid "Alternative address is prefered"
msgstr ""
-#: models.py:1442
+#: models.py:1445
msgid "Tel: "
msgstr ""
-#: models.py:1446
+#: models.py:1449
msgid "Mobile: "
msgstr ""
-#: models.py:1450
+#: models.py:1453
msgid "Email: "
msgstr ""
-#: models.py:1455
+#: models.py:1458
msgid "Merge key"
msgstr ""
-#: models.py:1529
+#: models.py:1532
msgid "Organization types"
msgstr ""
-#: models.py:1545 views.py:234
+#: models.py:1548 views.py:234
msgid "Operation"
msgstr ""
-#: models.py:1547
+#: models.py:1550
msgid "Archaeological site"
msgstr ""
-#: models.py:1548
+#: models.py:1551
msgid "Parcels"
msgstr ""
-#: models.py:1550
+#: models.py:1553
msgid "Operation source"
msgstr ""
-#: models.py:1553 views.py:1265 views.py:1316
+#: models.py:1556 views.py:1299 views.py:1350
msgid "Archaeological files"
msgstr ""
-#: models.py:1555 views.py:1268 views.py:1324
+#: models.py:1558 views.py:1302 views.py:1358
msgid "Context records"
msgstr ""
-#: models.py:1557
+#: models.py:1560
msgid "Context record relations"
msgstr ""
-#: models.py:1559 views.py:1270 views.py:1327
+#: models.py:1562 views.py:1304 views.py:1361
msgid "Finds"
msgstr ""
-#: models.py:1595 templates/ishtar/dashboards/dashboard_main.html:25
+#: models.py:1598 templates/ishtar/dashboards/dashboard_main.html:25
msgid "Users"
msgstr ""
-#: models.py:1597
+#: models.py:1600
msgid "Associated model"
msgstr ""
-#: models.py:1600
+#: models.py:1603
msgid "Is template"
msgstr ""
-#: models.py:1601
+#: models.py:1604
msgid "Unicity keys (separator \";\")"
msgstr ""
-#: models.py:1605
+#: models.py:1608
msgid "Importer - Type"
msgstr ""
-#: models.py:1606
+#: models.py:1609
msgid "Importer - Types"
msgstr ""
-#: models.py:1696
+#: models.py:1699
msgid "Importer - Default"
msgstr ""
-#: models.py:1697
+#: models.py:1700
msgid "Importer - Defaults"
msgstr ""
-#: models.py:1732
+#: models.py:1735
msgid "Importer - Default value"
msgstr ""
-#: models.py:1733
+#: models.py:1736
msgid "Importer - Default values"
msgstr ""
-#: models.py:1765
+#: models.py:1768
msgid "Column number"
msgstr ""
-#: models.py:1768
+#: models.py:1771
msgid "Required"
msgstr ""
-#: models.py:1771
+#: models.py:1774
msgid "Importer - Column"
msgstr ""
-#: models.py:1772
+#: models.py:1775
msgid "Importer - Columns"
msgstr ""
-#: models.py:1792
+#: models.py:1795
msgid "Field name"
msgstr ""
-#: models.py:1794 models.py:1828
+#: models.py:1797 models.py:1831
msgid "Force creation of new items"
msgstr ""
-#: models.py:1796 models.py:1830
+#: models.py:1799 models.py:1833
msgid "Concatenate with existing"
msgstr ""
-#: models.py:1798 models.py:1832
+#: models.py:1801 models.py:1835
msgid "Concatenate character"
msgstr ""
-#: models.py:1802
+#: models.py:1805
msgid "Importer - Duplicate field"
msgstr ""
-#: models.py:1803
+#: models.py:1806
msgid "Importer - Duplicate fields"
msgstr ""
-#: models.py:1810
+#: models.py:1813
msgid "Regular expression"
msgstr ""
-#: models.py:1813
+#: models.py:1816
msgid "Importer - Regular expression"
msgstr ""
-#: models.py:1814
+#: models.py:1817
msgid "Importer - Regular expressions"
msgstr ""
-#: models.py:1837
+#: models.py:1840
msgid "Importer - Target"
msgstr ""
-#: models.py:1838
+#: models.py:1841
msgid "Importer - Targets"
msgstr ""
-#: models.py:1862 views.py:518
+#: models.py:1865 views.py:518
msgid "True"
msgstr ""
-#: models.py:1863 views.py:520
+#: models.py:1866 views.py:520
msgid "False"
msgstr ""
-#: models.py:1882
+#: models.py:1885
msgid "Is set"
msgstr ""
-#: models.py:1889
+#: models.py:1892
msgid "Importer - Target key"
msgstr ""
-#: models.py:1890
+#: models.py:1893
msgid "Importer - Targets keys"
msgstr ""
-#: models.py:1942 models.py:2633 models.py:2646
+#: models.py:1945 models.py:2669 models.py:2682
msgid "Format"
msgstr ""
-#: models.py:1943 models.py:2738
+#: models.py:1946 models.py:2774
msgid "Operation type"
msgstr ""
-#: models.py:1944
+#: models.py:1947
msgid "Period"
msgstr ""
-#: models.py:1945
+#: models.py:1948
msgid "Report state"
msgstr ""
-#: models.py:1946
+#: models.py:1949
msgid "Unit"
msgstr ""
-#: models.py:1947
+#: models.py:1950
msgid "Material"
msgstr ""
-#: models.py:1949
+#: models.py:1952
msgid "Conservatory state"
msgstr ""
-#: models.py:1950
+#: models.py:1953
msgid "Preservation type"
msgstr ""
-#: models.py:1951
+#: models.py:1954
msgid "Object type"
msgstr ""
-#: models.py:1953
+#: models.py:1956
msgid "Identification type"
msgstr ""
-#: models.py:1955
+#: models.py:1958
msgid "Context record relation type"
msgstr ""
-#: models.py:1956 models.py:2625
+#: models.py:1959 models.py:2661
msgid "Support type"
msgstr ""
-#: models.py:1962
+#: models.py:1965
msgid "Integer"
msgstr ""
-#: models.py:1963
+#: models.py:1966
msgid "Float"
msgstr ""
-#: models.py:1964
+#: models.py:1967
msgid "String"
msgstr ""
-#: models.py:1965 templates/sheet_ope.html:86
+#: models.py:1968 templates/sheet_ope.html:86
msgid "Date"
msgstr ""
-#: models.py:1967 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83
+#: models.py:1970 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83
#: templates/ishtar/dashboards/dashboard_main_detail.html:126
msgid "Year"
msgstr ""
-#: models.py:1968
+#: models.py:1971
msgid "String to boolean"
msgstr ""
-#: models.py:1969
+#: models.py:1972
msgctxt "filesystem"
msgid "File"
msgstr ""
-#: models.py:1970
+#: models.py:1973
msgid "Unknow type"
msgstr ""
-#: models.py:1986
+#: models.py:1989
msgid "4 digit year. e.g.: \"2015\""
msgstr ""
-#: models.py:1987
+#: models.py:1990
msgid "4 digit year/month/day. e.g.: \"2015/02/04\""
msgstr ""
-#: models.py:1988
+#: models.py:1991
msgid "Day/month/4 digit year. e.g.: \"04/02/2015\""
msgstr ""
-#: models.py:1998
+#: models.py:2001
msgid "Options"
msgstr ""
-#: models.py:2000
+#: models.py:2003
msgid "Split character(s)"
msgstr ""
-#: models.py:2004
+#: models.py:2007
msgid "Importer - Formater type"
msgstr ""
-#: models.py:2005
+#: models.py:2008
msgid "Importer - Formater types"
msgstr ""
-#: models.py:2052 templates/ishtar/dashboards/dashboard_main_detail.html:63
+#: models.py:2055 templates/ishtar/dashboards/dashboard_main_detail.html:63
msgid "Created"
msgstr ""
-#: models.py:2053
+#: models.py:2056
msgid "Analyse in progress"
msgstr ""
-#: models.py:2054
+#: models.py:2057
msgid "Analysed"
msgstr ""
-#: models.py:2055
+#: models.py:2058
msgid "Import pending"
msgstr ""
-#: models.py:2056
+#: models.py:2059
msgid "Import in progress"
msgstr ""
-#: models.py:2057
+#: models.py:2060
msgid "Finished with errors"
msgstr ""
-#: models.py:2058
+#: models.py:2061
msgid "Finished"
msgstr ""
-#: models.py:2059
+#: models.py:2062
msgid "Archived"
msgstr ""
-#: models.py:2071
+#: models.py:2074
msgid "Imported file"
msgstr ""
-#: models.py:2074
+#: models.py:2077
msgid "Associated images (zip file)"
msgstr ""
-#: models.py:2076
+#: models.py:2079
msgid "Encoding"
msgstr ""
-#: models.py:2078
+#: models.py:2081
msgid "Skip lines"
msgstr ""
-#: models.py:2079 templates/ishtar/import_list.html:47
+#: models.py:2082 templates/ishtar/import_list.html:47
msgid "Error file"
msgstr ""
-#: models.py:2082
+#: models.py:2085
msgid "Result file"
msgstr ""
-#: models.py:2085 templates/ishtar/import_list.html:53
+#: models.py:2088 templates/ishtar/import_list.html:53
msgid "Match file"
msgstr ""
-#: models.py:2091
+#: models.py:2094
msgid "Conservative import"
msgstr ""
-#: models.py:2096
+#: models.py:2099
msgid "End date"
msgstr ""
-#: models.py:2098
+#: models.py:2101
msgid "Remaining seconds"
msgstr ""
-#: models.py:2103
+#: models.py:2106
msgid "Import"
msgstr ""
-#: models.py:2120
+#: models.py:2123
msgid "Analyse"
msgstr ""
-#: models.py:2122 models.py:2125
+#: models.py:2125 models.py:2128
msgid "Re-analyse"
msgstr ""
-#: models.py:2123
+#: models.py:2126
msgid "Launch import"
msgstr ""
-#: models.py:2126
+#: models.py:2129
msgid "Re-import"
msgstr ""
-#: models.py:2127
+#: models.py:2130
msgid "Archive"
msgstr ""
-#: models.py:2129
+#: models.py:2132
msgid "Unarchive"
msgstr ""
-#: models.py:2263
+#: models.py:2274
msgid "Organizations"
msgstr ""
-#: models.py:2265
+#: models.py:2276
msgid "Can view all Organizations"
msgstr ""
-#: models.py:2266
+#: models.py:2277
msgid "Can view own Organization"
msgstr ""
-#: models.py:2267
+#: models.py:2278
msgid "Can add own Organization"
msgstr ""
-#: models.py:2269
+#: models.py:2280
msgid "Can change own Organization"
msgstr ""
-#: models.py:2271
+#: models.py:2282
msgid "Can delete own Organization"
msgstr ""
-#: models.py:2306
+#: models.py:2317
msgid "Groups"
msgstr ""
-#: models.py:2311
+#: models.py:2322
msgid "Person types"
msgstr ""
-#: models.py:2319
+#: models.py:2330
msgid "Title type"
msgstr ""
-#: models.py:2320
+#: models.py:2331
msgid "Title types"
msgstr ""
-#: models.py:2329
+#: models.py:2340
msgid "Mr"
msgstr ""
-#: models.py:2330
+#: models.py:2341
msgid "Miss"
msgstr ""
-#: models.py:2331
+#: models.py:2342
msgid "Mr and Mrs"
msgstr ""
-#: models.py:2332
+#: models.py:2343
msgid "Mrs"
msgstr ""
-#: models.py:2333
+#: models.py:2344
msgid "Doctor"
msgstr ""
-#: models.py:2351
+#: models.py:2374
msgid "Contact type"
msgstr ""
-#: models.py:2354 models.py:2418
+#: models.py:2377 models.py:2441
msgid "Types"
msgstr ""
-#: models.py:2357
+#: models.py:2380
msgid "Is attached to"
msgstr ""
-#: models.py:2362
+#: models.py:2385
msgid "Persons"
msgstr ""
-#: models.py:2364
+#: models.py:2387
msgid "Can view all Persons"
msgstr ""
-#: models.py:2365
+#: models.py:2388
msgid "Can view own Person"
msgstr ""
-#: models.py:2366
+#: models.py:2389
msgid "Can add own Person"
msgstr ""
-#: models.py:2367
+#: models.py:2390
msgid "Can change own Person"
msgstr ""
-#: models.py:2368
+#: models.py:2391
msgid "Can delete own Person"
msgstr ""
-#: models.py:2533
+#: models.py:2569
msgid "Advanced shortcut menu"
msgstr ""
-#: models.py:2536
+#: models.py:2572
msgid "Ishtar user"
msgstr ""
-#: models.py:2537
+#: models.py:2573
msgid "Ishtar users"
msgstr ""
-#: models.py:2580
+#: models.py:2616
msgid "To modify the password use the form in Auth > User"
msgstr ""
-#: models.py:2586
+#: models.py:2622
msgid "Author types"
msgstr ""
-#: models.py:2618
+#: models.py:2654
msgid "Source types"
msgstr ""
-#: models.py:2626
+#: models.py:2662
msgid "Support types"
msgstr ""
-#: models.py:2634
+#: models.py:2670
msgid "Formats"
msgstr ""
-#: models.py:2641
+#: models.py:2677
msgid "External ID"
msgstr ""
-#: models.py:2644
+#: models.py:2680
msgid "Support"
msgstr ""
-#: models.py:2648
+#: models.py:2684
msgid "Scale"
msgstr ""
-#: models.py:2662
+#: models.py:2698
msgid "Item number"
msgstr ""
-#: models.py:2663
+#: models.py:2699
msgid "Ref."
msgstr ""
-#: models.py:2666
+#: models.py:2702
msgid "Internal ref."
msgstr ""
-#: models.py:2709
+#: models.py:2745
msgid "Surface (m2)"
msgstr ""
-#: models.py:2710 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
+#: models.py:2746 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
msgid "Localisation"
msgstr ""
-#: models.py:2735
+#: models.py:2771
msgid "Is preventive"
msgstr ""
-#: models.py:2739
+#: models.py:2775
msgid "Operation types"
msgstr ""
-#: models.py:2768
+#: models.py:2804
msgid "Preventive"
msgstr ""
-#: models.py:2769
+#: models.py:2805
msgid "Research"
msgstr ""
-#: utils.py:64
+#: utils.py:74
msgid " (...)"
msgstr ""
-#: utils.py:97
+#: utils.py:107
msgid "Load another random image?"
msgstr ""
@@ -1413,44 +1413,44 @@ msgstr ""
msgid "Find"
msgstr ""
-#: views.py:1178 views.py:1247
+#: views.py:1238 views.py:1281
msgid "Operation not permitted."
msgstr ""
-#: views.py:1180
+#: views.py:1240
#, python-format
msgid "New %s"
msgstr ""
-#: views.py:1266 views.py:1320
+#: views.py:1300 views.py:1354
msgid "Operations"
msgstr ""
-#: views.py:1519 templates/ishtar/import_list.html:43
+#: views.py:1553 templates/ishtar/import_list.html:43
msgid "Link unmatched items"
msgstr ""
-#: views.py:1534
+#: views.py:1568
msgid "Delete import"
msgstr ""
-#: views.py:1573
+#: views.py:1607
msgid "Merge persons"
msgstr ""
-#: views.py:1597
+#: views.py:1631
msgid "Select the main person"
msgstr ""
-#: views.py:1606
+#: views.py:1640
msgid "Merge organization"
msgstr ""
-#: views.py:1616
+#: views.py:1650
msgid "Select the main organization"
msgstr ""
-#: views.py:1656 views.py:1672
+#: views.py:1690 views.py:1706
msgid "Corporation manager"
msgstr ""
@@ -1458,15 +1458,15 @@ msgstr ""
msgid "Search..."
msgstr ""
-#: widgets.py:610 templatetags/window_tables.py:79
+#: widgets.py:623 templatetags/window_tables.py:79
msgid "No results"
msgstr ""
-#: widgets.py:611 templatetags/window_tables.py:80
+#: widgets.py:624 templatetags/window_tables.py:80
msgid "Loading..."
msgstr ""
-#: widgets.py:612
+#: widgets.py:625
msgid "Remove"
msgstr ""
@@ -1845,7 +1845,7 @@ msgstr ""
msgid "where the magic happens."
msgstr ""
-#: templates/window.html:40 templates/blocks/JQueryJqGrid.html:25
+#: templates/window.html:40 templates/blocks/JQueryJqGrid.html:28
#: templates/ishtar/manage_basket.html:9
msgid "Add"
msgstr ""
@@ -1867,13 +1867,13 @@ msgstr ""
msgid "Search and select an item"
msgstr ""
-#: templates/blocks/JQueryJqGrid.html:17 templates/blocks/JQueryJqGrid.html:20
+#: templates/blocks/JQueryJqGrid.html:17 templates/blocks/JQueryJqGrid.html:23
#: templates/ishtar/blocks/window_tables/dynamic_documents.html:9
#: templates/ishtar/blocks/window_tables/dynamic_documents.html:12
msgid "Export as CSV"
msgstr ""
-#: templates/blocks/JQueryJqGrid.html:17 templates/blocks/JQueryJqGrid.html:20
+#: templates/blocks/JQueryJqGrid.html:17 templates/blocks/JQueryJqGrid.html:23
#: templates/ishtar/blocks/window_tables/dynamic_documents.html:9
msgid "CSV"
msgstr ""
@@ -1888,7 +1888,11 @@ msgstr ""
msgid "CSV full"
msgstr ""
-#: templates/blocks/JQueryJqGrid.html:96
+#: templates/blocks/JQueryJqGrid.html:20
+msgid "Export as CSV - "
+msgstr ""
+
+#: templates/blocks/JQueryJqGrid.html:99
#: templates/ishtar/blocks/window_tables/dynamic_documents.html:41
msgid "An error as occured during search. Check your query fields."
msgstr ""
@@ -2124,50 +2128,50 @@ msgstr ""
msgid "Documents associated to finds"
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:7
-#: templates/ishtar/blocks/shortcut_menu.html:7
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:15
+#: templates/ishtar/blocks/shortcut_menu.html:15
msgid ""
"Simple menu limited to your own items. Be careful only the last 100 items "
"are displayed."
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:7
-#: templates/ishtar/blocks/shortcut_menu.html:7
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:15
+#: templates/ishtar/blocks/shortcut_menu.html:15
msgid "simple"
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:8
-#: templates/ishtar/blocks/shortcut_menu.html:8
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:16
+#: templates/ishtar/blocks/shortcut_menu.html:16
msgid "Advanced menu."
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:8
-#: templates/ishtar/blocks/shortcut_menu.html:8
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:16
+#: templates/ishtar/blocks/shortcut_menu.html:16
msgid "advanced"
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:11
-#: templates/ishtar/blocks/shortcut_menu.html:10
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:19
+#: templates/ishtar/blocks/shortcut_menu.html:19
msgid ""
"Pin an item in order to constrain default searches with this item. By "
"default only your items are displayed. New created and modified items are "
"auto-pin."
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:13
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:21
msgid "Search within my items"
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:14
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:22
msgid "Search within all items"
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:17
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:25
msgid "Refresh menu"
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:28
-#: templates/ishtar/blocks/shortcut_menu.html:22
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:36
+#: templates/ishtar/blocks/shortcut_menu.html:31
msgid "Unpin"
msgstr ""
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index ba3d51172..3453a53c5 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -608,9 +608,10 @@ class ItemKey(models.Model):
class ImageModel(models.Model):
- image = models.ImageField(upload_to="upload/", blank=True, null=True)
+ image = models.ImageField(upload_to="upload/", blank=True, null=True,
+ max_length=255)
thumbnail = models.ImageField(upload_to='upload/thumbs/', blank=True,
- null=True)
+ null=True, max_length=255)
IMAGE_MAX_SIZE = settings.IMAGE_MAX_SIZE
THUMB_MAX_SIZE = settings.THUMB_MAX_SIZE
IMAGE_PREFIX = '/'
@@ -794,6 +795,8 @@ class BaseHistorizedItem(Imported):
pk=new_item.history_modifier_id)
except User.ObjectDoesNotExist:
pass
+ # force label regeneration
+ self._cached_label_checked = False
self.save()
except:
raise HistoryError(u"The rollback has failed.")
@@ -2253,6 +2256,14 @@ pre_delete.connect(pre_delete_import, sender=Import)
class Organization(Address, Merge, OwnPerms, ValueGetter):
TABLE_COLS = ('name', 'organization_type', 'town')
SHOW_URL = 'show-organization'
+
+ # search parameters
+ EXTRA_REQUEST_KEYS = {
+ 'name': 'name__icontains',
+ 'organization_type': 'organization_type__pk__in',
+ }
+
+ # fields
name = models.CharField(_(u"Name"), max_length=500)
organization_type = models.ForeignKey(OrganizationType,
verbose_name=_(u"Type"))
@@ -2336,6 +2347,18 @@ class Person(Address, Merge, OwnPerms, ValueGetter):
'attached_to', 'town')
SHOW_URL = 'show-person'
MODIFY_URL = 'person_modify'
+
+ # search parameters
+ REVERSED_BOOL_FIELDS = ['ishtaruser__isnull']
+ EXTRA_REQUEST_KEYS = {
+ 'name': ['name__icontains', 'raw_name__icontains'],
+ 'surname': ['surname__icontains', 'raw_name__icontains'],
+ 'attached_to': 'attached_to__pk',
+ 'person_types': 'person_types__pk__in',
+ 'ishtaruser__isnull': 'ishtaruser__isnull'
+ }
+
+ # fields
old_title = models.CharField(_(u"Title"), max_length=100, choices=TYPE,
blank=True, null=True)
title = models.ForeignKey(TitleType, verbose_name=_(u"Title"),
@@ -2527,6 +2550,19 @@ class IshtarUser(User):
TABLE_COLS = ('username', 'person__name', 'person__surname',
'person__email', 'person__person_types_list',
'person__attached_to')
+
+ # search parameters
+ EXTRA_REQUEST_KEYS = {
+ 'username': ['username__icontains'],
+ 'name': ['person__name__icontains', 'person__raw_name__icontains'],
+ 'surname': ['person__surname__icontains',
+ 'person__raw_name__icontains'],
+ 'email': ['person__email'],
+ 'attached_to': 'person__attached_to__pk',
+ 'person_types': 'person__person_types__pk__in',
+ }
+
+ # fields
person = models.ForeignKey(Person, verbose_name=_(u"Person"), unique=True,
related_name='ishtaruser')
advanced_shortcut_menu = models.BooleanField(
diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js
index 6017aed64..8abf23289 100644
--- a/ishtar_common/static/js/ishtar.js
+++ b/ishtar_common/static/js/ishtar.js
@@ -63,6 +63,18 @@ function init_shortcut_menu(html){
load_shortcut_menu
);
});
+ $(".short-menu-close").click(function(){
+ $('#shortcut-menu div').hide();
+ $('#shortcut-menu table').hide();
+ $(".short-menu-close").hide();
+ $(".short-menu-open").show();
+ });
+ $(".short-menu-open").click(function(){
+ $('#shortcut-menu div').show();
+ $('#shortcut-menu table').show();
+ $(".short-menu-open").hide();
+ $(".short-menu-close").show();
+ });
}
function init_shortcut_fields(){
diff --git a/ishtar_common/static/media/style.css b/ishtar_common/static/media/style.css
index 8aac9e2a2..00fed380d 100644
--- a/ishtar_common/static/media/style.css
+++ b/ishtar_common/static/media/style.css
@@ -22,6 +22,8 @@ div.form, ul.form {
/* color */
+.short-menu-open,
+.short-menu-close,
.pin-action,
#window hr,
#context_menu .red,
@@ -78,7 +80,7 @@ a.add-button,
a.add-button, a.remove,
#progress-content,
div.form {
- border:0 solid #CCC;
+ border:0 solid #EAEAEA;
}
#window hr{
@@ -347,10 +349,13 @@ div.nav-button{
}
div#header{
+ position: fixed;
+ top: 0;
+ z-index: 10;
width:100%;
text-align:left;
font-size: 0.9em;
- background-color: #CCC;
+ background-color: #EAEAEA;
margin-bottom:10px;
line-height:30px;
padding:0 20px;
@@ -434,6 +439,33 @@ div#language_form_div label{
margin-top: -20px;
}
+.short-menu-open:hover,
+.short-menu-close:hover{
+ cursor: pointer;
+}
+
+.short-menu-open{
+ display: none;
+}
+
+.short-menu-open,
+.short-menu-close{
+ position: absolute;
+ right: -5px;
+ top: -5px;
+ font-size: 0.8em;
+}
+
+.short-menu-open .fa-stack-2x,
+.short-menu-close .fa-stack-2x {
+ font-size: 1.7em;
+}
+
+.short-menu-open .fa-stack-1x,
+.short-menu-close .fa-stack-1x {
+ line-height: 1.7em;
+}
+
div#context_menu{
height:110px;
margin-right:10px;
@@ -444,11 +476,14 @@ div#context_menu{
div#context_menu fieldset{
margin-top: 8px;
- background-color:#f1f2f6;
- border:0 solid #CCC;
+ background-color: #E6E6E6;
+ border:0 solid #EAEAEA;
-moz-border-radius: 0;
-webkit-border-radius: 0;
border-radius: 0;
+ position: fixed;
+ top: 40px;
+ right: 10px;
}
div#action_current_items{
@@ -564,7 +599,7 @@ div#welcome{
div#content{
clear:both;
- margin-top:190px ;
+ margin-top:205px ;
margin-bottom: 70px;
margin-left: 200px;
margin-right: 150px;
@@ -627,14 +662,15 @@ ul#form_path li a:link, ul#form_path li a:visited {
#reminder{
padding:0.4em;
margin-right:10px;
- border:1px solid #CCC;
+ border:1px solid #EAEAEA;
-moz-border-radius:0;
-webkit-border-radius:0;
border-radius:0;
background-color:white;
- position: absolute;
+ position: fixed;
z-index:1000;
left: 200px;
+ top: 35px;
}
#reminder p{
@@ -703,6 +739,12 @@ ul.form-flex li li label {
width: 300px;
}
+.window-refs{
+ font-size: 1.1em;
+ font-weight: bold;
+ text-align: center;
+}
+
#window ul.form-flex label {
width: 150px;
}
@@ -809,7 +851,7 @@ ul.form .help_text{
.delete td{
text-align:center;
- border-bottom:1px solid #CCC;
+ border-bottom:1px solid #EAEAEA;
padding:6px;
}
@@ -865,7 +907,7 @@ table.confirm tr.spacer td:last-child{
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
background:none;
background-color: #F1F2F6;
- border: 1px solid #CCC;
+ border: 1px solid #EAEAEA;
border-radius-top: 4px;
}
@@ -875,13 +917,13 @@ table.confirm tr.spacer td:last-child{
}
.sheet{
- width:90%;
+ top: 35px;
+ bottom: 35px;
+ left: 15px;
+ right: 15px;
position:fixed;
- height:90%;
background: #FFF;
z-index: 2000;
- /*left: 50%;*/
- margin-left: 5%;
-webkit-box-shadow: 0px 0px 20px #444;
-moz-box-shadow: 0px 0px 20px #444;
text-align: left;
@@ -973,7 +1015,7 @@ a.photo{
background: #FFF;
text-align:left;
padding:10px;
- border:1px solid #CCC;
+ border:1px solid #EAEAEA;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
diff --git a/ishtar_common/templates/blocks/JQueryJqGrid.html b/ishtar_common/templates/blocks/JQueryJqGrid.html
index 5972208ee..faa2d9e93 100644
--- a/ishtar_common/templates/blocks/JQueryJqGrid.html
+++ b/ishtar_common/templates/blocks/JQueryJqGrid.html
@@ -13,9 +13,12 @@
<div id='foot_{{name}}' class='gridfooter'>
-{% if source_full %}
+{% if source_full or extra_sources %}
<a class='badge {{sname}}-csv' href='{{source}}csv' target='_blank' title="{% trans 'Export as CSV' %}">{% trans "CSV" %}</a>
-<a class='badge {{sname}}-csv-full' href='{{source_full}}csv' target='_blank' title="{% trans 'Export as CSV - full' %}">{% trans "CSV full" %}</a>
+{% if source_full %}<a class='badge {{sname}}-csv-full' href='{{source_full}}csv' target='_blank' title="{% trans 'Export as CSV - full' %}">{% trans "CSV full" %}</a>{% endif %}
+{% for slug, name, extra_source in extra_sources %}
+<a class='badge {{slug}}-csv-full' href='{{extra_source}}csv' target='_blank' title="{% trans 'Export as CSV - ' %}{{name}}">{{name}}</a>
+{% endfor %}
{% else %}
<a class='{{sname}}-csv' href="{{source}}csv" target="_blank" title="{% trans 'Export as CSV' %}">{% trans "CSV" %}</a>
{% endif %} {{encoding}}
diff --git a/ishtar_common/templates/ishtar/blocks/advanced_shortcut_menu.html b/ishtar_common/templates/ishtar/blocks/advanced_shortcut_menu.html
index 581381e82..2cf80da06 100644
--- a/ishtar_common/templates/ishtar/blocks/advanced_shortcut_menu.html
+++ b/ishtar_common/templates/ishtar/blocks/advanced_shortcut_menu.html
@@ -2,7 +2,15 @@
{% load url from future%}
{% if menu %}
<form method="post" action="{% url 'update-current-item' %}">
-<fieldset>
+<fieldset id='shortcut-menu'>
+<span class="fa-stack short-menu-close">
+ <i class="fa fa-circle fa-stack-2x"></i>
+ <i class="fa fa-times fa-stack-1x fa-inverse"></i>
+</span>
+<span class="fa-stack short-menu-open">
+ <i class="fa fa-circle fa-stack-2x"></i>
+ <i class="fa fa-plus fa-stack-1x fa-inverse"></i>
+</span>
<div class="short-menu-buttons btn-group" role="group">
<button type="button" class="btn" id='short-menu-simple' title="{% trans 'Simple menu limited to your own items. Be careful only the last 100 items are displayed.' %}">{% trans "simple" %}</button>
<button type="button" class="btn btn-selected" id='short-menu-advanced' title="{% trans 'Advanced menu.' %}">{% trans "advanced" %}</button>
diff --git a/ishtar_common/templates/ishtar/blocks/shortcut_menu.html b/ishtar_common/templates/ishtar/blocks/shortcut_menu.html
index 5a0463c30..05aaed6d8 100644
--- a/ishtar_common/templates/ishtar/blocks/shortcut_menu.html
+++ b/ishtar_common/templates/ishtar/blocks/shortcut_menu.html
@@ -2,11 +2,20 @@
{% load url from future%}
{% if current_menu %}
<form method="post" action="{% url 'update-current-item' %}">
-<fieldset>
+<fieldset id="shortcut-menu">
+<span class="fa-stack short-menu-close">
+ <i class="fa fa-circle fa-stack-2x"></i>
+ <i class="fa fa-times fa-stack-1x fa-inverse"></i>
+</span>
+<span class="fa-stack short-menu-open">
+ <i class="fa fa-circle fa-stack-2x"></i>
+ <i class="fa fa-plus fa-stack-1x fa-inverse"></i>
+</span>
<div class="short-menu-buttons btn-group" role="group">
<button type="button" class="btn btn-selected" id='short-menu-simple' title="{% trans 'Simple menu limited to your own items. Be careful only the last 100 items are displayed.' %}">{% trans "simple" %}</button>
<button type="button" class="btn" id='short-menu-advanced' title="{% trans 'Advanced menu.' %}">{% trans "advanced" %}</button>
</div>
+<div>
<i class="icon fa fa-thumb-tack fa-2x" aria-hidden="true" title="{% trans 'Pin an item in order to constrain default searches with this item. By default only your items are displayed. New created and modified items are auto-pin.' %}"></i>
<table id='current_items'>
{% for lbl, model_name, main_cls, items in current_menu %}
@@ -26,6 +35,7 @@
</tr>
{% endfor %}
</table>
+</div>
</fieldset>
</form>
<script type='text/javascript'>var advanced_menu = false;</script>
diff --git a/ishtar_common/urls.py b/ishtar_common/urls.py
index 22a09a052..edd1ebe75 100644
--- a/ishtar_common/urls.py
+++ b/ishtar_common/urls.py
@@ -135,6 +135,8 @@ urlpatterns += patterns(
url(r'pin/(?P<item_type>[a-z-]+)/(?P<pk>\d+)/$', 'update_current_item',
name='pin'),
url(r'unpin/(?P<item_type>[a-z-]+)/$', 'unpin', name='unpin'),
+ url(r'get-by-importer/(?P<slug>[a-z-]+)/(?P<type>[a-z-]+)?$',
+ 'get_by_importer', name='get-by-importer'),
url(r'new-person/(?:(?P<parent_name>[^/]+)/)?(?:(?P<limits>[^/]+)/)?$',
'new_person', name='new-person'),
url(r'new-person-noorga/'
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py
index 60c3ac7ef..44112bca3 100644
--- a/ishtar_common/utils.py
+++ b/ishtar_common/utils.py
@@ -56,10 +56,20 @@ def cached_label_changed(sender, **kwargs):
if not kwargs.get('instance'):
return
instance = kwargs.get('instance')
+ if hasattr(instance, '_cached_label_checked') \
+ and instance._cached_label_checked:
+ return
+ instance._cached_label_checked = True
lbl = instance._generate_cached_label()
if lbl != instance.cached_label:
+ if hasattr(instance, '_cascade_change') and instance._cascade_change:
+ instance.skip_history_when_saving = True
instance.cached_label = lbl
instance.save()
+ if hasattr(instance, '_get_associated_cached_labels'):
+ for item in instance._get_associated_cached_labels():
+ item._cascade_change = True
+ cached_label_changed(item.__class__, instance=item)
SHORTIFY_STR = ugettext(" (...)")
@@ -103,19 +113,22 @@ def get_random_item_image_link(request):
from archaeological_finds.models import Find
ope_image_nb, cr_image_nb, find_image_nb = 0, 0, 0
+ q_ope = Operation.objects.filter(
+ thumbnail__isnull=False).exclude(thumbnail='')
+ q_cr = ContextRecord.objects.filter(
+ thumbnail__isnull=False).exclude(thumbnail='')
+ q_find = Find.objects.filter(
+ thumbnail__isnull=False).exclude(thumbnail='')
if request.user.has_perm('archaeological_operations.view_operation',
Operation):
- ope_image_nb = Operation.objects.filter(
- thumbnail__isnull=False).count()
+ ope_image_nb = q_ope.count()
if request.user.has_perm(
'archaeological_context_records.view_contextrecord',
ContextRecord):
- cr_image_nb = ContextRecord.objects.filter(
- thumbnail__isnull=False).count()
+ cr_image_nb = q_cr.count()
if request.user.has_perm('archaeological_finds.view_find',
Find):
- find_image_nb = Find.objects.filter(
- thumbnail__isnull=False).count()
+ find_image_nb = q_find.count()
image_total = ope_image_nb + cr_image_nb + find_image_nb
if not image_total:
@@ -123,15 +136,11 @@ def get_random_item_image_link(request):
image_nb = random.randint(0, image_total - 1)
if image_nb >= 0 and image_nb < ope_image_nb:
- return _get_image_link(
- Operation.objects.filter(thumbnail__isnull=False).all()[image_nb])
+ return _get_image_link(q_ope.all()[image_nb])
if image_nb >= ope_image_nb and image_nb < (cr_image_nb + ope_image_nb):
- return _get_image_link(
- ContextRecord.objects.filter(thumbnail__isnull=False).all()[
- image_nb - ope_image_nb])
+ return _get_image_link(q_cr.all()[image_nb - ope_image_nb])
if image_nb >= (cr_image_nb + ope_image_nb):
- return _get_image_link(
- Find.objects.filter(thumbnail__isnull=False).all()[
- image_nb - ope_image_nb - cr_image_nb])
+ return _get_image_link(q_find.all()[
+ image_nb - ope_image_nb - cr_image_nb])
# should never happen except in case of deletion during the excution
return ''
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index 3406cf7af..bc5e5ef1d 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -527,7 +527,7 @@ HIERARCHIC_FIELDS = ['periods', 'period', 'unit', 'material_types',
def get_item(model, func_name, default_name, extra_request_keys=[],
base_request={}, bool_fields=[], reversed_bool_fields=[],
- dated_fields=[], associated_models=[], relative_session_names={},
+ dated_fields=[], associated_models=[], relative_session_names=[],
specific_perms=[], own_table_cols=None, relation_types_prefix={}):
"""
Generic treatment of tables
@@ -569,6 +569,43 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
data_type = 'json'
if not allowed:
return HttpResponse(EMPTY, mimetype='text/plain')
+
+ # get defaults from model
+ if not extra_request_keys and hasattr(model, 'EXTRA_REQUEST_KEYS'):
+ my_extra_request_keys = copy(model.EXTRA_REQUEST_KEYS)
+ else:
+ my_extra_request_keys = copy(extra_request_keys)
+ if not base_request and hasattr(model, 'BASE_REQUEST'):
+ my_base_request = copy(model.BASE_REQUEST)
+ else:
+ my_base_request = copy(base_request)
+ if not bool_fields and hasattr(model, 'BOOL_FIELDS'):
+ my_bool_fields = model.BOOL_FIELDS[:]
+ else:
+ my_bool_fields = bool_fields[:]
+ if not reversed_bool_fields and hasattr(model, 'REVERSED_BOOL_FIELDS'):
+ my_reversed_bool_fields = model.REVERSED_BOOL_FIELDS[:]
+ else:
+ my_reversed_bool_fields = reversed_bool_fields[:]
+ if not dated_fields and hasattr(model, 'DATED_FIELDS'):
+ my_dated_fields = model.DATED_FIELDS[:]
+ else:
+ my_dated_fields = dated_fields[:]
+ if not associated_models and hasattr(model, 'ASSOCIATED_MODELS'):
+ my_associated_models = model.ASSOCIATED_MODELS[:]
+ else:
+ my_associated_models = associated_models[:]
+ if not relative_session_names and hasattr(model,
+ 'RELATIVE_SESSION_NAMES'):
+ my_relative_session_names = model.RELATIVE_SESSION_NAMES[:]
+ else:
+ my_relative_session_names = relative_session_names[:]
+ if not relation_types_prefix and hasattr(model,
+ 'RELATION_TYPES_PREFIX'):
+ my_relation_types_prefix = copy(model.RELATION_TYPES_PREFIX)
+ else:
+ my_relation_types_prefix = copy(relation_types_prefix)
+
fields = [model._meta.get_field_by_name(k)[0]
for k in model._meta.get_all_field_names()]
request_keys = dict([
@@ -576,7 +613,11 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
field.name + (hasattr(field, 'rel') and field.rel and '__pk'
or ''))
for field in fields])
- for associated_model, key in associated_models:
+ for associated_model, key in my_associated_models:
+ if type(associated_model) in (str, unicode):
+ if associated_model not in globals():
+ continue
+ associated_model = globals()[associated_model]
associated_fields = [
associated_model._meta.get_field_by_name(k)[0]
for k in associated_model._meta.get_all_field_names()]
@@ -585,10 +626,10 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
key + "__" + field.name +
(hasattr(field, 'rel') and field.rel and '__pk' or ''))
for field in associated_fields]))
- request_keys.update(extra_request_keys)
+ request_keys.update(my_extra_request_keys)
request_items = request.method == 'POST' and request.POST \
or request.GET
- dct = base_request.copy()
+ dct = my_base_request
if full == 'shortcut':
dct['cached_label__icontains'] = request.GET.get('term', None)
and_reqs, or_reqs = [], []
@@ -598,15 +639,14 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
return HttpResponse('[]', mimetype='text/plain')
# manage relations types
- my_rtypes_prefix = copy(relation_types_prefix)
- if 'relation_types' not in my_rtypes_prefix:
- my_rtypes_prefix['relation_types'] = ''
+ if 'relation_types' not in my_relation_types_prefix:
+ my_relation_types_prefix['relation_types'] = ''
relation_types = {}
- for rtype_key in my_rtypes_prefix:
- relation_types[my_rtypes_prefix[rtype_key]] = set()
+ for rtype_key in my_relation_types_prefix:
+ relation_types[my_relation_types_prefix[rtype_key]] = set()
for k in request_items:
if k.startswith(rtype_key):
- relation_types[my_rtypes_prefix[rtype_key]].add(
+ relation_types[my_relation_types_prefix[rtype_key]].add(
request_items[k])
continue
@@ -637,7 +677,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
dct = {"pk": request.session[default_name]}
elif dct == base_request:
# a parent item may be selected in the default menu
- for name, key in relative_session_names:
+ for name, key in my_relative_session_names:
if name in request.session and request.session[name]:
dct.update({key: request.session[name]})
break
@@ -646,13 +686,13 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
dct = request.session[func_name]
else:
request.session[func_name] = dct
- for k in (list(bool_fields) + list(reversed_bool_fields)):
+ for k in (list(my_bool_fields) + list(my_reversed_bool_fields)):
if k in dct:
if dct[k] == u"1":
dct.pop(k)
else:
dct[k] = dct[k] == u"2" and True or False
- if k in reversed_bool_fields:
+ if k in my_reversed_bool_fields:
dct[k] = not dct[k]
# check also for empty value with image field
field_name = k.split('__')[0]
@@ -668,7 +708,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
dct[k.split('__')[0] + '__regex'] = '.{1}.*'
except FieldDoesNotExist:
pass
- for k in dated_fields:
+ for k in my_dated_fields:
if k in dct:
if not dct[k]:
dct.pop(k)
@@ -1001,6 +1041,26 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
return func
+def get_by_importer(request, slug, data_type='json', full=False,
+ force_own=False, **dct):
+ q = models.ImporterType.objects.filter(slug=slug)
+ if not q.count():
+ res = ''
+ if data_type == "json":
+ res = '{}'
+ return HttpResponse(res, mimetype='text/plain')
+ imp = q.all()[0].get_importer_class()
+ cols = []
+ for formater in imp.LINE_FORMAT:
+ if not formater:
+ continue
+ cols.append(formater.field_name)
+ obj_name = imp.OBJECT_CLS.__name__.lower()
+ return get_item(
+ imp.OBJECT_CLS, 'get_' + obj_name, obj_name, own_table_cols=cols
+ )(request, data_type, full, force_own, **dct)
+
+
def show_item(model, name, extra_dct=None):
def func(request, pk, **dct):
try:
@@ -1203,40 +1263,14 @@ new_person = new_item(models.Person, forms.PersonForm)
new_person_noorga = new_item(models.Person, forms.NoOrgaPersonForm)
new_organization = new_item(models.Organization, forms.OrganizationForm)
show_organization = show_item(models.Organization, 'organization')
-get_organization = get_item(
- models.Organization,
- 'get_organization', 'organization',
- extra_request_keys={
- 'name': 'name__icontains',
- 'organization_type': 'organization_type__pk__in',
- })
+get_organization = get_item(models.Organization, 'get_organization',
+ 'organization')
new_author = new_item(models.Author, forms.AuthorForm)
show_person = show_item(models.Person, 'person')
-get_person = get_item(
- models.Person,
- 'get_person', 'person',
- reversed_bool_fields=['ishtaruser__isnull'],
- extra_request_keys={
- 'name': ['name__icontains', 'raw_name__icontains'],
- 'surname': ['surname__icontains', 'raw_name__icontains'],
- 'attached_to': 'attached_to__pk',
- 'person_types': 'person_types__pk__in',
- 'ishtaruser__isnull': 'ishtaruser__isnull'
- })
-
-get_ishtaruser = get_item(
- models.IshtarUser,
- 'get_ishtaruser', 'ishtaruser',
- extra_request_keys={
- 'username': ['username__icontains'],
- 'name': ['person__name__icontains', 'person__raw_name__icontains'],
- 'surname': ['person__surname__icontains',
- 'person__raw_name__icontains'],
- 'email': ['person__email'],
- 'attached_to': 'person__attached_to__pk',
- 'person_types': 'person__person_types__pk__in',
- })
+get_person = get_item(models.Person, 'get_person', 'person')
+
+get_ishtaruser = get_item(models.IshtarUser, 'get_ishtaruser', 'ishtaruser')
def action(request, action_slug, obj_id=None, *args, **kwargs):
diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py
index 48d1377fa..9e656311b 100644
--- a/ishtar_common/widgets.py
+++ b/ishtar_common/widgets.py
@@ -602,6 +602,19 @@ class JQueryJqGrid(forms.RadioSelect):
dct['source'] = unicode(self.source)
if unicode(self.source_full) and unicode(self.source_full) != 'None':
dct['source_full'] = unicode(self.source_full)
+
+ dct['extra_sources'] = []
+ if self.associated_model:
+ model_name = "{}.{}".format(
+ self.associated_model.__module__,
+ self.associated_model.__name__)
+ for imp in models.ImporterType.objects.filter(
+ slug__isnull=False, associated_models=model_name,
+ is_template=True).all():
+ dct['extra_sources'].append((
+ imp.slug, imp.name,
+ reverse('get-by-importer', args=[imp.slug])))
+
dct.update({'name': name,
'col_names': col_names,
'extra_cols': extra_cols,
diff --git a/translations/de/ishtar_common.po b/translations/de/ishtar_common.po
index ea3d05812..9e764c203 100644
--- a/translations/de/ishtar_common.po
+++ b/translations/de/ishtar_common.po
@@ -158,12 +158,12 @@ msgstr ""
msgid "Add a new item"
msgstr ""
-#: forms.py:245 models.py:1307
+#: forms.py:245 models.py:1310
msgid "Template"
msgstr ""
#: forms_common.py:41 forms_common.py:59 forms_common.py:182
-#: forms_common.py:406 models.py:1373 models.py:2722
+#: forms_common.py:406 models.py:1376 models.py:2758
#: templates/blocks/JQueryAdvancedTown.html:19
#: templates/ishtar/sheet_organization.html:13
msgid "Town"
@@ -179,8 +179,8 @@ msgid ""
"french town Saint-Denis in the Seine-Saint-Denis department.</p>"
msgstr ""
-#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1543
-#: models.py:2361 models.py:2530 models.py:2592
+#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1546
+#: models.py:2384 models.py:2566 models.py:2628
#: templates/ishtar/sheet_person.html:4
msgid "Person"
msgstr ""
@@ -192,63 +192,63 @@ msgid ""
msgstr ""
#: forms_common.py:170 forms_common.py:327 forms_common.py:451
-#: ishtar_menu.py:75 models.py:1544 models.py:2262
+#: ishtar_menu.py:75 models.py:1547 models.py:2273
#: 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:974 models.py:1306
-#: models.py:1589 models.py:1807 models.py:2256 models.py:2347 models.py:2708
+#: forms_common.py:376 forms_common.py:446 models.py:977 models.py:1309
+#: models.py:1592 models.py:1810 models.py:2267 models.py:2370 models.py:2744
#: templates/ishtar/sheet_organization.html:8
#: templates/ishtar/sheet_organization.html:21
msgid "Name"
msgstr ""
-#: forms_common.py:174 models.py:1528 models.py:1938
+#: forms_common.py:174 models.py:1531 models.py:1941
msgid "Organization type"
msgstr ""
-#: forms_common.py:176 forms_common.py:400 models.py:1368
+#: forms_common.py:176 forms_common.py:400 models.py:1371
#: templates/ishtar/sheet_organization.html:10
msgid "Address"
msgstr ""
-#: forms_common.py:178 forms_common.py:403 models.py:1369
+#: forms_common.py:178 forms_common.py:403 models.py:1372
#: templates/ishtar/sheet_organization.html:11
msgid "Address complement"
msgstr ""
-#: forms_common.py:180 forms_common.py:404 models.py:1371
+#: forms_common.py:180 forms_common.py:404 models.py:1374
#: templates/ishtar/sheet_organization.html:12
msgid "Postal code"
msgstr ""
-#: forms_common.py:183 forms_common.py:407 models.py:1374
+#: forms_common.py:183 forms_common.py:407 models.py:1377
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:1401
+#: forms_common.py:448 forms_common.py:572 models.py:1404
msgid "Email"
msgstr ""
-#: forms_common.py:186 forms_common.py:383 models.py:1386
+#: forms_common.py:186 forms_common.py:383 models.py:1389
#: 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:1398
+#: forms_common.py:187 forms_common.py:392 models.py:1401
#: 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:1966
-#: models.py:2258 models.py:2643 templates/sheet_ope.html:85
+#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:1969
+#: models.py:2269 models.py:2679 templates/sheet_ope.html:85
#: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126
#: templates/ishtar/import_list.html:13
#: templates/ishtar/sheet_organization.html:23
@@ -272,7 +272,7 @@ msgstr ""
msgid "Organization to merge"
msgstr ""
-#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2345
+#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2368
#: templates/ishtar/sheet_organization.html:22
msgid "Surname"
msgstr ""
@@ -290,25 +290,25 @@ msgstr ""
msgid "Identity"
msgstr ""
-#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1939
-#: models.py:2339 models.py:2341 models.py:2640 templates/sheet_ope.html:104
+#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1942
+#: models.py:2362 models.py:2364 models.py:2676 templates/sheet_ope.html:104
#: templates/ishtar/blocks/window_tables/documents.html:7
msgid "Title"
msgstr ""
-#: forms_common.py:372 models.py:2343
+#: forms_common.py:372 models.py:2366
msgid "Salutation"
msgstr ""
-#: forms_common.py:378 models.py:2349
+#: forms_common.py:378 models.py:2372
msgid "Raw name"
msgstr ""
-#: forms_common.py:381 models.py:1387
+#: forms_common.py:381 models.py:1390
msgid "Phone description"
msgstr ""
-#: forms_common.py:384 models.py:1389 models.py:1391
+#: forms_common.py:384 models.py:1392 models.py:1394
msgid "Phone description 2"
msgstr ""
@@ -316,11 +316,11 @@ msgstr ""
msgid "Phone 2"
msgstr ""
-#: forms_common.py:388 models.py:1395
+#: forms_common.py:388 models.py:1398
msgid "Phone description 3"
msgstr ""
-#: forms_common.py:390 models.py:1393
+#: forms_common.py:390 models.py:1396
msgid "Phone 3"
msgstr ""
@@ -328,23 +328,23 @@ msgstr ""
msgid "Current organization"
msgstr ""
-#: forms_common.py:409 models.py:1376
+#: forms_common.py:409 models.py:1379
msgid "Other address: address"
msgstr ""
-#: forms_common.py:412 models.py:1379
+#: forms_common.py:412 models.py:1382
msgid "Other address: address complement"
msgstr ""
-#: forms_common.py:414 models.py:1380
+#: forms_common.py:414 models.py:1383
msgid "Other address: postal code"
msgstr ""
-#: forms_common.py:416 models.py:1382
+#: forms_common.py:416 models.py:1385
msgid "Other address: town"
msgstr ""
-#: forms_common.py:418 models.py:1384
+#: forms_common.py:418 models.py:1387
msgid "Other address: country"
msgstr ""
@@ -360,7 +360,7 @@ msgstr ""
msgid "Account search"
msgstr ""
-#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2310
+#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2321
msgid "Person type"
msgstr ""
@@ -392,7 +392,7 @@ msgstr ""
msgid "Send the new password by email?"
msgstr ""
-#: forms_common.py:628 forms_common.py:641 models.py:2723
+#: forms_common.py:628 forms_common.py:641 models.py:2759
msgid "Towns"
msgstr ""
@@ -408,7 +408,7 @@ msgstr ""
msgid "Documentation informations"
msgstr ""
-#: forms_common.py:775 forms_common.py:823 models.py:1940 models.py:2617
+#: forms_common.py:775 forms_common.py:823 models.py:1943 models.py:2653
msgid "Source type"
msgstr ""
@@ -420,37 +420,37 @@ msgstr ""
msgid "Internal reference"
msgstr ""
-#: forms_common.py:783 models.py:2654
+#: forms_common.py:783 models.py:2690
msgid "Numerical ressource (web address)"
msgstr ""
-#: forms_common.py:784 models.py:2656
+#: forms_common.py:784 models.py:2692
msgid "Receipt date"
msgstr ""
-#: forms_common.py:786 models.py:2093 models.py:2658
+#: forms_common.py:786 models.py:2096 models.py:2694
msgid "Creation date"
msgstr ""
-#: forms_common.py:789 models.py:2661
+#: forms_common.py:789 models.py:2697
msgid "Receipt date in documentation"
msgstr ""
#: forms_common.py:791 forms_common.py:827 models.py:317 models.py:577
-#: models.py:1834 models.py:2353 models.py:2668
+#: models.py:1837 models.py:2376 models.py:2704
msgid "Comment"
msgstr ""
-#: forms_common.py:793 forms_common.py:826 models.py:976 models.py:1593
-#: models.py:1766 models.py:1808 models.py:2667 templates/sheet_ope.html:128
+#: forms_common.py:793 forms_common.py:826 models.py:979 models.py:1596
+#: models.py:1769 models.py:1811 models.py:2703 templates/sheet_ope.html:128
msgid "Description"
msgstr ""
-#: forms_common.py:796 models.py:2669
+#: forms_common.py:796 models.py:2705
msgid "Additional information"
msgstr ""
-#: forms_common.py:798 forms_common.py:830 models.py:2671
+#: forms_common.py:798 forms_common.py:830 models.py:2707
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:2597
+#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2633
#: 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:1941 models.py:2585 models.py:2594
+#: forms_common.py:856 models.py:1944 models.py:2621 models.py:2630
msgid "Author type"
msgstr ""
@@ -490,7 +490,7 @@ msgstr ""
msgid "There are identical authors."
msgstr ""
-#: forms_common.py:893 models.py:2598 models.py:2650
+#: forms_common.py:893 models.py:2634 models.py:2686
#: 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:1102 views.py:1450
+#: ishtar_menu.py:39 models.py:1105 views.py:1484
msgid "Global variables"
msgstr ""
@@ -536,20 +536,20 @@ msgstr ""
msgid "Manual merge"
msgstr ""
-#: ishtar_menu.py:70 ishtar_menu.py:101 models.py:2130 widgets.py:110
+#: ishtar_menu.py:70 ishtar_menu.py:101 models.py:2133 widgets.py:110
#: templates/ishtar/form_delete.html:11
msgid "Delete"
msgstr ""
-#: ishtar_menu.py:109 models.py:2104
+#: ishtar_menu.py:109 models.py:2107
msgid "Imports"
msgstr ""
-#: ishtar_menu.py:112 views.py:1458
+#: ishtar_menu.py:112 views.py:1492
msgid "New import"
msgstr ""
-#: ishtar_menu.py:116 views.py:1472
+#: ishtar_menu.py:116 views.py:1506
msgid "Current imports"
msgstr ""
@@ -569,7 +569,7 @@ msgstr ""
msgid "This item already exists."
msgstr ""
-#: models.py:313 models.py:576 models.py:1341 models.py:1353
+#: models.py:313 models.py:576 models.py:1344 models.py:1356
msgid "Label"
msgstr ""
@@ -577,11 +577,11 @@ msgstr ""
msgid "Textual ID"
msgstr ""
-#: models.py:318 models.py:579 models.py:1310
+#: models.py:318 models.py:579 models.py:1313
msgid "Available"
msgstr ""
-#: models.py:598 models.py:1880
+#: models.py:598 models.py:1883
msgid "Key"
msgstr ""
@@ -589,180 +589,180 @@ msgstr ""
msgid "Specific key to an import"
msgstr ""
-#: models.py:695
+#: models.py:696
msgid "Last editor"
msgstr ""
-#: models.py:698
+#: models.py:699
msgid "Creator"
msgstr ""
-#: models.py:838 models.py:2734
+#: models.py:841 models.py:2770
msgid "Order"
msgstr ""
-#: models.py:839
+#: models.py:842
msgid "Symmetrical"
msgstr ""
-#: models.py:840
+#: models.py:843
msgid "Tiny label"
msgstr ""
-#: models.py:854
+#: models.py:857
msgid "Cannot have symmetrical and an inverse_relation"
msgstr ""
-#: models.py:968
+#: models.py:971
msgid "Euro"
msgstr ""
-#: models.py:969
+#: models.py:972
msgid "US dollar"
msgstr ""
-#: models.py:975 models.py:1591
+#: models.py:978 models.py:1594
msgid "Slug"
msgstr ""
-#: models.py:977
+#: models.py:980
msgid "Files module"
msgstr ""
-#: models.py:978
+#: models.py:981
msgid "Context records module"
msgstr ""
-#: models.py:980
+#: models.py:983
msgid "Finds module"
msgstr ""
-#: models.py:981
+#: models.py:984
msgid "Need context records module"
msgstr ""
-#: models.py:983
+#: models.py:986
msgid "Warehouses module"
msgstr ""
-#: models.py:984
+#: models.py:987
msgid "Need finds module"
msgstr ""
-#: models.py:986
+#: models.py:989
msgid "Home page"
msgstr ""
-#: models.py:987
+#: models.py:990
#, 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:991
+#: models.py:994
msgid "File external id"
msgstr ""
-#: models.py:993
+#: models.py:996
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:998
+#: models.py:1001
msgid "Parcel external id"
msgstr ""
-#: models.py:1001
+#: models.py:1004
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:1006
+#: models.py:1009
msgid "Context record external id"
msgstr ""
-#: models.py:1008
+#: models.py:1011
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:1013
+#: models.py:1016
msgid "Base find external id"
msgstr ""
-#: models.py:1015
+#: models.py:1018
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:1020
+#: models.py:1023
msgid "Find external id"
msgstr ""
-#: models.py:1022
+#: models.py:1025
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:1027
+#: models.py:1030
msgid "Raw name for person"
msgstr ""
-#: models.py:1029
+#: models.py:1032
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:1033
+#: models.py:1036
msgid "Current active"
msgstr ""
-#: models.py:1034
+#: models.py:1037
msgid "Currency"
msgstr ""
-#: models.py:1038
+#: models.py:1041
msgid "Ishtar site profile"
msgstr ""
-#: models.py:1039
+#: models.py:1042
msgid "Ishtar site profiles"
msgstr ""
-#: models.py:1095
+#: models.py:1098
msgid "Variable name"
msgstr ""
-#: models.py:1096
+#: models.py:1099
msgid "Description of the variable"
msgstr ""
-#: models.py:1098 models.py:1881
+#: models.py:1101 models.py:1884
msgid "Value"
msgstr ""
-#: models.py:1101
+#: models.py:1104
msgid "Global variable"
msgstr ""
-#: models.py:1211 models.py:1241
+#: models.py:1214 models.py:1244
msgid "Total"
msgstr ""
-#: models.py:1218 models.py:1342 models.py:1354
+#: models.py:1221 models.py:1345 models.py:1357
#: templates/ishtar/sheet_person.html:22
#: templates/ishtar/dashboards/dashboard_main_detail.html:141
#: templates/ishtar/dashboards/dashboard_main_detail_users.html:26
@@ -770,605 +770,605 @@ msgstr ""
msgid "Number"
msgstr ""
-#: models.py:1305
+#: models.py:1308
msgid "Administrative Act"
msgstr ""
-#: models.py:1309
+#: models.py:1312
msgid "Associated object"
msgstr ""
-#: models.py:1313
+#: models.py:1316
msgid "Document template"
msgstr ""
-#: models.py:1314
+#: models.py:1317
msgid "Document templates"
msgstr ""
-#: models.py:1345 models.py:1355 models.py:2088
+#: models.py:1348 models.py:1358 models.py:2091
msgid "State"
msgstr ""
-#: models.py:1359 templates/blocks/JQueryAdvancedTown.html:12
+#: models.py:1362 templates/blocks/JQueryAdvancedTown.html:12
msgid "Department"
msgstr ""
-#: models.py:1360
+#: models.py:1363
msgid "Departments"
msgstr ""
-#: models.py:1397
+#: models.py:1400
msgid "Raw phone"
msgstr ""
-#: models.py:1403
+#: models.py:1406
msgid "Alternative address is prefered"
msgstr ""
-#: models.py:1442
+#: models.py:1445
msgid "Tel: "
msgstr ""
-#: models.py:1446
+#: models.py:1449
msgid "Mobile: "
msgstr ""
-#: models.py:1450
+#: models.py:1453
msgid "Email: "
msgstr ""
-#: models.py:1455
+#: models.py:1458
msgid "Merge key"
msgstr ""
-#: models.py:1529
+#: models.py:1532
msgid "Organization types"
msgstr ""
-#: models.py:1545 views.py:234
+#: models.py:1548 views.py:234
msgid "Operation"
msgstr ""
-#: models.py:1547
+#: models.py:1550
msgid "Archaeological site"
msgstr ""
-#: models.py:1548
+#: models.py:1551
msgid "Parcels"
msgstr ""
-#: models.py:1550
+#: models.py:1553
msgid "Operation source"
msgstr ""
-#: models.py:1553 views.py:1265 views.py:1316
+#: models.py:1556 views.py:1299 views.py:1350
msgid "Archaeological files"
msgstr ""
-#: models.py:1555 views.py:1268 views.py:1324
+#: models.py:1558 views.py:1302 views.py:1358
msgid "Context records"
msgstr ""
-#: models.py:1557
+#: models.py:1560
msgid "Context record relations"
msgstr ""
-#: models.py:1559 views.py:1270 views.py:1327
+#: models.py:1562 views.py:1304 views.py:1361
msgid "Finds"
msgstr ""
-#: models.py:1595 templates/ishtar/dashboards/dashboard_main.html:25
+#: models.py:1598 templates/ishtar/dashboards/dashboard_main.html:25
msgid "Users"
msgstr ""
-#: models.py:1597
+#: models.py:1600
msgid "Associated model"
msgstr ""
-#: models.py:1600
+#: models.py:1603
msgid "Is template"
msgstr ""
-#: models.py:1601
+#: models.py:1604
msgid "Unicity keys (separator \";\")"
msgstr ""
-#: models.py:1605
+#: models.py:1608
msgid "Importer - Type"
msgstr ""
-#: models.py:1606
+#: models.py:1609
msgid "Importer - Types"
msgstr ""
-#: models.py:1696
+#: models.py:1699
msgid "Importer - Default"
msgstr ""
-#: models.py:1697
+#: models.py:1700
msgid "Importer - Defaults"
msgstr ""
-#: models.py:1732
+#: models.py:1735
msgid "Importer - Default value"
msgstr ""
-#: models.py:1733
+#: models.py:1736
msgid "Importer - Default values"
msgstr ""
-#: models.py:1765
+#: models.py:1768
msgid "Column number"
msgstr ""
-#: models.py:1768
+#: models.py:1771
msgid "Required"
msgstr ""
-#: models.py:1771
+#: models.py:1774
msgid "Importer - Column"
msgstr ""
-#: models.py:1772
+#: models.py:1775
msgid "Importer - Columns"
msgstr ""
-#: models.py:1792
+#: models.py:1795
msgid "Field name"
msgstr ""
-#: models.py:1794 models.py:1828
+#: models.py:1797 models.py:1831
msgid "Force creation of new items"
msgstr ""
-#: models.py:1796 models.py:1830
+#: models.py:1799 models.py:1833
msgid "Concatenate with existing"
msgstr ""
-#: models.py:1798 models.py:1832
+#: models.py:1801 models.py:1835
msgid "Concatenate character"
msgstr ""
-#: models.py:1802
+#: models.py:1805
msgid "Importer - Duplicate field"
msgstr ""
-#: models.py:1803
+#: models.py:1806
msgid "Importer - Duplicate fields"
msgstr ""
-#: models.py:1810
+#: models.py:1813
msgid "Regular expression"
msgstr ""
-#: models.py:1813
+#: models.py:1816
msgid "Importer - Regular expression"
msgstr ""
-#: models.py:1814
+#: models.py:1817
msgid "Importer - Regular expressions"
msgstr ""
-#: models.py:1837
+#: models.py:1840
msgid "Importer - Target"
msgstr ""
-#: models.py:1838
+#: models.py:1841
msgid "Importer - Targets"
msgstr ""
-#: models.py:1862 views.py:518
+#: models.py:1865 views.py:518
msgid "True"
msgstr ""
-#: models.py:1863 views.py:520
+#: models.py:1866 views.py:520
msgid "False"
msgstr ""
-#: models.py:1882
+#: models.py:1885
msgid "Is set"
msgstr ""
-#: models.py:1889
+#: models.py:1892
msgid "Importer - Target key"
msgstr ""
-#: models.py:1890
+#: models.py:1893
msgid "Importer - Targets keys"
msgstr ""
-#: models.py:1942 models.py:2633 models.py:2646
+#: models.py:1945 models.py:2669 models.py:2682
msgid "Format"
msgstr ""
-#: models.py:1943 models.py:2738
+#: models.py:1946 models.py:2774
msgid "Operation type"
msgstr ""
-#: models.py:1944
+#: models.py:1947
msgid "Period"
msgstr ""
-#: models.py:1945
+#: models.py:1948
msgid "Report state"
msgstr ""
-#: models.py:1946
+#: models.py:1949
msgid "Unit"
msgstr ""
-#: models.py:1947
+#: models.py:1950
msgid "Material"
msgstr ""
-#: models.py:1949
+#: models.py:1952
msgid "Conservatory state"
msgstr ""
-#: models.py:1950
+#: models.py:1953
msgid "Preservation type"
msgstr ""
-#: models.py:1951
+#: models.py:1954
msgid "Object type"
msgstr ""
-#: models.py:1953
+#: models.py:1956
msgid "Identification type"
msgstr ""
-#: models.py:1955
+#: models.py:1958
msgid "Context record relation type"
msgstr ""
-#: models.py:1956 models.py:2625
+#: models.py:1959 models.py:2661
msgid "Support type"
msgstr ""
-#: models.py:1962
+#: models.py:1965
msgid "Integer"
msgstr ""
-#: models.py:1963
+#: models.py:1966
msgid "Float"
msgstr ""
-#: models.py:1964
+#: models.py:1967
msgid "String"
msgstr ""
-#: models.py:1965 templates/sheet_ope.html:86
+#: models.py:1968 templates/sheet_ope.html:86
msgid "Date"
msgstr ""
-#: models.py:1967 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83
+#: models.py:1970 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83
#: templates/ishtar/dashboards/dashboard_main_detail.html:126
msgid "Year"
msgstr ""
-#: models.py:1968
+#: models.py:1971
msgid "String to boolean"
msgstr ""
-#: models.py:1969
+#: models.py:1972
msgctxt "filesystem"
msgid "File"
msgstr ""
-#: models.py:1970
+#: models.py:1973
msgid "Unknow type"
msgstr ""
-#: models.py:1986
+#: models.py:1989
msgid "4 digit year. e.g.: \"2015\""
msgstr ""
-#: models.py:1987
+#: models.py:1990
msgid "4 digit year/month/day. e.g.: \"2015/02/04\""
msgstr ""
-#: models.py:1988
+#: models.py:1991
msgid "Day/month/4 digit year. e.g.: \"04/02/2015\""
msgstr ""
-#: models.py:1998
+#: models.py:2001
msgid "Options"
msgstr ""
-#: models.py:2000
+#: models.py:2003
msgid "Split character(s)"
msgstr ""
-#: models.py:2004
+#: models.py:2007
msgid "Importer - Formater type"
msgstr ""
-#: models.py:2005
+#: models.py:2008
msgid "Importer - Formater types"
msgstr ""
-#: models.py:2052 templates/ishtar/dashboards/dashboard_main_detail.html:63
+#: models.py:2055 templates/ishtar/dashboards/dashboard_main_detail.html:63
msgid "Created"
msgstr ""
-#: models.py:2053
+#: models.py:2056
msgid "Analyse in progress"
msgstr ""
-#: models.py:2054
+#: models.py:2057
msgid "Analysed"
msgstr ""
-#: models.py:2055
+#: models.py:2058
msgid "Import pending"
msgstr ""
-#: models.py:2056
+#: models.py:2059
msgid "Import in progress"
msgstr ""
-#: models.py:2057
+#: models.py:2060
msgid "Finished with errors"
msgstr ""
-#: models.py:2058
+#: models.py:2061
msgid "Finished"
msgstr ""
-#: models.py:2059
+#: models.py:2062
msgid "Archived"
msgstr ""
-#: models.py:2071
+#: models.py:2074
msgid "Imported file"
msgstr ""
-#: models.py:2074
+#: models.py:2077
msgid "Associated images (zip file)"
msgstr ""
-#: models.py:2076
+#: models.py:2079
msgid "Encoding"
msgstr ""
-#: models.py:2078
+#: models.py:2081
msgid "Skip lines"
msgstr ""
-#: models.py:2079 templates/ishtar/import_list.html:47
+#: models.py:2082 templates/ishtar/import_list.html:47
msgid "Error file"
msgstr ""
-#: models.py:2082
+#: models.py:2085
msgid "Result file"
msgstr ""
-#: models.py:2085 templates/ishtar/import_list.html:53
+#: models.py:2088 templates/ishtar/import_list.html:53
msgid "Match file"
msgstr ""
-#: models.py:2091
+#: models.py:2094
msgid "Conservative import"
msgstr ""
-#: models.py:2096
+#: models.py:2099
msgid "End date"
msgstr ""
-#: models.py:2098
+#: models.py:2101
msgid "Remaining seconds"
msgstr ""
-#: models.py:2103
+#: models.py:2106
msgid "Import"
msgstr ""
-#: models.py:2120
+#: models.py:2123
msgid "Analyse"
msgstr ""
-#: models.py:2122 models.py:2125
+#: models.py:2125 models.py:2128
msgid "Re-analyse"
msgstr ""
-#: models.py:2123
+#: models.py:2126
msgid "Launch import"
msgstr ""
-#: models.py:2126
+#: models.py:2129
msgid "Re-import"
msgstr ""
-#: models.py:2127
+#: models.py:2130
msgid "Archive"
msgstr ""
-#: models.py:2129
+#: models.py:2132
msgid "Unarchive"
msgstr ""
-#: models.py:2263
+#: models.py:2274
msgid "Organizations"
msgstr ""
-#: models.py:2265
+#: models.py:2276
msgid "Can view all Organizations"
msgstr ""
-#: models.py:2266
+#: models.py:2277
msgid "Can view own Organization"
msgstr ""
-#: models.py:2267
+#: models.py:2278
msgid "Can add own Organization"
msgstr ""
-#: models.py:2269
+#: models.py:2280
msgid "Can change own Organization"
msgstr ""
-#: models.py:2271
+#: models.py:2282
msgid "Can delete own Organization"
msgstr ""
-#: models.py:2306
+#: models.py:2317
msgid "Groups"
msgstr ""
-#: models.py:2311
+#: models.py:2322
msgid "Person types"
msgstr ""
-#: models.py:2319
+#: models.py:2330
msgid "Title type"
msgstr ""
-#: models.py:2320
+#: models.py:2331
msgid "Title types"
msgstr ""
-#: models.py:2329
+#: models.py:2340
msgid "Mr"
msgstr ""
-#: models.py:2330
+#: models.py:2341
msgid "Miss"
msgstr ""
-#: models.py:2331
+#: models.py:2342
msgid "Mr and Mrs"
msgstr ""
-#: models.py:2332
+#: models.py:2343
msgid "Mrs"
msgstr ""
-#: models.py:2333
+#: models.py:2344
msgid "Doctor"
msgstr ""
-#: models.py:2351
+#: models.py:2374
msgid "Contact type"
msgstr ""
-#: models.py:2354 models.py:2418
+#: models.py:2377 models.py:2441
msgid "Types"
msgstr ""
-#: models.py:2357
+#: models.py:2380
msgid "Is attached to"
msgstr ""
-#: models.py:2362
+#: models.py:2385
msgid "Persons"
msgstr ""
-#: models.py:2364
+#: models.py:2387
msgid "Can view all Persons"
msgstr ""
-#: models.py:2365
+#: models.py:2388
msgid "Can view own Person"
msgstr ""
-#: models.py:2366
+#: models.py:2389
msgid "Can add own Person"
msgstr ""
-#: models.py:2367
+#: models.py:2390
msgid "Can change own Person"
msgstr ""
-#: models.py:2368
+#: models.py:2391
msgid "Can delete own Person"
msgstr ""
-#: models.py:2533
+#: models.py:2569
msgid "Advanced shortcut menu"
msgstr ""
-#: models.py:2536
+#: models.py:2572
msgid "Ishtar user"
msgstr ""
-#: models.py:2537
+#: models.py:2573
msgid "Ishtar users"
msgstr ""
-#: models.py:2580
+#: models.py:2616
msgid "To modify the password use the form in Auth > User"
msgstr ""
-#: models.py:2586
+#: models.py:2622
msgid "Author types"
msgstr ""
-#: models.py:2618
+#: models.py:2654
msgid "Source types"
msgstr ""
-#: models.py:2626
+#: models.py:2662
msgid "Support types"
msgstr ""
-#: models.py:2634
+#: models.py:2670
msgid "Formats"
msgstr ""
-#: models.py:2641
+#: models.py:2677
msgid "External ID"
msgstr ""
-#: models.py:2644
+#: models.py:2680
msgid "Support"
msgstr ""
-#: models.py:2648
+#: models.py:2684
msgid "Scale"
msgstr ""
-#: models.py:2662
+#: models.py:2698
msgid "Item number"
msgstr ""
-#: models.py:2663
+#: models.py:2699
msgid "Ref."
msgstr ""
-#: models.py:2666
+#: models.py:2702
msgid "Internal ref."
msgstr ""
-#: models.py:2709
+#: models.py:2745
msgid "Surface (m2)"
msgstr ""
-#: models.py:2710 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
+#: models.py:2746 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
msgid "Localisation"
msgstr ""
-#: models.py:2735
+#: models.py:2771
msgid "Is preventive"
msgstr ""
-#: models.py:2739
+#: models.py:2775
msgid "Operation types"
msgstr ""
-#: models.py:2768
+#: models.py:2804
msgid "Preventive"
msgstr ""
-#: models.py:2769
+#: models.py:2805
msgid "Research"
msgstr ""
-#: utils.py:64
+#: utils.py:74
msgid " (...)"
msgstr ""
-#: utils.py:97
+#: utils.py:107
msgid "Load another random image?"
msgstr ""
@@ -1416,44 +1416,44 @@ msgstr ""
msgid "Find"
msgstr ""
-#: views.py:1178 views.py:1247
+#: views.py:1238 views.py:1281
msgid "Operation not permitted."
msgstr ""
-#: views.py:1180
+#: views.py:1240
#, python-format
msgid "New %s"
msgstr ""
-#: views.py:1266 views.py:1320
+#: views.py:1300 views.py:1354
msgid "Operations"
msgstr ""
-#: views.py:1519 templates/ishtar/import_list.html:43
+#: views.py:1553 templates/ishtar/import_list.html:43
msgid "Link unmatched items"
msgstr ""
-#: views.py:1534
+#: views.py:1568
msgid "Delete import"
msgstr ""
-#: views.py:1573
+#: views.py:1607
msgid "Merge persons"
msgstr ""
-#: views.py:1597
+#: views.py:1631
msgid "Select the main person"
msgstr ""
-#: views.py:1606
+#: views.py:1640
msgid "Merge organization"
msgstr ""
-#: views.py:1616
+#: views.py:1650
msgid "Select the main organization"
msgstr ""
-#: views.py:1656 views.py:1672
+#: views.py:1690 views.py:1706
msgid "Corporation manager"
msgstr ""
@@ -1461,15 +1461,15 @@ msgstr ""
msgid "Search..."
msgstr ""
-#: widgets.py:610 templatetags/window_tables.py:79
+#: widgets.py:623 templatetags/window_tables.py:79
msgid "No results"
msgstr ""
-#: widgets.py:611 templatetags/window_tables.py:80
+#: widgets.py:624 templatetags/window_tables.py:80
msgid "Loading..."
msgstr ""
-#: widgets.py:612
+#: widgets.py:625
msgid "Remove"
msgstr ""
@@ -1848,7 +1848,7 @@ msgstr ""
msgid "where the magic happens."
msgstr ""
-#: templates/window.html:40 templates/blocks/JQueryJqGrid.html:25
+#: templates/window.html:40 templates/blocks/JQueryJqGrid.html:28
#: templates/ishtar/manage_basket.html:9
msgid "Add"
msgstr ""
@@ -1870,13 +1870,13 @@ msgstr ""
msgid "Search and select an item"
msgstr ""
-#: templates/blocks/JQueryJqGrid.html:17 templates/blocks/JQueryJqGrid.html:20
+#: templates/blocks/JQueryJqGrid.html:17 templates/blocks/JQueryJqGrid.html:23
#: templates/ishtar/blocks/window_tables/dynamic_documents.html:9
#: templates/ishtar/blocks/window_tables/dynamic_documents.html:12
msgid "Export as CSV"
msgstr ""
-#: templates/blocks/JQueryJqGrid.html:17 templates/blocks/JQueryJqGrid.html:20
+#: templates/blocks/JQueryJqGrid.html:17 templates/blocks/JQueryJqGrid.html:23
#: templates/ishtar/blocks/window_tables/dynamic_documents.html:9
msgid "CSV"
msgstr ""
@@ -1891,7 +1891,11 @@ msgstr ""
msgid "CSV full"
msgstr ""
-#: templates/blocks/JQueryJqGrid.html:96
+#: templates/blocks/JQueryJqGrid.html:20
+msgid "Export as CSV - "
+msgstr ""
+
+#: templates/blocks/JQueryJqGrid.html:99
#: templates/ishtar/blocks/window_tables/dynamic_documents.html:41
msgid "An error as occured during search. Check your query fields."
msgstr ""
@@ -2127,50 +2131,50 @@ msgstr ""
msgid "Documents associated to finds"
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:7
-#: templates/ishtar/blocks/shortcut_menu.html:7
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:15
+#: templates/ishtar/blocks/shortcut_menu.html:15
msgid ""
"Simple menu limited to your own items. Be careful only the last 100 items "
"are displayed."
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:7
-#: templates/ishtar/blocks/shortcut_menu.html:7
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:15
+#: templates/ishtar/blocks/shortcut_menu.html:15
msgid "simple"
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:8
-#: templates/ishtar/blocks/shortcut_menu.html:8
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:16
+#: templates/ishtar/blocks/shortcut_menu.html:16
msgid "Advanced menu."
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:8
-#: templates/ishtar/blocks/shortcut_menu.html:8
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:16
+#: templates/ishtar/blocks/shortcut_menu.html:16
msgid "advanced"
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:11
-#: templates/ishtar/blocks/shortcut_menu.html:10
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:19
+#: templates/ishtar/blocks/shortcut_menu.html:19
msgid ""
"Pin an item in order to constrain default searches with this item. By "
"default only your items are displayed. New created and modified items are "
"auto-pin."
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:13
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:21
msgid "Search within my items"
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:14
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:22
msgid "Search within all items"
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:17
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:25
msgid "Refresh menu"
msgstr ""
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:28
-#: templates/ishtar/blocks/shortcut_menu.html:22
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:36
+#: templates/ishtar/blocks/shortcut_menu.html:31
msgid "Unpin"
msgstr ""
diff --git a/translations/fr/archaeological_context_records.po b/translations/fr/archaeological_context_records.po
index 0a4be998d..b5ede5ba3 100644
--- a/translations/fr/archaeological_context_records.po
+++ b/translations/fr/archaeological_context_records.po
@@ -16,11 +16,11 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.5\n"
-#: forms.py:47 forms.py:51 models.py:143 wizards.py:77
+#: forms.py:47 forms.py:51 models.py:164 wizards.py:77
msgid "Operation"
msgstr "Opération"
-#: forms.py:59 forms.py:137 models.py:145
+#: forms.py:59 forms.py:137 models.py:166
msgid "ID"
msgstr "Identifiant"
@@ -44,7 +44,7 @@ msgstr "Entité Archéologique"
msgid "Search within operation relations"
msgstr "Rechercher parmi les opérations reliées"
-#: forms.py:77 forms.py:230 models.py:55
+#: forms.py:77 forms.py:232 models.py:55
msgid "Period"
msgstr "Période"
@@ -60,7 +60,7 @@ msgstr "Parcelle (section/nombre/domaine public)"
msgid "Search within relations"
msgstr "Recherche parmi les relations"
-#: forms.py:111 forms.py:335 views.py:133
+#: forms.py:111 forms.py:335 views.py:88
msgid "Context record search"
msgstr "Recherche d'Unité d'Enregistrement"
@@ -72,47 +72,51 @@ msgstr "Vous devez sélectionner au moins une Unité d'Enregistrement."
msgid "General"
msgstr "Général"
-#: forms.py:136 models.py:131 models.py:141
+#: forms.py:136 models.py:131 models.py:162
msgid "Parcel"
msgstr "Parcelle"
-#: forms.py:139 models.py:146 templates/ishtar/sheet_contextrecord.html:25
+#: forms.py:139 models.py:167 templates/ishtar/sheet_contextrecord.html:27
msgid "Description"
msgstr "Description"
-#: forms.py:141 models.py:147
+#: forms.py:141 models.py:168
msgid "General comment"
msgstr "Commentaire général"
-#: forms.py:143 models.py:151
+#: forms.py:143 models.py:172
msgid "Length (m)"
msgstr "Taille (m)"
-#: forms.py:144 models.py:152
+#: forms.py:144 models.py:173
msgid "Width (m)"
msgstr "Largeur (m)"
-#: forms.py:145 models.py:153
+#: forms.py:145 models.py:174
msgid "Thickness (m)"
msgstr "Épaisseur (m)"
-#: forms.py:146 models.py:155
+#: forms.py:146 models.py:176
msgid "Depth (m)"
msgstr "Profondeur (m)"
-#: forms.py:147 models.py:163
+#: forms.py:147 models.py:184
msgid "Unit"
msgstr "Unité"
-#: forms.py:149 models.py:157
+#: forms.py:148 models.py:186
+msgid "Has furniture?"
+msgstr "Contient du mobilier ?"
+
+#: forms.py:151 models.py:178
msgid "Location"
msgstr "Lieu"
-#: forms.py:152
+#: forms.py:154
msgid "Image"
msgstr "Image"
-#: forms.py:153
+#: forms.py:155
#, python-format
msgid ""
"<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</"
@@ -121,76 +125,72 @@ msgstr ""
"<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le "
"ratio est conservé).</p>"
-#: forms.py:219
+#: forms.py:221
msgid "This ID already exists for this operation."
msgstr "Cet identifiant existe déjà pour cette opération."
-#: forms.py:225 forms.py:252 models.py:66
+#: forms.py:227 forms.py:254 models.py:66
msgid "Dating"
msgstr "Datation"
-#: forms.py:231 models.py:56
+#: forms.py:233 models.py:56
msgid "Start date"
msgstr "Date de début"
-#: forms.py:232 models.py:57 models.py:150
+#: forms.py:234 models.py:57 models.py:171
msgid "End date"
msgstr "Date de fin"
-#: forms.py:233 models.py:60
+#: forms.py:235 models.py:60
msgid "Quality"
msgstr "Qualité"
-#: forms.py:234 models.py:38 models.py:58
+#: forms.py:236 models.py:38 models.py:58
msgid "Dating type"
msgstr "Type de datation"
-#: forms.py:261 ishtar_menu.py:29 models.py:403
+#: forms.py:263 ishtar_menu.py:29 models.py:457
msgid "Context record"
msgstr "Unité d'Enregistrement"
-#: forms.py:282
+#: forms.py:284
msgid "Relations"
msgstr "Relations"
-#: forms.py:286 forms.py:296 models.py:168
-#: templates/ishtar/sheet_contextrecord.html:37
+#: forms.py:288 forms.py:296 models.py:189
+#: templates/ishtar/sheet_contextrecord.html:39
msgid "Interpretation"
msgstr "Interprétation"
-#: forms.py:290
+#: forms.py:292
msgid "Comments on dating"
msgstr "Commentaires sur la datation"
-#: forms.py:292 models.py:165
-msgid "Has furniture?"
-msgstr "Contient du mobilier ?"
-
-#: forms.py:294 models.py:167
+#: forms.py:294 models.py:188
msgid "Filling"
msgstr "Remplissage"
-#: forms.py:298 models.py:188
+#: forms.py:298 models.py:209
msgid "Activity"
msgstr "Activité"
-#: forms.py:300 models.py:186
+#: forms.py:300 models.py:207
msgid "Identification"
msgstr "Identification"
-#: forms.py:302 models.py:171
+#: forms.py:302 models.py:192
msgid "TAQ"
msgstr "TAQ"
-#: forms.py:303 models.py:175
+#: forms.py:303 models.py:196
msgid "Estimated TAQ"
msgstr "TAQ estimé"
-#: forms.py:305 models.py:178
+#: forms.py:305 models.py:199
msgid "TPQ"
msgstr "TPQ"
-#: forms.py:306 models.py:182
+#: forms.py:306 models.py:203
msgid "Estimated TPQ"
msgstr "TPQ estimé"
@@ -314,27 +314,27 @@ msgstr "Type d'identification"
msgid "Identification Types"
msgstr "Types d'identification"
-#: models.py:138
+#: models.py:159
msgid "External ID"
msgstr "ID externe"
-#: models.py:140
+#: models.py:161
msgid "External ID is set automatically"
msgstr "L'identifiant externe est configuré automatiquement"
-#: models.py:148
+#: models.py:169
msgid "Date d'ouverture"
msgstr "Date d'ouverture"
-#: models.py:158
+#: models.py:179
msgid "A short description of the location of the context record"
msgstr "Une courte description de la localisation de l'Unité d'Enregistrement"
-#: models.py:161
+#: models.py:182
msgid "Comment on datings"
msgstr "Commentaire sur les datations"
-#: models.py:172
+#: models.py:193
msgid ""
"\"Terminus Ante Quem\" the context record can't have been created after this "
"date"
@@ -342,11 +342,11 @@ msgstr ""
"« Terminus Ante Quem » l'Unité d'Enregistrement ne peut avoir été créée "
"après cette date"
-#: models.py:176
+#: models.py:197
msgid "Estimation of a \"Terminus Ante Quem\""
msgstr "Estimation d'un « Terminus Ante Quem »"
-#: models.py:179
+#: models.py:200
msgid ""
"\"Terminus Post Quem\" the context record can't have been created before "
"this date"
@@ -354,212 +354,212 @@ msgstr ""
"« Terminus Post Quem » l'Unité d'Enregistrement ne peut avoir été créée "
"avant cette date"
-#: models.py:183
+#: models.py:204
msgid "Estimation of a \"Terminus Post Quem\""
msgstr "Estimation d'un « Terminus Post Quem »"
-#: models.py:191
+#: models.py:212
msgid "Point"
msgstr "Point"
-#: models.py:192
+#: models.py:213
msgid "Polygon"
msgstr "Polygone"
-#: models.py:193
+#: models.py:214
msgid "Cached name"
msgstr "Nom en cache"
-#: models.py:197 models.py:198 templates/ishtar/sheet_contextrecord.html:4
+#: models.py:218 models.py:219 templates/ishtar/sheet_contextrecord.html:4
msgid "Context Record"
msgstr "Unité d'Enregistrement"
-#: models.py:200
+#: models.py:221
msgid "Can view all Context Records"
msgstr "Peut voir toutes les Unités d'Enregistrement"
-#: models.py:202
+#: models.py:223
msgid "Can view own Context Record"
msgstr "Peut voir sa propre Unité d'Enregistrement"
-#: models.py:204
+#: models.py:225
msgid "Can add own Context Record"
msgstr "Peut ajouter sa propre Unité d'Enregistrement"
-#: models.py:206
+#: models.py:227
msgid "Can change own Context Record"
msgstr "Peut modifier sa propre Unité d'Enregistrement"
-#: models.py:208
+#: models.py:229
msgid "Can delete own Context Record"
msgstr "Peut supprimer sa propre Unité d'Enregistrement"
-#: models.py:218
+#: models.py:239
msgctxt "short"
msgid "Context record"
msgstr "UE"
-#: models.py:350
+#: models.py:375
msgid "Inverse relation"
msgstr "Relation inverse"
-#: models.py:354 models.py:378
+#: models.py:379 models.py:403
msgid "Relation type"
msgstr "Type de relation"
-#: models.py:355
+#: models.py:380
msgid "Relation types"
msgstr "Types de relation"
-#: models.py:373
+#: models.py:398
msgid "ID (left)"
msgstr "ID (gauche)"
-#: models.py:374
+#: models.py:399
msgid "Unit (left)"
msgstr "Unité (gauche)"
-#: models.py:375
+#: models.py:400
msgid "Parcel (left)"
msgstr "Parcelle (gauche)"
-#: models.py:376
+#: models.py:401
msgid "Description (left)"
msgstr "Description (gauche)"
-#: models.py:377
+#: models.py:402
msgid "Periods (left)"
msgstr "Périodes (gauche)"
-#: models.py:379
+#: models.py:404
msgid "Unit (right)"
msgstr "Unité (droite)"
-#: models.py:380 models.py:381
+#: models.py:405 models.py:406
msgid "Parcel (right)"
msgstr "Parcelle (droite)"
-#: models.py:382
+#: models.py:407
msgid "Description (right)"
msgstr "Description (droite)"
-#: models.py:383
+#: models.py:408
msgid "Periods (right)"
msgstr "Périodes (droite)"
-#: models.py:387
+#: models.py:417
msgid "Record relation"
msgstr "Relation entre Unités d'Enregistrement"
-#: models.py:388
+#: models.py:418
msgid "Record relations"
msgstr "Relations entre Unités d'Enregistrement"
-#: models.py:400
+#: models.py:454
msgid "Context record documentation"
msgstr "Documentation d'une Unité d'Enregistrement"
-#: models.py:401
+#: models.py:455
msgid "Context record documentations"
msgstr "Documentations des Unités d'Enregistrement"
-#: views.py:143
+#: views.py:98
msgid "New context record"
msgstr "Nouvelle Unité d'Enregistrement"
-#: views.py:154
+#: views.py:109
msgid "Context record modification"
msgstr "Modification d'une Unité d'Enregistrement"
-#: views.py:168
+#: views.py:123
msgid "Context record deletion"
msgstr "Suppression d'une Unité d'Enregistrement"
-#: views.py:173
+#: views.py:128
msgid "Context record: source search"
msgstr "Unité d'Enregistrement : recherche de documentation associée"
-#: views.py:181
+#: views.py:136
msgid "Context record: new source"
msgstr "Unité d'Enregistrement : nouvelle documentation associée"
-#: views.py:189
+#: views.py:144
msgid "Context record: source modification"
msgstr "Unité d'Enregistrement : modification d'une documentation associée"
-#: views.py:204
+#: views.py:159
msgid "Context record: source deletion"
msgstr "Unité d'Enregistrement : suppression d'une documentation associée"
-#: templates/ishtar/sheet_contextrecord.html:14
+#: templates/ishtar/sheet_contextrecord.html:17
msgid "Complete ID:"
msgstr "ID complet :"
-#: templates/ishtar/sheet_contextrecord.html:14
+#: templates/ishtar/sheet_contextrecord.html:17
msgid "Temporary ID:"
msgstr "ID temporaire :"
-#: templates/ishtar/sheet_contextrecord.html:49
+#: templates/ishtar/sheet_contextrecord.html:51
msgid "Datations"
msgstr "Datations"
-#: templates/ishtar/sheet_contextrecord.html:58
+#: templates/ishtar/sheet_contextrecord.html:60
msgid "Context record relations"
msgstr "Relations entre Unités d'Enregistrement"
-#: templates/ishtar/sheet_contextrecord.html:65
+#: templates/ishtar/sheet_contextrecord.html:67
msgid "Operation summary"
msgstr "Résumé de l'opération"
-#: templates/ishtar/sheet_contextrecord.html:67
+#: templates/ishtar/sheet_contextrecord.html:69
msgid "Patriarche OA code not yet recorded!"
msgstr "Code d'opération Patriarche non renseigné !"
-#: templates/ishtar/sheet_contextrecord.html:74
+#: templates/ishtar/sheet_contextrecord.html:76
msgid "State:"
msgstr "État :"
-#: templates/ishtar/sheet_contextrecord.html:74
+#: templates/ishtar/sheet_contextrecord.html:76
msgid "Active file"
msgstr "Dossier actif"
-#: templates/ishtar/sheet_contextrecord.html:74
+#: templates/ishtar/sheet_contextrecord.html:76
msgid "Closed operation"
msgstr "Opération fermée"
-#: templates/ishtar/sheet_contextrecord.html:76
+#: templates/ishtar/sheet_contextrecord.html:78
msgid "Closing date:"
msgstr "Date de clôture :"
-#: templates/ishtar/sheet_contextrecord.html:76
+#: templates/ishtar/sheet_contextrecord.html:78
msgid "by"
msgstr "par"
-#: templates/ishtar/sheet_contextrecord.html:84
+#: templates/ishtar/sheet_contextrecord.html:86
msgid "Localisation"
msgstr "Lieu"
-#: templates/ishtar/sheet_contextrecord.html:85
+#: templates/ishtar/sheet_contextrecord.html:87
msgid "Towns:"
msgstr "Communes :"
-#: templates/ishtar/sheet_contextrecord.html:86
+#: templates/ishtar/sheet_contextrecord.html:88
msgid "Related operation:"
msgstr "Opération associée :"
-#: templates/ishtar/sheet_contextrecord.html:88
+#: templates/ishtar/sheet_contextrecord.html:90
msgid "No operation linked to this context unit!"
msgstr "Pas d'opération rattachée à cette UE !"
-#: templates/ishtar/sheet_contextrecord.html:91
+#: templates/ishtar/sheet_contextrecord.html:93
msgid "Document from this context record"
msgstr "Document associé à cette Unité d'Enregistrement"
-#: templates/ishtar/sheet_contextrecord.html:96
+#: templates/ishtar/sheet_contextrecord.html:98
msgid "Finds"
msgstr "Mobilier"
-#: templates/ishtar/sheet_contextrecord.html:101
+#: templates/ishtar/sheet_contextrecord.html:103
msgid "Documents from associated finds"
msgstr "Documents du mobilier associé"
diff --git a/translations/fr/archaeological_files.po b/translations/fr/archaeological_files.po
index 363f81b00..925f44322 100644
--- a/translations/fr/archaeological_files.po
+++ b/translations/fr/archaeological_files.po
@@ -18,11 +18,11 @@ msgstr ""
"X-Generator: Zanata 3.9.5\n"
#: forms.py:52 forms.py:212 forms.py:257 forms.py:404 forms.py:431
-#: models.py:84 templates/ishtar/sheet_file.html:146
+#: models.py:108 templates/ishtar/sheet_file.html:146
msgid "Year"
msgstr "Année"
-#: forms.py:53 forms.py:217 forms.py:259 models.py:87
+#: forms.py:53 forms.py:217 forms.py:259 models.py:111
msgid "Numeric reference"
msgstr "Référence numérique"
@@ -34,7 +34,7 @@ msgstr "Autre référence"
msgid "Parcel (section/number/public domain)"
msgstr "Parcelle (section/nombre/domaine public)"
-#: forms.py:60 forms.py:415 forms.py:442 models.py:519
+#: forms.py:60 forms.py:415 forms.py:442 models.py:543
msgid "Department"
msgstr "Département"
@@ -42,7 +42,7 @@ msgstr "Département"
msgid "File name"
msgstr "Nom du dossier"
-#: forms.py:62 forms.py:158 forms.py:223 models.py:95
+#: forms.py:62 forms.py:158 forms.py:223 models.py:119
msgid "File type"
msgstr "Type de dossier"
@@ -54,15 +54,15 @@ msgstr "Est actif ?"
msgid "Saisine type"
msgstr "Type de saisine"
-#: forms.py:65 forms.py:311 models.py:60 models.py:126
+#: forms.py:65 forms.py:311 models.py:60 models.py:150
msgid "Permit type"
msgstr "Type de permis"
-#: forms.py:67 forms.py:314 models.py:127
+#: forms.py:67 forms.py:314 models.py:151
msgid "Permit reference"
msgstr "Référence du permis"
-#: forms.py:68 forms.py:229 forms.py:372 models.py:156
+#: forms.py:68 forms.py:229 forms.py:372 models.py:180
#: templates/ishtar/sheet_file.html:99
msgid "Comment"
msgstr "Commentaire"
@@ -71,7 +71,7 @@ msgstr "Commentaire"
msgid "In charge"
msgstr "Responsable"
-#: forms.py:77 forms.py:289 forms.py:453 models.py:102
+#: forms.py:77 forms.py:289 forms.py:453 models.py:126
msgid "General contractor"
msgstr "Aménageur"
@@ -95,11 +95,11 @@ msgstr "Recherche de dossiers archéologiques"
msgid "You should select a file."
msgstr "Vous devez sélectionner un dossier archéologique."
-#: forms.py:146 forms.py:221 models.py:135
+#: forms.py:146 forms.py:221 models.py:159
msgid "Creation date"
msgstr "Date de création"
-#: forms.py:147 forms.py:324 models.py:137
+#: forms.py:147 forms.py:324 models.py:161
msgid "Reception date"
msgstr "Date de réception"
@@ -127,23 +127,23 @@ msgstr "Date avant"
msgid "General"
msgstr "Général"
-#: forms.py:206 models.py:97
+#: forms.py:206 models.py:121
msgid "Person in charge"
msgstr "Responsable"
-#: forms.py:220 models.py:94
+#: forms.py:220 models.py:118
msgid "Name"
msgstr "Nom"
-#: forms.py:225 models.py:139
+#: forms.py:225 models.py:163
msgid "Related file"
msgstr "Dossier associé"
-#: forms.py:233 models.py:147
+#: forms.py:233 models.py:171
msgid "Total surface (m2)"
msgstr "Surface totale (m2)"
-#: forms.py:236 models.py:153
+#: forms.py:236 models.py:177
msgid "Main address"
msgstr "Adresse des terrains"
@@ -164,11 +164,11 @@ msgstr "Un autre dossier avec cet identifiant numérique existe."
msgid "Preventive informations"
msgstr "Information archéologie préventive"
-#: forms.py:301 models.py:114
+#: forms.py:301 models.py:138
msgid "Responsible for town planning service"
msgstr "Responsable au service instructeur"
-#: forms.py:317 models.py:150
+#: forms.py:317 models.py:174
msgid "Total developed surface (m2)"
msgstr "Surface totale aménagée (m2)"
@@ -177,15 +177,15 @@ msgstr "Surface totale aménagée (m2)"
msgid "Research archaeology"
msgstr "Archéologie programmée"
-#: forms.py:348 models.py:159 templates/ishtar/sheet_file.html:90
+#: forms.py:348 models.py:183 templates/ishtar/sheet_file.html:90
msgid "Departments"
msgstr "Départements"
-#: forms.py:359 models.py:168
+#: forms.py:359 models.py:192
msgid "Scientist in charge"
msgstr "Responsable scientifique"
-#: forms.py:361 models.py:162 templates/ishtar/sheet_file.html:92
+#: forms.py:361 models.py:186 templates/ishtar/sheet_file.html:92
msgid "Requested operation type"
msgstr "Type d'opération demandée"
@@ -193,11 +193,11 @@ msgstr "Type d'opération demandée"
msgid "Lead organization"
msgstr "Organisation porteuse du projet"
-#: forms.py:379 models.py:172 templates/ishtar/sheet_file.html:97
+#: forms.py:379 models.py:196 templates/ishtar/sheet_file.html:97
msgid "Classified area"
msgstr "Au sein d'un site classé"
-#: forms.py:381 models.py:174 templates/ishtar/sheet_file.html:98
+#: forms.py:381 models.py:198 templates/ishtar/sheet_file.html:98
msgid "Protected area"
msgstr "Au sein d'un secteur sauvegardé"
@@ -257,7 +257,7 @@ msgstr "Dossier : responsable"
msgid "File permit reference"
msgstr "Dossier : réf. du permis"
-#: ishtar_menu.py:33 models.py:196 templates/ishtar/sheet_file.html:4
+#: ishtar_menu.py:33 models.py:220 templates/ishtar/sheet_file.html:4
msgid "Archaeological file"
msgstr "Dossier"
@@ -301,7 +301,7 @@ msgstr "Tableau de bord"
msgid "General informations"
msgstr "Informations générales"
-#: ishtar_menu.py:87 models.py:197
+#: ishtar_menu.py:87 models.py:221
#: templates/ishtar/dashboards/dashboard_file.html:7
msgid "Archaeological files"
msgstr "Dossiers archéologiques"
@@ -322,147 +322,147 @@ msgstr "Types de permis"
msgid "Delay (in days)"
msgstr "Délai (en jours)"
-#: models.py:88
+#: models.py:112
msgid "Internal reference"
msgstr "Référence interne"
-#: models.py:90
+#: models.py:114
msgid "External ID"
msgstr "ID externe"
-#: models.py:93
+#: models.py:117
msgid "External ID is set automatically"
msgstr "L'identifiant externe est configuré automatiquement"
-#: models.py:105
+#: models.py:129
msgid "General contractor (raw)"
msgstr "Aménageur (brut)"
-#: models.py:109
+#: models.py:133
msgid "General contractor organization"
msgstr "Organisation de l'aménageur"
-#: models.py:117
+#: models.py:141
msgid "Town planning service (raw)"
msgstr "Service instructeur (brut)"
-#: models.py:123
+#: models.py:147
msgid "Town planning service organization"
msgstr "Service instructeur"
-#: models.py:129
+#: models.py:153
msgid "Closing date"
msgstr "Date de clôture"
-#: models.py:130
+#: models.py:154
msgid "Town"
msgstr "Commune"
-#: models.py:132
+#: models.py:156
msgid "Towns"
msgstr "Communes"
-#: models.py:145
+#: models.py:169
msgid "Instruction deadline"
msgstr "Date limite d'instruction"
-#: models.py:151
+#: models.py:175
msgid "Locality"
msgstr "Lieu-dit"
-#: models.py:154
+#: models.py:178
msgid "Main address - postal code"
msgstr "Adresse des terrains - code postal"
-#: models.py:164 templates/ishtar/sheet_file.html:93
+#: models.py:188 templates/ishtar/sheet_file.html:93
msgid "Organization"
msgstr "Organisation"
-#: models.py:169
+#: models.py:193
msgid "Research archaeology comment"
msgstr "Commentaire archéologie programmée"
-#: models.py:183
+#: models.py:207
msgid "Cached name"
msgstr "Nom en cache"
-#: models.py:184
+#: models.py:208
msgid "Imported line"
msgstr "Ligne importée"
-#: models.py:199
+#: models.py:223
msgid "Can view all Archaelogical files"
msgstr "Peut voir tous les Dossiers"
-#: models.py:200
+#: models.py:224
msgid "Can view own Archaelogical file"
msgstr "Peut voir son propre Dossier"
-#: models.py:201
+#: models.py:225
msgid "Can add own Archaelogical file"
msgstr "Peut ajouter son propre Dossier"
-#: models.py:203
+#: models.py:227
msgid "Can change own Archaelogical file"
msgstr "Peut modifier son propre Dossier"
-#: models.py:205
+#: models.py:229
msgid "Can delete own Archaelogical file"
msgstr "Peut supprimer son propre Dossier"
-#: models.py:206
+#: models.py:230
msgid "Can close File"
msgstr "Peut fermer un Dossier"
-#: models.py:212
+#: models.py:236
msgid "FILE"
msgstr "DOSSIER"
-#: models.py:380
+#: models.py:404
msgid "Multi-town"
msgstr "Intercommunal"
-#: models.py:386
+#: models.py:410
msgid "No town"
msgstr "Pas de commune"
-#: models.py:518
+#: models.py:542
msgid "File"
msgstr "Dossier"
-#: views.py:160
+#: views.py:107
msgid "File search"
msgstr "Recherche de dossier archéologique"
-#: views.py:169
+#: views.py:116
msgid "New file"
msgstr "Nouveau dossier archéologique"
-#: views.py:188
+#: views.py:135
msgid "File modification"
msgstr "Modification de dossier archéologique"
-#: views.py:211
+#: views.py:158
msgid "File closing"
msgstr "Clôture de dossier archéologique"
-#: views.py:216
+#: views.py:163
msgid "File deletion"
msgstr "Suppression de dossier archéologique"
-#: views.py:223
+#: views.py:170
msgid "File: search administrative act"
msgstr "Dossier : rechercher un acte administratif"
-#: views.py:232
+#: views.py:179
msgid "File: new administrative act"
msgstr "Dossier : nouvel acte administratif"
-#: views.py:242
+#: views.py:189
msgid "File: administrative act modification"
msgstr "Dossier : modification d'acte administratif"
-#: views.py:266
+#: views.py:213
msgid "File: administrative act deletion"
msgstr "Dossier : suppression d'acte administratif"
diff --git a/translations/fr/archaeological_finds.po b/translations/fr/archaeological_finds.po
index 01178e89c..40d36c10b 100644
--- a/translations/fr/archaeological_finds.po
+++ b/translations/fr/archaeological_finds.po
@@ -21,21 +21,21 @@ msgstr ""
msgid "Context record"
msgstr "Unité d'Enregistrement"
-#: forms.py:83 ishtar_menu.py:31 models.py:399 models.py:685 models.py:785
-#: models.py:929 templates/ishtar/sheet_find.html:5
+#: forms.py:83 ishtar_menu.py:31 models.py:439 models.py:750 models.py:850
+#: models.py:1000 templates/ishtar/sheet_find.html:5
msgid "Find"
msgstr "Mobilier"
-#: forms.py:94 forms.py:218 forms.py:425 models.py:127 models.py:336
+#: forms.py:94 forms.py:218 forms.py:425 models.py:127 models.py:376
msgid "Free ID"
msgstr "ID libre"
-#: forms.py:96 models.py:385
+#: forms.py:96 models.py:425
msgid "Previous ID"
msgstr "Identifiant précédent"
-#: forms.py:97 forms.py:250 forms.py:591 models.py:131 models.py:337
-#: models.py:719
+#: forms.py:97 forms.py:250 forms.py:591 models.py:131 models.py:377
+#: models.py:784
msgid "Description"
msgstr "Description"
@@ -43,7 +43,7 @@ msgstr "Description"
msgid "Batch/object"
msgstr "Lot/objet"
-#: forms.py:102 models.py:365
+#: forms.py:102 models.py:405
msgid "Is complete?"
msgstr "Est complet ?"
@@ -51,15 +51,15 @@ msgstr "Est complet ?"
msgid "Material type"
msgstr "Type de matériau"
-#: forms.py:106 forms.py:244 models.py:62 models.py:341
+#: forms.py:106 forms.py:244 models.py:62 models.py:381
msgid "Conservatory state"
msgstr "État sanitaire"
-#: forms.py:109 models.py:343
+#: forms.py:109 models.py:383
msgid "Conservatory comment"
msgstr "Commentaire relatif à la conservation"
-#: forms.py:112 models.py:102 models.py:368
+#: forms.py:112 models.py:102 models.py:408
msgid "Object types"
msgstr "Types d'objet"
@@ -67,67 +67,67 @@ msgstr "Types d'objet"
msgid "Preservation type"
msgstr "Type de conservation"
-#: forms.py:117 forms.py:246 models.py:370
+#: forms.py:117 forms.py:246 models.py:410
msgid "Integrity / interest"
msgstr "Intégrité / intérêt"
-#: forms.py:120 forms.py:248 models.py:373
+#: forms.py:120 forms.py:248 models.py:413
msgid "Remarkability"
msgstr "Remarquabilité"
-#: forms.py:122 models.py:375
+#: forms.py:122 models.py:415
msgid "Length (cm)"
msgstr "Longueur (cm)"
-#: forms.py:123 models.py:376
+#: forms.py:123 models.py:416
msgid "Width (cm)"
msgstr "Largeur (cm)"
-#: forms.py:124 models.py:377
+#: forms.py:124 models.py:417
msgid "Height (cm)"
msgstr "Hauteur (cm)"
-#: forms.py:125 models.py:378
+#: forms.py:125 models.py:418
msgid "Diameter (cm)"
msgstr "Diamètre (cm)"
-#: forms.py:126 forms.py:430 models.py:348
+#: forms.py:126 forms.py:430 models.py:388
msgid "Volume (l)"
msgstr "Volume (l)"
-#: forms.py:127 forms.py:431 models.py:349
+#: forms.py:127 forms.py:431 models.py:389
msgid "Weight (g)"
msgstr "Poids (g)"
-#: forms.py:129 models.py:379
+#: forms.py:129 models.py:419
msgid "Dimensions comment"
msgstr "Commentaire concernant les dimensions"
-#: forms.py:130 forms.py:432 models.py:352
+#: forms.py:130 forms.py:432 models.py:392
msgid "Find number"
msgstr "Mobilier (en nombre)"
-#: forms.py:131 models.py:381
+#: forms.py:131 models.py:421
msgid "Mark"
msgstr "Marque"
-#: forms.py:132 forms.py:254 models.py:387
+#: forms.py:132 forms.py:254 models.py:427
msgid "Check"
msgstr "Vérification"
-#: forms.py:134 models.py:389
+#: forms.py:134 models.py:429
msgid "Check date"
msgstr "Date de vérification"
-#: forms.py:135 models.py:132 models.py:382 models.py:720
+#: forms.py:135 models.py:132 models.py:422 models.py:785
msgid "Comment"
msgstr "Commentaires"
-#: forms.py:138 models.py:383
+#: forms.py:138 models.py:423
msgid "Comment on dating"
msgstr "Commentaire général sur les datations"
-#: forms.py:139 models.py:391
+#: forms.py:139 models.py:431
msgid "Estimated value"
msgstr "Valeur estimée"
@@ -144,7 +144,7 @@ msgstr ""
"<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le "
"ratio est conservé).</p>"
-#: forms.py:181 forms.py:212 models.py:360
+#: forms.py:181 forms.py:212 models.py:400
msgid "Dating"
msgstr "Datation"
@@ -152,13 +152,13 @@ msgstr "Datation"
msgid "Period"
msgstr "Période"
-#: forms.py:187 forms.py:593 models.py:733 models.py:798 models.py:934
-#: templates/ishtar/sheet_find.html:85 templates/ishtar/sheet_find.html:114
+#: forms.py:187 forms.py:593 models.py:798 models.py:863 models.py:1005
+#: templates/ishtar/sheet_find.html:92 templates/ishtar/sheet_find.html:121
msgid "Start date"
msgstr "Date de début"
-#: forms.py:189 forms.py:595 models.py:734 models.py:799 models.py:935
-#: templates/ishtar/sheet_find.html:86 templates/ishtar/sheet_find.html:115
+#: forms.py:189 forms.py:595 models.py:799 models.py:864 models.py:1006
+#: templates/ishtar/sheet_find.html:93 templates/ishtar/sheet_find.html:122
msgid "End date"
msgstr "Date de fin"
@@ -210,7 +210,7 @@ msgstr "Type d'objet"
msgid "Has an image?"
msgstr "Dispose d'une image ?"
-#: forms.py:297 forms.py:310 views.py:133
+#: forms.py:297 forms.py:310 views.py:66
msgid "Find search"
msgstr "Recherche de mobilier"
@@ -218,7 +218,7 @@ msgstr "Recherche de mobilier"
msgid "Upstream finds"
msgstr "Mobilier amont"
-#: forms.py:326 models.py:400
+#: forms.py:326 models.py:440
msgid "Finds"
msgstr "Mobilier"
@@ -294,16 +294,16 @@ msgstr "Panier"
msgid "Base treatment"
msgstr "Traitement de base"
-#: forms.py:578 models.py:707 models.py:722 models.py:797
+#: forms.py:578 models.py:772 models.py:787 models.py:862
msgid "Treatment type"
msgstr "Type de traitement"
-#: forms.py:580 models.py:731 models.py:802
-#: templates/ishtar/sheet_find.html:83 templates/ishtar/sheet_find.html:112
+#: forms.py:580 models.py:796 models.py:867
+#: templates/ishtar/sheet_find.html:90 templates/ishtar/sheet_find.html:119
msgid "Doer"
msgstr "Opérateur"
-#: forms.py:586 models.py:724 models.py:800
+#: forms.py:586 models.py:789 models.py:865
msgid "Location"
msgstr "Lieu"
@@ -355,7 +355,7 @@ msgstr "Recommandation"
msgid "Parent material"
msgstr "Matériau parent"
-#: models.py:51 models.py:339
+#: models.py:51 models.py:379
msgid "Material types"
msgstr "Types de matériau"
@@ -403,11 +403,11 @@ msgstr "Objet"
msgid "Batch"
msgstr "Lot"
-#: models.py:128 models.py:332 models.py:715
+#: models.py:128 models.py:372 models.py:780
msgid "External ID"
msgstr "ID externe"
-#: models.py:130 models.py:334
+#: models.py:130 models.py:374
msgid "External ID is set automatically"
msgstr "L'identifiant externe est configuré automatiquement"
@@ -447,7 +447,7 @@ msgstr "Polygon"
msgid "Cached value - do not edit"
msgstr "Valeur en cache - ne pas éditer"
-#: models.py:159 models.py:330
+#: models.py:159 models.py:370
msgid "Base find"
msgstr "Mobilier de base"
@@ -523,215 +523,215 @@ msgstr "Mobilier de base - Intérêt spécifique"
msgid "Base find - Discovery date"
msgstr "Mobilier de base - Date de découverte"
-#: models.py:335 models.py:791
+#: models.py:375 models.py:856
msgid "Order"
msgstr "Ordre"
-#: models.py:346
+#: models.py:386
msgid "Type of preservation to consider"
msgstr "Mesures de conservation à envisager"
-#: models.py:350
+#: models.py:390
msgid "Weight unit"
msgstr "Unité de poids"
-#: models.py:356 templates/ishtar/sheet_find.html:76
+#: models.py:396 templates/ishtar/sheet_find.html:83
msgid "Upstream treatment"
msgstr "Traitement amont"
-#: models.py:359 templates/ishtar/sheet_find.html:105
+#: models.py:399 templates/ishtar/sheet_find.html:112
msgid "Downstream treatment"
msgstr "Traitement aval"
-#: models.py:363 models.py:717 models.py:801
-#: templates/ishtar/sheet_find.html:84 templates/ishtar/sheet_find.html:113
+#: models.py:403 models.py:782 models.py:866
+#: templates/ishtar/sheet_find.html:91 templates/ishtar/sheet_find.html:120
msgid "Container"
msgstr "Contenant"
-#: models.py:393
+#: models.py:433
msgid "Cached name"
msgstr "Nom en cache"
-#: models.py:402
+#: models.py:442
msgid "Can view all Finds"
msgstr "Peut voir tout le Mobilier"
-#: models.py:403
+#: models.py:443
msgid "Can view own Find"
msgstr "Peut voir son propre Mobilier"
-#: models.py:404
+#: models.py:444
msgid "Can add own Find"
msgstr "Peut ajouter son propre Mobilier"
-#: models.py:405
+#: models.py:445
msgid "Can change own Find"
msgstr "Peut modifier son propre Mobilier"
-#: models.py:406
+#: models.py:446
msgid "Can delete own Find"
msgstr "Peut supprimer son propre Mobilier"
-#: models.py:412
+#: models.py:452
msgid "FIND"
msgstr "MOBILIER"
-#: models.py:683
+#: models.py:748
msgid "Find documentation"
msgstr "Documentation de mobilier"
-#: models.py:684
+#: models.py:749
msgid "Find documentations"
msgstr "Documentations de mobilier"
-#: models.py:694
+#: models.py:759
msgid "Virtual"
msgstr "Virtuel"
-#: models.py:696
+#: models.py:761
msgid "Upstream is many"
msgstr "Les éléments amonts sont multiple"
-#: models.py:698
+#: models.py:763
msgid "Check this if for this treatment from many finds you'll get one."
msgstr ""
"Cochez cela si pour ce traitement depuis plusieurs éléments vous en obtenez "
"un."
-#: models.py:701
+#: models.py:766
msgid "Downstream is many"
msgstr "Les éléments avals sont multiple"
-#: models.py:703
+#: models.py:768
msgid "Check this if for this treatment from one find you'll get many."
msgstr ""
"Cochez cela si pour ce traitement depuis un élément vous en obtenez "
"plusieurs."
-#: models.py:708
+#: models.py:773
msgid "Treatment types"
msgstr "Types de traitement"
-#: models.py:726
+#: models.py:791
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:728
+#: models.py:793
msgid "Other location"
msgstr "Autre lieu"
-#: models.py:738 models.py:787 models.py:921
+#: models.py:803 models.py:852 models.py:992
msgid "Treatment"
msgstr "Traitement"
-#: models.py:739 templates/ishtar/sheet_find.html:73
+#: models.py:804 templates/ishtar/sheet_find.html:80
msgid "Treatments"
msgstr "Traitements"
-#: models.py:741
+#: models.py:806
msgid "Can view all Treatments"
msgstr "Peut voir tous les Traitements"
-#: models.py:742
+#: models.py:807
msgid "Can view own Treatment"
msgstr "Peut voir son propre Traitement"
-#: models.py:743
+#: models.py:808
msgid "Can add own Treatment"
msgstr "Peut ajouter son propre Traitement"
-#: models.py:744
+#: models.py:809
msgid "Can change own Treatment"
msgstr "Peut modifier son propre Traitement"
-#: models.py:745
+#: models.py:810
msgid "Can delete own Treatment"
msgstr "Peut supprimer son propre Traitement"
-#: models.py:751
+#: models.py:816
msgid "by"
msgstr "par"
-#: models.py:803 models.py:804 templates/ishtar/sheet_find.html:82
-#: templates/ishtar/sheet_find.html:111
+#: models.py:868 models.py:869 templates/ishtar/sheet_find.html:89
+#: templates/ishtar/sheet_find.html:118
msgid "Related finds"
msgstr "Mobilier associé"
-#: models.py:907
+#: models.py:978
msgid "Is upstream"
msgstr "Est amont"
-#: models.py:918
+#: models.py:989
msgid "Treatment documentation"
msgstr "Documentation d'un traitement"
-#: models.py:919
+#: models.py:990
msgid "Treament documentations"
msgstr "Documentations des traitements"
-#: models.py:931
+#: models.py:1002
msgid "Administrative act"
msgstr "Acte administratif"
-#: models.py:932
+#: models.py:1003
msgid "Person"
msgstr "Individu"
-#: models.py:938
+#: models.py:1009
msgid "Property"
msgstr "Propriété"
-#: models.py:939
+#: models.py:1010
msgid "Properties"
msgstr "Propriétés"
-#: views.py:128
+#: views.py:61
msgid "New find"
msgstr "Nouveau mobilier"
-#: views.py:142
+#: views.py:75
msgid "Find modification"
msgstr "Modification de mobilier"
-#: views.py:157
+#: views.py:90
msgid "Find deletion"
msgstr "Suppression de mobilier"
-#: views.py:162
+#: views.py:95
msgid "Find: source search"
msgstr "Mobilier : recherche de documentation associée"
-#: views.py:170
+#: views.py:103
msgid "Find: new source"
msgstr "Mobilier : nouvelle documentation associée"
-#: views.py:178
+#: views.py:111
msgid "Find: source modification"
msgstr "Mobilier : modification de documentation associée"
-#: views.py:193
+#: views.py:126
msgid "Find: source deletion"
msgstr "Mobilier : suppression de mobilier associé"
-#: views.py:207
+#: views.py:140
msgid "New basket"
msgstr "Nouveau panier"
-#: views.py:226
+#: views.py:159
msgid "Manage items in basket"
msgstr "Gérer les éléments dans un panier"
-#: views.py:246
+#: views.py:179
msgid "Manage basket"
msgstr "Gérer un panier"
-#: views.py:334
+#: views.py:267
msgid "Delete basket"
msgstr "Supprimer un panier"
-#: views.py:372
+#: views.py:303
msgid "New treatment"
msgstr "Nouveau traitement"
@@ -739,36 +739,36 @@ msgstr "Nouveau traitement"
msgid "Operation"
msgstr "Opération"
-#: templates/ishtar/sheet_find.html:81 templates/ishtar/sheet_find.html:110
-#: templates/ishtar/sheet_find.html:180
+#: templates/ishtar/sheet_find.html:88 templates/ishtar/sheet_find.html:117
+#: templates/ishtar/sheet_find.html:187
msgid "Type"
msgstr "Type"
-#: templates/ishtar/sheet_find.html:101
+#: templates/ishtar/sheet_find.html:108
msgid "Export as CSV"
msgstr "Export en CSV"
-#: templates/ishtar/sheet_find.html:101 templates/ishtar/sheet_find.html:131
+#: templates/ishtar/sheet_find.html:108 templates/ishtar/sheet_find.html:138
msgid "CSV"
msgstr "CSV"
-#: templates/ishtar/sheet_find.html:136
+#: templates/ishtar/sheet_find.html:143
msgid "Associated base finds"
msgstr "Mobilier de base associé"
-#: templates/ishtar/sheet_find.html:175 templates/ishtar/sheet_find.html:177
+#: templates/ishtar/sheet_find.html:182 templates/ishtar/sheet_find.html:184
msgid "Documents"
msgstr "Documents"
-#: templates/ishtar/sheet_find.html:179
+#: templates/ishtar/sheet_find.html:186
msgid "Title"
msgstr "Titre"
-#: templates/ishtar/sheet_find.html:181
+#: templates/ishtar/sheet_find.html:188
msgid "Authors"
msgstr "Auteurs"
-#: templates/ishtar/sheet_find.html:182
+#: templates/ishtar/sheet_find.html:189
msgid "Link"
msgstr "Lien"
diff --git a/translations/fr/archaeological_operations.po b/translations/fr/archaeological_operations.po
index 9949cc627..d8c54d684 100644
--- a/translations/fr/archaeological_operations.po
+++ b/translations/fr/archaeological_operations.po
@@ -18,12 +18,12 @@ msgstr ""
"X-Generator: Zanata 3.9.5\n"
#: forms.py:67 forms.py:369 forms.py:1004 forms.py:1026 forms.py:1030
-#: models.py:1052 templates/ishtar/sheet_operation.html:144
+#: models.py:1168 templates/ishtar/sheet_operation.html:144
#: templates/ishtar/blocks/window_tables/parcels.html:10
msgid "Parcels"
msgstr "Parcelles"
-#: forms.py:70 forms.py:203 forms.py:980 models.py:1038
+#: forms.py:70 forms.py:203 forms.py:980 models.py:1154
#: templates/ishtar/blocks/window_tables/parcels.html:7
#: templates/ishtar/dashboards/dashboard_operation.html:432
#: templates/ishtar/dashboards/dashboard_operation.html:446
@@ -32,22 +32,22 @@ msgstr "Parcelles"
msgid "Town"
msgstr "Commune"
-#: forms.py:72 forms.py:459 forms.py:755 forms.py:1250 models.py:203
-#: models.py:855 models.py:1036
+#: forms.py:72 forms.py:459 forms.py:755 forms.py:1250 models.py:249
+#: models.py:971 models.py:1152
#: templates/ishtar/blocks/window_tables/parcels.html:8
msgid "Year"
msgstr "Année"
-#: forms.py:75 models.py:1039
+#: forms.py:75 models.py:1155
#: templates/ishtar/blocks/window_tables/parcels.html:9
msgid "Section"
msgstr "Section"
-#: forms.py:78 models.py:1041
+#: forms.py:78 models.py:1157
msgid "Parcel number"
msgstr "Numéro de parcelle"
-#: forms.py:80 models.py:1043 models.py:1060 models.py:1109
+#: forms.py:80 models.py:1159 models.py:1176 models.py:1225
msgid "Public domain"
msgstr "Domaine public"
@@ -83,8 +83,8 @@ msgstr "Il y a des parcelles identiques."
msgid "Relation type"
msgstr "Type de relation"
-#: forms.py:381 ishtar_menu.py:30 models.py:298 models.py:753 models.py:778
-#: models.py:794 models.py:847 models.py:1035 wizards.py:339 wizards.py:350
+#: forms.py:381 ishtar_menu.py:30 models.py:344 models.py:804 models.py:834
+#: models.py:862 models.py:963 models.py:1151 wizards.py:339 wizards.py:350
#: templates/ishtar/sheet_operation.html:4
msgid "Operation"
msgstr "Opération"
@@ -113,7 +113,7 @@ msgstr "Relations supprimées"
msgid "Relations"
msgstr "Relations"
-#: forms.py:460 forms.py:1221 models.py:204
+#: forms.py:460 forms.py:1221 models.py:250
msgid "Numeric reference"
msgstr "Identifiant numérique"
@@ -121,7 +121,7 @@ msgstr "Identifiant numérique"
msgid "Parcel (section/number/public domain)"
msgstr "Parcelle (section/nombre/domaine public)"
-#: forms.py:469 forms.py:1264 models.py:754
+#: forms.py:469 forms.py:1264 models.py:805
#: templates/ishtar/dashboards/dashboard_operation.html:390
#: templates/ishtar/dashboards/dashboard_operation.html:411
#: templates/ishtar/dashboards/dashboard_operation.html:643
@@ -135,7 +135,7 @@ msgstr "Département"
msgid "Name"
msgstr "Nom"
-#: forms.py:472 forms.py:675 forms.py:753 forms.py:1227 models.py:211
+#: forms.py:472 forms.py:675 forms.py:753 forms.py:1227 models.py:257
msgid "Operation type"
msgstr "Type d'opération"
@@ -143,24 +143,24 @@ msgstr "Type d'opération"
msgid "Is open?"
msgstr "Est ouvert ?"
-#: forms.py:483 forms.py:782 models.py:200
+#: forms.py:483 forms.py:782 models.py:246
msgid "In charge"
msgstr "Responsable"
-#: forms.py:490 models.py:841
+#: forms.py:490 models.py:957
msgid "Scientist in charge"
msgstr "Responsable scientifique"
-#: forms.py:492 forms.py:677 forms.py:773 models.py:198
+#: forms.py:492 forms.py:677 forms.py:773 models.py:244
msgid "Operator"
msgstr "Opérateur"
-#: forms.py:499 forms.py:1097 models.py:89 models.py:213
+#: forms.py:499 forms.py:1097 models.py:89 models.py:259
#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:10
msgid "Remains"
msgstr "Vestiges"
-#: forms.py:500 forms.py:1075 forms.py:1094 models.py:87 models.py:219
+#: forms.py:500 forms.py:1075 forms.py:1094 models.py:87 models.py:265
#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:9
msgid "Periods"
msgstr "Périodes"
@@ -193,19 +193,19 @@ msgstr "Commentaire"
msgid "Abstract (full text search)"
msgstr "Résumé (recherche texte intégral)"
-#: forms.py:515 forms.py:835 models.py:267
+#: forms.py:515 forms.py:835 models.py:313
msgid "Comment about scientific documentation"
msgstr "Commentaire concernant la documentation scientifique"
-#: forms.py:516 forms.py:837 models.py:279
+#: forms.py:516 forms.py:837 models.py:325
msgid "Record quality"
msgstr "Qualité d'enregistrement"
-#: forms.py:517 forms.py:805 models.py:231
+#: forms.py:517 forms.py:805 models.py:277
msgid "Report processing"
msgstr "Traitement du rapport"
-#: forms.py:519 forms.py:840 models.py:274
+#: forms.py:519 forms.py:840 models.py:320
msgid "Virtual operation"
msgstr "Opération virtuelle"
@@ -229,7 +229,7 @@ msgstr "Date limite de rendu de la documentation avant"
msgid "Documentation deadline after"
msgstr "Date limite de rendu de la documentation après"
-#: forms.py:544 forms.py:825 models.py:286
+#: forms.py:544 forms.py:825 models.py:332
msgid "Documentation received"
msgstr "Documentation reçue"
@@ -241,11 +241,11 @@ msgstr "Date limite de rendu du mobilier avant"
msgid "Finds deadline after"
msgstr "Date limite de rendu du mobilier après"
-#: forms.py:550 forms.py:830 models.py:290
+#: forms.py:550 forms.py:830 models.py:336
msgid "Finds received"
msgstr "Mobilier reçu"
-#: forms.py:595 forms.py:1213 views.py:259
+#: forms.py:595 forms.py:1213 views.py:168
msgid "Operation search"
msgstr "Recherche d'opérations"
@@ -253,11 +253,11 @@ msgstr "Recherche d'opérations"
msgid "Associated file"
msgstr "Dossier associé"
-#: forms.py:643 forms.py:928 models.py:852 wizards.py:76
+#: forms.py:643 forms.py:928 models.py:968 wizards.py:76
msgid "Archaelogical file"
msgstr "Dossier"
-#: forms.py:650 forms.py:652 models.py:281
+#: forms.py:650 forms.py:652 models.py:327
msgid "Abstract"
msgstr "Résumé"
@@ -269,7 +269,7 @@ msgstr "mois"
msgid "years"
msgstr "années"
-#: forms.py:657 models.py:184
+#: forms.py:657 models.py:230
msgid "Creation date"
msgstr "Date de création"
@@ -322,15 +322,15 @@ msgid "With finds"
msgstr "Avec du mobilier"
#: forms.py:736 forms.py:1322 templates/ishtar/sheet_administrativeact.html:13
-#: templates/ishtar/sheet_operation.html:20
+#: templates/ishtar/sheet_operation.html:24
msgid "General"
msgstr "Général"
-#: forms.py:751 models.py:264
+#: forms.py:751 models.py:310
msgid "Generic name"
msgstr "Nom générique"
-#: forms.py:760 models.py:233
+#: forms.py:760 models.py:279
msgid "Old code"
msgstr "Ancien code"
@@ -338,7 +338,7 @@ msgstr "Ancien code"
msgid "Head scientist"
msgstr "Responsable scientifique"
-#: forms.py:779 models.py:263
+#: forms.py:779 models.py:309
msgid "Operator reference"
msgstr "Référence de l'opérateur"
@@ -346,23 +346,23 @@ msgstr "Référence de l'opérateur"
msgid "Total surface (m2)"
msgstr "Surface totale (m2)"
-#: forms.py:798 models.py:53 models.py:187 models.py:1225
+#: forms.py:798 models.py:53 models.py:233 models.py:1341
msgid "Start date"
msgstr "Date de début"
-#: forms.py:800 models.py:189
+#: forms.py:800 models.py:235
msgid "Excavation end date"
msgstr "Date de fin de chantier"
-#: forms.py:803 models.py:190
+#: forms.py:803 models.py:236
msgid "Report delivery date"
msgstr "Date de livraison du rapport"
-#: forms.py:822 models.py:283
+#: forms.py:822 models.py:329
msgid "Deadline for submission of the documentation"
msgstr "Date limite de rendu de la documentation"
-#: forms.py:827 models.py:288
+#: forms.py:827 models.py:334
msgid "Deadline for submission of the finds"
msgstr "Date limite de rendu du mobilier"
@@ -404,7 +404,7 @@ msgstr ""
msgid "Bad operation code"
msgstr "Mauvais code d'opération"
-#: forms.py:924 models.py:437
+#: forms.py:924 models.py:486
msgid "Operation code"
msgstr "Code de l'opération"
@@ -412,20 +412,20 @@ msgstr "Code de l'opération"
msgid "Preventive informations - excavation"
msgstr "Information archéologie préventive - fouille"
-#: forms.py:951 models.py:217
+#: forms.py:951 models.py:263
#: templates/ishtar/dashboards/dashboard_operation.html:701
msgid "Cost (euros)"
msgstr "Coût (euros)"
-#: forms.py:952 models.py:222
+#: forms.py:952 models.py:268
msgid "Scheduled man-days"
msgstr "Jours-hommes prévus"
-#: forms.py:954 models.py:225
+#: forms.py:954 models.py:271
msgid "Optional man-days"
msgstr "Jours-hommes optionnels"
-#: forms.py:956 models.py:228
+#: forms.py:956 models.py:274
msgid "Effective man-days"
msgstr "Jours-hommes effectifs"
@@ -433,23 +433,23 @@ msgstr "Jours-hommes effectifs"
msgid "Preventive informations - diagnostic"
msgstr "Information archéologie préventive - diagnostic"
-#: forms.py:969 models.py:247
+#: forms.py:969 models.py:293
msgid "Prescription on zoning"
msgstr "Prescription sur zonage"
-#: forms.py:971 models.py:250
+#: forms.py:971 models.py:296
msgid "Prescription on large area"
msgstr "Prescription sur une vaste surface"
-#: forms.py:974 models.py:252
+#: forms.py:974 models.py:298
msgid "Prescription on geoarchaeological context"
msgstr "Prescription sur un contexte géoarchéologique"
-#: forms.py:978 forms.py:1000 models.py:215 models.py:865
+#: forms.py:978 forms.py:1000 models.py:261 models.py:981
msgid "Towns"
msgstr "Communes"
-#: forms.py:1007 models.py:1051 models.py:1223
+#: forms.py:1007 models.py:1167 models.py:1339
msgid "Parcel"
msgstr "Parcelle"
@@ -478,7 +478,7 @@ msgstr "Cette référence existe déjà."
msgid "Archaeological site"
msgstr "Entité archéologique"
-#: forms.py:1152 models.py:94 models.py:271
+#: forms.py:1152 models.py:94 models.py:317
#: templates/ishtar/sheet_operation.html:94
msgid "Archaeological sites"
msgstr "Entités archéologiques"
@@ -499,7 +499,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:1181 forms.py:1251 forms.py:1387 models.py:780 models.py:832
+#: forms.py:1181 forms.py:1251 forms.py:1387 models.py:836 models.py:948
msgid "Index"
msgstr "Index"
@@ -528,7 +528,7 @@ msgstr "Recherche de document"
msgid "You should select a document."
msgstr "Vous devez sélectionner un document."
-#: forms.py:1258 forms.py:1325 models.py:805 models.py:826
+#: forms.py:1258 forms.py:1325 models.py:873 models.py:942
msgid "Act type"
msgstr "Type d'acte"
@@ -536,12 +536,12 @@ msgstr "Type d'acte"
msgid "Indexed?"
msgstr "Indexé ?"
-#: forms.py:1265 forms.py:1330 models.py:856
+#: forms.py:1265 forms.py:1330 models.py:972
#: templates/ishtar/blocks/window_tables/administrativacts.html:10
msgid "Object"
msgstr "Objet"
-#: forms.py:1302 views.py:415
+#: forms.py:1302 views.py:324
msgid "Administrative act search"
msgstr "Recherche d'actes administratifs"
@@ -549,7 +549,7 @@ msgstr "Recherche d'actes administratifs"
msgid "You should select an administrative act."
msgstr "Vous devez sélectionner un acte administratif."
-#: forms.py:1333 models.py:853
+#: forms.py:1333 models.py:969
msgid "Signature date"
msgstr "Date de signature"
@@ -586,7 +586,7 @@ msgstr "Génération de document"
msgid "Generate the associated doc?"
msgstr "Générer le document associé ?"
-#: forms.py:1466 ishtar_menu.py:121 views.py:468
+#: forms.py:1466 ishtar_menu.py:121 views.py:377
msgctxt "admin act register"
msgid "Register"
msgstr "Registre"
@@ -607,7 +607,7 @@ msgstr "Clôture"
msgid "Deletion"
msgstr "Suppression"
-#: ishtar_menu.py:58 models.py:872
+#: ishtar_menu.py:58 models.py:988
#: templates/ishtar/sheet_administrativeact.html:4
msgid "Administrative act"
msgstr "Acte administratif"
@@ -636,16 +636,16 @@ msgstr "Tableau de bord"
msgid "General informations"
msgstr "Informations générales"
-#: ishtar_menu.py:136 models.py:299
+#: ishtar_menu.py:136 models.py:345
#: templates/ishtar/dashboards/dashboard_operation.html:8
msgid "Operations"
msgstr "Opérations"
-#: models.py:52 models.py:70 models.py:1687
+#: models.py:52 models.py:70 models.py:1803
msgid "Order"
msgstr "Ordre"
-#: models.py:54 models.py:1226
+#: models.py:54 models.py:1342
msgid "End date"
msgstr "Date de fin"
@@ -701,355 +701,355 @@ msgstr "Arbitraire"
msgid "Reliable"
msgstr "Fiable"
-#: models.py:186
+#: models.py:232
msgid "Closing date"
msgstr "Date de clôture"
-#: models.py:193
+#: models.py:239
msgid "In charge scientist"
msgstr "Responsable scientifique"
-#: models.py:208 models.py:1031
+#: models.py:254 models.py:1147
msgid "File"
msgstr "Dossier"
-#: models.py:212
+#: models.py:258
msgid "Surface (m2)"
msgstr "Surface (m2)"
-#: models.py:265
+#: models.py:311
msgid "General comment"
msgstr "Commentaire général"
-#: models.py:268
+#: models.py:314
msgid "Cached name"
msgstr "Nom en cache"
-#: models.py:276
+#: models.py:322
msgid ""
"If checked, it means that this operation have not been officialy registered."
msgstr ""
"Si coché, cela signifie que cette opération n'a pas été officiellement "
"enregistrée."
-#: models.py:292
+#: models.py:338
msgid "Point"
msgstr "Point"
-#: models.py:293
+#: models.py:339
msgid "Multi polygon"
msgstr "Polygones multiples"
-#: models.py:301
+#: models.py:347
msgid "Can view all Operations"
msgstr "Peut voir toutes les Opérations"
-#: models.py:302
+#: models.py:348
msgid "Can view own Operation"
msgstr "Peut voir sa propre Opération"
-#: models.py:303
+#: models.py:349
msgid "Can add own Operation"
msgstr "Peut ajouter sa propre Opération"
-#: models.py:304
+#: models.py:350
msgid "Can change own Operation"
msgstr "Peut modifier sa propre Opération"
-#: models.py:305
+#: models.py:351
msgid "Can delete own Operation"
msgstr "Peut supprimer sa propre Opération"
-#: models.py:306
+#: models.py:352
msgid "Can close Operation"
msgstr "Peut fermer une Opération"
-#: models.py:334
+#: models.py:380
msgid "OPE"
msgstr "OPE"
-#: models.py:391
+#: models.py:440
msgid "Intercommunal"
msgstr "Intercommunal"
-#: models.py:422 models.py:793
+#: models.py:471 models.py:861
msgid "Archaeological file"
msgstr "Dossier archéologique"
-#: models.py:423
+#: models.py:472
msgid "Code patriarche"
msgstr "Code patriarche"
-#: models.py:463
+#: models.py:512
msgid "This operation code already exists for this year"
msgstr "Ce code d'opération existe déjà pour cette année."
-#: models.py:496
+#: models.py:545
msgid "Number of parcels"
msgstr "Nombre de parcelles"
-#: models.py:514
+#: models.py:563
msgid "Number of administrative acts"
msgstr "Nombre d'actes administratifs"
-#: models.py:522
+#: models.py:571
msgid "Number of indexed administrative acts"
msgstr "Nombre d'actes administratifs indexés"
-#: models.py:530
+#: models.py:579
msgid "Number of context records"
msgstr "Nombre d'Unités d'Enregistrement"
-#: models.py:566
+#: models.py:615
msgid "Number of finds"
msgstr "Nombre d'élément de mobilier"
-#: models.py:611
+#: models.py:660
msgid "No type"
msgstr "Pas de type"
-#: models.py:642
+#: models.py:691
msgid "Number of sources"
msgstr "Nombre de documents"
-#: models.py:684 templates/ishtar/dashboards/dashboard_operation.html:309
+#: models.py:733 templates/ishtar/dashboards/dashboard_operation.html:309
#: templates/ishtar/dashboards/dashboard_operation.html:575
#: templates/ishtar/dashboards/dashboard_operation.html:611
msgid "Mean"
msgstr "Moyenne"
-#: models.py:724
+#: models.py:775
msgid "Inverse relation"
msgstr "Relation inverse"
-#: models.py:728
+#: models.py:779
msgid "Operation relation type"
msgstr "Type de relation entre opérations"
-#: models.py:729
+#: models.py:780
msgid "Operation relation types"
msgstr "Types de relation entre opérations"
-#: models.py:742
+#: models.py:793
msgid "Operation record relation"
msgstr "Relation entre opérations"
-#: models.py:743
+#: models.py:794
msgid "Operation record relations"
msgstr "Relations entre opérations"
-#: models.py:764
+#: models.py:840
msgid "Operation documentation"
msgstr "Documentation d'une opération"
-#: models.py:765
+#: models.py:841
msgid "Operation documentations"
msgstr "Documentations des opérations"
-#: models.py:768
+#: models.py:844
msgid "Can view all Operation sources"
msgstr "Peut voir toutes les Documentations d'opération"
-#: models.py:770
+#: models.py:846
msgid "Can view own Operation source"
msgstr "Peut voir sa propre Documentation d'opération"
-#: models.py:772
+#: models.py:848
msgid "Can add own Operation source"
msgstr "Peut ajouter sa propre Documentation d'opération"
-#: models.py:774
+#: models.py:850
msgid "Can change own Operation source"
msgstr "Peut modifier sa propre Documentation d'opération"
-#: models.py:776
+#: models.py:852
msgid "Can delete own Operation source"
msgstr "Peut supprimer sa propre Documentation d'opération"
-#: models.py:796
+#: models.py:864
msgid "Intended to"
msgstr "Destiné à"
-#: models.py:798
+#: models.py:866
msgid "Code"
msgstr "Code"
-#: models.py:801
+#: models.py:869
msgid "Associated template"
msgstr "Patron associé"
-#: models.py:802
+#: models.py:870
msgid "Indexed"
msgstr "Indexé"
-#: models.py:806
+#: models.py:874
msgid "Act types"
msgstr "Types d'acte"
-#: models.py:830
+#: models.py:946
msgid "Person in charge of the operation"
msgstr "Responsable d'opération"
-#: models.py:836
+#: models.py:952
msgid "Archaeological preventive operator"
msgstr "Opérateur d'archéologie préventive"
-#: models.py:844
+#: models.py:960
msgid "Signatory"
msgstr "Signataire"
-#: models.py:862
+#: models.py:978
msgid "Departments"
msgstr "Départements"
-#: models.py:863
+#: models.py:979
msgid "Cached values get from associated departments"
msgstr "Valeur en cache des départements associés"
-#: models.py:866
+#: models.py:982
msgid "Cached values get from associated towns"
msgstr "Valeur en cache des communes associées"
-#: models.py:873 templates/ishtar/sheet_operation.html:102
+#: models.py:989 templates/ishtar/sheet_operation.html:102
#: templates/ishtar/sheet_operation.html:138
msgid "Administrative acts"
msgstr "Actes administratifs"
-#: models.py:876
+#: models.py:992
msgid "Can view all Administrative acts"
msgstr "Peut voir tous les Actes administratifs"
-#: models.py:878
+#: models.py:994
msgid "Can view own Administrative act"
msgstr "Peut voir son propre Acte administratif"
-#: models.py:880
+#: models.py:996
msgid "Can add own Administrative act"
msgstr "Peut ajouter son propre Acte administratif"
-#: models.py:882
+#: models.py:998
msgid "Can change own Administrative act"
msgstr "Peut modifier son propre Acte administratif"
-#: models.py:884
+#: models.py:1000
msgid "Can delete own Administrative act"
msgstr "Peut supprimer son propre Acte administratif"
-#: models.py:893
+#: models.py:1009
#: templates/ishtar/blocks/window_tables/administrativacts.html:7
#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:7
msgid "Ref."
msgstr "Réf."
-#: models.py:976
+#: models.py:1092
msgid "This index already exists for this year"
msgstr "Cet index existe déjà pour cette année."
-#: models.py:1044
+#: models.py:1160
msgid "External ID"
msgstr "ID externe"
-#: models.py:1047
+#: models.py:1163
msgid "External ID is set automatically"
msgstr "L'identifiant externe est configuré automatiquement"
-#: models.py:1048
+#: models.py:1164
msgid "Address - Locality"
msgstr "Adresse - Lieu-dit"
-#: models.py:1221
+#: models.py:1337
msgid "Owner"
msgstr "Propriétaire"
-#: models.py:1229
+#: models.py:1345
msgid "Parcel owner"
msgstr "Propriétaire de parcelle"
-#: models.py:1230
+#: models.py:1346
msgid "Parcel owners"
msgstr "Propriétaires de parcelle"
-#: models.py:1256
+#: models.py:1372
msgid "Recorded"
msgstr "Enregistré"
-#: models.py:1257
+#: models.py:1373
msgid "Effective"
msgstr "Effectif"
-#: models.py:1258
+#: models.py:1374
msgid "Active"
msgstr "Actif"
-#: models.py:1259
+#: models.py:1375
msgid "Field completed"
msgstr "Terrain achevé"
-#: models.py:1260
+#: models.py:1376
msgid "Associated report"
msgstr "Rapport associé"
-#: models.py:1261
+#: models.py:1377
msgid "Closed"
msgstr "Clos"
-#: models.py:1262
+#: models.py:1378
msgid "Documented and closed"
msgstr "Documenté et clos"
-#: models.py:1688
+#: models.py:1804
msgid "Is preventive"
msgstr "Préventif"
-#: models.py:1691
+#: models.py:1807
msgid "Operation type old"
msgstr "Type d'opération - ancien"
-#: models.py:1692
+#: models.py:1808
msgid "Operation types old"
msgstr "Types d'opération - ancien"
-#: views.py:305
+#: views.py:214
msgid "New operation"
msgstr "Nouvelle opération"
-#: views.py:324
+#: views.py:233
msgid "Operation modification"
msgstr "Modification d'une opération"
-#: views.py:367
+#: views.py:276
msgid "Operation closing"
msgstr "Clôture d'une opération"
-#: views.py:373
+#: views.py:282
msgid "Operation deletion"
msgstr "Suppression d'une opération"
-#: views.py:378
+#: views.py:287
msgid "Operation: source search"
msgstr "Opération : recherche de documentation associée"
-#: views.py:386
+#: views.py:295
msgid "Operation: source creation"
msgstr "Opération : nouvelle documentation associée"
-#: views.py:394
+#: views.py:303
msgid "Operation: source modification"
msgstr "Opération : modification d'une documentation associée"
-#: views.py:409
+#: views.py:318
msgid "Operation: source deletion"
msgstr "Opération : suppression d'une documentation associée"
-#: views.py:428
+#: views.py:337
msgid "Operation: new administrative act"
msgstr "Opération : nouvel acte administratif"
-#: views.py:438
+#: views.py:347
msgid "Operation: administrative act modification"
msgstr "Opération : modification d'un acte administratif"
-#: views.py:462
+#: views.py:371
msgid "Operation: administrative act deletion"
msgstr "Opération : suppression d'un acte administratif"
diff --git a/translations/fr/archaeological_warehouse.po b/translations/fr/archaeological_warehouse.po
index 4318212e7..5da94edbb 100644
--- a/translations/fr/archaeological_warehouse.po
+++ b/translations/fr/archaeological_warehouse.po
@@ -15,7 +15,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.5\n"
-#: forms.py:34 forms.py:97 models.py:47 models.py:78
+#: forms.py:34 forms.py:97 models.py:47 models.py:87
msgid "Warehouse"
msgstr "Dépôt"
@@ -31,7 +31,7 @@ msgstr "Type de dépôt"
msgid "Person in charge"
msgstr "Responsable"
-#: forms.py:54 forms.py:102 models.py:44 models.py:82
+#: forms.py:54 forms.py:102 models.py:44 models.py:91
msgid "Comment"
msgstr "Commentaires"
@@ -59,7 +59,7 @@ msgstr "Pays"
msgid "Phone"
msgstr "Téléphone"
-#: forms.py:93 models.py:85
+#: forms.py:93 models.py:94
msgid "Container"
msgstr "Contenant"
@@ -67,7 +67,7 @@ msgstr "Contenant"
msgid "Ref."
msgstr "Réf."
-#: forms.py:95 forms.py:128 models.py:69 models.py:80
+#: forms.py:95 forms.py:128 models.py:69 models.py:89
msgid "Container type"
msgstr "Type de contenant"
@@ -83,7 +83,7 @@ msgstr "Vous devez sélectionner un contenant."
msgid "Add a new container"
msgstr "Ajouter un nouveau contenant."
-#: forms.py:146 ishtar_menu.py:33 views.py:94
+#: forms.py:146 ishtar_menu.py:33 views.py:87
msgid "Packaging"
msgstr "Conditionnement"
@@ -151,10 +151,10 @@ msgstr "Volume (l)"
msgid "Container types"
msgstr "Types de contenant"
-#: models.py:81
+#: models.py:90
msgid "Container ref."
msgstr "Réf. du contenant"
-#: models.py:86
+#: models.py:95
msgid "Containers"
msgstr "Contenants"
diff --git a/translations/fr/ishtar_common.po b/translations/fr/ishtar_common.po
index 8a74d8203..9e6d05458 100644
--- a/translations/fr/ishtar_common.po
+++ b/translations/fr/ishtar_common.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-10-11 12:46-0400\n"
+"PO-Revision-Date: 2016-10-22 06:30-0400\n"
"Last-Translator: Étienne Loks <etienne.loks@iggdrasil.net>\n"
"Language-Team: \n"
"Language: fr\n"
@@ -169,12 +169,12 @@ msgstr "Vous devez sélectionner un élément."
msgid "Add a new item"
msgstr "Ajouter un nouvel élément"
-#: forms.py:245 models.py:1307
+#: forms.py:245 models.py:1310
msgid "Template"
msgstr "Patron"
#: forms_common.py:41 forms_common.py:59 forms_common.py:182
-#: forms_common.py:406 models.py:1373 models.py:2722
+#: forms_common.py:406 models.py:1376 models.py:2758
#: templates/blocks/JQueryAdvancedTown.html:19
#: templates/ishtar/sheet_organization.html:13
msgid "Town"
@@ -198,8 +198,8 @@ msgstr ""
"<p class='example'>Par exemple tapez « saint denis 93 » pour obtenir la "
"commune Saint-Denis dans le département français de Seine-Saint-Denis.</p>"
-#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1543
-#: models.py:2361 models.py:2530 models.py:2592
+#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1546
+#: models.py:2384 models.py:2566 models.py:2628
#: templates/ishtar/sheet_person.html:4
msgid "Person"
msgstr "Personne"
@@ -213,63 +213,63 @@ msgstr ""
"pas possible."
#: forms_common.py:170 forms_common.py:327 forms_common.py:451
-#: ishtar_menu.py:75 models.py:1544 models.py:2262
+#: ishtar_menu.py:75 models.py:1547 models.py:2273
#: 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:974 models.py:1306
-#: models.py:1589 models.py:1807 models.py:2256 models.py:2347 models.py:2708
+#: forms_common.py:376 forms_common.py:446 models.py:977 models.py:1309
+#: models.py:1592 models.py:1810 models.py:2267 models.py:2370 models.py:2744
#: templates/ishtar/sheet_organization.html:8
#: templates/ishtar/sheet_organization.html:21
msgid "Name"
msgstr "Nom"
-#: forms_common.py:174 models.py:1528 models.py:1938
+#: forms_common.py:174 models.py:1531 models.py:1941
msgid "Organization type"
msgstr "Type d'organisation"
-#: forms_common.py:176 forms_common.py:400 models.py:1368
+#: forms_common.py:176 forms_common.py:400 models.py:1371
#: templates/ishtar/sheet_organization.html:10
msgid "Address"
msgstr "Adresse"
-#: forms_common.py:178 forms_common.py:403 models.py:1369
+#: forms_common.py:178 forms_common.py:403 models.py:1372
#: templates/ishtar/sheet_organization.html:11
msgid "Address complement"
msgstr "Complément d'adresse"
-#: forms_common.py:180 forms_common.py:404 models.py:1371
+#: forms_common.py:180 forms_common.py:404 models.py:1374
#: templates/ishtar/sheet_organization.html:12
msgid "Postal code"
msgstr "Code postal"
-#: forms_common.py:183 forms_common.py:407 models.py:1374
+#: forms_common.py:183 forms_common.py:407 models.py:1377
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:1401
+#: forms_common.py:448 forms_common.py:572 models.py:1404
msgid "Email"
msgstr "Courriel"
-#: forms_common.py:186 forms_common.py:383 models.py:1386
+#: forms_common.py:186 forms_common.py:383 models.py:1389
#: 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:1398
+#: forms_common.py:187 forms_common.py:392 models.py:1401
#: 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:1966
-#: models.py:2258 models.py:2643 templates/sheet_ope.html:85
+#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:1969
+#: models.py:2269 models.py:2679 templates/sheet_ope.html:85
#: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126
#: templates/ishtar/import_list.html:13
#: templates/ishtar/sheet_organization.html:23
@@ -293,7 +293,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:2345
+#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2368
#: templates/ishtar/sheet_organization.html:22
msgid "Surname"
msgstr "Prénom"
@@ -311,25 +311,25 @@ msgstr "Personne à fusionner"
msgid "Identity"
msgstr "Identité"
-#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1939
-#: models.py:2339 models.py:2341 models.py:2640 templates/sheet_ope.html:104
+#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1942
+#: models.py:2362 models.py:2364 models.py:2676 templates/sheet_ope.html:104
#: templates/ishtar/blocks/window_tables/documents.html:7
msgid "Title"
msgstr "Titre"
-#: forms_common.py:372 models.py:2343
+#: forms_common.py:372 models.py:2366
msgid "Salutation"
msgstr "Formule d'appel"
-#: forms_common.py:378 models.py:2349
+#: forms_common.py:378 models.py:2372
msgid "Raw name"
msgstr "Nom brut"
-#: forms_common.py:381 models.py:1387
+#: forms_common.py:381 models.py:1390
msgid "Phone description"
msgstr "Type de téléphone"
-#: forms_common.py:384 models.py:1389 models.py:1391
+#: forms_common.py:384 models.py:1392 models.py:1394
msgid "Phone description 2"
msgstr "Type de téléphone 2"
@@ -337,11 +337,11 @@ msgstr "Type de téléphone 2"
msgid "Phone 2"
msgstr "Téléphone 2"
-#: forms_common.py:388 models.py:1395
+#: forms_common.py:388 models.py:1398
msgid "Phone description 3"
msgstr "Type de téléphone 3"
-#: forms_common.py:390 models.py:1393
+#: forms_common.py:390 models.py:1396
msgid "Phone 3"
msgstr "Téléphone 3"
@@ -349,23 +349,23 @@ msgstr "Téléphone 3"
msgid "Current organization"
msgstr "Organisation actuelle"
-#: forms_common.py:409 models.py:1376
+#: forms_common.py:409 models.py:1379
msgid "Other address: address"
msgstr "Autre adresse : adresse"
-#: forms_common.py:412 models.py:1379
+#: forms_common.py:412 models.py:1382
msgid "Other address: address complement"
msgstr "Autre adresse : complément d'adresse"
-#: forms_common.py:414 models.py:1380
+#: forms_common.py:414 models.py:1383
msgid "Other address: postal code"
msgstr "Autre adresse : code postal"
-#: forms_common.py:416 models.py:1382
+#: forms_common.py:416 models.py:1385
msgid "Other address: town"
msgstr "Autre adresse : ville"
-#: forms_common.py:418 models.py:1384
+#: forms_common.py:418 models.py:1387
msgid "Other address: country"
msgstr "Autre adresse : pays"
@@ -381,7 +381,7 @@ msgstr "Nom d'utilisateur"
msgid "Account search"
msgstr "Recherche de comptes"
-#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2310
+#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2321
msgid "Person type"
msgstr "Type de personne"
@@ -413,7 +413,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:2723
+#: forms_common.py:628 forms_common.py:641 models.py:2759
msgid "Towns"
msgstr "Communes"
@@ -429,7 +429,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:1940 models.py:2617
+#: forms_common.py:775 forms_common.py:823 models.py:1943 models.py:2653
msgid "Source type"
msgstr "Type de document"
@@ -441,37 +441,37 @@ msgstr "Référence"
msgid "Internal reference"
msgstr "Référence interne"
-#: forms_common.py:783 models.py:2654
+#: forms_common.py:783 models.py:2690
msgid "Numerical ressource (web address)"
msgstr "Ressource numérique (adresse web)"
-#: forms_common.py:784 models.py:2656
+#: forms_common.py:784 models.py:2692
msgid "Receipt date"
msgstr "Date de réception"
-#: forms_common.py:786 models.py:2093 models.py:2658
+#: forms_common.py:786 models.py:2096 models.py:2694
msgid "Creation date"
msgstr "Date de création"
-#: forms_common.py:789 models.py:2661
+#: forms_common.py:789 models.py:2697
msgid "Receipt date in documentation"
msgstr "Date de réception en documentation"
#: forms_common.py:791 forms_common.py:827 models.py:317 models.py:577
-#: models.py:1834 models.py:2353 models.py:2668
+#: models.py:1837 models.py:2376 models.py:2704
msgid "Comment"
msgstr "Commentaire"
-#: forms_common.py:793 forms_common.py:826 models.py:976 models.py:1593
-#: models.py:1766 models.py:1808 models.py:2667 templates/sheet_ope.html:128
+#: forms_common.py:793 forms_common.py:826 models.py:979 models.py:1596
+#: models.py:1769 models.py:1811 models.py:2703 templates/sheet_ope.html:128
msgid "Description"
msgstr "Description"
-#: forms_common.py:796 models.py:2669
+#: forms_common.py:796 models.py:2705
msgid "Additional information"
msgstr "Informations supplémentaires"
-#: forms_common.py:798 forms_common.py:830 models.py:2671
+#: forms_common.py:798 forms_common.py:830 models.py:2707
msgid "Has a duplicate"
msgstr "Existe en doublon"
@@ -488,7 +488,7 @@ msgstr ""
"<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le "
"ratio est conservé).</p>"
-#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2597
+#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2633
#: templates/ishtar/wizard/wizard_person_deletion.html:124
msgid "Author"
msgstr "Auteur"
@@ -501,7 +501,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:1941 models.py:2585 models.py:2594
+#: forms_common.py:856 models.py:1944 models.py:2621 models.py:2630
msgid "Author type"
msgstr "Type d'auteur"
@@ -513,7 +513,7 @@ msgstr "Sélection d'auteur"
msgid "There are identical authors."
msgstr "Il y a des auteurs identiques."
-#: forms_common.py:893 models.py:2598 models.py:2650
+#: forms_common.py:893 models.py:2634 models.py:2686
#: templates/sheet_ope.html:106
#: templates/ishtar/blocks/window_tables/documents.html:9
msgid "Authors"
@@ -531,7 +531,7 @@ msgstr "Ajouter/Modifier"
msgid "Deletion"
msgstr "Suppression"
-#: ishtar_menu.py:39 models.py:1102 views.py:1450
+#: ishtar_menu.py:39 models.py:1105 views.py:1484
msgid "Global variables"
msgstr "Variables globales"
@@ -559,20 +559,20 @@ msgstr "Fusion automatique"
msgid "Manual merge"
msgstr "Fusion manuelle"
-#: ishtar_menu.py:70 ishtar_menu.py:101 models.py:2130 widgets.py:110
+#: ishtar_menu.py:70 ishtar_menu.py:101 models.py:2133 widgets.py:110
#: templates/ishtar/form_delete.html:11
msgid "Delete"
msgstr "Suppression"
-#: ishtar_menu.py:109 models.py:2104
+#: ishtar_menu.py:109 models.py:2107
msgid "Imports"
msgstr "Imports"
-#: ishtar_menu.py:112 views.py:1458
+#: ishtar_menu.py:112 views.py:1492
msgid "New import"
msgstr "Nouvel import"
-#: ishtar_menu.py:116 views.py:1472
+#: ishtar_menu.py:116 views.py:1506
msgid "Current imports"
msgstr "Imports en cours"
@@ -592,7 +592,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:313 models.py:576 models.py:1341 models.py:1353
+#: models.py:313 models.py:576 models.py:1344 models.py:1356
msgid "Label"
msgstr "Libellé"
@@ -600,11 +600,11 @@ msgstr "Libellé"
msgid "Textual ID"
msgstr "Identifiant textuel"
-#: models.py:318 models.py:579 models.py:1310
+#: models.py:318 models.py:579 models.py:1313
msgid "Available"
msgstr "Disponible"
-#: models.py:598 models.py:1880
+#: models.py:598 models.py:1883
msgid "Key"
msgstr "Clé"
@@ -612,71 +612,71 @@ msgstr "Clé"
msgid "Specific key to an import"
msgstr "Clé spécifique à un import"
-#: models.py:695
+#: models.py:696
msgid "Last editor"
msgstr "Dernier éditeur"
-#: models.py:698
+#: models.py:699
msgid "Creator"
msgstr "Créateur"
-#: models.py:838 models.py:2734
+#: models.py:841 models.py:2770
msgid "Order"
msgstr "Ordre"
-#: models.py:839
+#: models.py:842
msgid "Symmetrical"
msgstr "Symétrique"
-#: models.py:840
+#: models.py:843
msgid "Tiny label"
msgstr "Petit libellé"
-#: models.py:854
+#: models.py:857
msgid "Cannot have symmetrical and an inverse_relation"
msgstr "Ne peut pas être symétrique et avoir une relation inverse"
-#: models.py:968
+#: models.py:971
msgid "Euro"
msgstr "Euro"
-#: models.py:969
+#: models.py:972
msgid "US dollar"
msgstr "Dollars US"
-#: models.py:975 models.py:1591
+#: models.py:978 models.py:1594
msgid "Slug"
msgstr "Identifiant texte"
-#: models.py:977
+#: models.py:980
msgid "Files module"
msgstr "Module Dossiers"
-#: models.py:978
+#: models.py:981
msgid "Context records module"
msgstr "Module Unités d'Enregistrement"
-#: models.py:980
+#: models.py:983
msgid "Finds module"
msgstr "Module Mobilier"
-#: models.py:981
+#: models.py:984
msgid "Need context records module"
msgstr "Nécessite le module Unités d'Enregistrement"
-#: models.py:983
+#: models.py:986
msgid "Warehouses module"
msgstr "Module Dépôts"
-#: models.py:984
+#: models.py:987
msgid "Need finds module"
msgstr "Nécessite le module mobilier"
-#: models.py:986
+#: models.py:989
msgid "Home page"
msgstr "Page d'accueil"
-#: models.py:987
+#: models.py:990
#, python-brace-format
msgid ""
"Homepage of Ishtar - if not defined a default homepage will appear. Use the "
@@ -686,22 +686,22 @@ msgstr ""
"défaut va apparaître. Utiliser la syntaxe Markdown. {random_image} peut être "
"utilisé pour afficher une image au hasard."
-#: models.py:991
+#: models.py:994
msgid "File external id"
msgstr "Identifiant externe de fichier"
-#: models.py:993
+#: models.py:996
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 "Formule pour gérer les identifiants externes"
-#: models.py:998
+#: models.py:1001
msgid "Parcel external id"
msgstr "Identifiant externe de parcelle"
-#: models.py:1001
+#: models.py:1004
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 "
@@ -711,11 +711,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:1006
+#: models.py:1009
msgid "Context record external id"
msgstr "Identifiant externe d'unité d'enregistrement"
-#: models.py:1008
+#: models.py:1011
msgid ""
"Formula to manage context record external ID. Change this with care. With "
"incorrect formula, the application might be unusable and import of external "
@@ -725,11 +725,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:1013
+#: models.py:1016
msgid "Base find external id"
msgstr "Identifiant externe de mobilier de base"
-#: models.py:1015
+#: models.py:1018
msgid ""
"Formula to manage base find external ID. Change this with care. With "
"incorrect formula, the application might be unusable and import of external "
@@ -739,11 +739,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:1020
+#: models.py:1023
msgid "Find external id"
msgstr "Identifiant externe de mobilier"
-#: models.py:1022
+#: models.py:1025
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 "
@@ -753,11 +753,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:1027
+#: models.py:1030
msgid "Raw name for person"
msgstr "Nom brut pour une personne"
-#: models.py:1029
+#: models.py:1032
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 "
@@ -767,43 +767,43 @@ msgstr ""
"Une formule incorrecte peut rendre l'application inutilisable et l'import de "
"données externes peut alors être destructif."
-#: models.py:1033
+#: models.py:1036
msgid "Current active"
msgstr "Actuellement utilisé"
-#: models.py:1034
+#: models.py:1037
msgid "Currency"
msgstr "Devise"
-#: models.py:1038
+#: models.py:1041
msgid "Ishtar site profile"
msgstr "Profil d'instance Ishtar"
-#: models.py:1039
+#: models.py:1042
msgid "Ishtar site profiles"
msgstr "Profils d'instance Ishtar"
-#: models.py:1095
+#: models.py:1098
msgid "Variable name"
msgstr "Nom de la variable"
-#: models.py:1096
+#: models.py:1099
msgid "Description of the variable"
msgstr "Description de la variable"
-#: models.py:1098 models.py:1881
+#: models.py:1101 models.py:1884
msgid "Value"
msgstr "Valeur"
-#: models.py:1101
+#: models.py:1104
msgid "Global variable"
msgstr "Variable globale"
-#: models.py:1211 models.py:1241
+#: models.py:1214 models.py:1244
msgid "Total"
msgstr "Total"
-#: models.py:1218 models.py:1342 models.py:1354
+#: models.py:1221 models.py:1345 models.py:1357
#: templates/ishtar/sheet_person.html:22
#: templates/ishtar/dashboards/dashboard_main_detail.html:141
#: templates/ishtar/dashboards/dashboard_main_detail_users.html:26
@@ -811,607 +811,607 @@ msgstr "Total"
msgid "Number"
msgstr "Nombre"
-#: models.py:1305
+#: models.py:1308
msgid "Administrative Act"
msgstr "Acte administratif"
-#: models.py:1309
+#: models.py:1312
msgid "Associated object"
msgstr "Objet associé"
-#: models.py:1313
+#: models.py:1316
msgid "Document template"
msgstr "Patron de document"
-#: models.py:1314
+#: models.py:1317
msgid "Document templates"
msgstr "Patrons de documents"
-#: models.py:1345 models.py:1355 models.py:2088
+#: models.py:1348 models.py:1358 models.py:2091
msgid "State"
msgstr "État"
-#: models.py:1359 templates/blocks/JQueryAdvancedTown.html:12
+#: models.py:1362 templates/blocks/JQueryAdvancedTown.html:12
msgid "Department"
msgstr "Département"
-#: models.py:1360
+#: models.py:1363
msgid "Departments"
msgstr "Départements"
-#: models.py:1397
+#: models.py:1400
msgid "Raw phone"
msgstr "Téléphone brut"
-#: models.py:1403
+#: models.py:1406
msgid "Alternative address is prefered"
msgstr "L'adresse alternative est préférée"
-#: models.py:1442
+#: models.py:1445
msgid "Tel: "
msgstr "Tél :"
-#: models.py:1446
+#: models.py:1449
msgid "Mobile: "
msgstr "Mobile :"
-#: models.py:1450
+#: models.py:1453
msgid "Email: "
msgstr "Courriel :"
-#: models.py:1455
+#: models.py:1458
msgid "Merge key"
msgstr "Clé de fusion"
-#: models.py:1529
+#: models.py:1532
msgid "Organization types"
msgstr "Types d'organisation"
-#: models.py:1545 views.py:234
+#: models.py:1548 views.py:234
msgid "Operation"
msgstr "Opération"
-#: models.py:1547
+#: models.py:1550
msgid "Archaeological site"
msgstr "Entité Archéologique"
-#: models.py:1548
+#: models.py:1551
msgid "Parcels"
msgstr "Parcelles"
-#: models.py:1550
+#: models.py:1553
msgid "Operation source"
msgstr "Documentation de l'opération"
-#: models.py:1553 views.py:1265 views.py:1316
+#: models.py:1556 views.py:1299 views.py:1350
msgid "Archaeological files"
msgstr "Dossiers archéologiques"
-#: models.py:1555 views.py:1268 views.py:1324
+#: models.py:1558 views.py:1302 views.py:1358
msgid "Context records"
msgstr "Unités d'Enregistrement"
-#: models.py:1557
+#: models.py:1560
msgid "Context record relations"
msgstr "Relations entre Unités d'Enregistrement"
-#: models.py:1559 views.py:1270 views.py:1327
+#: models.py:1562 views.py:1304 views.py:1361
msgid "Finds"
msgstr "Mobilier"
-#: models.py:1595 templates/ishtar/dashboards/dashboard_main.html:25
+#: models.py:1598 templates/ishtar/dashboards/dashboard_main.html:25
msgid "Users"
msgstr "Utilisateurs"
-#: models.py:1597
+#: models.py:1600
msgid "Associated model"
msgstr "Modèle associé"
-#: models.py:1600
+#: models.py:1603
msgid "Is template"
msgstr "Est un patron"
-#: models.py:1601
+#: models.py:1604
msgid "Unicity keys (separator \";\")"
msgstr "Clés d'unicité (séparateur « ; »)"
-#: models.py:1605
+#: models.py:1608
msgid "Importer - Type"
msgstr "Importeur - Type"
-#: models.py:1606
+#: models.py:1609
msgid "Importer - Types"
msgstr "Importeur - Types"
-#: models.py:1696
+#: models.py:1699
msgid "Importer - Default"
msgstr "Importeur - Par défaut"
-#: models.py:1697
+#: models.py:1700
msgid "Importer - Defaults"
msgstr "Importeur - Par défaut"
-#: models.py:1732
+#: models.py:1735
msgid "Importer - Default value"
msgstr "Importeur - Valeur par défaut"
-#: models.py:1733
+#: models.py:1736
msgid "Importer - Default values"
msgstr "Importeur - Valeurs par défaut"
-#: models.py:1765
+#: models.py:1768
msgid "Column number"
msgstr "Numéro de colonne"
-#: models.py:1768
+#: models.py:1771
msgid "Required"
msgstr "Requis"
-#: models.py:1771
+#: models.py:1774
msgid "Importer - Column"
msgstr "Importeur - Colonne"
-#: models.py:1772
+#: models.py:1775
msgid "Importer - Columns"
msgstr "Importeur - Colonnes"
-#: models.py:1792
+#: models.py:1795
msgid "Field name"
msgstr "Nom du champ"
-#: models.py:1794 models.py:1828
+#: models.py:1797 models.py:1831
msgid "Force creation of new items"
msgstr "Forcer la création de nouveaux éléments"
-#: models.py:1796 models.py:1830
+#: models.py:1799 models.py:1833
msgid "Concatenate with existing"
msgstr "Concaténer avec l'existant"
-#: models.py:1798 models.py:1832
+#: models.py:1801 models.py:1835
msgid "Concatenate character"
msgstr "Caractère de concaténation"
-#: models.py:1802
+#: models.py:1805
msgid "Importer - Duplicate field"
msgstr "Importeur - Champ dupliqué"
-#: models.py:1803
+#: models.py:1806
msgid "Importer - Duplicate fields"
msgstr "Importeur - Champs dupliqués"
-#: models.py:1810
+#: models.py:1813
msgid "Regular expression"
msgstr "Expression régulière"
-#: models.py:1813
+#: models.py:1816
msgid "Importer - Regular expression"
msgstr "Importeur - Expression régulière"
-#: models.py:1814
+#: models.py:1817
msgid "Importer - Regular expressions"
msgstr "Importeur - Expressions régulières"
-#: models.py:1837
+#: models.py:1840
msgid "Importer - Target"
msgstr "Importeur - Cible"
-#: models.py:1838
+#: models.py:1841
msgid "Importer - Targets"
msgstr "Importeur - Cibles"
-#: models.py:1862 views.py:518
+#: models.py:1865 views.py:518
msgid "True"
msgstr "Oui"
-#: models.py:1863 views.py:520
+#: models.py:1866 views.py:520
msgid "False"
msgstr "Non"
-#: models.py:1882
+#: models.py:1885
msgid "Is set"
msgstr "Est défini"
-#: models.py:1889
+#: models.py:1892
msgid "Importer - Target key"
msgstr "Importeur - Rapprochement"
-#: models.py:1890
+#: models.py:1893
msgid "Importer - Targets keys"
msgstr "Importeur - Rapprochements"
-#: models.py:1942 models.py:2633 models.py:2646
+#: models.py:1945 models.py:2669 models.py:2682
msgid "Format"
msgstr "Format"
-#: models.py:1943 models.py:2738
+#: models.py:1946 models.py:2774
msgid "Operation type"
msgstr "Type d'opération"
-#: models.py:1944
+#: models.py:1947
msgid "Period"
msgstr "Périodes"
-#: models.py:1945
+#: models.py:1948
msgid "Report state"
msgstr "État de rapport"
-#: models.py:1946
+#: models.py:1949
msgid "Unit"
msgstr "Unité"
-#: models.py:1947
+#: models.py:1950
msgid "Material"
msgstr "Matériau"
-#: models.py:1949
+#: models.py:1952
msgid "Conservatory state"
msgstr "État de conservation"
-#: models.py:1950
+#: models.py:1953
msgid "Preservation type"
msgstr "Type de conservation"
-#: models.py:1951
+#: models.py:1954
msgid "Object type"
msgstr "Type d'objet"
-#: models.py:1953
+#: models.py:1956
msgid "Identification type"
msgstr "Type d'identification"
-#: models.py:1955
+#: models.py:1958
msgid "Context record relation type"
msgstr "Type de relations entre Unités d'Enregistrement"
-#: models.py:1956 models.py:2625
+#: models.py:1959 models.py:2661
msgid "Support type"
msgstr "Type de support"
-#: models.py:1962
+#: models.py:1965
msgid "Integer"
msgstr "Entier"
-#: models.py:1963
+#: models.py:1966
msgid "Float"
msgstr "Nombre à virgule"
-#: models.py:1964
+#: models.py:1967
msgid "String"
msgstr "Chaîne de caractères"
-#: models.py:1965 templates/sheet_ope.html:86
+#: models.py:1968 templates/sheet_ope.html:86
msgid "Date"
msgstr "Date"
-#: models.py:1967 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83
+#: models.py:1970 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:1968
+#: models.py:1971
msgid "String to boolean"
msgstr "Chaîne de caractères vers booléen"
-#: models.py:1969
+#: models.py:1972
msgctxt "filesystem"
msgid "File"
msgstr "Fichier"
-#: models.py:1970
+#: models.py:1973
msgid "Unknow type"
msgstr "Type inconnu"
-#: models.py:1986
+#: models.py:1989
msgid "4 digit year. e.g.: \"2015\""
msgstr "Année sur 4 chiffres. Exemple : « 2015 »"
-#: models.py:1987
+#: models.py:1990
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:1988
+#: models.py:1991
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:1998
+#: models.py:2001
msgid "Options"
msgstr "Options"
-#: models.py:2000
+#: models.py:2003
msgid "Split character(s)"
msgstr "Caractère(s) de séparation"
-#: models.py:2004
+#: models.py:2007
msgid "Importer - Formater type"
msgstr "Importeur - Type de mise en forme"
-#: models.py:2005
+#: models.py:2008
msgid "Importer - Formater types"
msgstr "Importeur - Types de mise en forme"
-#: models.py:2052 templates/ishtar/dashboards/dashboard_main_detail.html:63
+#: models.py:2055 templates/ishtar/dashboards/dashboard_main_detail.html:63
msgid "Created"
msgstr "Créé"
-#: models.py:2053
+#: models.py:2056
msgid "Analyse in progress"
msgstr "Analyse en cours"
-#: models.py:2054
+#: models.py:2057
msgid "Analysed"
msgstr "Analysé"
-#: models.py:2055
+#: models.py:2058
msgid "Import pending"
msgstr "Import en attente"
-#: models.py:2056
+#: models.py:2059
msgid "Import in progress"
msgstr "Import en cours"
-#: models.py:2057
+#: models.py:2060
msgid "Finished with errors"
msgstr "Terminé avec des erreurs"
-#: models.py:2058
+#: models.py:2061
msgid "Finished"
msgstr "Terminé"
-#: models.py:2059
+#: models.py:2062
msgid "Archived"
msgstr "Archivé"
-#: models.py:2071
+#: models.py:2074
msgid "Imported file"
msgstr "Fichier importé"
-#: models.py:2074
+#: models.py:2077
msgid "Associated images (zip file)"
msgstr "Images associées (fichier zip)"
-#: models.py:2076
+#: models.py:2079
msgid "Encoding"
msgstr "Codage"
-#: models.py:2078
+#: models.py:2081
msgid "Skip lines"
msgstr "Nombre de lignes d'entête"
-#: models.py:2079 templates/ishtar/import_list.html:47
+#: models.py:2082 templates/ishtar/import_list.html:47
msgid "Error file"
msgstr "Fichier erreur"
-#: models.py:2082
+#: models.py:2085
msgid "Result file"
msgstr "Fichier résultant"
-#: models.py:2085 templates/ishtar/import_list.html:53
+#: models.py:2088 templates/ishtar/import_list.html:53
msgid "Match file"
msgstr "Fichier de correspondance"
-#: models.py:2091
+#: models.py:2094
msgid "Conservative import"
msgstr "Import conservateur"
-#: models.py:2096
+#: models.py:2099
msgid "End date"
msgstr "Date de fin"
-#: models.py:2098
+#: models.py:2101
msgid "Remaining seconds"
msgstr "Secondes restantes"
-#: models.py:2103
+#: models.py:2106
msgid "Import"
msgstr "Import"
-#: models.py:2120
+#: models.py:2123
msgid "Analyse"
msgstr "Analyser"
-#: models.py:2122 models.py:2125
+#: models.py:2125 models.py:2128
msgid "Re-analyse"
msgstr "Analyser de nouveau "
-#: models.py:2123
+#: models.py:2126
msgid "Launch import"
msgstr "Lancer l'import"
-#: models.py:2126
+#: models.py:2129
msgid "Re-import"
msgstr "Ré-importer"
-#: models.py:2127
+#: models.py:2130
msgid "Archive"
msgstr "Archiver"
-#: models.py:2129
+#: models.py:2132
msgid "Unarchive"
msgstr "Désarchiver"
-#: models.py:2263
+#: models.py:2274
msgid "Organizations"
msgstr "Organisations"
-#: models.py:2265
+#: models.py:2276
msgid "Can view all Organizations"
msgstr "Peut voir toutes les Organisations"
-#: models.py:2266
+#: models.py:2277
msgid "Can view own Organization"
msgstr "Peut voir sa propre Organisation"
-#: models.py:2267
+#: models.py:2278
msgid "Can add own Organization"
msgstr "Peut ajouter sa propre Organisation"
-#: models.py:2269
+#: models.py:2280
msgid "Can change own Organization"
msgstr "Peut modifier sa propre Organisation"
-#: models.py:2271
+#: models.py:2282
msgid "Can delete own Organization"
msgstr "Peut supprimer sa propre Organisation"
-#: models.py:2306
+#: models.py:2317
msgid "Groups"
msgstr "Groupes"
-#: models.py:2311
+#: models.py:2322
msgid "Person types"
msgstr "Types de personne"
-#: models.py:2319
+#: models.py:2330
msgid "Title type"
msgstr "Type de titre"
-#: models.py:2320
+#: models.py:2331
msgid "Title types"
msgstr "Types de titre"
-#: models.py:2329
+#: models.py:2340
msgid "Mr"
msgstr "M."
-#: models.py:2330
+#: models.py:2341
msgid "Miss"
msgstr "Mlle"
-#: models.py:2331
+#: models.py:2342
msgid "Mr and Mrs"
msgstr "M. et Mme"
-#: models.py:2332
+#: models.py:2343
msgid "Mrs"
msgstr "Mme"
-#: models.py:2333
+#: models.py:2344
msgid "Doctor"
msgstr "Dr."
-#: models.py:2351
+#: models.py:2374
msgid "Contact type"
msgstr "Type de contact"
-#: models.py:2354 models.py:2418
+#: models.py:2377 models.py:2441
msgid "Types"
msgstr "Types"
-#: models.py:2357
+#: models.py:2380
msgid "Is attached to"
msgstr "Est rattaché à"
-#: models.py:2362
+#: models.py:2385
msgid "Persons"
msgstr "Personnes"
-#: models.py:2364
+#: models.py:2387
msgid "Can view all Persons"
msgstr "Peut voir toutes les Personnes"
-#: models.py:2365
+#: models.py:2388
msgid "Can view own Person"
msgstr "Peut voir sa propre Personne"
-#: models.py:2366
+#: models.py:2389
msgid "Can add own Person"
msgstr "Peut ajouter sa propre Personne"
-#: models.py:2367
+#: models.py:2390
msgid "Can change own Person"
msgstr "Peut modifier sa propre Personne"
-#: models.py:2368
+#: models.py:2391
msgid "Can delete own Person"
msgstr "Peut supprimer sa propre Personne"
-#: models.py:2533
+#: models.py:2569
msgid "Advanced shortcut menu"
msgstr "Menu de raccourci (avancé)"
-#: models.py:2536
+#: models.py:2572
msgid "Ishtar user"
msgstr "Utilisateur d'Ishtar"
-#: models.py:2537
+#: models.py:2573
msgid "Ishtar users"
msgstr "Utilisateurs d'Ishtar"
-#: models.py:2580
+#: models.py:2616
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:2586
+#: models.py:2622
msgid "Author types"
msgstr "Types d'auteur"
-#: models.py:2618
+#: models.py:2654
msgid "Source types"
msgstr "Types de document"
-#: models.py:2626
+#: models.py:2662
msgid "Support types"
msgstr "Types de support"
-#: models.py:2634
+#: models.py:2670
msgid "Formats"
msgstr "Formats"
-#: models.py:2641
+#: models.py:2677
msgid "External ID"
msgstr "Identifiant externe"
-#: models.py:2644
+#: models.py:2680
msgid "Support"
msgstr "Support"
-#: models.py:2648
+#: models.py:2684
msgid "Scale"
msgstr "Échelle"
-#: models.py:2662
+#: models.py:2698
msgid "Item number"
msgstr "Numéro d'élément"
-#: models.py:2663
+#: models.py:2699
msgid "Ref."
msgstr "Réf."
-#: models.py:2666
+#: models.py:2702
msgid "Internal ref."
msgstr "Réf. interne"
-#: models.py:2709
+#: models.py:2745
msgid "Surface (m2)"
msgstr "Surface (m2)"
-#: models.py:2710 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
+#: models.py:2746 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
msgid "Localisation"
msgstr "Localisation"
-#: models.py:2735
+#: models.py:2771
msgid "Is preventive"
msgstr "Est du préventif"
-#: models.py:2739
+#: models.py:2775
msgid "Operation types"
msgstr "Types d'opération"
-#: models.py:2768
+#: models.py:2804
msgid "Preventive"
msgstr "Préventif"
-#: models.py:2769
+#: models.py:2805
msgid "Research"
msgstr "Programmé"
-#: utils.py:64
+#: utils.py:74
msgid " (...)"
msgstr " (...)"
-#: utils.py:97
+#: utils.py:107
msgid "Load another random image?"
msgstr "Charger une autre image au hasard ?"
@@ -1459,44 +1459,44 @@ msgstr "Unité d'Enregistrement"
msgid "Find"
msgstr "Mobilier"
-#: views.py:1178 views.py:1247
+#: views.py:1238 views.py:1281
msgid "Operation not permitted."
msgstr "Opération non permise."
-#: views.py:1180
+#: views.py:1240
#, python-format
msgid "New %s"
msgstr "Nouveau %s"
-#: views.py:1266 views.py:1320
+#: views.py:1300 views.py:1354
msgid "Operations"
msgstr "Opérations"
-#: views.py:1519 templates/ishtar/import_list.html:43
+#: views.py:1553 templates/ishtar/import_list.html:43
msgid "Link unmatched items"
msgstr "Associer les éléments non rapprochés"
-#: views.py:1534
+#: views.py:1568
msgid "Delete import"
msgstr "Suppression de l'import"
-#: views.py:1573
+#: views.py:1607
msgid "Merge persons"
msgstr "Fusionner des personnes"
-#: views.py:1597
+#: views.py:1631
msgid "Select the main person"
msgstr "Choisir la personne principale"
-#: views.py:1606
+#: views.py:1640
msgid "Merge organization"
msgstr "Fusionner des organisations"
-#: views.py:1616
+#: views.py:1650
msgid "Select the main organization"
msgstr "Sélectionner l'organisation principale"
-#: views.py:1656 views.py:1672
+#: views.py:1690 views.py:1706
msgid "Corporation manager"
msgstr "Représentant de la personne morale"
@@ -1504,15 +1504,15 @@ msgstr "Représentant de la personne morale"
msgid "Search..."
msgstr "Recherche..."
-#: widgets.py:610 templatetags/window_tables.py:79
+#: widgets.py:623 templatetags/window_tables.py:79
msgid "No results"
msgstr "Pas de résultats"
-#: widgets.py:611 templatetags/window_tables.py:80
+#: widgets.py:624 templatetags/window_tables.py:80
msgid "Loading..."
msgstr "Chargement..."
-#: widgets.py:612
+#: widgets.py:625
msgid "Remove"
msgstr "Enlever"
@@ -1897,7 +1897,7 @@ msgstr "tickets"
msgid "where the magic happens."
msgstr "c'est là que la magie opère."
-#: templates/window.html:40 templates/blocks/JQueryJqGrid.html:25
+#: templates/window.html:40 templates/blocks/JQueryJqGrid.html:28
#: templates/ishtar/manage_basket.html:9
msgid "Add"
msgstr "Ajout"
@@ -1919,13 +1919,13 @@ msgstr "Choisissez une région"
msgid "Search and select an item"
msgstr "Rechercher puis sélectionner un élément"
-#: templates/blocks/JQueryJqGrid.html:17 templates/blocks/JQueryJqGrid.html:20
+#: templates/blocks/JQueryJqGrid.html:17 templates/blocks/JQueryJqGrid.html:23
#: templates/ishtar/blocks/window_tables/dynamic_documents.html:9
#: templates/ishtar/blocks/window_tables/dynamic_documents.html:12
msgid "Export as CSV"
msgstr "Export en CSV"
-#: templates/blocks/JQueryJqGrid.html:17 templates/blocks/JQueryJqGrid.html:20
+#: templates/blocks/JQueryJqGrid.html:17 templates/blocks/JQueryJqGrid.html:23
#: templates/ishtar/blocks/window_tables/dynamic_documents.html:9
msgid "CSV"
msgstr "CSV"
@@ -1940,7 +1940,11 @@ msgstr "Export en CSV - complet"
msgid "CSV full"
msgstr "CSV complet"
-#: templates/blocks/JQueryJqGrid.html:96
+#: templates/blocks/JQueryJqGrid.html:20
+msgid "Export as CSV - "
+msgstr "Export en CSV - "
+
+#: templates/blocks/JQueryJqGrid.html:99
#: templates/ishtar/blocks/window_tables/dynamic_documents.html:41
msgid "An error as occured during search. Check your query fields."
msgstr ""
@@ -2178,8 +2182,8 @@ msgstr "Documents des Unités d'Enregistrement associées"
msgid "Documents associated to finds"
msgstr "Documents du mobilier associé"
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:7
-#: templates/ishtar/blocks/shortcut_menu.html:7
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:15
+#: templates/ishtar/blocks/shortcut_menu.html:15
msgid ""
"Simple menu limited to your own items. Be careful only the last 100 items "
"are displayed."
@@ -2187,23 +2191,23 @@ msgstr ""
"Menu simple limité à vos propres éléments. Attention seuls les 100 derniers "
"éléments sont affichés."
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:7
-#: templates/ishtar/blocks/shortcut_menu.html:7
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:15
+#: templates/ishtar/blocks/shortcut_menu.html:15
msgid "simple"
msgstr "simple"
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:8
-#: templates/ishtar/blocks/shortcut_menu.html:8
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:16
+#: templates/ishtar/blocks/shortcut_menu.html:16
msgid "Advanced menu."
msgstr "Menu avancé."
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:8
-#: templates/ishtar/blocks/shortcut_menu.html:8
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:16
+#: templates/ishtar/blocks/shortcut_menu.html:16
msgid "advanced"
msgstr "avancé"
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:11
-#: templates/ishtar/blocks/shortcut_menu.html:10
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:19
+#: templates/ishtar/blocks/shortcut_menu.html:19
msgid ""
"Pin an item in order to constrain default searches with this item. By "
"default only your items are displayed. New created and modified items are "
@@ -2213,20 +2217,20 @@ msgstr ""
"élément. Par défaut seuls ses propres éléments sont listés. Les nouveaux "
"éléments, ceux modifiés sont auto-épinglés."
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:13
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:21
msgid "Search within my items"
msgstr "Rechercher parmi mes éléments"
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:14
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:22
msgid "Search within all items"
msgstr "Rechercher parmi tous les éléments"
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:17
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:25
msgid "Refresh menu"
msgstr "Rafraîchir le menu"
-#: templates/ishtar/blocks/advanced_shortcut_menu.html:28
-#: templates/ishtar/blocks/shortcut_menu.html:22
+#: templates/ishtar/blocks/advanced_shortcut_menu.html:36
+#: templates/ishtar/blocks/shortcut_menu.html:31
msgid "Unpin"
msgstr "Détacher"
diff --git a/version.py b/version.py
index 533f6288f..979d480aa 100644
--- a/version.py
+++ b/version.py
@@ -1,4 +1,4 @@
-VERSION = (0, 98, 7)
+VERSION = (0, 98, 8)
def get_version():