summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-09-08 10:10:17 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-09-08 10:10:17 +0200
commit7bd76cc2e394405c425362327d16c06ccb324c23 (patch)
tree031abd0c456c71eec97926555208a92bf179eb50
parent57933b3f3b157d043a526ae5bc27b4df49c4c110 (diff)
parentc75b9f076f8893a50713e75cffde1b757c320ebe (diff)
downloadIshtar-7bd76cc2e394405c425362327d16c06ccb324c23.tar.bz2
Ishtar-7bd76cc2e394405c425362327d16c06ccb324c23.zip
Merge branch 'v0.9' into wheezy
-rw-r--r--CHANGES.md24
-rw-r--r--archaeological_context_records/forms.py10
-rw-r--r--archaeological_context_records/locale/django.pot232
-rw-r--r--archaeological_context_records/migrations/0006_clean_parcels.py674
-rw-r--r--archaeological_context_records/models.py2
-rw-r--r--archaeological_context_records/templates/ishtar/sheet_contextrecord.html96
-rw-r--r--archaeological_files/locale/django.pot26
-rw-r--r--archaeological_files/templates/ishtar/sheet_file.html8
-rw-r--r--archaeological_finds/locale/django.pot36
-rw-r--r--archaeological_finds/templates/ishtar/sheet_find.html6
-rw-r--r--archaeological_operations/locale/django.pot56
-rw-r--r--archaeological_operations/templates/ishtar/sheet_operation.html7
-rw-r--r--ishtar_common/locale/django.pot8
-rw-r--r--ishtar_common/static/media/style.css18
-rw-r--r--ishtar_common/templates/ishtar/blocks/window_nav.html3
-rw-r--r--ishtar_common/wizards.py40
-rw-r--r--translations/de/ishtar_common.po8
-rw-r--r--translations/fr/archaeological_context_records.po236
-rw-r--r--translations/fr/archaeological_files.po26
-rw-r--r--translations/fr/archaeological_finds.po36
-rw-r--r--translations/fr/archaeological_operations.po56
-rw-r--r--translations/fr/ishtar_common.po8
-rw-r--r--version.py2
23 files changed, 1084 insertions, 534 deletions
diff --git a/CHANGES.md b/CHANGES.md
index 6105ace32..9c6110f62 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,20 +1,32 @@
Ishtar changelog
================
+0.97.8 (2016-09-08)
+-------------------
+
+### Features ###
+
+- Many improvement and cleaning on sheet layout
+
+### Bug fixes ###
+
+- Context records: related parcel are now kept when you modify operation
+- Wizards: fix file initialization when navigating between steps
+
0.97.7 (2016-09-06)
-------------------
### Features ###
-Context record: can change operation
-Context record: display operation code in label
-Person: add salutation field
+- Context record: can change operation
+- Context record: display operation code in label
+- Person: add salutation field
### Bug fixes ###
-Prevent circular save on import
-Fix person creation with new title management
-Fix context records creation
+- Prevent circular save on import
+- Fix person creation with new title management
+- Fix context records creation
0.97.6 (2016-09-05)
-------------------
diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py
index daaf5f5ed..d468e3a3c 100644
--- a/archaeological_context_records/forms.py
+++ b/archaeological_context_records/forms.py
@@ -138,10 +138,12 @@ class RecordFormGeneral(ManageOldType, forms.Form):
validators=[validators.MaxLengthValidator(200)])
description = forms.CharField(label=_(u"Description"),
widget=forms.Textarea, required=False)
- length = forms.IntegerField(label=_(u"Length (m)"), required=False)
- width = forms.IntegerField(label=_(u"Width (m)"), required=False)
- thickness = forms.IntegerField(label=_(u"Thickness (m)"), required=False)
- depth = forms.IntegerField(label=_(u"Depth (m)"), required=False)
+ comment = forms.CharField(label=_(u"General comment"),
+ widget=forms.Textarea, required=False)
+ length = forms.FloatField(label=_(u"Length (m)"), required=False)
+ width = forms.FloatField(label=_(u"Width (m)"), required=False)
+ 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=[])
location = forms.CharField(
label=_(u"Location"), widget=forms.Textarea,
diff --git a/archaeological_context_records/locale/django.pot b/archaeological_context_records/locale/django.pot
index cf2246375..cf80fff0a 100644
--- a/archaeological_context_records/locale/django.pot
+++ b/archaeological_context_records/locale/django.pot
@@ -12,7 +12,7 @@ msgid "Operation"
msgstr ""
#: forms.py:59 forms.py:137 models.py:132
-#: templates/ishtar/sheet_contextrecord.html:64
+#: templates/ishtar/sheet_contextrecord.html:65
msgid "ID"
msgstr ""
@@ -36,7 +36,7 @@ msgstr ""
msgid "Search within operation relations"
msgstr ""
-#: forms.py:77 forms.py:228 models.py:49
+#: forms.py:77 forms.py:230 models.py:49
msgid "Period"
msgstr ""
@@ -52,7 +52,7 @@ msgstr ""
msgid "Search within relations"
msgstr ""
-#: forms.py:111 forms.py:333 views.py:118
+#: forms.py:111 forms.py:335 views.py:118
msgid "Context record search"
msgstr ""
@@ -65,164 +65,168 @@ msgid "General"
msgstr ""
#: forms.py:136 models.py:118 models.py:128
-#: templates/ishtar/sheet_contextrecord.html:68
+#: templates/ishtar/sheet_contextrecord.html:69
msgid "Parcel"
msgstr ""
-#: forms.py:139 models.py:133 templates/ishtar/sheet_contextrecord.html:31
-#: templates/ishtar/sheet_contextrecord.html:67
+#: forms.py:139 models.py:133 templates/ishtar/sheet_contextrecord.html:25
+#: templates/ishtar/sheet_contextrecord.html:68
msgid "Description"
msgstr ""
-#: forms.py:141 models.py:138
+#: forms.py:141 models.py:134
+msgid "General comment"
+msgstr ""
+
+#: forms.py:143 models.py:138
msgid "Length (m)"
msgstr ""
-#: forms.py:142 models.py:139
+#: forms.py:144 models.py:139
msgid "Width (m)"
msgstr ""
-#: forms.py:143 models.py:140
+#: forms.py:145 models.py:140
msgid "Thickness (m)"
msgstr ""
-#: forms.py:144 models.py:142
+#: forms.py:146 models.py:142
msgid "Depth (m)"
msgstr ""
-#: forms.py:145 models.py:150
+#: forms.py:147 models.py:150
msgid "Unit"
msgstr ""
-#: forms.py:147 models.py:144
+#: forms.py:149 models.py:144
msgid "Location"
msgstr ""
-#: forms.py:150
+#: forms.py:152
msgid "Image"
msgstr ""
-#: forms.py:151
+#: forms.py:153
#, python-format
msgid ""
"<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</"
"p>"
msgstr ""
-#: forms.py:217
+#: forms.py:219
msgid "This ID already exists for this operation."
msgstr ""
-#: forms.py:223 forms.py:250 models.py:60
+#: forms.py:225 forms.py:252 models.py:60
msgid "Dating"
msgstr ""
-#: forms.py:229 models.py:50
+#: forms.py:231 models.py:50
msgid "Start date"
msgstr ""
-#: forms.py:230 models.py:51 models.py:137
+#: forms.py:232 models.py:51 models.py:137
msgid "End date"
msgstr ""
-#: forms.py:231 models.py:54
+#: forms.py:233 models.py:54
msgid "Quality"
msgstr ""
-#: forms.py:232 models.py:36 models.py:52
+#: forms.py:234 models.py:36 models.py:52
msgid "Dating type"
msgstr ""
-#: forms.py:259 ishtar_menu.py:29 models.py:356
+#: forms.py:261 ishtar_menu.py:29 models.py:356
msgid "Context record"
msgstr ""
-#: forms.py:280
+#: forms.py:282
msgid "Relations"
msgstr ""
-#: forms.py:284 forms.py:294 models.py:155
-#: templates/ishtar/sheet_contextrecord.html:42
+#: forms.py:286 forms.py:296 models.py:155
+#: templates/ishtar/sheet_contextrecord.html:37
msgid "Interpretation"
msgstr ""
-#: forms.py:288
+#: forms.py:290
msgid "Comments on dating"
msgstr ""
-#: forms.py:290 models.py:152
+#: forms.py:292 models.py:152
msgid "Has furniture?"
msgstr ""
-#: forms.py:292 models.py:154
+#: forms.py:294 models.py:154
msgid "Filling"
msgstr ""
-#: forms.py:296 models.py:175
+#: forms.py:298 models.py:175
msgid "Activity"
msgstr ""
-#: forms.py:298 models.py:173
+#: forms.py:300 models.py:173
msgid "Identification"
msgstr ""
-#: forms.py:300 models.py:158
+#: forms.py:302 models.py:158
msgid "TAQ"
msgstr ""
-#: forms.py:301 models.py:162
+#: forms.py:303 models.py:162
msgid "Estimated TAQ"
msgstr ""
-#: forms.py:303 models.py:165
+#: forms.py:305 models.py:165
msgid "TPQ"
msgstr ""
-#: forms.py:304 models.py:169
+#: forms.py:306 models.py:169
msgid "Estimated TPQ"
msgstr ""
-#: forms.py:319
+#: forms.py:321
msgid "Operation search"
msgstr ""
-#: forms.py:321
+#: forms.py:323
msgid "You should select an operation."
msgstr ""
-#: forms.py:326
+#: forms.py:328
msgid "Would you like to delete this context record?"
msgstr ""
-#: forms.py:335
+#: forms.py:337
msgid "You should select a context record."
msgstr ""
-#: forms.py:340
+#: forms.py:342
msgid "Year of the operation"
msgstr ""
-#: forms.py:342
+#: forms.py:344
msgid "Numeric reference"
msgstr ""
-#: forms.py:348
+#: forms.py:350
msgid "Town of the operation"
msgstr ""
-#: forms.py:350
+#: forms.py:352
msgid "Period of the context record"
msgstr ""
-#: forms.py:352
+#: forms.py:354
msgid "Unit type of the context record"
msgstr ""
-#: forms.py:365
+#: forms.py:367
msgid "Documentation search"
msgstr ""
-#: forms.py:367
+#: forms.py:369
msgid "You should select a document."
msgstr ""
@@ -310,10 +314,6 @@ msgstr ""
msgid "External ID is set automatically"
msgstr ""
-#: models.py:134
-msgid "Comment"
-msgstr ""
-
#: models.py:135
msgid "Date d'ouverture"
msgstr ""
@@ -387,7 +387,7 @@ msgstr ""
msgid "Inverse relation"
msgstr ""
-#: models.py:326 templates/ishtar/sheet_contextrecord.html:63
+#: models.py:326 templates/ishtar/sheet_contextrecord.html:64
msgid "Relation type"
msgstr ""
@@ -443,177 +443,79 @@ msgstr ""
msgid "Complete ID:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:16
-#: templates/ishtar/sheet_contextrecord.html:94
-msgid "Patriarche OA code not yet recorded!"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:17
+#: templates/ishtar/sheet_contextrecord.html:14
msgid "Temporary ID:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:20
-msgid "Creation date:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:21
-msgid "Created by:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:23
-#: templates/ishtar/sheet_contextrecord.html:106
-msgid "Type:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:25
-msgid "Chronology:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:27
-msgid "Place:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:28
-msgid "Parcel:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:33
-msgid "Description:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:34
-msgid "Comment:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:35
-msgid "Length (m):"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:36
-msgid "Width (m):"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:37
-msgid "Depth (m):"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:38
-msgid "Thickness (m):"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:44
-msgid "Activity:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:45
-msgid "Identification:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:46
-msgid "Interpretation:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:50
+#: templates/ishtar/sheet_contextrecord.html:49
msgid "Datations"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:51
-msgid "TAQ:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:52
-msgid "Estimated TAQ:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:53
-msgid "TPQ:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:54
-msgid "Estimated TPQ:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:58
+#: templates/ishtar/sheet_contextrecord.html:59
msgid "In relation with"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:65
+#: templates/ishtar/sheet_contextrecord.html:66
msgid "Type"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:66
+#: templates/ishtar/sheet_contextrecord.html:67
msgid "Chronology"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:88
-msgid "Operation summary"
-msgstr ""
-
#: templates/ishtar/sheet_contextrecord.html:89
-msgid "Year:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:92
-msgid "Patriarche OA code:"
+msgid "Operation summary"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:97
-msgid "Head scientist:"
+#: templates/ishtar/sheet_contextrecord.html:91
+msgid "Patriarche OA code not yet recorded!"
msgstr ""
#: templates/ishtar/sheet_contextrecord.html:98
msgid "State:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:100
+#: templates/ishtar/sheet_contextrecord.html:98
msgid "Active file"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:102
+#: templates/ishtar/sheet_contextrecord.html:98
msgid "Closed operation"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:103
+#: templates/ishtar/sheet_contextrecord.html:100
msgid "Closing date:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:104
+#: templates/ishtar/sheet_contextrecord.html:100
msgid "by"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:107
-msgid "Remains:"
-msgstr ""
-
#: templates/ishtar/sheet_contextrecord.html:108
-msgid "Periods:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:111
msgid "Localisation"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:112
+#: templates/ishtar/sheet_contextrecord.html:109
msgid "Towns:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:113
+#: templates/ishtar/sheet_contextrecord.html:110
msgid "Related operation:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:116
+#: templates/ishtar/sheet_contextrecord.html:112
msgid "No operation linked to this context unit!"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:119
+#: templates/ishtar/sheet_contextrecord.html:115
msgid "Document from this context record"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:124
+#: templates/ishtar/sheet_contextrecord.html:120
msgid "Finds"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:129
+#: templates/ishtar/sheet_contextrecord.html:125
msgid "Documents from associated finds"
msgstr ""
diff --git a/archaeological_context_records/migrations/0006_clean_parcels.py b/archaeological_context_records/migrations/0006_clean_parcels.py
new file mode 100644
index 000000000..cd38a1deb
--- /dev/null
+++ b/archaeological_context_records/migrations/0006_clean_parcels.py
@@ -0,0 +1,674 @@
+# -*- 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):
+ Parcel = orm['archaeological_operations.Parcel']
+ q = orm['archaeological_context_records.ContextRecord'].objects
+ lost = []
+ many = []
+ updated = []
+ to_delete = []
+ for cr in q.all():
+ if not cr.parcel:
+ continue
+ if cr.parcel.operation or cr.parcel.associated_file:
+ continue
+ q = Parcel.objects.filter(year=cr.parcel.year, town=cr.parcel.town,
+ section=cr.parcel.section,
+ parcel_number=cr.parcel.parcel_number,
+ public_domain=cr.parcel.public_domain,
+ operation=cr.operation)
+ if not q.count():
+ lost.append(cr)
+ cr.parcel.operation = cr.operation
+ cr.parcel.save()
+ continue
+ if q.count() > 1:
+ many.append(cr)
+ continue
+ updated.append(cr)
+ old_parcel = cr.parcel.pk
+ cr.parcel = q.all()[0]
+ cr.save()
+ to_delete.append(old_parcel)
+
+ print(len(updated), 'updated')
+ print(len(lost), 'lost')
+ print(len(many), 'many')
+ print(len(to_delete), 'to_delete')
+
+ for pk in set(to_delete):
+ try:
+ Parcel.objects.get(pk=pk).delete()
+ except Parcel.DoesNotExist:
+ print(pk, "already deleted")
+ q = Parcel.objects.filter(operation__isnull=True,
+ associated_file__isnull=True)
+ print(q.count(), 'to_delete_bis')
+ for p in q.all():
+ p.delete()
+
+ 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': {'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'}),
+ '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': '100', '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': '100', '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': '100', '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': '100', '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'}),
+ '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': '100', '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': '100', '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'}),
+ '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'}),
+ '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': '100', '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'}),
+ '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': '100', 'null': 'True', 'blank': 'True'}),
+ 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.Town']", 'symmetrical': 'False'}),
+ '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']},
+ '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']
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py
index 637c386f0..a98f7792a 100644
--- a/archaeological_context_records/models.py
+++ b/archaeological_context_records/models.py
@@ -131,7 +131,7 @@ class ContextRecord(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
related_name='context_record')
label = models.CharField(_(u"ID"), max_length=200)
description = models.TextField(_(u"Description"), blank=True, null=True)
- comment = models.TextField(_(u"Comment"), blank=True, null=True)
+ comment = models.TextField(_(u"General comment"), blank=True, null=True)
opening_date = models.DateField(_(u"Date d'ouverture"),
blank=True, null=True)
closing_date = models.DateField(_(u"End date"), blank=True, null=True)
diff --git a/archaeological_context_records/templates/ishtar/sheet_contextrecord.html b/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
index 493a00f1b..2c2bf98fe 100644
--- a/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
+++ b/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
@@ -10,49 +10,50 @@
<a href='{{item.image.url}}' rel="prettyPhoto" title="{{item.label}}" class='photo'><img src='{{item.thumbnail.url}}'/></a>
{% endif%}
-{% if item.operation.code_patriarche %}
-<p><label>{%trans "Complete ID:"%}</label>
-{% else %}
-<p class='alert'><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> <label>{%trans "Patriarche OA code not yet recorded!"%}</label></p>
-<p><label>{%trans "Temporary ID:"%}</label>
-{%endif%}
-<span class='value'>{{item.full_label}}</span></p>
-<p><label>{%trans "Creation date:"%}</label> <span class='value'>{{ item.creation_date }}</span></p>
-<p><label>{%trans "Created by:"%}</label> <span class='value'>{{ item.history_creator.ishtaruser.full_label }}</span></p>
-{%if item.unit %}
-<p><label>{% trans "Type:" %}</label> <span class='value'>{{ item.unit }}</span></p>
-{%endif%}
-<p><label>{% trans "Chronology:" %}</label> <span class='value'>{{ item.datings.all|join:", " }}</span></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 %}
+{% field_li "Created by" item.history_creator.ishtaruser.full_label %}
+{% 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>" %}
-<p><label>{% trans "Place:" %}</label> <span class='value'>{{ item.parcel.town }}</span></p>
-<p><label>{% trans "Parcel:" %}</label> <span class='value'>{{ item.parcel.short_label }}</span></p>
{% if item.description or item.lenght or item.width or item.depth or item.thickness or item.comment %}
<h3>{% trans "Description"%}</h3>
-
-<p><label>{% trans "Description:" %}</label> <span class='value'>{{ item.description }}</span></p>
-{% if item.comment %}<p><label>{% trans "Comment:" %}</label> <span class='value'>{{ item.comment }}</span></p>{% endif %}
-{% if item.lenght %}<p><label>{% trans "Length (m):" %}</label> <span class='value'>{{ item.length }}</span></p>{%endif%}
-{% if item.width %}<p><label>{% trans "Width (m):" %}</label> <span class='value'>{{ item.width }}</span></p>{%endif%}
-{% if item.depth %}<p><label>{% trans "Depth (m):" %}</label> <span class='value'>{{ item.depth }}</span></p>{%endif%}
-{% if item.width %}<p><label>{% trans "Thickness (m):" %}</label> <span class='value'>{{ item.thickness }}</span></p>{%endif%}
+{% field "Description" item.description "<pre>" "</pre>" %}
+{% field "Comment" item.comment "<pre>" "</pre>" %}
+<ul class='form-flex'>
+{% field_li "Length (m)" item.lenght %}
+{% field_li "Width (m)" item.width %}
+{% field_li "Depth (m)" item.depth %}
+{% field_li "Thickness (m)" item.thickness %}
+</ul>
{% endif %}
{% if item.activity or item.identification or item.interpretation %}
<h3>{% trans "Interpretation"%}</h3>
-{% if item.activity %}<p><label>{% trans "Activity:" %}</label> <span class='value'>{{ item.activity }}</span></p>{%endif%}
-{% if item.identification %}<p><label>{% trans "Identification:" %}</label> <span class='value'>{{ item.identification }}</span></p>{%endif%}
-{% if item.interpretation %}<p><label>{% trans "Interpretation:" %}</label> <span class='value'>{{ item.interpretation }}</span></p>{%endif%}
+<ul class='form-flex'>
+{% field_li "Activity" item.activity %}
+{% field_li "Identification" item.identification %}
+{% field_li "Has furniture?" item.has_furniture %}
+</ul>
+{% field "Filling" item.filling "<pre>" "</pre>" %}
+{% field "Interpretation" item.interpretation "<pre>" "</pre>" %}
{% endif %}
{% if item.taq or item.taq_estimated or item.tpq or item.tpq_estimated %}
<h3>{% trans "Datations"%}</h3>
-{% if item.taq %}<p><label>{% trans "TAQ:" %}</label> <span class='value'>{{ item.taq }}</span></p>{%endif%}
-{% if item.taq_estimated %}<p><label>{% trans "Estimated TAQ:" %}</label> <span class='value'>{{ item.taq_estimated }}</span></p>{%endif%}
-{% if item.tpq %}<p><label>{% trans "TPQ:" %}</label> <span class='value'>{{ item.tpq }}</span></p>{%endif%}
-{% if item.tpq_estimated %}<p><label>{% trans "Estimated TPQ:" %}</label> <span class='value'>{{ item.tpq_estimated }}</span></p>{%endif%}
-{%endif%}
+<ul class='form-flex'>
+{% field_li "TAQ" item.taq %}
+{% field_li "Estimated TAQ" item.taq_estimated %}
+{% field_li "TPQ" item.tpq %}
+{% field_li "Estimated TPQ" item.tpq_estimated %}
+</ul>
+{% endif %}
{% if item.right_relations.count %}
<h3>{% trans "In relation with"%}</h3>
@@ -86,33 +87,28 @@
{% if item.operation %}
<h3>{% trans "Operation summary"%}</h3>
-<p><label>{%trans "Year:"%}</label> <span class='value'>{{ item.operation.year }}</span></p>
-{% field "Numerical reference" item.operation.operation_code %}
-{% if item.operation.code_patriarche %}
-<p><label>{%trans "Patriarche OA code:"%}</label>
-<span class='value'>{{ item.operation.code_patriarche }}</span></p>
-{% else %}<p class='alert'><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> <label>{%trans "Patriarche OA code not yet recorded!"%}</label></p>
-{%endif%}
-{#<p><label>{%trans "Operation's name:"%}</label><span class='value'>{{ item.operation.internal_reference }}</span></p>#}
-{% if item.operation.scientist %}<p><label>{%trans "Head scientist:"%}</label> <span class='value'>{{ item.operation.scientist.full_label }} <a href='#' onclick='load_window("{% url show-person item.operation.scientist.pk ''%}");'><i class="fa fa-info-circle" aria-hidden="true"></i></a></span></p>{%endif%}
-<p><label>{%trans "State:"%}</label>
-{% if item.operation.is_active %}
-<span class='value'>{%trans "Active file"%}</span></p>
-{% else %}
-<span class='value'>{%trans "Closed operation"%}</span></p>
-<p><label>{%trans "Closing date:"%}</label> <span class='value'>{{ item.operation.closing.date }}
-<strong>{%trans "by" %}</strong> {{ item.operation.closing.user }}</span></p>
+{% if not item.operation.code_patriarche %}
+<p class='alert'><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> <label>{%trans "Patriarche OA code not yet recorded!"%}</label></p>
+{% endif %}
+<ul class='form-flex'>
+{% field_li "Year" item.operation.year %}
+{% field_li "Numerical reference" item.operation.operation_code %}
+{% field_li "Patriarche OA code" item.operation.code_patriarche %}
+{% field_li_detail "Head scientist" item.operation.scientist %}
+<li><label>{%trans "State:"%}</label><span class='value'>{% if item.operation.is_active %}{% trans "Active file" %}{% else %}{%trans "Closed operation" %}{% endif %}</span></li>
+{% if not item.operation.is_active %}
+<li><label>{%trans "Closing date:"%}</label> <span class='value'>{{ item.operation.closing.date }} <strong>{%trans "by" %}</strong> {{ item.operation.closing.user }}</span></li>
{% endif %}
-<p><label>{%trans "Type:"%}</label> <span class='value'>{{ item.operation.operation_type }}</span></p>
-<p><label>{%trans "Remains:"%}</label> <span class='value'>{{ item.operation.remains.all|join:", " }}</span></p>
-<p><label>{%trans "Periods:"%}</label> <span class='value'>{{ item.operation.periods.all|join:", " }}</span></p>
+{% field_li "Type" item.operation.operation_type %}
+{% field_li_multiple "Remains" item.operation.remains %}
+{% field_li_multiple "Periods" item.operation.periods %}
+</ul>
{% field "Comment" item.operation.comment "<pre>" "</pre>" %}
<h3>{% trans "Localisation"%}</h3>
<p><label>{%trans "Towns:"%}</label> <span class='value'>{{ item.operation.towns.all|join:", " }}</span></p>
<p><label>{%trans "Related operation:"%}</label>
<span class='value'><a href="#" onclick='load_window("{% url show-operation item.operation.pk ''%}");'>{{ item.operation }}</a></span></p>
-{# TODO: Displayed as Year/index/Commune/Common_name This should be a link to the file sheet of the related operation #}
{% else %}<p class='alert'><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> <label>{%trans "No operation linked to this context unit!"%}</label></p>
{% endif %}
diff --git a/archaeological_files/locale/django.pot b/archaeological_files/locale/django.pot
index fbe8bde95..4e149095e 100644
--- a/archaeological_files/locale/django.pot
+++ b/archaeological_files/locale/django.pot
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
#: forms.py:52 forms.py:212 forms.py:257 forms.py:404 forms.py:431
-#: models.py:77 templates/ishtar/sheet_file.html:144
+#: models.py:77 templates/ishtar/sheet_file.html:146
msgid "Year"
msgstr ""
@@ -58,7 +58,7 @@ msgstr ""
msgid "Comment"
msgstr ""
-#: forms.py:70 templates/ishtar/sheet_file.html:117
+#: forms.py:70 templates/ishtar/sheet_file.html:119
msgid "In charge"
msgstr ""
@@ -457,7 +457,7 @@ msgstr ""
msgid "File: administrative act deletion"
msgstr ""
-#: wizards.py:124 templates/ishtar/sheet_file.html:109
+#: wizards.py:124 templates/ishtar/sheet_file.html:111
msgid "Associated operations"
msgstr ""
@@ -552,43 +552,43 @@ msgstr ""
msgid "Head scientist"
msgstr ""
-#: templates/ishtar/sheet_file.html:103
+#: templates/ishtar/sheet_file.html:105
msgid "Associated parcels"
msgstr ""
-#: templates/ishtar/sheet_file.html:106
+#: templates/ishtar/sheet_file.html:108
msgid "Administrative acts"
msgstr ""
-#: templates/ishtar/sheet_file.html:114 templates/ishtar/sheet_file.html:145
+#: templates/ishtar/sheet_file.html:116 templates/ishtar/sheet_file.html:147
msgid "Ref."
msgstr ""
-#: templates/ishtar/sheet_file.html:116 templates/ishtar/sheet_file.html:146
+#: templates/ishtar/sheet_file.html:118 templates/ishtar/sheet_file.html:148
msgid "Type"
msgstr ""
-#: templates/ishtar/sheet_file.html:118
+#: templates/ishtar/sheet_file.html:120
msgid "Start date"
msgstr ""
-#: templates/ishtar/sheet_file.html:119
+#: templates/ishtar/sheet_file.html:121
msgid "Excavation end date"
msgstr ""
-#: templates/ishtar/sheet_file.html:133
+#: templates/ishtar/sheet_file.html:135
msgid "No operation associated to this archaelogical file"
msgstr ""
-#: templates/ishtar/sheet_file.html:139
+#: templates/ishtar/sheet_file.html:141
msgid "Admninistrative acts linked to associated operations"
msgstr ""
-#: templates/ishtar/sheet_file.html:147
+#: templates/ishtar/sheet_file.html:149
msgid "Date"
msgstr ""
-#: templates/ishtar/sheet_file.html:157
+#: templates/ishtar/sheet_file.html:159
msgid "No administrative act linked to operations"
msgstr ""
diff --git a/archaeological_files/templates/ishtar/sheet_file.html b/archaeological_files/templates/ishtar/sheet_file.html
index 9c42c8f76..5165a0425 100644
--- a/archaeological_files/templates/ishtar/sheet_file.html
+++ b/archaeological_files/templates/ishtar/sheet_file.html
@@ -9,7 +9,7 @@
{% window_file_nav item window_id previous next %}
{% else %}
{% window_nav item window_id 'show-file' 'file_modify' 'show-historized-file' 'revert-file' previous next %}
-{%endif%}
+{% endif %}
<h3>{% trans "General"%}</h3>
@@ -43,8 +43,8 @@
{% if item.related_file %}<li><label>{%trans "Related file:"%}</label> <span class='value'><a href='#' onclick='load_window("{% url show-file item.related_file.pk ''%}")'>{{ item.related_file }}</a></span></li>{% endif %}
-{% field_li "Comment" item.comment "<pre>" "</pre>" %}
</ul>
+{% field "Comment" item.comment "<pre>" "</pre>" %}
<h3>{% trans "Localisation"%}</h3>
{% if item.towns.count %}<p><label>{%trans "Towns:"%}</label> <span class='value'>{{ item.towns.all|join:", " }}</span></p>{% endif %}
@@ -100,6 +100,8 @@
{% endif %}
+{% if not next %}
+
{% trans "Associated parcels" as parcels_label %}
{% include "ishtar/blocks/window_tables/parcels.html" %}
@@ -159,4 +161,6 @@
</table>
</div>
</div>
+
+{% endif %}
{% endblock %}
diff --git a/archaeological_finds/locale/django.pot b/archaeological_finds/locale/django.pot
index 84dbd5c3e..9d9d8c0da 100644
--- a/archaeological_finds/locale/django.pot
+++ b/archaeological_finds/locale/django.pot
@@ -142,12 +142,12 @@ msgid "Period"
msgstr ""
#: forms.py:187 forms.py:590 models.py:693 models.py:758 models.py:894
-#: templates/ishtar/sheet_find.html:81 templates/ishtar/sheet_find.html:110
+#: templates/ishtar/sheet_find.html:85 templates/ishtar/sheet_find.html:114
msgid "Start date"
msgstr ""
#: forms.py:189 forms.py:592 models.py:694 models.py:759 models.py:895
-#: templates/ishtar/sheet_find.html:82 templates/ishtar/sheet_find.html:111
+#: templates/ishtar/sheet_find.html:86 templates/ishtar/sheet_find.html:115
msgid "End date"
msgstr ""
@@ -284,7 +284,7 @@ msgid "Treatment type"
msgstr ""
#: forms.py:577 models.py:691 models.py:762
-#: templates/ishtar/sheet_find.html:79 templates/ishtar/sheet_find.html:108
+#: templates/ishtar/sheet_find.html:83 templates/ishtar/sheet_find.html:112
msgid "Doer"
msgstr ""
@@ -520,16 +520,16 @@ msgstr ""
msgid "Weight unit"
msgstr ""
-#: models.py:341 templates/ishtar/sheet_find.html:72
+#: models.py:341 templates/ishtar/sheet_find.html:76
msgid "Upstream treatment"
msgstr ""
-#: models.py:344 templates/ishtar/sheet_find.html:101
+#: models.py:344 templates/ishtar/sheet_find.html:105
msgid "Downstream treatment"
msgstr ""
#: models.py:348 models.py:677 models.py:761
-#: templates/ishtar/sheet_find.html:80 templates/ishtar/sheet_find.html:109
+#: templates/ishtar/sheet_find.html:84 templates/ishtar/sheet_find.html:113
msgid "Container"
msgstr ""
@@ -601,7 +601,7 @@ msgstr ""
msgid "Treatment"
msgstr ""
-#: models.py:699 templates/ishtar/sheet_find.html:69
+#: models.py:699 templates/ishtar/sheet_find.html:73
msgid "Treatments"
msgstr ""
@@ -629,8 +629,8 @@ msgstr ""
msgid "by"
msgstr ""
-#: models.py:763 models.py:764 templates/ishtar/sheet_find.html:78
-#: templates/ishtar/sheet_find.html:107
+#: models.py:763 models.py:764 templates/ishtar/sheet_find.html:82
+#: templates/ishtar/sheet_find.html:111
msgid "Related finds"
msgstr ""
@@ -714,36 +714,36 @@ msgstr ""
msgid "Operation"
msgstr ""
-#: templates/ishtar/sheet_find.html:77 templates/ishtar/sheet_find.html:106
-#: templates/ishtar/sheet_find.html:176
+#: templates/ishtar/sheet_find.html:81 templates/ishtar/sheet_find.html:110
+#: templates/ishtar/sheet_find.html:180
msgid "Type"
msgstr ""
-#: templates/ishtar/sheet_find.html:97
+#: templates/ishtar/sheet_find.html:101
msgid "Export as CSV"
msgstr ""
-#: templates/ishtar/sheet_find.html:97 templates/ishtar/sheet_find.html:127
+#: templates/ishtar/sheet_find.html:101 templates/ishtar/sheet_find.html:131
msgid "CSV"
msgstr ""
-#: templates/ishtar/sheet_find.html:132
+#: templates/ishtar/sheet_find.html:136
msgid "Associated base finds"
msgstr ""
-#: templates/ishtar/sheet_find.html:171 templates/ishtar/sheet_find.html:173
+#: templates/ishtar/sheet_find.html:175 templates/ishtar/sheet_find.html:177
msgid "Documents"
msgstr ""
-#: templates/ishtar/sheet_find.html:175
+#: templates/ishtar/sheet_find.html:179
msgid "Title"
msgstr ""
-#: templates/ishtar/sheet_find.html:177
+#: templates/ishtar/sheet_find.html:181
msgid "Authors"
msgstr ""
-#: templates/ishtar/sheet_find.html:178
+#: templates/ishtar/sheet_find.html:182
msgid "Link"
msgstr ""
diff --git a/archaeological_finds/templates/ishtar/sheet_find.html b/archaeological_finds/templates/ishtar/sheet_find.html
index 3c4b880e8..c867b46ee 100644
--- a/archaeological_finds/templates/ishtar/sheet_find.html
+++ b/archaeological_finds/templates/ishtar/sheet_find.html
@@ -13,7 +13,6 @@
<ul class='form-flex'>
{% field_li "Free-ID" item.label %}
{% field_li "Previous ID" item.previous_id %}
-{% field_li "Description" item.description %}
{% 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 %}
{% field_li "Created by" creator|safe %}
@@ -27,6 +26,11 @@
{% endwith %}
{% endif %}
{% field_li "Administrative index" item.administrative_index %}
+{% if item.description %}
+</ul>
+{% field "Description" item.description "<pre>" "</pre>" %}
+<ul class='form-flex'>
+{% endif %}
{% field_li_multiple "Material types" item.material_types %}
{% field_li "Dating" item.dating %}
{% field_li "Length (cm)" item.length %}
diff --git a/archaeological_operations/locale/django.pot b/archaeological_operations/locale/django.pot
index d58ef1f4b..dc9b27cea 100644
--- a/archaeological_operations/locale/django.pot
+++ b/archaeological_operations/locale/django.pot
@@ -95,7 +95,7 @@ msgstr ""
msgid "Deleted relations"
msgstr ""
-#: forms.py:449 templates/ishtar/sheet_operation.html:77
+#: forms.py:449 templates/ishtar/sheet_operation.html:78
msgid "Relations"
msgstr ""
@@ -403,8 +403,8 @@ msgstr ""
msgid "Remain type"
msgstr ""
-#: forms.py:1039 templates/ishtar/sheet_operation.html:148
-#: templates/ishtar/sheet_operation.html:179
+#: forms.py:1039 templates/ishtar/sheet_operation.html:149
+#: templates/ishtar/sheet_operation.html:180
msgid "Period"
msgstr ""
@@ -421,7 +421,7 @@ msgid "Archaeological site"
msgstr ""
#: forms.py:1112 models.py:88 models.py:261
-#: templates/ishtar/sheet_operation.html:88
+#: templates/ishtar/sheet_operation.html:89
msgid "Archaeological sites"
msgstr ""
@@ -838,8 +838,8 @@ msgstr ""
msgid "Cached values get from associated towns"
msgstr ""
-#: models.py:831 templates/ishtar/sheet_operation.html:96
-#: templates/ishtar/sheet_operation.html:127
+#: models.py:831 templates/ishtar/sheet_operation.html:97
+#: templates/ishtar/sheet_operation.html:128
msgid "Administrative acts"
msgstr ""
@@ -1080,52 +1080,52 @@ msgstr ""
msgid "Day"
msgstr ""
-#: templates/ishtar/sheet_operation.html:67
+#: templates/ishtar/sheet_operation.html:68
msgid "Localisation"
msgstr ""
-#: templates/ishtar/sheet_operation.html:92
+#: templates/ishtar/sheet_operation.html:93
msgid "Associated parcels"
msgstr ""
-#: templates/ishtar/sheet_operation.html:100
+#: templates/ishtar/sheet_operation.html:101
msgid "Document from this operation"
msgstr ""
-#: templates/ishtar/sheet_operation.html:106
-#: templates/ishtar/sheet_operation.html:133
+#: templates/ishtar/sheet_operation.html:107
+#: templates/ishtar/sheet_operation.html:134
msgid "Context records"
msgstr ""
-#: templates/ishtar/sheet_operation.html:110
+#: templates/ishtar/sheet_operation.html:111
msgid "Documents from associated context records"
msgstr ""
-#: templates/ishtar/sheet_operation.html:115
-#: templates/ishtar/sheet_operation.html:156
+#: templates/ishtar/sheet_operation.html:116
+#: templates/ishtar/sheet_operation.html:157
msgid "Finds"
msgstr ""
-#: templates/ishtar/sheet_operation.html:120
+#: templates/ishtar/sheet_operation.html:121
msgid "Documents from associated finds"
msgstr ""
-#: templates/ishtar/sheet_operation.html:125
+#: templates/ishtar/sheet_operation.html:126
msgid "Statistics"
msgstr ""
-#: templates/ishtar/sheet_operation.html:140
-#: templates/ishtar/sheet_operation.html:194
+#: templates/ishtar/sheet_operation.html:141
+#: templates/ishtar/sheet_operation.html:195
#: templates/ishtar/blocks/window_tables/administrativacts.html:8
msgid "Type"
msgstr ""
-#: templates/ishtar/sheet_operation.html:140
-#: templates/ishtar/sheet_operation.html:148
-#: templates/ishtar/sheet_operation.html:163
-#: templates/ishtar/sheet_operation.html:171
-#: templates/ishtar/sheet_operation.html:179
-#: templates/ishtar/sheet_operation.html:194
+#: templates/ishtar/sheet_operation.html:141
+#: templates/ishtar/sheet_operation.html:149
+#: templates/ishtar/sheet_operation.html:164
+#: templates/ishtar/sheet_operation.html:172
+#: templates/ishtar/sheet_operation.html:180
+#: templates/ishtar/sheet_operation.html:195
#: templates/ishtar/dashboards/dashboard_operation.html:18
#: templates/ishtar/dashboards/dashboard_operation.html:164
#: templates/ishtar/dashboards/dashboard_operation.html:432
@@ -1134,19 +1134,19 @@ msgstr ""
msgid "Number"
msgstr ""
-#: templates/ishtar/sheet_operation.html:163
+#: templates/ishtar/sheet_operation.html:164
msgid "Material type"
msgstr ""
-#: templates/ishtar/sheet_operation.html:171
+#: templates/ishtar/sheet_operation.html:172
msgid "Object type"
msgstr ""
-#: templates/ishtar/sheet_operation.html:187
+#: templates/ishtar/sheet_operation.html:188
msgid "Sources"
msgstr ""
-#: templates/ishtar/sheet_operation.html:203
+#: templates/ishtar/sheet_operation.html:204
msgid "Finds by context records"
msgstr ""
diff --git a/archaeological_operations/templates/ishtar/sheet_operation.html b/archaeological_operations/templates/ishtar/sheet_operation.html
index 1b2a1961d..ba63dfa1c 100644
--- a/archaeological_operations/templates/ishtar/sheet_operation.html
+++ b/archaeological_operations/templates/ishtar/sheet_operation.html
@@ -44,7 +44,6 @@
{% field_li_multiple "Periods" item.periods %}
{% if item.QUALITY_DICT %}{% field_li "Record quality" item.record_quality|from_dict:item.QUALITY_DICT %}{% endif %}
{% if item.history_object and item.history_object.QUALITY_DICT %}{% field_li "Record quality" item.record_quality|from_dict:item.history_object.QUALITY_DICT %}{% endif %}
-{% field_li "Abstract" item.abstract %}
{% field_li_detail "Associated file" item.associated_file %}
{% field_li "Responsible for town planning service" item.associated_file.responsible_town_planning_service.full_address %}
{% if item.associated_file.town_planning_service %}
@@ -60,9 +59,11 @@
{% else%}
{% field_li "General contractor organization" item.associated_file.general_contractor.attached_to.full_address %}
{% endif %}
-{% field_li "Comment" item.comment "<pre>" "</pre>" %}
</ul>
+{% field "Abstract" item.abstract "<pre>" "</pre>" %}
+{% field "Comment" item.comment "<pre>" "</pre>" %}
+{% if not next %}
{% if item.towns.count %}
<h3>{% trans "Localisation"%}</h3>
<ul class='form-flex'>
@@ -209,4 +210,6 @@
</ul>
{% endif %}
+{% endif %}
+
{% endblock %}
diff --git a/ishtar_common/locale/django.pot b/ishtar_common/locale/django.pot
index aaae0cf76..771e1f2f2 100644
--- a/ishtar_common/locale/django.pot
+++ b/ishtar_common/locale/django.pot
@@ -359,7 +359,7 @@ msgstr ""
msgid "Account"
msgstr ""
-#: forms_common.py:467 wizards.py:1172
+#: forms_common.py:467 wizards.py:1192
msgid "New password"
msgstr ""
@@ -1432,7 +1432,7 @@ msgstr ""
msgid "No"
msgstr ""
-#: wizards.py:1229
+#: wizards.py:1249
#, python-format
msgid "[%(app_name)s] Account creation/modification"
msgstr ""
@@ -2100,6 +2100,10 @@ msgstr ""
msgid "Export as PDF file"
msgstr ""
+#: templates/ishtar/blocks/window_nav.html:49
+msgid "Relation between items are not historized."
+msgstr ""
+
#: templates/ishtar/blocks/window_tables/documents.html:10
msgid "Related to"
msgstr ""
diff --git a/ishtar_common/static/media/style.css b/ishtar_common/static/media/style.css
index c6a151dc8..4de3cd315 100644
--- a/ishtar_common/static/media/style.css
+++ b/ishtar_common/static/media/style.css
@@ -163,6 +163,14 @@ h4{
margin:10px 0;
}
+pre {
+ padding: 0.5em 1em;
+ white-space: pre-wrap;
+ white-space: -moz-pre-wrap;
+ white-space: -pre-wrap;
+ white-space: -o-pre-wrap;
+}
+
select{
max-width:550px;
}
@@ -621,8 +629,8 @@ ul.form-flex li li label {
padding:0.2em;
margin-left:auto;
margin-right:auto;
- width:600px;
background-color:#F1F2F6;
+ min-width: 600px;
}
.form table th{
@@ -1090,13 +1098,21 @@ p.alert{
color:#D14;
}
+p.info-box{
+ color: #1c94c4;
+}
+
div.form p.alert{
background-color:#FFF;
}
+#window p.info-box,
#window p.alert{
background-color:#EEE;
+ padding: 6px 16px;
padding-left: 30px;
+ width: auto;
+ margin: 6px 10px;
}
#window p.alert label{
diff --git a/ishtar_common/templates/ishtar/blocks/window_nav.html b/ishtar_common/templates/ishtar/blocks/window_nav.html
index c225a5822..13069b1eb 100644
--- a/ishtar_common/templates/ishtar/blocks/window_nav.html
+++ b/ishtar_common/templates/ishtar/blocks/window_nav.html
@@ -45,3 +45,6 @@
<a class='badge' href='{% url show_url item.pk "odt" %}' title='{% trans "Export as OpenOffice.org file"%}'>ODT</a> <a class='badge' href='{% url show_url item.pk "pdf" %}' title='{% trans "Export as PDF file"%}'>PDF</a>
</div>
<hr class='clear'>
+{% if next %}
+ <p class='info-box'><i class="fa fa-info-circle" aria-hidden="true"></i> <em>{% trans "Relation between items are not historized." %}</em></p>
+{% endif %}
diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py
index 7fc22f1a9..c8467ca61 100644
--- a/ishtar_common/wizards.py
+++ b/ishtar_common/wizards.py
@@ -32,7 +32,7 @@ from django.db.models.fields.files import FileField
from django.db.models.fields.related import ManyToManyField
from django.http import HttpResponseRedirect
from django.forms import ValidationError
-from django.shortcuts import render_to_response
+from django.shortcuts import render_to_response, redirect
from django.template import Context, RequestContext, loader
from django.utils.datastructures import MultiValueDict as BaseMultiValueDict
from django.utils.translation import ugettext_lazy as _
@@ -557,10 +557,15 @@ class Wizard(NamedUrlWizardView):
m2m_items = {}
# clear
# TODO! perf - to be really optimized
+ old_m2ms = {}
for model in whole_associated_models:
related_model = getattr(obj, model + 's')
# clear real m2m
if hasattr(related_model, 'clear'):
+ old_m2ms[model] = []
+ # stock items in order to not recreate them
+ for old_item in related_model.all():
+ old_m2ms[model].append(old_item)
related_model.clear()
else:
for r in related_model.all():
@@ -581,16 +586,32 @@ class Wizard(NamedUrlWizardView):
if value not in m2m_items[key]:
if type(value) == dict:
model = related_model.model
- if issubclass(model, models.BaseHistorizedItem):
- value['history_modifier'] = self.request.user
# not m2m -> foreign key
if not hasattr(related_model, 'clear'):
assert hasattr(model, 'MAIN_ATTR'), \
u"Must define a MAIN_ATTR for " + \
unicode(model.__class__)
value[getattr(model, 'MAIN_ATTR')] = obj
- value = model.objects.create(**value)
- value.save()
+
+ # check old links
+ my_old_item = None
+ if key in old_m2ms:
+ for old_item in old_m2ms[key]:
+ is_ok = True
+ for k in value:
+ if is_ok and getattr(old_item, k) != value[k]:
+ is_ok = False
+ continue
+ if is_ok:
+ my_old_item = old_item
+ break
+ if my_old_item:
+ value = my_old_item
+ else:
+ if issubclass(model, models.BaseHistorizedItem):
+ value['history_modifier'] = self.request.user
+ value = model.objects.create(**value)
+ value.save()
# check that an item is not add multiple times (forged forms)
if value not in related_model.all() and\
hasattr(related_model, 'add'):
@@ -632,7 +653,7 @@ class Wizard(NamedUrlWizardView):
return (to_delete, not_to_delete)
def get_form(self, step=None, data=None, files=None):
- """Manage formset"""
+ # Manage formset
if data:
data = data.copy()
if not step:
@@ -695,6 +716,7 @@ class Wizard(NamedUrlWizardView):
# for k in init[0]:
# data[step + '-' + unicode(total_field) + '-' + k] = \
# init[0][k]
+
data = data or None
form = super(Wizard, self).get_form(step, data, files)
# add autofocus to first field
@@ -723,6 +745,7 @@ class Wizard(NamedUrlWizardView):
if frm.fields[key].widget.source_full is not None:
frm.fields[key].widget.source_full = unicode(
frm.fields[key].widget.source_full) + "own/"
+
return form
def render_next_step(self, form, **kwargs):
@@ -760,10 +783,7 @@ class Wizard(NamedUrlWizardView):
except (ValueError, IndexError):
return super(Wizard, self).post(*args, **kwargs)
self.storage.current_step = wizard_goto_step
- form = self.get_form(
- data=self.storage.get_step_data(self.steps.current),
- files=self.storage.get_step_files(self.steps.current))
- return self.render(form)
+ return redirect(self.get_step_url(wizard_goto_step))
def session_get_keys(self, form_key):
"""Get list of available keys for a specific form
diff --git a/translations/de/ishtar_common.po b/translations/de/ishtar_common.po
index 8cc923272..750b795b9 100644
--- a/translations/de/ishtar_common.po
+++ b/translations/de/ishtar_common.po
@@ -362,7 +362,7 @@ msgstr ""
msgid "Account"
msgstr ""
-#: forms_common.py:467 wizards.py:1172
+#: forms_common.py:467 wizards.py:1192
msgid "New password"
msgstr ""
@@ -1435,7 +1435,7 @@ msgstr ""
msgid "No"
msgstr ""
-#: wizards.py:1229
+#: wizards.py:1249
#, python-format
msgid "[%(app_name)s] Account creation/modification"
msgstr ""
@@ -2103,6 +2103,10 @@ msgstr ""
msgid "Export as PDF file"
msgstr ""
+#: templates/ishtar/blocks/window_nav.html:49
+msgid "Relation between items are not historized."
+msgstr ""
+
#: templates/ishtar/blocks/window_tables/documents.html:10
msgid "Related to"
msgstr ""
diff --git a/translations/fr/archaeological_context_records.po b/translations/fr/archaeological_context_records.po
index f5175b9a9..6af8693f3 100644
--- a/translations/fr/archaeological_context_records.po
+++ b/translations/fr/archaeological_context_records.po
@@ -9,7 +9,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"PO-Revision-Date: 2016-09-06 09:42-0400\n"
+"PO-Revision-Date: 2016-09-08 03:59-0400\n"
"Last-Translator: Étienne Loks <etienne.loks@iggdrasil.net>\n"
"Language-Team: \n"
"Language: fr\n"
@@ -21,7 +21,7 @@ msgid "Operation"
msgstr "Opération"
#: forms.py:59 forms.py:137 models.py:132
-#: templates/ishtar/sheet_contextrecord.html:64
+#: templates/ishtar/sheet_contextrecord.html:65
msgid "ID"
msgstr "Identifiant"
@@ -45,7 +45,7 @@ msgstr "Entité Archéologique"
msgid "Search within operation relations"
msgstr "Rechercher parmi les opérations reliées"
-#: forms.py:77 forms.py:228 models.py:49
+#: forms.py:77 forms.py:230 models.py:49
msgid "Period"
msgstr "Période"
@@ -61,7 +61,7 @@ msgstr "Parcelle (section/nombre/domaine public)"
msgid "Search within relations"
msgstr "Recherche parmi les relations"
-#: forms.py:111 forms.py:333 views.py:118
+#: forms.py:111 forms.py:335 views.py:118
msgid "Context record search"
msgstr "Recherche d'Unité d'Enregistrement"
@@ -74,44 +74,48 @@ msgid "General"
msgstr "Général"
#: forms.py:136 models.py:118 models.py:128
-#: templates/ishtar/sheet_contextrecord.html:68
+#: templates/ishtar/sheet_contextrecord.html:69
msgid "Parcel"
msgstr "Parcelle"
-#: forms.py:139 models.py:133 templates/ishtar/sheet_contextrecord.html:31
-#: templates/ishtar/sheet_contextrecord.html:67
+#: forms.py:139 models.py:133 templates/ishtar/sheet_contextrecord.html:25
+#: templates/ishtar/sheet_contextrecord.html:68
msgid "Description"
msgstr "Description"
-#: forms.py:141 models.py:138
+#: forms.py:141 models.py:134
+msgid "General comment"
+msgstr "Commentaire général"
+
+#: forms.py:143 models.py:138
msgid "Length (m)"
msgstr "Taille (m)"
-#: forms.py:142 models.py:139
+#: forms.py:144 models.py:139
msgid "Width (m)"
msgstr "Largeur (m)"
-#: forms.py:143 models.py:140
+#: forms.py:145 models.py:140
msgid "Thickness (m)"
msgstr "Épaisseur (m)"
-#: forms.py:144 models.py:142
+#: forms.py:146 models.py:142
msgid "Depth (m)"
msgstr "Profondeur (m)"
-#: forms.py:145 models.py:150
+#: forms.py:147 models.py:150
msgid "Unit"
msgstr "Unité"
-#: forms.py:147 models.py:144
+#: forms.py:149 models.py:144
msgid "Location"
msgstr "Lieu"
-#: forms.py:150
+#: forms.py:152
msgid "Image"
msgstr "Image"
-#: forms.py:151
+#: forms.py:153
#, python-format
msgid ""
"<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</"
@@ -120,120 +124,120 @@ msgstr ""
"<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le "
"ratio est conservé).</p>"
-#: forms.py:217
+#: forms.py:219
msgid "This ID already exists for this operation."
msgstr "Cet identifiant existe déjà pour cette opération."
-#: forms.py:223 forms.py:250 models.py:60
+#: forms.py:225 forms.py:252 models.py:60
msgid "Dating"
msgstr "Datation"
-#: forms.py:229 models.py:50
+#: forms.py:231 models.py:50
msgid "Start date"
msgstr "Date de début"
-#: forms.py:230 models.py:51 models.py:137
+#: forms.py:232 models.py:51 models.py:137
msgid "End date"
msgstr "Date de fin"
-#: forms.py:231 models.py:54
+#: forms.py:233 models.py:54
msgid "Quality"
msgstr "Qualité"
-#: forms.py:232 models.py:36 models.py:52
+#: forms.py:234 models.py:36 models.py:52
msgid "Dating type"
msgstr "Type de datation"
-#: forms.py:259 ishtar_menu.py:29 models.py:356
+#: forms.py:261 ishtar_menu.py:29 models.py:356
msgid "Context record"
msgstr "Unité d'Enregistrement"
-#: forms.py:280
+#: forms.py:282
msgid "Relations"
msgstr "Relations"
-#: forms.py:284 forms.py:294 models.py:155
-#: templates/ishtar/sheet_contextrecord.html:42
+#: forms.py:286 forms.py:296 models.py:155
+#: templates/ishtar/sheet_contextrecord.html:37
msgid "Interpretation"
msgstr "Interprétation"
-#: forms.py:288
+#: forms.py:290
msgid "Comments on dating"
msgstr "Commentaires sur la datation"
-#: forms.py:290 models.py:152
+#: forms.py:292 models.py:152
msgid "Has furniture?"
msgstr "Contient du mobilier ?"
-#: forms.py:292 models.py:154
+#: forms.py:294 models.py:154
msgid "Filling"
msgstr "Remplissage"
-#: forms.py:296 models.py:175
+#: forms.py:298 models.py:175
msgid "Activity"
msgstr "Activité"
-#: forms.py:298 models.py:173
+#: forms.py:300 models.py:173
msgid "Identification"
msgstr "Identification"
-#: forms.py:300 models.py:158
+#: forms.py:302 models.py:158
msgid "TAQ"
msgstr "TAQ"
-#: forms.py:301 models.py:162
+#: forms.py:303 models.py:162
msgid "Estimated TAQ"
msgstr "TAQ estimé"
-#: forms.py:303 models.py:165
+#: forms.py:305 models.py:165
msgid "TPQ"
msgstr "TPQ"
-#: forms.py:304 models.py:169
+#: forms.py:306 models.py:169
msgid "Estimated TPQ"
msgstr "TPQ estimé"
-#: forms.py:319
+#: forms.py:321
msgid "Operation search"
msgstr "Recherche d'Opérations"
-#: forms.py:321
+#: forms.py:323
msgid "You should select an operation."
msgstr "Vous devez sélectionner une Opération."
-#: forms.py:326
+#: forms.py:328
msgid "Would you like to delete this context record?"
msgstr "Voulez-vous supprimer cette Unité d'Enregistrement ?"
-#: forms.py:335
+#: forms.py:337
msgid "You should select a context record."
msgstr "Vous devez sélectionner une Unité d'Enregistrement."
-#: forms.py:340
+#: forms.py:342
msgid "Year of the operation"
msgstr "Année de l'opération"
-#: forms.py:342
+#: forms.py:344
msgid "Numeric reference"
msgstr "Référence numérique"
-#: forms.py:348
+#: forms.py:350
msgid "Town of the operation"
msgstr "Commune de l'opération"
-#: forms.py:350
+#: forms.py:352
msgid "Period of the context record"
msgstr "Période de l'Unité d'Enregistrement"
-#: forms.py:352
+#: forms.py:354
msgid "Unit type of the context record"
msgstr "Type d'unité de l'Unité d'Enregistrement"
-#: forms.py:365
+#: forms.py:367
msgid "Documentation search"
msgstr "Recherche de documents"
-#: forms.py:367
+#: forms.py:369
msgid "You should select a document."
msgstr "Vous devez sélectionner un document."
@@ -321,10 +325,6 @@ msgstr "ID externe"
msgid "External ID is set automatically"
msgstr "L'identifiant externe est configuré automatiquement"
-#: models.py:134
-msgid "Comment"
-msgstr "Commentaires"
-
#: models.py:135
msgid "Date d'ouverture"
msgstr "Date d'ouverture"
@@ -402,7 +402,7 @@ msgstr "UE"
msgid "Inverse relation"
msgstr "Relation inverse"
-#: models.py:326 templates/ishtar/sheet_contextrecord.html:63
+#: models.py:326 templates/ishtar/sheet_contextrecord.html:64
msgid "Relation type"
msgstr "Type de relation"
@@ -458,177 +458,79 @@ msgstr "Unité d'Enregistrement : suppression d'une documentation associée"
msgid "Complete ID:"
msgstr "ID complet :"
-#: templates/ishtar/sheet_contextrecord.html:16
-#: templates/ishtar/sheet_contextrecord.html:94
-msgid "Patriarche OA code not yet recorded!"
-msgstr "Code d'opération Patriarche non renseigné !"
-
-#: templates/ishtar/sheet_contextrecord.html:17
+#: templates/ishtar/sheet_contextrecord.html:14
msgid "Temporary ID:"
msgstr "ID temporaire :"
-#: templates/ishtar/sheet_contextrecord.html:20
-msgid "Creation date:"
-msgstr "Date de création :"
-
-#: templates/ishtar/sheet_contextrecord.html:21
-msgid "Created by:"
-msgstr "Créé par :"
-
-#: templates/ishtar/sheet_contextrecord.html:23
-#: templates/ishtar/sheet_contextrecord.html:106
-msgid "Type:"
-msgstr "Type :"
-
-#: templates/ishtar/sheet_contextrecord.html:25
-msgid "Chronology:"
-msgstr "Chronologie :"
-
-#: templates/ishtar/sheet_contextrecord.html:27
-msgid "Place:"
-msgstr "Lieu :"
-
-#: templates/ishtar/sheet_contextrecord.html:28
-msgid "Parcel:"
-msgstr "Parcelle :"
-
-#: templates/ishtar/sheet_contextrecord.html:33
-msgid "Description:"
-msgstr "Description :"
-
-#: templates/ishtar/sheet_contextrecord.html:34
-msgid "Comment:"
-msgstr "Commentaires :"
-
-#: templates/ishtar/sheet_contextrecord.html:35
-msgid "Length (m):"
-msgstr "Taille (m) :"
-
-#: templates/ishtar/sheet_contextrecord.html:36
-msgid "Width (m):"
-msgstr "Largeur (m) :"
-
-#: templates/ishtar/sheet_contextrecord.html:37
-msgid "Depth (m):"
-msgstr "Profondeur (m) :"
-
-#: templates/ishtar/sheet_contextrecord.html:38
-msgid "Thickness (m):"
-msgstr "Épaisseur (m) :"
-
-#: templates/ishtar/sheet_contextrecord.html:44
-msgid "Activity:"
-msgstr "Activité :"
-
-#: templates/ishtar/sheet_contextrecord.html:45
-msgid "Identification:"
-msgstr "Identification :"
-
-#: templates/ishtar/sheet_contextrecord.html:46
-msgid "Interpretation:"
-msgstr "Interprétation :"
-
-#: templates/ishtar/sheet_contextrecord.html:50
+#: templates/ishtar/sheet_contextrecord.html:49
msgid "Datations"
msgstr "Datations"
-#: templates/ishtar/sheet_contextrecord.html:51
-msgid "TAQ:"
-msgstr "TAQ :"
-
-#: templates/ishtar/sheet_contextrecord.html:52
-msgid "Estimated TAQ:"
-msgstr "TAQ estimé :"
-
-#: templates/ishtar/sheet_contextrecord.html:53
-msgid "TPQ:"
-msgstr "TPQ :"
-
-#: templates/ishtar/sheet_contextrecord.html:54
-msgid "Estimated TPQ:"
-msgstr "TPQ estimé :"
-
-#: templates/ishtar/sheet_contextrecord.html:58
+#: templates/ishtar/sheet_contextrecord.html:59
msgid "In relation with"
msgstr "En relation avec"
-#: templates/ishtar/sheet_contextrecord.html:65
+#: templates/ishtar/sheet_contextrecord.html:66
msgid "Type"
msgstr "Type"
-#: templates/ishtar/sheet_contextrecord.html:66
+#: templates/ishtar/sheet_contextrecord.html:67
msgid "Chronology"
msgstr "Chronologie"
-#: templates/ishtar/sheet_contextrecord.html:88
+#: templates/ishtar/sheet_contextrecord.html:89
msgid "Operation summary"
msgstr "Résumé de l'opération"
-#: templates/ishtar/sheet_contextrecord.html:89
-msgid "Year:"
-msgstr "Année :"
-
-#: templates/ishtar/sheet_contextrecord.html:92
-msgid "Patriarche OA code:"
-msgstr "Code d'opération Patriarche"
-
-#: templates/ishtar/sheet_contextrecord.html:97
-msgid "Head scientist:"
-msgstr "Responsable scientifique :"
+#: templates/ishtar/sheet_contextrecord.html:91
+msgid "Patriarche OA code not yet recorded!"
+msgstr "Code d'opération Patriarche non renseigné !"
#: templates/ishtar/sheet_contextrecord.html:98
msgid "State:"
msgstr "État :"
-#: templates/ishtar/sheet_contextrecord.html:100
+#: templates/ishtar/sheet_contextrecord.html:98
msgid "Active file"
msgstr "Dossier actif"
-#: templates/ishtar/sheet_contextrecord.html:102
+#: templates/ishtar/sheet_contextrecord.html:98
msgid "Closed operation"
msgstr "Opération fermée"
-#: templates/ishtar/sheet_contextrecord.html:103
+#: templates/ishtar/sheet_contextrecord.html:100
msgid "Closing date:"
msgstr "Date de clôture :"
-#: templates/ishtar/sheet_contextrecord.html:104
+#: templates/ishtar/sheet_contextrecord.html:100
msgid "by"
msgstr "par"
-#: templates/ishtar/sheet_contextrecord.html:107
-msgid "Remains:"
-msgstr "Vestiges :"
-
#: templates/ishtar/sheet_contextrecord.html:108
-msgid "Periods:"
-msgstr "Périodes :"
-
-#: templates/ishtar/sheet_contextrecord.html:111
msgid "Localisation"
msgstr "Lieu"
-#: templates/ishtar/sheet_contextrecord.html:112
+#: templates/ishtar/sheet_contextrecord.html:109
msgid "Towns:"
msgstr "Communes :"
-#: templates/ishtar/sheet_contextrecord.html:113
+#: templates/ishtar/sheet_contextrecord.html:110
msgid "Related operation:"
msgstr "Opération associée :"
-#: templates/ishtar/sheet_contextrecord.html:116
+#: templates/ishtar/sheet_contextrecord.html:112
msgid "No operation linked to this context unit!"
msgstr "Pas d'opération rattachée à cette UE !"
-#: templates/ishtar/sheet_contextrecord.html:119
+#: templates/ishtar/sheet_contextrecord.html:115
msgid "Document from this context record"
msgstr "Document associé à cette Unité d'Enregistrement"
-#: templates/ishtar/sheet_contextrecord.html:124
+#: templates/ishtar/sheet_contextrecord.html:120
msgid "Finds"
msgstr "Mobilier"
-#: templates/ishtar/sheet_contextrecord.html:129
+#: templates/ishtar/sheet_contextrecord.html:125
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 3dacfbfdf..40bb635bb 100644
--- a/translations/fr/archaeological_files.po
+++ b/translations/fr/archaeological_files.po
@@ -18,7 +18,7 @@ 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:77 templates/ishtar/sheet_file.html:144
+#: models.py:77 templates/ishtar/sheet_file.html:146
msgid "Year"
msgstr "Année"
@@ -67,7 +67,7 @@ msgstr "Référence du permis"
msgid "Comment"
msgstr "Commentaire"
-#: forms.py:70 templates/ishtar/sheet_file.html:117
+#: forms.py:70 templates/ishtar/sheet_file.html:119
msgid "In charge"
msgstr "Responsable"
@@ -466,7 +466,7 @@ msgstr "Dossier : modification d'acte administratif"
msgid "File: administrative act deletion"
msgstr "Dossier : suppression d'acte administratif"
-#: wizards.py:124 templates/ishtar/sheet_file.html:109
+#: wizards.py:124 templates/ishtar/sheet_file.html:111
msgid "Associated operations"
msgstr "Opérations associées"
@@ -561,43 +561,43 @@ msgstr " :"
msgid "Head scientist"
msgstr "Responsable scientifique"
-#: templates/ishtar/sheet_file.html:103
+#: templates/ishtar/sheet_file.html:105
msgid "Associated parcels"
msgstr "Parcelles associées"
-#: templates/ishtar/sheet_file.html:106
+#: templates/ishtar/sheet_file.html:108
msgid "Administrative acts"
msgstr "Actes administratifs"
-#: templates/ishtar/sheet_file.html:114 templates/ishtar/sheet_file.html:145
+#: templates/ishtar/sheet_file.html:116 templates/ishtar/sheet_file.html:147
msgid "Ref."
msgstr "Réf."
-#: templates/ishtar/sheet_file.html:116 templates/ishtar/sheet_file.html:146
+#: templates/ishtar/sheet_file.html:118 templates/ishtar/sheet_file.html:148
msgid "Type"
msgstr "Type"
-#: templates/ishtar/sheet_file.html:118
+#: templates/ishtar/sheet_file.html:120
msgid "Start date"
msgstr "Date de début"
-#: templates/ishtar/sheet_file.html:119
+#: templates/ishtar/sheet_file.html:121
msgid "Excavation end date"
msgstr "Date de fin de chantier"
-#: templates/ishtar/sheet_file.html:133
+#: templates/ishtar/sheet_file.html:135
msgid "No operation associated to this archaelogical file"
msgstr "Pas d'opération associée à ce dossier archéologique"
-#: templates/ishtar/sheet_file.html:139
+#: templates/ishtar/sheet_file.html:141
msgid "Admninistrative acts linked to associated operations"
msgstr "Actes administratifs associés à ces opérations"
-#: templates/ishtar/sheet_file.html:147
+#: templates/ishtar/sheet_file.html:149
msgid "Date"
msgstr "Date"
-#: templates/ishtar/sheet_file.html:157
+#: templates/ishtar/sheet_file.html:159
msgid "No administrative act linked to operations"
msgstr "Pas d'acte administratif associé à ces opérations"
diff --git a/translations/fr/archaeological_finds.po b/translations/fr/archaeological_finds.po
index 1bfcc5ea2..f757eeb4c 100644
--- a/translations/fr/archaeological_finds.po
+++ b/translations/fr/archaeological_finds.po
@@ -153,12 +153,12 @@ msgid "Period"
msgstr "Période"
#: forms.py:187 forms.py:590 models.py:693 models.py:758 models.py:894
-#: templates/ishtar/sheet_find.html:81 templates/ishtar/sheet_find.html:110
+#: templates/ishtar/sheet_find.html:85 templates/ishtar/sheet_find.html:114
msgid "Start date"
msgstr "Date de début"
#: forms.py:189 forms.py:592 models.py:694 models.py:759 models.py:895
-#: templates/ishtar/sheet_find.html:82 templates/ishtar/sheet_find.html:111
+#: templates/ishtar/sheet_find.html:86 templates/ishtar/sheet_find.html:115
msgid "End date"
msgstr "Date de fin"
@@ -295,7 +295,7 @@ msgid "Treatment type"
msgstr "Type de traitement"
#: forms.py:577 models.py:691 models.py:762
-#: templates/ishtar/sheet_find.html:79 templates/ishtar/sheet_find.html:108
+#: templates/ishtar/sheet_find.html:83 templates/ishtar/sheet_find.html:112
msgid "Doer"
msgstr "Opérateur"
@@ -531,16 +531,16 @@ msgstr "Mesures de conservation à envisager"
msgid "Weight unit"
msgstr "Unité de poids"
-#: models.py:341 templates/ishtar/sheet_find.html:72
+#: models.py:341 templates/ishtar/sheet_find.html:76
msgid "Upstream treatment"
msgstr "Traitement amont"
-#: models.py:344 templates/ishtar/sheet_find.html:101
+#: models.py:344 templates/ishtar/sheet_find.html:105
msgid "Downstream treatment"
msgstr "Traitement aval"
#: models.py:348 models.py:677 models.py:761
-#: templates/ishtar/sheet_find.html:80 templates/ishtar/sheet_find.html:109
+#: templates/ishtar/sheet_find.html:84 templates/ishtar/sheet_find.html:113
msgid "Container"
msgstr "Contenant"
@@ -618,7 +618,7 @@ msgstr "Autre lieu"
msgid "Treatment"
msgstr "Traitement"
-#: models.py:699 templates/ishtar/sheet_find.html:69
+#: models.py:699 templates/ishtar/sheet_find.html:73
msgid "Treatments"
msgstr "Traitements"
@@ -646,8 +646,8 @@ msgstr "Peut supprimer son propre Traitement"
msgid "by"
msgstr "par"
-#: models.py:763 models.py:764 templates/ishtar/sheet_find.html:78
-#: templates/ishtar/sheet_find.html:107
+#: models.py:763 models.py:764 templates/ishtar/sheet_find.html:82
+#: templates/ishtar/sheet_find.html:111
msgid "Related finds"
msgstr "Mobilier associé"
@@ -731,36 +731,36 @@ msgstr "Nouveau traitement"
msgid "Operation"
msgstr "Opération"
-#: templates/ishtar/sheet_find.html:77 templates/ishtar/sheet_find.html:106
-#: templates/ishtar/sheet_find.html:176
+#: templates/ishtar/sheet_find.html:81 templates/ishtar/sheet_find.html:110
+#: templates/ishtar/sheet_find.html:180
msgid "Type"
msgstr "Type"
-#: templates/ishtar/sheet_find.html:97
+#: templates/ishtar/sheet_find.html:101
msgid "Export as CSV"
msgstr "Export en CSV"
-#: templates/ishtar/sheet_find.html:97 templates/ishtar/sheet_find.html:127
+#: templates/ishtar/sheet_find.html:101 templates/ishtar/sheet_find.html:131
msgid "CSV"
msgstr "CSV"
-#: templates/ishtar/sheet_find.html:132
+#: templates/ishtar/sheet_find.html:136
msgid "Associated base finds"
msgstr "Mobilier de base associé"
-#: templates/ishtar/sheet_find.html:171 templates/ishtar/sheet_find.html:173
+#: templates/ishtar/sheet_find.html:175 templates/ishtar/sheet_find.html:177
msgid "Documents"
msgstr "Documents"
-#: templates/ishtar/sheet_find.html:175
+#: templates/ishtar/sheet_find.html:179
msgid "Title"
msgstr "Titre"
-#: templates/ishtar/sheet_find.html:177
+#: templates/ishtar/sheet_find.html:181
msgid "Authors"
msgstr "Auteurs"
-#: templates/ishtar/sheet_find.html:178
+#: templates/ishtar/sheet_find.html:182
msgid "Link"
msgstr "Lien"
diff --git a/translations/fr/archaeological_operations.po b/translations/fr/archaeological_operations.po
index 5f314df2f..257f5e095 100644
--- a/translations/fr/archaeological_operations.po
+++ b/translations/fr/archaeological_operations.po
@@ -104,7 +104,7 @@ msgstr "Relations actuelles"
msgid "Deleted relations"
msgstr "Relations supprimées"
-#: forms.py:449 templates/ishtar/sheet_operation.html:77
+#: forms.py:449 templates/ishtar/sheet_operation.html:78
msgid "Relations"
msgstr "Relations"
@@ -419,8 +419,8 @@ msgstr "Types de vestige"
msgid "Remain type"
msgstr "Type de vestige"
-#: forms.py:1039 templates/ishtar/sheet_operation.html:148
-#: templates/ishtar/sheet_operation.html:179
+#: forms.py:1039 templates/ishtar/sheet_operation.html:149
+#: templates/ishtar/sheet_operation.html:180
msgid "Period"
msgstr "Période"
@@ -437,7 +437,7 @@ msgid "Archaeological site"
msgstr "Entité archéologique"
#: forms.py:1112 models.py:88 models.py:261
-#: templates/ishtar/sheet_operation.html:88
+#: templates/ishtar/sheet_operation.html:89
msgid "Archaeological sites"
msgstr "Entités archéologiques"
@@ -860,8 +860,8 @@ msgstr "Valeur en cache des départements associés"
msgid "Cached values get from associated towns"
msgstr "Valeur en cache des communes associées"
-#: models.py:831 templates/ishtar/sheet_operation.html:96
-#: templates/ishtar/sheet_operation.html:127
+#: models.py:831 templates/ishtar/sheet_operation.html:97
+#: templates/ishtar/sheet_operation.html:128
msgid "Administrative acts"
msgstr "Actes administratifs"
@@ -1104,52 +1104,52 @@ msgstr "Durée :"
msgid "Day"
msgstr "Jour"
-#: templates/ishtar/sheet_operation.html:67
+#: templates/ishtar/sheet_operation.html:68
msgid "Localisation"
msgstr "Localisation"
-#: templates/ishtar/sheet_operation.html:92
+#: templates/ishtar/sheet_operation.html:93
msgid "Associated parcels"
msgstr "Parcelles associées"
-#: templates/ishtar/sheet_operation.html:100
+#: templates/ishtar/sheet_operation.html:101
msgid "Document from this operation"
msgstr "Documents de cette opération"
-#: templates/ishtar/sheet_operation.html:106
-#: templates/ishtar/sheet_operation.html:133
+#: templates/ishtar/sheet_operation.html:107
+#: templates/ishtar/sheet_operation.html:134
msgid "Context records"
msgstr "Unités d'Enregistrement"
-#: templates/ishtar/sheet_operation.html:110
+#: templates/ishtar/sheet_operation.html:111
msgid "Documents from associated context records"
msgstr "Documents des Unités d'Enregistrement associées"
-#: templates/ishtar/sheet_operation.html:115
-#: templates/ishtar/sheet_operation.html:156
+#: templates/ishtar/sheet_operation.html:116
+#: templates/ishtar/sheet_operation.html:157
msgid "Finds"
msgstr "Mobilier"
-#: templates/ishtar/sheet_operation.html:120
+#: templates/ishtar/sheet_operation.html:121
msgid "Documents from associated finds"
msgstr "Documents du mobilier associé"
-#: templates/ishtar/sheet_operation.html:125
+#: templates/ishtar/sheet_operation.html:126
msgid "Statistics"
msgstr "Statistiques"
-#: templates/ishtar/sheet_operation.html:140
-#: templates/ishtar/sheet_operation.html:194
+#: templates/ishtar/sheet_operation.html:141
+#: templates/ishtar/sheet_operation.html:195
#: templates/ishtar/blocks/window_tables/administrativacts.html:8
msgid "Type"
msgstr "Type"
-#: templates/ishtar/sheet_operation.html:140
-#: templates/ishtar/sheet_operation.html:148
-#: templates/ishtar/sheet_operation.html:163
-#: templates/ishtar/sheet_operation.html:171
-#: templates/ishtar/sheet_operation.html:179
-#: templates/ishtar/sheet_operation.html:194
+#: templates/ishtar/sheet_operation.html:141
+#: templates/ishtar/sheet_operation.html:149
+#: templates/ishtar/sheet_operation.html:164
+#: templates/ishtar/sheet_operation.html:172
+#: templates/ishtar/sheet_operation.html:180
+#: templates/ishtar/sheet_operation.html:195
#: templates/ishtar/dashboards/dashboard_operation.html:18
#: templates/ishtar/dashboards/dashboard_operation.html:164
#: templates/ishtar/dashboards/dashboard_operation.html:432
@@ -1158,19 +1158,19 @@ msgstr "Type"
msgid "Number"
msgstr "Nombre"
-#: templates/ishtar/sheet_operation.html:163
+#: templates/ishtar/sheet_operation.html:164
msgid "Material type"
msgstr "Type de matériau"
-#: templates/ishtar/sheet_operation.html:171
+#: templates/ishtar/sheet_operation.html:172
msgid "Object type"
msgstr "Type d'objet"
-#: templates/ishtar/sheet_operation.html:187
+#: templates/ishtar/sheet_operation.html:188
msgid "Sources"
msgstr "Documents"
-#: templates/ishtar/sheet_operation.html:203
+#: templates/ishtar/sheet_operation.html:204
msgid "Finds by context records"
msgstr "Mobilier par Unités d'Enregistrement"
diff --git a/translations/fr/ishtar_common.po b/translations/fr/ishtar_common.po
index 48e17c19d..a4b55a5c3 100644
--- a/translations/fr/ishtar_common.po
+++ b/translations/fr/ishtar_common.po
@@ -381,7 +381,7 @@ msgstr "Type de personne"
msgid "Account"
msgstr "Compte"
-#: forms_common.py:467 wizards.py:1172
+#: forms_common.py:467 wizards.py:1192
msgid "New password"
msgstr "Nouveau mot de passe"
@@ -1476,7 +1476,7 @@ msgstr "Oui"
msgid "No"
msgstr "Non"
-#: wizards.py:1229
+#: wizards.py:1249
#, python-format
msgid "[%(app_name)s] Account creation/modification"
msgstr "[%(app_name)s] Création /modification du compte"
@@ -2152,6 +2152,10 @@ msgstr "Exporter en fichier OpenOffice.org"
msgid "Export as PDF file"
msgstr "Exporter en fichier PDF"
+#: templates/ishtar/blocks/window_nav.html:49
+msgid "Relation between items are not historized."
+msgstr ""
+
#: templates/ishtar/blocks/window_tables/documents.html:10
msgid "Related to"
msgstr "Associé à"
diff --git a/version.py b/version.py
index 91c10f4b1..41407c8a3 100644
--- a/version.py
+++ b/version.py
@@ -1,4 +1,4 @@
-VERSION = (0, 97, 7)
+VERSION = (0, 97, 8)
def get_version():