summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml14
-rw-r--r--CHANGES.md46
-rw-r--r--Makefile.example9
-rw-r--r--archaeological_context_records/admin.py14
-rw-r--r--archaeological_context_records/forms.py29
-rw-r--r--archaeological_context_records/locale/django.pot266
-rw-r--r--archaeological_context_records/migrations/0013_auto__add_excavationtechnictype__add_field_contextrecord_excavation_te.py690
-rw-r--r--archaeological_context_records/migrations/0014_auto__add_documentationtype__add_field_contextrecord_diameter__add_fie.py732
-rw-r--r--archaeological_context_records/migrations/0015_has_furniture_to_documentations.py686
-rw-r--r--archaeological_context_records/migrations/0016_auto__del_field_contextrecord_has_furniture__del_field_historicalconte.py690
-rw-r--r--archaeological_context_records/models.py58
-rw-r--r--archaeological_context_records/templates/ishtar/sheet_contextrecord.html46
-rw-r--r--archaeological_context_records/templates/ishtar/sheet_contextrecordsource.html3
-rw-r--r--archaeological_context_records/tests.py5
-rw-r--r--archaeological_context_records/wizards.py2
-rw-r--r--archaeological_files/locale/django.pot96
-rw-r--r--archaeological_files/models.py5
-rw-r--r--archaeological_files/templates/ishtar/sheet_file.html27
-rw-r--r--archaeological_finds/admin.py4
-rw-r--r--archaeological_finds/forms.py50
-rw-r--r--archaeological_finds/locale/django.pot548
-rw-r--r--archaeological_finds/models_finds.py50
-rw-r--r--archaeological_finds/models_treatments.py6
-rw-r--r--archaeological_finds/templates/ishtar/sheet_find.html43
-rw-r--r--archaeological_finds/templates/ishtar/sheet_findsource.html3
-rw-r--r--archaeological_finds/templates/ishtar/sheet_treatment.html13
-rw-r--r--archaeological_finds/templates/ishtar/sheet_treatmentfile.html16
-rw-r--r--archaeological_finds/templates/ishtar/sheet_treatmentfilesource.html3
-rw-r--r--archaeological_finds/templates/ishtar/sheet_treatmentsource.html3
-rw-r--r--archaeological_finds/urls.py10
-rw-r--r--archaeological_finds/views.py48
-rw-r--r--archaeological_finds/wizards.py6
-rw-r--r--archaeological_operations/forms.py6
-rw-r--r--archaeological_operations/locale/django.pot508
-rw-r--r--archaeological_operations/migrations/0013_auto__add_field_historicaloperation_address__add_field_operation_addre.py852
-rw-r--r--archaeological_operations/migrations/0014_regenerate_cached_label.py847
-rw-r--r--archaeological_operations/models.py54
-rw-r--r--archaeological_operations/templates/ishtar/sheet_operation.html43
-rw-r--r--archaeological_operations/templates/ishtar/sheet_operationsource.html3
-rw-r--r--archaeological_operations/tests.py18
-rw-r--r--archaeological_operations/tests/MCC-operations-example-bad-encoding.csv3
-rw-r--r--archaeological_operations/wizards.py2
-rw-r--r--archaeological_warehouse/forms.py38
-rw-r--r--archaeological_warehouse/locale/django.pot133
-rw-r--r--archaeological_warehouse/migrations/0007_auto__add_field_container_image__add_field_container_thumbnail.py319
-rw-r--r--archaeological_warehouse/migrations/0008_generate_cache_lbl_for_containers.py308
-rw-r--r--archaeological_warehouse/models.py13
-rw-r--r--archaeological_warehouse/templates/ishtar/sheet_container.html14
-rw-r--r--archaeological_warehouse/templates/ishtar/sheet_warehouse.html9
-rw-r--r--archaeological_warehouse/templates/ishtar/wizard/wizard_containerlocalisation.html11
-rw-r--r--archaeological_warehouse/urls.py9
-rw-r--r--archaeological_warehouse/views.py19
-rw-r--r--archaeological_warehouse/wizards.py12
-rw-r--r--example_project/settings.py1
-rw-r--r--ishtar_common/admin.py2
-rw-r--r--ishtar_common/forms_common.py2
-rw-r--r--ishtar_common/locale/django.pot351
-rw-r--r--ishtar_common/migrations/0074_auto__add_field_import_name.py494
-rw-r--r--ishtar_common/migrations/0075_auto__add_field_authortype_order.py495
-rw-r--r--ishtar_common/models.py11
-rw-r--r--ishtar_common/static/media/style.css11
-rw-r--r--ishtar_common/templates/ishtar/blocks/sheet_creation_section.html19
-rw-r--r--ishtar_common/templates/ishtar/blocks/sheet_external_id.html7
-rw-r--r--ishtar_common/templates/ishtar/blocks/window_field.html2
-rw-r--r--ishtar_common/templates/ishtar/blocks/window_field_detail.html2
-rw-r--r--ishtar_common/templates/ishtar/blocks/window_field_multiple.html2
-rw-r--r--ishtar_common/templates/ishtar/blocks/window_field_url.html2
-rw-r--r--ishtar_common/templates/ishtar/display_item.html2
-rw-r--r--ishtar_common/templates/ishtar/import_delete.html33
-rw-r--r--ishtar_common/templates/ishtar/import_list.html8
-rw-r--r--ishtar_common/templates/ishtar/manage_basket.html11
-rw-r--r--ishtar_common/templates/ishtar/sheet_person.html41
-rw-r--r--ishtar_common/templates/ishtar/sheet_source.html6
-rw-r--r--ishtar_common/templates/robots.txt2
-rw-r--r--ishtar_common/templatetags/link_to_window.py2
-rw-r--r--ishtar_common/templatetags/window_tables.py7
-rw-r--r--ishtar_common/urls.py5
-rw-r--r--ishtar_common/views.py37
-rw-r--r--ishtar_common/wizards.py26
-rw-r--r--translations/de/ishtar_common.po351
-rw-r--r--translations/fr/archaeological_context_records.po279
-rw-r--r--translations/fr/archaeological_files.po98
-rw-r--r--translations/fr/archaeological_finds.po559
-rw-r--r--translations/fr/archaeological_operations.po516
-rw-r--r--translations/fr/archaeological_warehouse.po150
-rw-r--r--translations/fr/ishtar_common.po353
-rw-r--r--version.py2
87 files changed, 9068 insertions, 2263 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 730c3c5c3..bd7a5ced2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -13,19 +13,25 @@ variables:
services:
- iggdrasil/postgis-1.5
-master:
- script: "make test_gitlab"
+build:
+ stage: "build"
+ script: "make build_gitlab"
only:
- master
+ - v0.9
+ - wheezy
-stable:
+test:
+ stage: "test"
script: "make test_gitlab"
only:
+ - master
- v0.9
+ - wheezy
debian:
+ stage: "test"
script:
- - make test_gitlab
- apt-get install -q -y devscripts build-essential lintian wget
- make deb
- wget -O /etc/apt/sources.list.d/iggdrasil.list http://deb.iggdrasil.net/dists/wheezy/iggdrasil.list
diff --git a/CHANGES.md b/CHANGES.md
index 76edd8b3d..34d7ccd2e 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,6 +1,48 @@
Ishtar changelog
================
+v0.99.16 (2017-03-21)
+---------------------
+
+### Features ###
+- Operation: add a location field
+- Operation sheet: add list of containers
+- Operation sheet: add INSEE code to towns
+- Operation source table: change headers
+- Context record: add type of excavation technics
+- Context record form/sheet: add documentation types, diameter and depth of appearance
+- Context records table: add new fields and reorder
+- Find table: add new fields and reorder
+- Find search: conditionnal search (warehouse module available) for warehouses and containers
+- Find search: search by warehouse (location & responsible)
+- Find sheet: link for documents related to finds
+- Warehouse form: can add a warehouse responsible if not available
+- Warehouse/Container sheet: add a Modify button
+- Container: add an image
+- Container wizard: display container sheet at the end of the process
+- Treatment/Treatment file history: navigation between version and restore action
+- Treatment/Treatment file sheet: add source list, administrative act list
+- Basket: add a close button
+- Sources: ordering author by author type
+- Person sheet: link to the attached organization
+- Sheets: remove ":" from labels
+- Sheets: mark explicitly some fields as translated fields
+- Sheets: improve layout
+- Sheets: add ishtar ID
+- Tables: add missing headers
+- Admin: add batch types
+- Imports: admin can see all imports
+- Imports: add a name
+- Imports: clean empty m2m
+- Add a default robots.txt
+
+### Bug fixes ###
+- Refactoring: EXTRA_FULL_FIELDS_LABELS -> COL_LABELS (with merge)
+- Warehouse modification: error message is displayed when putting identical division types
+- Container form: fix message when no warehouse is set
+- Dashboard: fix area unity and effective operation tables
+- Test import of files with exotic encoding
+
v0.99.15 (2017-03-09)
---------------------
### Features ###
@@ -37,7 +79,7 @@ v0.99.14 (2017-03-06)
v0.99.13.1 (2017-02-20)
-----------------------
### Bug fixes ###
-- Warehouse: fix warehouse creation with no divisions (refs #3481)
+- Warehouse: fix warehouse creation with no divisions
v0.99.13 (2017-02-17)
--------------------
@@ -237,7 +279,7 @@ v0.99.10 (2017-02-04)
### Bug fixes ###
-- Fix simple form for adding containers (refs #3410)
+- Fix simple form for adding containers
- Treatment file select form: fix treatment file check
0.99.0 (2017-01-10)
diff --git a/Makefile.example b/Makefile.example
index e7e604706..ac8e54cc5 100644
--- a/Makefile.example
+++ b/Makefile.example
@@ -52,10 +52,11 @@ coverage: clean
archaeological_context_records,archaeological_files,archaeological_finds,archaeological_warehouse,\
archaeological_files_pdl" ./manage.py test $(apps) && coverage report
-test_gitlab: clean
- # test migrations
- cd $(project); $(PYTHON) ./manage.py syncdb --noinput
+build_gitlab:
+ cd $(project); $(PYTHON) ./manage.py syncdb --noinput 2> /dev/null > /dev/null
cd $(project); $(PYTHON) ./manage.py migrate
+
+test_gitlab: clean
cd $(project); $(PYTHON) manage.py test $(apps)
pep8:
@@ -243,7 +244,7 @@ fixtures_files:
archaeological_files.permittype \
> '../archaeological_files/fixtures/initial_data-'$(default_data)'.json'
-translations_push: makemessages
+translations_push: translations_pull makemessages
zanata-cli push
translations_pull:
diff --git a/archaeological_context_records/admin.py b/archaeological_context_records/admin.py
index 2f6bb3291..567f50014 100644
--- a/archaeological_context_records/admin.py
+++ b/archaeological_context_records/admin.py
@@ -36,8 +36,9 @@ admin.site.register(models.Dating, DatingAdmin)
class ContextRecordAdmin(HistorizedObjectAdmin):
list_display = ('label', 'length', 'width',
'thickness', 'depth')
- list_filter = ('has_furniture',)
- search_fields = ('label', 'parcel__operation__common_name', 'datings__period__label')
+ list_filter = ('documentations',)
+ search_fields = ('label', 'parcel__operation__common_name',
+ 'datings__period__label')
model = models.ContextRecord
admin.site.register(models.ContextRecord, ContextRecordAdmin)
@@ -65,8 +66,10 @@ class RelationTypeAdmin(admin.ModelAdmin):
admin.site.register(models.RelationType, RelationTypeAdmin)
+
class UnitAdmin(admin.ModelAdmin):
- list_display = ['label', 'txt_idx', 'parent', 'available', 'order', 'comment']
+ list_display = ['label', 'txt_idx', 'parent', 'available', 'order',
+ 'comment']
admin.site.register(models.Unit, UnitAdmin)
@@ -77,8 +80,9 @@ class IdentificationTypeAdmin(admin.ModelAdmin):
admin.site.register(models.IdentificationType, IdentificationTypeAdmin)
-general_models = [models.DatingType, models.DatingQuality,
- models.ActivityType]
+general_models = [
+ models.DatingType, models.DatingQuality, models.DocumentationType,
+ models.ActivityType, models.ExcavationTechnicType]
for model in general_models:
admin.site.register(model, GeneralTypeAdmin)
diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py
index 953d33417..522c69deb 100644
--- a/archaeological_context_records/forms.py
+++ b/archaeological_context_records/forms.py
@@ -130,7 +130,11 @@ class RecordFormSelection(forms.Form):
class RecordFormGeneral(ManageOldType, forms.Form):
form_label = _("General")
file_upload = True
- associated_models = {'parcel': Parcel, 'unit': models.Unit}
+ base_models = ["documentation"]
+ associated_models = {
+ 'parcel': Parcel, 'unit': models.Unit,
+ 'documentation': models.DocumentationType,
+ 'excavation_technic': models.ExcavationTechnicType}
pk = forms.IntegerField(required=False, widget=forms.HiddenInput)
operation_id = forms.IntegerField(widget=forms.HiddenInput)
parcel = forms.ChoiceField(label=_("Parcel"), choices=[])
@@ -140,13 +144,20 @@ class RecordFormGeneral(ManageOldType, forms.Form):
widget=forms.Textarea, required=False)
comment = forms.CharField(label=_(u"General comment"),
widget=forms.Textarea, required=False)
+ excavation_technic = forms.ChoiceField(
+ label=_(u"Excavation technique"), choices=[], 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)
+ diameter = forms.FloatField(label=_(u"Diameter (m)"), required=False)
depth = forms.FloatField(label=_(u"Depth (m)"), required=False)
- unit = forms.ChoiceField(label=_("Context record type"), required=False, choices=[])
- has_furniture = forms.NullBooleanField(label=_(u"Has furniture?"),
- required=False)
+ depth_of_appearance = forms.FloatField(
+ label=_(u"Depth of appearance (m)"), required=False)
+ unit = forms.ChoiceField(label=_(u"Context record type"), required=False,
+ choices=[])
+ documentation = forms.MultipleChoiceField(
+ label=_("Documentation"), choices=[], required=False,
+ widget=forms.CheckboxSelectMultiple)
location = forms.CharField(
label=_(u"Location"), widget=forms.Textarea,
required=False, validators=[validators.MaxLengthValidator(200)])
@@ -208,6 +219,16 @@ class RecordFormGeneral(ManageOldType, forms.Form):
self.fields['unit'].choices = models.Unit.get_types(
initial=self.init_data.get('unit'))
self.fields['unit'].help_text = models.Unit.get_help()
+ self.fields['excavation_technic'].choices = \
+ models.ExcavationTechnicType.get_types(
+ initial=self.init_data.get('excavation_technic'))
+ self.fields['excavation_technic'].help_text = \
+ models.ExcavationTechnicType.get_help()
+ self.fields['documentation'].choices = \
+ models.DocumentationType.get_types(empty_first=False,
+ initial=self.init_data.get('documentation'))
+ self.fields['documentation'].help_text = \
+ models.DocumentationType.get_help()
def clean(self):
# manage unique context record ID
diff --git a/archaeological_context_records/locale/django.pot b/archaeological_context_records/locale/django.pot
index fe47dae4f..eedcad733 100644
--- a/archaeological_context_records/locale/django.pot
+++ b/archaeological_context_records/locale/django.pot
@@ -7,11 +7,11 @@
msgid ""
msgstr ""
-#: forms.py:47 forms.py:51 models.py:198 models.py:565 wizards.py:77
+#: forms.py:47 forms.py:51 models.py:216 models.py:589 wizards.py:77
msgid "Operation"
msgstr ""
-#: forms.py:59 forms.py:137 models.py:200 models.py:533
+#: forms.py:59 forms.py:141 models.py:218 models.py:557
msgid "ID"
msgstr ""
@@ -35,7 +35,7 @@ msgstr ""
msgid "Search within related operations"
msgstr ""
-#: forms.py:77 forms.py:233 models.py:56
+#: forms.py:77 forms.py:254 models.py:56
msgid "Period"
msgstr ""
@@ -51,7 +51,7 @@ msgstr ""
msgid "Search within relations"
msgstr ""
-#: forms.py:111 forms.py:336 views.py:92
+#: forms.py:111 forms.py:357 views.py:92
msgid "Context record search"
msgstr ""
@@ -63,164 +63,176 @@ msgstr ""
msgid "General"
msgstr ""
-#: forms.py:136 models.py:154 models.py:196 models.py:535
+#: forms.py:140 models.py:181 models.py:214 models.py:559
msgid "Parcel"
msgstr ""
-#: forms.py:139 models.py:201 models.py:536
-#: templates/ishtar/sheet_contextrecord.html:39
+#: forms.py:143 models.py:219 models.py:560
+#: templates/ishtar/sheet_contextrecord.html:30
msgid "Description"
msgstr ""
-#: forms.py:141 models.py:202
+#: forms.py:145 models.py:220
msgid "General comment"
msgstr ""
-#: forms.py:143 models.py:206
+#: forms.py:148 models.py:267
+msgid "Excavation technique"
+msgstr ""
+
+#: forms.py:149 models.py:224
msgid "Length (m)"
msgstr ""
-#: forms.py:144 models.py:207
+#: forms.py:150 models.py:225
msgid "Width (m)"
msgstr ""
-#: forms.py:145 models.py:208
+#: forms.py:151 models.py:226
msgid "Thickness (m)"
msgstr ""
-#: forms.py:146 models.py:210
+#: forms.py:152 models.py:228
+msgid "Diameter (m)"
+msgstr ""
+
+#: forms.py:153 models.py:229
msgid "Depth (m)"
msgstr ""
-#: forms.py:147 forms.py:355 models.py:218 models.py:534
+#: forms.py:155 models.py:231
+msgid "Depth of appearance (m)"
+msgstr ""
+
+#: forms.py:156 forms.py:376 models.py:241 models.py:558
msgid "Context record type"
msgstr ""
-#: forms.py:148 models.py:220
-msgid "Has furniture?"
+#: forms.py:159 ishtar_menu.py:48
+msgid "Documentation"
msgstr ""
-#: forms.py:151 models.py:212
+#: forms.py:162 models.py:233
msgid "Location"
msgstr ""
-#: forms.py:154
+#: forms.py:165
msgid "Image"
msgstr ""
-#: forms.py:155
+#: forms.py:166
#, python-format
msgid ""
"<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</"
"p>"
msgstr ""
-#: forms.py:222
+#: forms.py:243
msgid "This ID already exists for this operation."
msgstr ""
-#: forms.py:228 forms.py:255 models.py:67
+#: forms.py:249 forms.py:276 models.py:67
msgid "Dating"
msgstr ""
-#: forms.py:234 models.py:57
+#: forms.py:255 models.py:57
msgid "Start date"
msgstr ""
-#: forms.py:235 models.py:58 models.py:205
+#: forms.py:256 models.py:58 models.py:223
msgid "End date"
msgstr ""
-#: forms.py:236 models.py:61
+#: forms.py:257 models.py:61
msgid "Quality"
msgstr ""
-#: forms.py:237 models.py:39 models.py:59
+#: forms.py:258 models.py:39 models.py:59
msgid "Dating type"
msgstr ""
-#: forms.py:264 ishtar_menu.py:29 models.py:595
+#: forms.py:285 ishtar_menu.py:29 models.py:619
msgid "Context record"
msgstr ""
-#: forms.py:285
+#: forms.py:306
msgid "Relations"
msgstr ""
-#: forms.py:289 forms.py:297 models.py:223
-#: templates/ishtar/sheet_contextrecord.html:51
+#: forms.py:310 forms.py:318 models.py:244
+#: templates/ishtar/sheet_contextrecord.html:44
msgid "Interpretation"
msgstr ""
-#: forms.py:293
+#: forms.py:314
msgid "Comments on dating"
msgstr ""
-#: forms.py:295 models.py:222
+#: forms.py:316 models.py:243
msgid "Filling"
msgstr ""
-#: forms.py:299 models.py:243
+#: forms.py:320 models.py:264
msgid "Activity"
msgstr ""
-#: forms.py:301 models.py:241
+#: forms.py:322 models.py:262
msgid "Identification"
msgstr ""
-#: forms.py:303 models.py:226
+#: forms.py:324 models.py:247
msgid "TAQ"
msgstr ""
-#: forms.py:304 models.py:230
+#: forms.py:325 models.py:251
msgid "Estimated TAQ"
msgstr ""
-#: forms.py:306 models.py:233
+#: forms.py:327 models.py:254
msgid "TPQ"
msgstr ""
-#: forms.py:307 models.py:237
+#: forms.py:328 models.py:258
msgid "Estimated TPQ"
msgstr ""
-#: forms.py:322
+#: forms.py:343
msgid "Operation search"
msgstr ""
-#: forms.py:324
+#: forms.py:345
msgid "You should select an operation."
msgstr ""
-#: forms.py:329
+#: forms.py:350
msgid "Would you like to delete this context record?"
msgstr ""
-#: forms.py:338
+#: forms.py:359
msgid "You should select a context record."
msgstr ""
-#: forms.py:343
+#: forms.py:364
msgid "Year of the operation"
msgstr ""
-#: forms.py:345
+#: forms.py:366
msgid "Numeric reference"
msgstr ""
-#: forms.py:351
+#: forms.py:372
msgid "Town of the operation"
msgstr ""
-#: forms.py:353
+#: forms.py:374
msgid "Period of the context record"
msgstr ""
-#: forms.py:368
+#: forms.py:389
msgid "Documentation search"
msgstr ""
-#: forms.py:370
+#: forms.py:391
msgid "You should select a document."
msgstr ""
@@ -240,10 +252,6 @@ msgstr ""
msgid "Deletion"
msgstr ""
-#: ishtar_menu.py:48
-msgid "Documentation"
-msgstr ""
-
#: models.py:40
msgid "Dating types"
msgstr ""
@@ -296,180 +304,192 @@ msgstr ""
msgid "Identification Types"
msgstr ""
-#: models.py:155 models.py:537
-msgid "Periods"
+#: models.py:125
+msgid "Excavation technique type"
msgstr ""
-#: models.py:156
-msgid "Town"
+#: models.py:126
+msgid "Excavation technique types"
msgstr ""
-#: models.py:184
-msgid "Parcel (town)"
+#: models.py:134
+msgid "Documentation type"
+msgstr ""
+
+#: models.py:135
+msgid "Documentation types"
+msgstr ""
+
+#: models.py:172 models.py:561
+msgid "Periods"
msgstr ""
-#: models.py:185
+#: models.py:173
+msgid "Datings (period)"
+msgstr ""
+
+#: models.py:174
msgid "Related context records"
msgstr ""
-#: models.py:187
+#: models.py:177
msgid "Parcel (external ID)"
msgstr ""
-#: models.py:188
-msgid "Datings (period)"
+#: models.py:178 models.py:179
+msgid "Parcel (town)"
msgstr ""
-#: models.py:189
+#: models.py:180
msgid "Parcel (year)"
msgstr ""
-#: models.py:193
+#: models.py:211
msgid "External ID"
msgstr ""
-#: models.py:195
+#: models.py:213
msgid "External ID is set automatically"
msgstr ""
-#: models.py:203
+#: models.py:221
msgid "Date d'ouverture"
msgstr ""
-#: models.py:213
+#: models.py:234
msgid "A short description of the location of the context record"
msgstr ""
-#: models.py:216
+#: models.py:239
msgid "Comment on datings"
msgstr ""
-#: models.py:227
+#: models.py:248
msgid ""
"\"Terminus Ante Quem\" the context record can't have been created after this "
"date"
msgstr ""
-#: models.py:231
+#: models.py:252
msgid "Estimation of a \"Terminus Ante Quem\""
msgstr ""
-#: models.py:234
+#: models.py:255
msgid ""
"\"Terminus Post Quem\" the context record can't have been created before "
"this date"
msgstr ""
-#: models.py:238
+#: models.py:259
msgid "Estimation of a \"Terminus Post Quem\""
msgstr ""
-#: models.py:246
+#: models.py:270
msgid "Point"
msgstr ""
-#: models.py:247
+#: models.py:271
msgid "Polygon"
msgstr ""
-#: models.py:248
+#: models.py:272
msgid "Cached name"
msgstr ""
-#: models.py:252 models.py:253 templates/ishtar/sheet_contextrecord.html:4
+#: models.py:276 models.py:277 templates/ishtar/sheet_contextrecord.html:4
msgid "Context Record"
msgstr ""
-#: models.py:255
+#: models.py:279
msgid "Can view all Context Records"
msgstr ""
-#: models.py:257
+#: models.py:281
msgid "Can view own Context Record"
msgstr ""
-#: models.py:259
+#: models.py:283
msgid "Can add own Context Record"
msgstr ""
-#: models.py:261
+#: models.py:285
msgid "Can change own Context Record"
msgstr ""
-#: models.py:263
+#: models.py:287
msgid "Can delete own Context Record"
msgstr ""
-#: models.py:273
+#: models.py:297
msgctxt "short"
msgid "Context record"
msgstr ""
-#: models.py:467
+#: models.py:491
msgid "Inverse relation"
msgstr ""
-#: models.py:471 models.py:494 models.py:532
+#: models.py:495 models.py:518 models.py:556
msgid "Relation type"
msgstr ""
-#: models.py:472
+#: models.py:496
msgid "Relation types"
msgstr ""
-#: models.py:489
+#: models.py:513
msgid "ID (left)"
msgstr ""
-#: models.py:490
+#: models.py:514
msgid "Context record type (left)"
msgstr ""
-#: models.py:491
+#: models.py:515
msgid "Parcel (left)"
msgstr ""
-#: models.py:492
+#: models.py:516
msgid "Description (left)"
msgstr ""
-#: models.py:493
+#: models.py:517
msgid "Periods (left)"
msgstr ""
-#: models.py:495
+#: models.py:519
msgid "ID (right)"
msgstr ""
-#: models.py:496
+#: models.py:520
msgid "Context record type (right)"
msgstr ""
-#: models.py:497
+#: models.py:521
msgid "Parcel (right)"
msgstr ""
-#: models.py:498
+#: models.py:522
msgid "Description (right)"
msgstr ""
-#: models.py:499
+#: models.py:523
msgid "Periods (right)"
msgstr ""
-#: models.py:508
+#: models.py:532
msgid "Record relation"
msgstr ""
-#: models.py:509
+#: models.py:533
msgid "Record relations"
msgstr ""
-#: models.py:592
+#: models.py:616
msgid "Context record documentation"
msgstr ""
-#: models.py:593
+#: models.py:617
msgid "Context record documentations"
msgstr ""
@@ -501,86 +521,86 @@ msgstr ""
msgid "Context record: source deletion"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:17
+#: templates/ishtar/sheet_contextrecord.html:18
msgid "Complete ID:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:17
-msgid "Temporary ID:"
-msgstr ""
-
#: templates/ishtar/sheet_contextrecord.html:18
-msgid "Creation:"
-msgstr ""
-
-#: templates/ishtar/sheet_contextrecord.html:25
-msgid "Modification:"
+msgid "Temporary ID:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:63
+#: templates/ishtar/sheet_contextrecord.html:56
msgid "Datations"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:72
+#: templates/ishtar/sheet_contextrecord.html:65
msgid "Context record relations"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:79
+#: templates/ishtar/sheet_contextrecord.html:72
msgid "Operation summary"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:81
+#: templates/ishtar/sheet_contextrecord.html:74
msgid "Patriarche OA code not yet recorded!"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:88
+#: templates/ishtar/sheet_contextrecord.html:78
+msgid "Numerical reference"
+msgstr ""
+
+#: templates/ishtar/sheet_contextrecord.html:82
msgid "State:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:88
+#: templates/ishtar/sheet_contextrecord.html:82
msgid "Active file"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:88
+#: templates/ishtar/sheet_contextrecord.html:82
msgid "Closed operation"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:90
+#: templates/ishtar/sheet_contextrecord.html:84
msgid "Closing date:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:90
+#: templates/ishtar/sheet_contextrecord.html:84
msgid "by"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:98
+#: templates/ishtar/sheet_contextrecord.html:92
msgid "Localisation"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:99
+#: templates/ishtar/sheet_contextrecord.html:93
msgid "Towns:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:100
+#: templates/ishtar/sheet_contextrecord.html:94
msgid "Related operation:"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:102
+#: templates/ishtar/sheet_contextrecord.html:96
msgid "No operation linked to this context unit!"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:105
+#: templates/ishtar/sheet_contextrecord.html:99
msgid "Document from this context record"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:110
+#: templates/ishtar/sheet_contextrecord.html:104
msgid "Finds"
msgstr ""
-#: templates/ishtar/sheet_contextrecord.html:115
+#: templates/ishtar/sheet_contextrecord.html:109
msgid "Documents from associated finds"
msgstr ""
#: templates/ishtar/sheet_contextrecordsource.html:4
msgid "Context record source"
msgstr ""
+
+#: templates/ishtar/sheet_contextrecordsource.html:11
+msgid "Related context record"
+msgstr ""
diff --git a/archaeological_context_records/migrations/0013_auto__add_excavationtechnictype__add_field_contextrecord_excavation_te.py b/archaeological_context_records/migrations/0013_auto__add_excavationtechnictype__add_field_contextrecord_excavation_te.py
new file mode 100644
index 000000000..3a4097451
--- /dev/null
+++ b/archaeological_context_records/migrations/0013_auto__add_excavationtechnictype__add_field_contextrecord_excavation_te.py
@@ -0,0 +1,690 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding model 'ExcavationTechnicType'
+ db.create_table('archaeological_context_records_excavationtechnictype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=100)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=True)),
+ ))
+ db.send_create_signal('archaeological_context_records', ['ExcavationTechnicType'])
+
+ # Adding field 'ContextRecord.excavation_technic'
+ db.add_column('archaeological_context_records_contextrecord', 'excavation_technic',
+ self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_context_records.ExcavationTechnicType'], null=True, blank=True),
+ keep_default=False)
+
+ # Adding field 'HistoricalContextRecord.excavation_technic_id'
+ db.add_column('archaeological_context_records_historicalcontextrecord', 'excavation_technic_id',
+ self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True),
+ keep_default=False)
+
+
+ def backwards(self, orm):
+ # Deleting model 'ExcavationTechnicType'
+ db.delete_table('archaeological_context_records_excavationtechnictype')
+
+ # Deleting field 'ContextRecord.excavation_technic'
+ db.delete_column('archaeological_context_records_contextrecord', 'excavation_technic_id')
+
+ # Deleting field 'HistoricalContextRecord.excavation_technic_id'
+ db.delete_column('archaeological_context_records_historicalcontextrecord', 'excavation_technic_id')
+
+
+ models = {
+ 'archaeological_context_records.activitytype': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'ActivityType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.contextrecord': {
+ 'Meta': {'ordering': "('cached_label',)", 'object_name': 'ContextRecord'},
+ 'activity': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ActivityType']", 'null': 'True', 'blank': 'True'}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'datings': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.Dating']", 'symmetrical': 'False'}),
+ 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_technic': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ExcavationTechnicType']", 'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'identification': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.IdentificationType']", 'null': 'True', 'blank': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_context_records_contextrecord'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Operation']"}),
+ 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Parcel']"}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'related_context_records': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.ContextRecord']", 'null': 'True', 'through': "orm['archaeological_context_records.RecordRelations']", 'blank': 'True'}),
+ 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'unit': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['archaeological_context_records.Unit']"}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.contextrecordsource': {
+ 'Meta': {'object_name': 'ContextRecordSource'},
+ 'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'contextrecordsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
+ 'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}),
+ 'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'})
+ },
+ 'archaeological_context_records.dating': {
+ 'Meta': {'object_name': 'Dating'},
+ 'dating_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingType']", 'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'period': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']"}),
+ 'precise_dating': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'quality': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingQuality']", 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.datingquality': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DatingQuality'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.datingtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DatingType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.excavationtechnictype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'ExcavationTechnicType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.historicalcontextrecord': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalContextRecord'},
+ 'activity_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_technic_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
+ 'identification_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'parcel_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'unit_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.identificationtype': {
+ 'Meta': {'ordering': "('order', 'label')", 'object_name': 'IdentificationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.recordrelations': {
+ 'Meta': {'object_name': 'RecordRelations'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']"}),
+ 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"})
+ },
+ 'archaeological_context_records.recordrelationview': {
+ 'Meta': {'unique_together': "(('id', 'right_record'),)", 'object_name': 'RecordRelationView', 'db_table': "'record_relations'", 'managed': 'False'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.RelationType']"}),
+ 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', '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', 'label')", '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': '2017'})
+ },
+ 'archaeological_files.filetype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'FileType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_files.permittype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'PermitType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_files.saisinetype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'SaisineType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'delay': ('django.db.models.fields.IntegerField', [], {'default': '30'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.archaeologicalsite': {
+ 'Meta': {'object_name': 'ArchaeologicalSite'},
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_archaeologicalsite'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20'}),
+ 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.operation': {
+ 'Meta': {'ordering': "('cached_label',)", 'object_name': 'Operation'},
+ 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}),
+ 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}),
+ 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}),
+ 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}),
+ 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}),
+ 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operations'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}),
+ 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.parcel': {
+ 'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}),
+ 'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}),
+ 'public_domain': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'section': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.period': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'Period'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.remaintype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.reportstate': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.arrondissement': {
+ 'Meta': {'object_name': 'Arrondissement'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.author': {
+ 'Meta': {'object_name': 'Author'},
+ 'author_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.AuthorType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'author'", 'to': "orm['ishtar_common.Person']"})
+ },
+ 'ishtar_common.authortype': {
+ 'Meta': {'ordering': "['label']", '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': {'ordering': "['label']", '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '220'}),
+ 'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '220', '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', '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.importermodel': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterModel'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'klass': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+ },
+ 'ishtar_common.importertype': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterType'},
+ 'associated_models': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'created_models': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.ishtaruser': {
+ 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']},
+ 'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
+ },
+ 'ishtar_common.operationtype': {
+ 'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.organization': {
+ 'Meta': {'object_name': 'Organization'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_organization'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
+ 'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.organizationtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'OrganizationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.person': {
+ 'Meta': {'object_name': 'Person'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+ 'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'members'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_person'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'person_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.PersonType']", 'symmetrical': 'False'}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.TitleType']", 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.persontype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'PersonType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['auth.Group']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.sourcetype': {
+ 'Meta': {'ordering': "['label']", 'object_name': 'SourceType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.state': {
+ 'Meta': {'ordering': "['number']", 'object_name': 'State'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'})
+ },
+ 'ishtar_common.supporttype': {
+ 'Meta': {'object_name': 'SupportType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.titletype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'TitleType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.town': {
+ 'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'},
+ 'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}),
+ 'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}),
+ 'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_town'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ }
+ }
+
+ complete_apps = ['archaeological_context_records'] \ No newline at end of file
diff --git a/archaeological_context_records/migrations/0014_auto__add_documentationtype__add_field_contextrecord_diameter__add_fie.py b/archaeological_context_records/migrations/0014_auto__add_documentationtype__add_field_contextrecord_diameter__add_fie.py
new file mode 100644
index 000000000..f56f26e9f
--- /dev/null
+++ b/archaeological_context_records/migrations/0014_auto__add_documentationtype__add_field_contextrecord_diameter__add_fie.py
@@ -0,0 +1,732 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding model 'DocumentationType'
+ db.create_table('archaeological_context_records_documentationtype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=100)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=True)),
+ ))
+ db.send_create_signal('archaeological_context_records', ['DocumentationType'])
+
+ # Adding field 'ContextRecord.diameter'
+ db.add_column('archaeological_context_records_contextrecord', 'diameter',
+ self.gf('django.db.models.fields.FloatField')(null=True, blank=True),
+ keep_default=False)
+
+ # Adding field 'ContextRecord.depth_of_appearance'
+ db.add_column('archaeological_context_records_contextrecord', 'depth_of_appearance',
+ self.gf('django.db.models.fields.FloatField')(null=True, blank=True),
+ keep_default=False)
+
+ # Adding M2M table for field documentations on 'ContextRecord'
+ db.create_table('archaeological_context_records_contextrecord_documentations', (
+ ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+ ('contextrecord', models.ForeignKey(orm['archaeological_context_records.contextrecord'], null=False)),
+ ('documentationtype', models.ForeignKey(orm['archaeological_context_records.documentationtype'], null=False))
+ ))
+ db.create_unique('archaeological_context_records_contextrecord_documentations', ['contextrecord_id', 'documentationtype_id'])
+
+ # Adding field 'HistoricalContextRecord.diameter'
+ db.add_column('archaeological_context_records_historicalcontextrecord', 'diameter',
+ self.gf('django.db.models.fields.FloatField')(null=True, blank=True),
+ keep_default=False)
+
+ # Adding field 'HistoricalContextRecord.depth_of_appearance'
+ db.add_column('archaeological_context_records_historicalcontextrecord', 'depth_of_appearance',
+ self.gf('django.db.models.fields.FloatField')(null=True, blank=True),
+ keep_default=False)
+
+
+ def backwards(self, orm):
+ # Deleting model 'DocumentationType'
+ db.delete_table('archaeological_context_records_documentationtype')
+
+ # Deleting field 'ContextRecord.diameter'
+ db.delete_column('archaeological_context_records_contextrecord', 'diameter')
+
+ # Deleting field 'ContextRecord.depth_of_appearance'
+ db.delete_column('archaeological_context_records_contextrecord', 'depth_of_appearance')
+
+ # Removing M2M table for field documentations on 'ContextRecord'
+ db.delete_table('archaeological_context_records_contextrecord_documentations')
+
+ # Deleting field 'HistoricalContextRecord.diameter'
+ db.delete_column('archaeological_context_records_historicalcontextrecord', 'diameter')
+
+ # Deleting field 'HistoricalContextRecord.depth_of_appearance'
+ db.delete_column('archaeological_context_records_historicalcontextrecord', 'depth_of_appearance')
+
+
+ models = {
+ 'archaeological_context_records.activitytype': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'ActivityType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.contextrecord': {
+ 'Meta': {'ordering': "('cached_label',)", 'object_name': 'ContextRecord'},
+ 'activity': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ActivityType']", 'null': 'True', 'blank': 'True'}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'datings': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.Dating']", 'symmetrical': 'False'}),
+ 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth_of_appearance': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'documentations': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.DocumentationType']", 'symmetrical': 'False'}),
+ 'excavation_technic': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ExcavationTechnicType']", 'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'identification': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.IdentificationType']", 'null': 'True', 'blank': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_context_records_contextrecord'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Operation']"}),
+ 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Parcel']"}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'related_context_records': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.ContextRecord']", 'null': 'True', 'through': "orm['archaeological_context_records.RecordRelations']", 'blank': 'True'}),
+ 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'unit': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['archaeological_context_records.Unit']"}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.contextrecordsource': {
+ 'Meta': {'object_name': 'ContextRecordSource'},
+ 'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'contextrecordsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
+ 'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}),
+ 'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'})
+ },
+ 'archaeological_context_records.dating': {
+ 'Meta': {'object_name': 'Dating'},
+ 'dating_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingType']", 'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'period': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']"}),
+ 'precise_dating': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'quality': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingQuality']", 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.datingquality': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DatingQuality'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.datingtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DatingType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.documentationtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DocumentationType'},
+ '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.excavationtechnictype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'ExcavationTechnicType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.historicalcontextrecord': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalContextRecord'},
+ 'activity_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth_of_appearance': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_technic_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
+ 'identification_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'parcel_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'unit_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.identificationtype': {
+ 'Meta': {'ordering': "('order', 'label')", 'object_name': 'IdentificationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.recordrelations': {
+ 'Meta': {'object_name': 'RecordRelations'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']"}),
+ 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"})
+ },
+ 'archaeological_context_records.recordrelationview': {
+ 'Meta': {'unique_together': "(('id', 'right_record'),)", 'object_name': 'RecordRelationView', 'db_table': "'record_relations'", 'managed': 'False'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.RelationType']"}),
+ 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', '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', 'label')", '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': '2017'})
+ },
+ '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'}),
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}),
+ 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}),
+ 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}),
+ 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}),
+ 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}),
+ 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operations'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}),
+ 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.parcel': {
+ 'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}),
+ 'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}),
+ 'public_domain': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'section': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.period': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'Period'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.remaintype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.reportstate': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.arrondissement': {
+ 'Meta': {'object_name': 'Arrondissement'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.author': {
+ 'Meta': {'ordering': "('author_type__order', 'person__name')", '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': {'ordering': "['order', 'label']", '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'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ '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': {'ordering': "['label']", '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '220'}),
+ 'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '220', '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', '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.importermodel': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterModel'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'klass': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+ },
+ 'ishtar_common.importertype': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterType'},
+ 'associated_models': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'created_models': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.ishtaruser': {
+ 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']},
+ 'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
+ },
+ 'ishtar_common.operationtype': {
+ 'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.organization': {
+ 'Meta': {'object_name': 'Organization'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_organization'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
+ 'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.organizationtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'OrganizationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.person': {
+ 'Meta': {'object_name': 'Person'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+ 'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'members'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_person'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'person_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.PersonType']", 'symmetrical': 'False'}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.TitleType']", 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.persontype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'PersonType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['auth.Group']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.sourcetype': {
+ 'Meta': {'ordering': "['label']", 'object_name': 'SourceType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.state': {
+ 'Meta': {'ordering': "['number']", 'object_name': 'State'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'})
+ },
+ 'ishtar_common.supporttype': {
+ 'Meta': {'object_name': 'SupportType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.titletype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'TitleType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.town': {
+ 'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'},
+ 'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}),
+ 'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}),
+ 'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_town'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ }
+ }
+
+ complete_apps = ['archaeological_context_records'] \ No newline at end of file
diff --git a/archaeological_context_records/migrations/0015_has_furniture_to_documentations.py b/archaeological_context_records/migrations/0015_has_furniture_to_documentations.py
new file mode 100644
index 000000000..0b5de776a
--- /dev/null
+++ b/archaeological_context_records/migrations/0015_has_furniture_to_documentations.py
@@ -0,0 +1,686 @@
+# -*- 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):
+ has_fur, created = orm[
+ 'archaeological_context_records.DocumentationType'
+ ].objects.get_or_create(
+ txt_idx='has-furniture', defaults={"label": u"Présence de mobilier"}
+ )
+ for cr in orm['archaeological_context_records.ContextRecord'
+ ].objects.filter(has_furniture=True).all():
+ if has_fur not in cr.documentations.all():
+ cr.documentations.add(has_fur)
+
+ def backwards(self, orm):
+ pass
+
+ models = {
+ 'archaeological_context_records.activitytype': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'ActivityType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.contextrecord': {
+ 'Meta': {'ordering': "('cached_label',)", 'object_name': 'ContextRecord'},
+ 'activity': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ActivityType']", 'null': 'True', 'blank': 'True'}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'datings': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.Dating']", 'symmetrical': 'False'}),
+ 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth_of_appearance': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'documentations': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.DocumentationType']", 'null': 'True', 'blank': 'True'}),
+ 'excavation_technic': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ExcavationTechnicType']", 'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'identification': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.IdentificationType']", 'null': 'True', 'blank': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_context_records_contextrecord'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Operation']"}),
+ 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Parcel']"}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'related_context_records': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.ContextRecord']", 'null': 'True', 'through': "orm['archaeological_context_records.RecordRelations']", 'blank': 'True'}),
+ 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'unit': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['archaeological_context_records.Unit']"}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.contextrecordsource': {
+ 'Meta': {'object_name': 'ContextRecordSource'},
+ 'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'contextrecordsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
+ 'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}),
+ 'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'})
+ },
+ 'archaeological_context_records.dating': {
+ 'Meta': {'object_name': 'Dating'},
+ 'dating_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingType']", 'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'period': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']"}),
+ 'precise_dating': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'quality': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingQuality']", 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.datingquality': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DatingQuality'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.datingtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DatingType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.documentationtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DocumentationType'},
+ '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.excavationtechnictype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'ExcavationTechnicType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.historicalcontextrecord': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalContextRecord'},
+ 'activity_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth_of_appearance': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_technic_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
+ 'identification_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'parcel_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'unit_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.identificationtype': {
+ 'Meta': {'ordering': "('order', 'label')", 'object_name': 'IdentificationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.recordrelations': {
+ 'Meta': {'object_name': 'RecordRelations'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']"}),
+ 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"})
+ },
+ 'archaeological_context_records.recordrelationview': {
+ 'Meta': {'unique_together': "(('id', 'right_record'),)", 'object_name': 'RecordRelationView', 'db_table': "'record_relations'", 'managed': 'False'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.RelationType']"}),
+ 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', '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', 'label')", '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': '2017'})
+ },
+ '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'}),
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}),
+ 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}),
+ 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}),
+ 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}),
+ 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}),
+ 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operations'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}),
+ 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.parcel': {
+ 'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}),
+ 'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}),
+ 'public_domain': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'section': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.period': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'Period'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.remaintype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.reportstate': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.arrondissement': {
+ 'Meta': {'object_name': 'Arrondissement'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.author': {
+ 'Meta': {'ordering': "('author_type__order', 'person__name')", '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': {'ordering': "['order', 'label']", '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'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ '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': {'ordering': "['label']", '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '220'}),
+ 'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '220', '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', '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.importermodel': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterModel'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'klass': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+ },
+ 'ishtar_common.importertype': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterType'},
+ 'associated_models': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'created_models': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.ishtaruser': {
+ 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']},
+ 'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
+ },
+ 'ishtar_common.operationtype': {
+ 'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.organization': {
+ 'Meta': {'object_name': 'Organization'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_organization'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
+ 'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.organizationtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'OrganizationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.person': {
+ 'Meta': {'object_name': 'Person'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+ 'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'members'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_person'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'person_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.PersonType']", 'symmetrical': 'False'}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.TitleType']", 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.persontype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'PersonType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['auth.Group']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.sourcetype': {
+ 'Meta': {'ordering': "['label']", 'object_name': 'SourceType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.state': {
+ 'Meta': {'ordering': "['number']", 'object_name': 'State'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'})
+ },
+ 'ishtar_common.supporttype': {
+ 'Meta': {'object_name': 'SupportType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.titletype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'TitleType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.town': {
+ 'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'},
+ 'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}),
+ 'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}),
+ 'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_town'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ }
+ }
+
+ complete_apps = ['archaeological_context_records'] \ No newline at end of file
diff --git a/archaeological_context_records/migrations/0016_auto__del_field_contextrecord_has_furniture__del_field_historicalconte.py b/archaeological_context_records/migrations/0016_auto__del_field_contextrecord_has_furniture__del_field_historicalconte.py
new file mode 100644
index 000000000..65c5d54da
--- /dev/null
+++ b/archaeological_context_records/migrations/0016_auto__del_field_contextrecord_has_furniture__del_field_historicalconte.py
@@ -0,0 +1,690 @@
+# -*- 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):
+ # Deleting field 'ContextRecord.has_furniture'
+ db.delete_column('archaeological_context_records_contextrecord', 'has_furniture')
+
+ # Deleting field 'HistoricalContextRecord.has_furniture'
+ db.delete_column('archaeological_context_records_historicalcontextrecord', 'has_furniture')
+
+
+ def backwards(self, orm):
+ # Adding field 'ContextRecord.has_furniture'
+ db.add_column('archaeological_context_records_contextrecord', 'has_furniture',
+ self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True),
+ keep_default=False)
+
+ # Adding field 'HistoricalContextRecord.has_furniture'
+ db.add_column('archaeological_context_records_historicalcontextrecord', 'has_furniture',
+ self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True),
+ keep_default=False)
+
+
+ models = {
+ 'archaeological_context_records.activitytype': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'ActivityType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.contextrecord': {
+ 'Meta': {'ordering': "('cached_label',)", 'object_name': 'ContextRecord'},
+ 'activity': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ActivityType']", 'null': 'True', 'blank': 'True'}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'datings': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.Dating']", 'symmetrical': 'False'}),
+ 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth_of_appearance': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'documentations': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.DocumentationType']", 'null': 'True', 'blank': 'True'}),
+ 'excavation_technic': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ExcavationTechnicType']", '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'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'identification': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.IdentificationType']", 'null': 'True', 'blank': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_context_records_contextrecord'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Operation']"}),
+ 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Parcel']"}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'related_context_records': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.ContextRecord']", 'null': 'True', 'through': "orm['archaeological_context_records.RecordRelations']", 'blank': 'True'}),
+ 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'unit': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['archaeological_context_records.Unit']"}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.contextrecordsource': {
+ 'Meta': {'object_name': 'ContextRecordSource'},
+ 'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'contextrecordsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
+ 'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}),
+ 'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'})
+ },
+ 'archaeological_context_records.dating': {
+ 'Meta': {'object_name': 'Dating'},
+ 'dating_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingType']", 'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'period': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']"}),
+ 'precise_dating': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'quality': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingQuality']", 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.datingquality': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DatingQuality'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.datingtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DatingType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.documentationtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'DocumentationType'},
+ '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.excavationtechnictype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'ExcavationTechnicType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.historicalcontextrecord': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalContextRecord'},
+ 'activity_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'depth_of_appearance': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_technic_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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'}),
+ 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
+ 'identification_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'parcel_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}),
+ 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'unit_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_context_records.identificationtype': {
+ 'Meta': {'ordering': "('order', 'label')", 'object_name': 'IdentificationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_context_records.recordrelations': {
+ 'Meta': {'object_name': 'RecordRelations'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']"}),
+ 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"})
+ },
+ 'archaeological_context_records.recordrelationview': {
+ 'Meta': {'unique_together': "(('id', 'right_record'),)", 'object_name': 'RecordRelationView', 'db_table': "'record_relations'", 'managed': 'False'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.ContextRecord']"}),
+ 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.RelationType']"}),
+ 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', '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', 'label')", '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': '2017'})
+ },
+ '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'}),
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}),
+ 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}),
+ 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}),
+ 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}),
+ 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}),
+ 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operations'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}),
+ 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.parcel': {
+ 'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}),
+ 'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}),
+ 'public_domain': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'section': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.period': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'Period'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.remaintype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.reportstate': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.arrondissement': {
+ 'Meta': {'object_name': 'Arrondissement'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.author': {
+ 'Meta': {'ordering': "('author_type__order', 'person__name')", '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': {'ordering': "['order', 'label']", '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'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ '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': {'ordering': "['label']", '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '220'}),
+ 'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '220', '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', '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.importermodel': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterModel'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'klass': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+ },
+ 'ishtar_common.importertype': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterType'},
+ 'associated_models': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'created_models': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.ishtaruser': {
+ 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']},
+ 'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
+ },
+ 'ishtar_common.operationtype': {
+ 'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.organization': {
+ 'Meta': {'object_name': 'Organization'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_organization'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
+ 'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.organizationtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'OrganizationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.person': {
+ 'Meta': {'object_name': 'Person'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+ 'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'members'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_person'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'person_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.PersonType']", 'symmetrical': 'False'}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.TitleType']", 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.persontype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'PersonType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['auth.Group']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.sourcetype': {
+ 'Meta': {'ordering': "['label']", 'object_name': 'SourceType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.state': {
+ 'Meta': {'ordering': "['number']", 'object_name': 'State'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'})
+ },
+ 'ishtar_common.supporttype': {
+ 'Meta': {'object_name': 'SupportType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.titletype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'TitleType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.town': {
+ 'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'},
+ 'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}),
+ 'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}),
+ 'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_town'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ }
+ }
+
+ complete_apps = ['archaeological_context_records'] \ No newline at end of file
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py
index 1ec32ea83..4df56c49f 100644
--- a/archaeological_context_records/models.py
+++ b/archaeological_context_records/models.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-# Copyright (C) 2012-2016 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+# Copyright (C) 2012-2017 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -120,6 +120,24 @@ post_save.connect(post_save_cache, sender=IdentificationType)
post_delete.connect(post_save_cache, sender=IdentificationType)
+class ExcavationTechnicType(GeneralType):
+ class Meta:
+ verbose_name = _(u"Excavation technique type")
+ verbose_name_plural = _(u"Excavation technique types")
+ ordering = ('label',)
+post_save.connect(post_save_cache, sender=ExcavationTechnicType)
+post_delete.connect(post_save_cache, sender=ExcavationTechnicType)
+
+
+class DocumentationType(GeneralType):
+ class Meta:
+ verbose_name = _(u"Documentation type")
+ verbose_name_plural = _(u"Documentation types")
+ ordering = ('label',)
+post_save.connect(post_save_cache, sender=DocumentationType)
+post_delete.connect(post_save_cache, sender=DocumentationType)
+
+
class CRBulkView(object):
CREATE_SQL = """
CREATE VIEW context_records_cached_label_bulk_update
@@ -144,16 +162,24 @@ class ContextRecord(BaseHistorizedItem, ImageModel, OwnPerms,
ValueGetter, ShortMenuItem):
SHOW_URL = 'show-contextrecord'
SLUG = 'contextrecord'
- TABLE_COLS = ['parcel__town__name', 'operation__year',
- 'operation__operation_code',
- 'label', 'unit']
+ TABLE_COLS = ['label', 'operation__common_name', 'parcel__town__name',
+ 'parcel__label', 'unit']
if settings.COUNTRY == 'fr':
TABLE_COLS.insert(1, 'operation__code_patriarche')
TABLE_COLS_FOR_OPE = ['label', 'parcel', 'unit',
'datings__period__label', 'description']
- COL_LABELS = {'section__parcel_number': _(u"Parcel"),
- 'datings__period__label': _(u"Periods"),
- 'parcel__town__name': _(u"Town")}
+ COL_LABELS = {
+ 'datings__period__label': _(u"Periods"),
+ 'datings__period': _(u"Datings (period)"),
+ 'detailled_related_context_records': _(u"Related context records"),
+ 'operation__code_patriarche': u"Operation (code patriarche)",
+ 'operation__common_name': u"Operation (name)",
+ 'parcel__external_id': _(u"Parcel (external ID)"),
+ 'parcel__town__name': _(u"Parcel (town)"),
+ 'parcel__town': _(u"Parcel (town)"),
+ 'parcel__year': _(u"Parcel (year)"),
+ 'section__parcel_number': _(u"Parcel"),
+ }
CONTEXTUAL_TABLE_COLS = {
'full': {
'related_context_records': 'detailled_related_context_records'
@@ -180,14 +206,6 @@ class ContextRecord(BaseHistorizedItem, ImageModel, OwnPerms,
RELATIVE_SESSION_NAMES = [
('operation', 'operation__pk'),
('file', 'operation__associated_file__pk')]
- EXTRA_FULL_FIELDS_LABELS = {
- 'parcel__town': _(u"Parcel (town)"),
- 'detailled_related_context_records': _(u"Related context records"),
- 'operation__code_patriarche': u"Operation (code patriarche)",
- 'parcel__external_id': _(u"Parcel (external ID)"),
- 'datings__period': _(u"Datings (period)"),
- 'parcel__year': _(u"Parcel (year)"),
- }
# fields
external_id = models.TextField(_(u"External ID"), blank=True, null=True)
@@ -207,18 +225,21 @@ class ContextRecord(BaseHistorizedItem, ImageModel, OwnPerms,
width = models.FloatField(_(u"Width (m)"), blank=True, null=True)
thickness = models.FloatField(_(u"Thickness (m)"), blank=True,
null=True)
+ diameter = models.FloatField(_(u"Diameter (m)"), blank=True, null=True)
depth = models.FloatField(_(u"Depth (m)"), blank=True, null=True)
+ depth_of_appearance = models.FloatField(
+ _(u"Depth of appearance (m)"), blank=True, null=True)
location = models.TextField(
_(u"Location"), blank=True, null=True,
help_text=_(u"A short description of the location of the context "
u"record"))
datings = models.ManyToManyField(Dating)
+ documentations = models.ManyToManyField(DocumentationType, blank=True,
+ null=True)
datings_comment = models.TextField(_(u"Comment on datings"), blank=True,
null=True)
unit = models.ForeignKey(Unit, verbose_name=_(u"Context record type"),
related_name='+', blank=True, null=True)
- has_furniture = models.NullBooleanField(_(u"Has furniture?"), blank=True,
- null=True)
filling = models.TextField(_(u"Filling"), blank=True, null=True)
interpretation = models.TextField(_(u"Interpretation"), blank=True,
null=True)
@@ -241,6 +262,9 @@ class ContextRecord(BaseHistorizedItem, ImageModel, OwnPerms,
verbose_name=_(u"Identification"),)
activity = models.ForeignKey(ActivityType, blank=True, null=True,
verbose_name=_(u"Activity"),)
+ excavation_technic = models.ForeignKey(
+ ExcavationTechnicType, blank=True, null=True,
+ verbose_name=_(u"Excavation technique"))
related_context_records = models.ManyToManyField(
'ContextRecord', through='RecordRelations', blank=True, null=True)
point = models.PointField(_(u"Point"), blank=True, null=True, dim=3)
diff --git a/archaeological_context_records/templates/ishtar/sheet_contextrecord.html b/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
index 1c024dcfc..272dcb28e 100644
--- a/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
+++ b/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
@@ -12,38 +12,31 @@
<p class='window-refs'>{{ item.parcel.short_label }}</p>
<p class="window-refs">{{ item.label|default:"" }}</p>
+{% include "ishtar/blocks/sheet_external_id.html" %}
<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>
-<li><label>{%trans "Creation:"%}</label>
- <span class='value'>
- {{item.history_creator.ishtaruser.person}}<br/>
- <small><em>{{item.history_creation_date|date:"DATETIME_FORMAT"}}</em></small>
- </span>
-</li>
- {% if item.history_creation_date != item.last_edition_date %}
-<li><label>{%trans "Modification:"%}</label>
- <span class='value'>
- {{item.history_modifier.ishtaruser.person}}<br/>
- <small><em>{% firstof item.history_date|date:"DATETIME_FORMAT" item.history.all.0.history_date|date:"DATETIME_FORMAT" %}</em></small>
- </span>
-</li>
- {% endif %}
-{% field_li "Type" item.unit %}
-{% field_li_multiple "Chronology" item.datings %}
-{% field_li "Town" item.parcel.town %}
+
+ {% include "ishtar/blocks/sheet_creation_section.html" %}
+
+ {% field_li "Type" item.unit %}
+ {% field_li "Excavation technic" item.excavation_technic %}
+ {% field_li_multiple "Chronology" item.datings %}
+ {% field_li "Town" item.parcel.town %}
</ul>
{% field "Comment on datings" item.datings_comment "<pre>" "</pre>" %}
-{% if item.description or item.lenght or item.width or item.depth or item.thickness or item.comment %}
+{% if item.diameter or item.depth_of_appearance or item.documentations.count or item.description or item.lenght or item.width or item.depth or item.thickness or item.comment %}
<h3>{% trans "Description"%}</h3>
{% 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 %}
+ {% field_li "Length (m)" item.lenght %}
+ {% field_li "Width (m)" item.width %}
+ {% field_li "Diameter (m)" item.diameter %}
+ {% field_li "Depth (m)" item.depth %}
+ {% field_li "Thickness (m)" item.thickness %}
+ {% field_li "Depth of appearance (m)" item.depth_of_appearance %}
</ul>
{% endif %}
@@ -51,9 +44,9 @@
<h3>{% trans "Interpretation"%}</h3>
<ul class='form-flex'>
-{% field_li "Activity" item.activity %}
-{% field_li "Identification" item.identification %}
-{% field_li "Has furniture?" item.has_furniture %}
+ {% field_li_multiple "Documentation" item.documentations %}
+ {% field_li "Activity" item.activity %}
+ {% field_li "Identification" item.identification %}
</ul>
{% field "Filling" item.filling "<pre>" "</pre>" %}
{% field "Interpretation" item.interpretation "<pre>" "</pre>" %}
@@ -82,7 +75,8 @@
{% endif %}
<ul class='form-flex'>
{% field_li "Year" item.operation.year %}
-{% field_li "Numerical reference" item.operation.operation_code %}
+ {% trans "Numerical reference" as num_ref_label %}
+ {% field_li num_ref_label 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>
diff --git a/archaeological_context_records/templates/ishtar/sheet_contextrecordsource.html b/archaeological_context_records/templates/ishtar/sheet_contextrecordsource.html
index 253d5f047..bd6cdcdba 100644
--- a/archaeological_context_records/templates/ishtar/sheet_contextrecordsource.html
+++ b/archaeological_context_records/templates/ishtar/sheet_contextrecordsource.html
@@ -8,5 +8,6 @@
{% endblock %}
{% block related %}
-{% field "Related context record" item.owner '' item.owner|link_to_window %}
+{% trans "Related context record" as related_item_label %}
+{% field related_item_label item.owner '' item.owner|link_to_window %}
{% endblock %}
diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py
index c9795fce7..6bb293e4d 100644
--- a/archaeological_context_records/tests.py
+++ b/archaeological_context_records/tests.py
@@ -92,7 +92,10 @@ class ImportContextRecordTest(ImportTest, TestCase):
# set for a column that references Dating
impt.importation()
self.assertEqual(len(impt.errors), 4)
- self.assertIn("doesn't exist in the database.", impt.errors[0]['error'])
+ self.assertTrue(
+ "doesn't exist in the database." in impt.errors[0]['error'] or
+ "n'existe pas dans la base" in impt.errors[0]['error']
+ )
# retry with only Dating (no context record)
for cr in models.ContextRecord.objects.all():
diff --git a/archaeological_context_records/wizards.py b/archaeological_context_records/wizards.py
index 0d877929f..fd48ef3d9 100644
--- a/archaeological_context_records/wizards.py
+++ b/archaeological_context_records/wizards.py
@@ -138,7 +138,7 @@ class RecordModifWizard(RecordWizard):
class RecordDeletionWizard(DeletionWizard):
model = models.ContextRecord
fields = ['label', 'parcel', 'description', 'length', 'width', 'thickness',
- 'depth', 'location', 'datings', 'units', 'has_furniture',
+ 'depth', 'location', 'datings', 'units', 'documentations',
'filling', 'interpretation', 'taq', 'taq_estimated', 'tpq',
'tpq_estimated']
filter_owns = {'selec-record_deletion': ['pk']}
diff --git a/archaeological_files/locale/django.pot b/archaeological_files/locale/django.pot
index 966c983c8..1e513ae12 100644
--- a/archaeological_files/locale/django.pot
+++ b/archaeological_files/locale/django.pot
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
#: forms.py:47 forms.py:210 forms.py:255 forms.py:396 forms.py:423
-#: models.py:108 templates/ishtar/sheet_file.html:157
+#: models.py:108 templates/ishtar/sheet_file.html:144
msgid "Year"
msgstr ""
@@ -26,7 +26,7 @@ msgstr ""
msgid "Parcel (section/number/public domain)"
msgstr ""
-#: forms.py:55 forms.py:407 forms.py:434 models.py:553
+#: forms.py:55 forms.py:407 forms.py:434 models.py:558
msgid "Department"
msgstr ""
@@ -55,11 +55,11 @@ msgid "Permit reference"
msgstr ""
#: forms.py:63 forms.py:227 forms.py:364 models.py:180
-#: templates/ishtar/sheet_file.html:110
+#: templates/ishtar/sheet_file.html:97
msgid "Comment"
msgstr ""
-#: forms.py:65 templates/ishtar/sheet_file.html:130
+#: forms.py:65 templates/ishtar/sheet_file.html:117
msgid "In charge"
msgstr ""
@@ -115,7 +115,7 @@ msgstr ""
msgid "Date before"
msgstr ""
-#: forms.py:197 templates/ishtar/sheet_file.html:14
+#: forms.py:197 templates/ishtar/sheet_file.html:19
msgid "General"
msgstr ""
@@ -164,12 +164,12 @@ msgstr ""
msgid "Total developed surface (m2)"
msgstr ""
-#: forms.py:333 templates/ishtar/sheet_file.html:100
+#: forms.py:333 templates/ishtar/sheet_file.html:87
#: templates/ishtar/dashboards/dashboard_file.html:45
msgid "Research archaeology"
msgstr ""
-#: forms.py:341 models.py:183 templates/ishtar/sheet_file.html:101
+#: forms.py:341 models.py:183 templates/ishtar/sheet_file.html:88
msgid "Departments"
msgstr ""
@@ -177,7 +177,7 @@ msgstr ""
msgid "Scientist in charge"
msgstr ""
-#: forms.py:353 models.py:186 templates/ishtar/sheet_file.html:103
+#: forms.py:353 models.py:186 templates/ishtar/sheet_file.html:90
msgid "Requested operation type"
msgstr ""
@@ -185,11 +185,11 @@ msgstr ""
msgid "Lead organization"
msgstr ""
-#: forms.py:371 models.py:196 templates/ishtar/sheet_file.html:108
+#: forms.py:371 models.py:196 templates/ishtar/sheet_file.html:95
msgid "Classified area"
msgstr ""
-#: forms.py:373 models.py:198 templates/ishtar/sheet_file.html:109
+#: forms.py:373 models.py:198 templates/ishtar/sheet_file.html:96
msgid "Protected area"
msgstr ""
@@ -363,7 +363,7 @@ msgstr ""
msgid "Main address - postal code"
msgstr ""
-#: models.py:188 templates/ishtar/sheet_file.html:104
+#: models.py:188 templates/ishtar/sheet_file.html:91
msgid "Organization"
msgstr ""
@@ -407,15 +407,15 @@ msgstr ""
msgid "FILE"
msgstr ""
-#: models.py:413
+#: models.py:418
msgid "Multi-town"
msgstr ""
-#: models.py:419
+#: models.py:424
msgid "No town"
msgstr ""
-#: models.py:552
+#: models.py:557
msgid "File"
msgstr ""
@@ -455,7 +455,7 @@ msgstr ""
msgid "File: administrative act deletion"
msgstr ""
-#: wizards.py:124 templates/ishtar/sheet_file.html:122
+#: wizards.py:124 templates/ishtar/sheet_file.html:109
msgid "Associated operations"
msgstr ""
@@ -471,122 +471,114 @@ msgstr ""
msgid "Generate"
msgstr ""
-#: templates/ishtar/sheet_file.html:23
-msgid "Creation:"
-msgstr ""
-
-#: templates/ishtar/sheet_file.html:30
-msgid "Modification:"
-msgstr ""
-
-#: templates/ishtar/sheet_file.html:47
+#: templates/ishtar/sheet_file.html:34
msgid "State:"
msgstr ""
-#: templates/ishtar/sheet_file.html:47
+#: templates/ishtar/sheet_file.html:34
msgid "Active file"
msgstr ""
-#: templates/ishtar/sheet_file.html:48
+#: templates/ishtar/sheet_file.html:35
msgid "Closed file"
msgstr ""
-#: templates/ishtar/sheet_file.html:50
+#: templates/ishtar/sheet_file.html:37
msgid "Closing date:"
msgstr ""
-#: templates/ishtar/sheet_file.html:50
+#: templates/ishtar/sheet_file.html:37
msgid "by"
msgstr ""
-#: templates/ishtar/sheet_file.html:55
+#: templates/ishtar/sheet_file.html:42
msgid "Related file:"
msgstr ""
-#: templates/ishtar/sheet_file.html:60
+#: templates/ishtar/sheet_file.html:47
msgid "Localisation"
msgstr ""
-#: templates/ishtar/sheet_file.html:61
+#: templates/ishtar/sheet_file.html:48
msgid "Towns:"
msgstr ""
-#: templates/ishtar/sheet_file.html:62
+#: templates/ishtar/sheet_file.html:49
msgid "Departments:"
msgstr ""
-#: templates/ishtar/sheet_file.html:64
+#: templates/ishtar/sheet_file.html:51
msgid "Main address:"
msgstr ""
-#: templates/ishtar/sheet_file.html:65
+#: templates/ishtar/sheet_file.html:52
msgid "Complement:"
msgstr ""
-#: templates/ishtar/sheet_file.html:66
+#: templates/ishtar/sheet_file.html:53
msgid "Postal code:"
msgstr ""
-#: templates/ishtar/sheet_file.html:68
+#: templates/ishtar/sheet_file.html:55
msgid "Surface:"
msgstr ""
-#: templates/ishtar/sheet_file.html:73
+#: templates/ishtar/sheet_file.html:60
msgid "Preventive archaeological file"
msgstr ""
-#: templates/ishtar/sheet_file.html:75
+#: templates/ishtar/sheet_file.html:62
msgid "Developed surface:"
msgstr ""
-#: templates/ishtar/sheet_file.html:101 templates/ishtar/sheet_file.html:102
-#: templates/ishtar/sheet_file.html:103 templates/ishtar/sheet_file.html:104
-#: templates/ishtar/sheet_file.html:110
+#: templates/ishtar/sheet_file.html:88 templates/ishtar/sheet_file.html:89
+#: templates/ishtar/sheet_file.html:90 templates/ishtar/sheet_file.html:91
+#: templates/ishtar/sheet_file.html:97
#: templates/ishtar/dashboards/dashboard_file.html:14
msgid ":"
msgstr ""
-#: templates/ishtar/sheet_file.html:102
+#: templates/ishtar/sheet_file.html:89
msgid "Head scientist"
msgstr ""
-#: templates/ishtar/sheet_file.html:116
+#: templates/ishtar/sheet_file.html:103
msgid "Associated parcels"
msgstr ""
-#: templates/ishtar/sheet_file.html:119
+#: templates/ishtar/sheet_file.html:106
msgid "Administrative acts"
msgstr ""
-#: templates/ishtar/sheet_file.html:127 templates/ishtar/sheet_file.html:158
+#: templates/ishtar/sheet_file.html:114 templates/ishtar/sheet_file.html:145
msgid "Ref."
msgstr ""
-#: templates/ishtar/sheet_file.html:129 templates/ishtar/sheet_file.html:159
+#: templates/ishtar/sheet_file.html:116 templates/ishtar/sheet_file.html:146
msgid "Type"
msgstr ""
-#: templates/ishtar/sheet_file.html:131
+#: templates/ishtar/sheet_file.html:118
msgid "Start date"
msgstr ""
-#: templates/ishtar/sheet_file.html:132
+#: templates/ishtar/sheet_file.html:119
msgid "Excavation end date"
msgstr ""
-#: templates/ishtar/sheet_file.html:146
+#: templates/ishtar/sheet_file.html:133
msgid "No operation associated to this archaeological file"
msgstr ""
-#: templates/ishtar/sheet_file.html:152
+#: templates/ishtar/sheet_file.html:139
msgid "Admninistrative acts linked to associated operations"
msgstr ""
-#: templates/ishtar/sheet_file.html:160
+#: templates/ishtar/sheet_file.html:147
msgid "Date"
msgstr ""
-#: templates/ishtar/sheet_file.html:170
+#: templates/ishtar/sheet_file.html:157
msgid "No administrative act linked to operations"
msgstr ""
diff --git a/archaeological_files/models.py b/archaeological_files/models.py
index c8134f28f..7f37a298f 100644
--- a/archaeological_files/models.py
+++ b/archaeological_files/models.py
@@ -236,6 +236,11 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
return _(u"FILE")
@property
+ def full_internal_ref(self):
+ return u"{}{}".format(settings.ISHTAR_FILE_PREFIX or '',
+ self.external_id or '')
+
+ @property
def delay_date(self):
cache_key, val = get_cache(self.__class__, [self.pk, 'delay_date'])
if val:
diff --git a/archaeological_files/templates/ishtar/sheet_file.html b/archaeological_files/templates/ishtar/sheet_file.html
index 408edde34..bfd92eb6f 100644
--- a/archaeological_files/templates/ishtar/sheet_file.html
+++ b/archaeological_files/templates/ishtar/sheet_file.html
@@ -11,29 +11,16 @@
{% window_nav item window_id 'show-file' 'file_modify' 'show-historized-file' 'revert-file' previous next 1 %}
{% endif %}
+<p class='window-refs'>{{item.full_internal_ref|default:''}}</p>
+<p class='window-refs'>{{item.internal_reference|default:''}}</p>
+<p class='window-refs'>{{item.name|default:''}}</p>
+{% include "ishtar/blocks/sheet_external_id.html" %}
+
<h3>{% trans "General"%}</h3>
<ul class='form-flex'>
-{% field_li "Year" item.year "<strong>" "</strong>" %}
-{% field_li "Numerical reference" item.numeric_reference "<strong>" "</strong>" %}
-{% field_li "Other reference" item.internal_reference %}
-{% field_li "Name" item.name %}
- {% field_li "Reception date" item.reception_date|date:"DATE_FORMAT" %}
-
- <li><label>{%trans "Creation:"%}</label>
- <span class='value'>
- {{item.history_creator.ishtaruser.person}}<br/>
- <small><em>{{item.history_creation_date|date:"DATETIME_FORMAT"}}</em></small>
- </span>
- </li>
- {% if item.history_creation_date != item.last_edition_date %}
- <li><label>{%trans "Modification:"%}</label>
- <span class='value'>
- {{item.history_modifier.ishtaruser.person}}<br/>
- <small><em>{% firstof item.history_date|date:"DATETIME_FORMAT" item.history.all.0.history_date|date:"DATETIME_FORMAT" %}</em></small>
- </span>
- </li>
- {% endif %}
+ {% field_li "Reception date" item.reception_date|date:"DATE_FORMAT" %}
+ {% include "ishtar/blocks/sheet_creation_section.html" %}
{% comment %}
diff --git a/archaeological_finds/admin.py b/archaeological_finds/admin.py
index 988897ceb..8fd168316 100644
--- a/archaeological_finds/admin.py
+++ b/archaeological_finds/admin.py
@@ -104,6 +104,8 @@ admin.site.register(models.TreatmentType, TreatmentTypeAdmin)
general_models = [
models.ConservatoryState, models.RemarkabilityType,
models.PreservationType, models.IntegrityType,
- models.TreatmentFileType, models.TreatmentState]
+ models.TreatmentFileType, models.TreatmentState,
+ models.BatchType
+]
for model in general_models:
admin.site.register(model, GeneralTypeAdmin)
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py
index 2c367043c..09d23a3bc 100644
--- a/archaeological_finds/forms.py
+++ b/archaeological_finds/forms.py
@@ -48,6 +48,8 @@ from ishtar_common.utils import convert_coordinates_to_point
from ishtar_common import widgets
from archaeological_operations.widgets import OAWidget
+from archaeological_warehouse.models import Warehouse
+
from archaeological_finds.forms_treatments import TreatmentSelect, \
TreatmentFormSelection, BaseTreatmentForm, TreatmentModifyForm, \
AdministrativeActTreatmentForm, TreatmentFormFileChoice, \
@@ -75,7 +77,8 @@ __all__ = [
'SourceTreatmentFileFormSelection', 'TreatmentSourceFormSelection',
'TreatmentFileSourceFormSelection',
'RecordFormSelection', 'FindForm', 'DateForm', 'DatingFormSet',
- 'FindSelect', 'FindFormSelection', 'MultipleFindFormSelection',
+ 'FindSelect', 'FindFormSelection', 'FindFormSelectionWarehouseModule',
+ 'MultipleFindFormSelection', 'MultipleFindFormSelectionWarehouseModule',
'FindMultipleFormSelection', 'check_form', 'check_exist', 'check_not_exist',
'check_value', 'check_type_field', 'check_type_not_field',
'check_treatment', 'ResultFindForm', 'ResultFindFormSet',
@@ -348,7 +351,6 @@ class FindSelect(TableSelect):
label=_(u"Search within related operations"), choices=[],
widget=widgets.CheckboxSelectMultiple)
datings__period = forms.ChoiceField(label=_(u"Period"), choices=[])
- # TODO search by warehouse
material_types = forms.ChoiceField(label=_(u"Material type"), choices=[])
object_types = forms.ChoiceField(label=_(u"Object type"), choices=[])
preservation_to_considers = forms.ChoiceField(
@@ -410,6 +412,23 @@ class FindSelect(TableSelect):
return ids
+class FindSelectWarehouseModule(FindSelect):
+ container__location = forms.IntegerField(
+ label=_(u"Warehouse (location)"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-warehouse'),
+ associated_model=Warehouse),
+ validators=[valid_id(Warehouse)])
+ container__responsible = forms.IntegerField(
+ label=_(u"Warehouse (responsible)"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-warehouse'),
+ associated_model=Warehouse),
+ validators=[valid_id(Warehouse)])
+ container__index = forms.IntegerField(label=_(u"Container ID"))
+ container__reference = forms.IntegerField(label=_(u"Container ref."))
+
+
class FindFormSelection(forms.Form):
form_label = _("Find search")
associated_models = {'pk': models.Find}
@@ -423,6 +442,16 @@ class FindFormSelection(forms.Form):
validators=[valid_id(models.Find)])
+class FindFormSelectionWarehouseModule(FindFormSelection):
+ pk = forms.IntegerField(
+ label="", required=False,
+ widget=widgets.JQueryJqGrid(
+ reverse_lazy('get-find'),
+ FindSelectWarehouseModule, models.Find,
+ source_full=reverse_lazy('get-find-full')),
+ validators=[valid_id(models.Find)])
+
+
class MultipleFindFormSelection(forms.Form):
form_label = _("Find search")
associated_models = {'pk': models.Find}
@@ -437,15 +466,28 @@ class MultipleFindFormSelection(forms.Form):
validators=[valid_id(models.Find)])
+class MultipleFindFormSelectionWarehouseModule(MultipleFindFormSelection):
+ pk = forms.IntegerField(
+ label="", required=False,
+ widget=widgets.JQueryJqGrid(
+ reverse_lazy('get-find'),
+ FindSelectWarehouseModule, models.Find,
+ multiple_select=True,
+ source_full=reverse_lazy('get-find-full')),
+ validators=[valid_id(models.Find)])
+
+
class FindMultipleFormSelection(forms.Form):
form_label = _(u"Upstream finds")
associated_models = {'finds': models.Find}
associated_labels = {'finds': _(u"Finds")}
+ # using FindSelectWarehouseModule because this form is only used with
+ # the warehouse module activated
finds = forms.CharField(
label="", required=False,
widget=widgets.JQueryJqGrid(
- reverse_lazy('get-find'), FindSelect, models.Find, multiple=True,
- multiple_cols=[2, 3, 4]),
+ reverse_lazy('get-find'), FindSelectWarehouseModule, models.Find,
+ multiple=True, multiple_cols=[2, 3, 4]),
validators=[valid_ids(models.Find)])
def clean(self):
diff --git a/archaeological_finds/locale/django.pot b/archaeological_finds/locale/django.pot
index 002da929e..d48cbe962 100644
--- a/archaeological_finds/locale/django.pot
+++ b/archaeological_finds/locale/django.pot
@@ -3,359 +3,376 @@
# This file is distributed under the same license as the Ishtar package.
# Étienne Loks <etienne.loks at peacefrogs net>, 2010-2015.
# Valérie-Emma Leroux <emma@iggdrasil.net>, 2016. #zanata
+# Étienne Loks <etienne.loks@iggdrasil.net>, 2016. #zanata
# Valérie-Emma Leroux <emma@iggdrasil.net>, 2017. #zanata
msgid ""
msgstr ""
-#: forms.py:90 forms.py:94 wizards.py:64
+#: forms.py:93 forms.py:97 models_finds.py:505 wizards.py:64
msgid "Context record"
msgstr ""
-#: forms.py:123 ishtar_menu.py:32 models_finds.py:656 models_finds.py:1059
-#: models_finds.py:1068 models_treatments.py:279
+#: forms.py:126 ishtar_menu.py:32 models_finds.py:668 models_finds.py:1071
+#: models_finds.py:1080 models_treatments.py:281
#: templates/ishtar/sheet_find.html:5
msgid "Find"
msgstr ""
-#: forms.py:137 forms.py:330 forms.py:559 models_finds.py:151
-#: models_finds.py:587
+#: forms.py:140 forms.py:333 forms.py:601 models_finds.py:151
+#: models_finds.py:599
msgid "Free ID"
msgstr ""
-#: forms.py:139 models_finds.py:639
+#: forms.py:142 models_finds.py:651
msgid "Previous ID"
msgstr ""
-#: forms.py:140 forms.py:362 forms_treatments.py:134 models_finds.py:155
-#: models_finds.py:588 models_treatments.py:125
+#: forms.py:143 forms.py:364 forms_treatments.py:134 models_finds.py:155
+#: models_finds.py:600 models_treatments.py:127
msgid "Description"
msgstr ""
-#: forms.py:143 forms.py:364 models_finds.py:164
+#: forms.py:146 forms.py:366 models_finds.py:164
msgid "Batch/object"
msgstr ""
-#: forms.py:145 models_finds.py:616
+#: forms.py:148 models_finds.py:628
msgid "Is complete?"
msgstr ""
-#: forms.py:148 forms.py:352 forms.py:563 models_finds.py:51
+#: forms.py:151 forms.py:354 forms.py:605 models_finds.py:51
msgid "Material type"
msgstr ""
-#: forms.py:149 forms.py:356 models_finds.py:63 models_finds.py:592
+#: forms.py:152 forms.py:358 models_finds.py:63 models_finds.py:604
msgid "Conservatory state"
msgstr ""
-#: forms.py:152 models_finds.py:594
+#: forms.py:155 models_finds.py:606
msgid "Conservatory comment"
msgstr ""
-#: forms.py:155 models_finds.py:113 models_finds.py:619
+#: forms.py:158 models_finds.py:113 models_finds.py:631
msgid "Object types"
msgstr ""
-#: forms.py:157 forms.py:355 models_finds.py:72
+#: forms.py:160 forms.py:357 models_finds.py:72
msgid "Preservation type"
msgstr ""
-#: forms.py:160 forms.py:358 models_finds.py:621
+#: forms.py:163 forms.py:360 models_finds.py:633
msgid "Integrity / interest"
msgstr ""
-#: forms.py:163 forms.py:360 models_finds.py:624
+#: forms.py:166 forms.py:362 models_finds.py:636
msgid "Remarkability"
msgstr ""
-#: forms.py:166 models_finds.py:169
+#: forms.py:169 models_finds.py:169
msgid "Point of topographic reference"
msgstr ""
-#: forms.py:169 models_finds.py:171
+#: forms.py:172 models_finds.py:171
msgid "X"
msgstr ""
-#: forms.py:170 models_finds.py:172
+#: forms.py:173 models_finds.py:172
msgid "Y"
msgstr ""
-#: forms.py:171 models_finds.py:173
+#: forms.py:174 models_finds.py:173
msgid "Z"
msgstr ""
-#: forms.py:173 models_finds.py:181
+#: forms.py:176 models_finds.py:181
msgid "Spatial Reference System"
msgstr ""
-#: forms.py:176 models_finds.py:174
+#: forms.py:179 models_finds.py:174
msgid "Estimated error for X"
msgstr ""
-#: forms.py:178 models_finds.py:176
+#: forms.py:181 models_finds.py:176
msgid "Estimated error for Y"
msgstr ""
-#: forms.py:180 models_finds.py:178
+#: forms.py:183 models_finds.py:178
msgid "Estimated error for Z"
msgstr ""
-#: forms.py:181 models_finds.py:628
+#: forms.py:184 models_finds.py:640
msgid "Length (cm)"
msgstr ""
-#: forms.py:182 models_finds.py:629
+#: forms.py:185 models_finds.py:641
msgid "Width (cm)"
msgstr ""
-#: forms.py:183 models_finds.py:630
+#: forms.py:186 models_finds.py:642
msgid "Height (cm)"
msgstr ""
-#: forms.py:184 models_finds.py:631
+#: forms.py:187 models_finds.py:643
msgid "Diameter (cm)"
msgstr ""
-#: forms.py:185 models_finds.py:632
+#: forms.py:188 models_finds.py:644
msgid "Thickness (cm)"
msgstr ""
-#: forms.py:186 forms.py:564 models_finds.py:599
+#: forms.py:189 forms.py:606 models_finds.py:611
msgid "Volume (l)"
msgstr ""
-#: forms.py:187 forms.py:565 models_finds.py:600
+#: forms.py:190 forms.py:607 models_finds.py:612
msgid "Weight (g)"
msgstr ""
-#: forms.py:189 models_finds.py:633
+#: forms.py:192 models_finds.py:645
msgid "Dimensions comment"
msgstr ""
-#: forms.py:190 forms.py:566 models_finds.py:603
+#: forms.py:193 forms.py:608 models_finds.py:615
msgid "Find number"
msgstr ""
-#: forms.py:192 models_finds.py:627
+#: forms.py:195 models_finds.py:639
msgid "Minimum number of individuals (MNI)"
msgstr ""
-#: forms.py:193 models_finds.py:635
+#: forms.py:196 models_finds.py:647
msgid "Mark"
msgstr ""
-#: forms.py:194 forms.py:365 models_finds.py:641
+#: forms.py:197 forms.py:367 models_finds.py:653
msgid "Check"
msgstr ""
-#: forms.py:196 models_finds.py:643
+#: forms.py:199 models_finds.py:655
msgid "Check date"
msgstr ""
-#: forms.py:197 forms_treatments.py:132 forms_treatments.py:434
-#: models_finds.py:156 models_finds.py:636 models_treatments.py:124
-#: models_treatments.py:492
+#: forms.py:200 forms_treatments.py:132 forms_treatments.py:434
+#: models_finds.py:156 models_finds.py:648 models_treatments.py:126
+#: models_treatments.py:494
msgid "Comment"
msgstr ""
-#: forms.py:200 models_finds.py:637
+#: forms.py:203 models_finds.py:649
msgid "Comment on dating"
msgstr ""
-#: forms.py:201 models_finds.py:645
+#: forms.py:204 models_finds.py:657
msgid "Estimated value"
msgstr ""
-#: forms.py:203 forms_treatments.py:151
+#: forms.py:206 forms_treatments.py:151
msgid "Image"
msgstr ""
-#: forms.py:204 forms_treatments.py:152
+#: forms.py:207 forms_treatments.py:152
#, python-format
msgid ""
"<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</"
"p>"
msgstr ""
-#: forms.py:278
+#: forms.py:281
msgid "You should at least provide X, Y and the spatial reference system used."
msgstr ""
-#: forms.py:287
+#: forms.py:290
msgid "Coordinates are not relevant for the spatial reference system used: {}."
msgstr ""
-#: forms.py:293 forms.py:324 models_finds.py:611
+#: forms.py:296 forms.py:327 models_finds.py:623
msgid "Dating"
msgstr ""
-#: forms.py:298 forms.py:350
+#: forms.py:301 forms.py:353
msgid "Period"
msgstr ""
-#: forms.py:299 forms_treatments.py:138 forms_treatments.py:436
-#: models_finds.py:1073 models_treatments.py:127 models_treatments.py:290
-#: templates/ishtar/sheet_find.html:103 templates/ishtar/sheet_find.html:145
+#: forms.py:302 forms_treatments.py:138 forms_treatments.py:436
+#: models_finds.py:1085 models_treatments.py:129 models_treatments.py:292
+#: templates/ishtar/sheet_find.html:91 templates/ishtar/sheet_find.html:133
msgid "Start date"
msgstr ""
-#: forms.py:301 models_finds.py:1074 models_treatments.py:291
-#: templates/ishtar/sheet_find.html:104 templates/ishtar/sheet_find.html:146
+#: forms.py:304 models_finds.py:1086 models_treatments.py:293
+#: templates/ishtar/sheet_find.html:92 templates/ishtar/sheet_find.html:134
msgid "End date"
msgstr ""
-#: forms.py:302
+#: forms.py:305
msgid "Quality"
msgstr ""
-#: forms.py:304
+#: forms.py:307
msgid "Dating type"
msgstr ""
-#: forms.py:306
+#: forms.py:309
msgid "Precise dating"
msgstr ""
-#: forms.py:328 models_finds.py:188
+#: forms.py:331 models_finds.py:188
msgid "Short ID"
msgstr ""
-#: forms.py:329 models_finds.py:191
+#: forms.py:332 models_finds.py:191
msgid "Complete ID"
msgstr ""
-#: forms.py:333 forms_treatments.py:54 forms_treatments.py:96
+#: forms.py:336 forms_treatments.py:54 forms_treatments.py:96
#: forms_treatments.py:284 forms_treatments.py:356 forms_treatments.py:406
-#: forms_treatments.py:489 models_treatments.py:100 models_treatments.py:464
+#: forms_treatments.py:489 models_treatments.py:102 models_treatments.py:466
msgid "Year"
msgstr ""
-#: forms.py:335
+#: forms.py:338
msgid "Operation's number (index by year)"
msgstr ""
-#: forms.py:338
+#: forms.py:341
msgid "Code PATRIARCHE"
msgstr ""
-#: forms.py:342
+#: forms.py:345
msgid "Archaeological site"
msgstr ""
-#: forms.py:348
+#: forms.py:351
msgid "Search within related operations"
msgstr ""
-#: forms.py:353 models_finds.py:112
+#: forms.py:355 models_finds.py:112
msgid "Object type"
msgstr ""
-#: forms.py:366 forms_treatments.py:57
+#: forms.py:368 forms_treatments.py:57
msgid "Has an image?"
msgstr ""
-#: forms.py:414 forms.py:427 views.py:130
+#: forms.py:417
+msgid "Warehouse (location)"
+msgstr ""
+
+#: forms.py:423
+msgid "Warehouse (responsible)"
+msgstr ""
+
+#: forms.py:428
+msgid "Container ID"
+msgstr ""
+
+#: forms.py:429
+msgid "Container ref."
+msgstr ""
+
+#: forms.py:433 forms.py:456 views.py:149
msgid "Find search"
msgstr ""
-#: forms.py:441 templates/ishtar/sheet_treatment.html:46
+#: forms.py:481 templates/ishtar/sheet_treatment.html:46
msgid "Upstream finds"
msgstr ""
-#: forms.py:443 models_finds.py:657
+#: forms.py:483 models_finds.py:669
msgid "Finds"
msgstr ""
-#: forms.py:453
+#: forms.py:495
msgid "You should at least select one archaeological find."
msgstr ""
-#: forms.py:556
+#: forms.py:598
msgid "Resulting find"
msgstr ""
-#: forms.py:561
+#: forms.py:603
msgid "Precise description"
msgstr ""
-#: forms.py:576
+#: forms.py:618
msgid "Resulting finds"
msgstr ""
-#: forms.py:581
+#: forms.py:623
msgid "Would you like to delete this find?"
msgstr ""
-#: forms.py:585 models_treatments.py:90
+#: forms.py:627 models_treatments.py:90
msgid "Upstream find"
msgstr ""
-#: forms.py:598
+#: forms.py:640
msgid "Archaeological find search"
msgstr ""
-#: forms.py:600
+#: forms.py:642
msgid "You should select an archaeological find."
msgstr ""
-#: forms.py:605
+#: forms.py:647
msgid "Year of the operation"
msgstr ""
-#: forms.py:607
+#: forms.py:649
msgid "Numeric reference"
msgstr ""
-#: forms.py:614
+#: forms.py:656
msgid "Period of the archaeological find"
msgstr ""
-#: forms.py:616
+#: forms.py:658
msgid "Material type of the archaeological find"
msgstr ""
-#: forms.py:618
+#: forms.py:660
msgid "Description of the archaeological find"
msgstr ""
-#: forms.py:630 forms_treatments.py:590 forms_treatments.py:616
+#: forms.py:672 forms_treatments.py:590 forms_treatments.py:616
msgid "Documentation search"
msgstr ""
-#: forms.py:632 forms_treatments.py:592 forms_treatments.py:618
+#: forms.py:674 forms_treatments.py:592 forms_treatments.py:618
msgid "You should select a document."
msgstr ""
-#: forms.py:649
+#: forms.py:691
msgid "Another basket already exists with this name."
msgstr ""
-#: forms.py:659 forms.py:663 forms_treatments.py:175 ishtar_menu.py:57
+#: forms.py:701 forms.py:705 forms_treatments.py:175 ishtar_menu.py:57
msgid "Basket"
msgstr ""
-#: forms_treatments.py:52 forms_treatments.py:92 models_treatments.py:96
-#: templates/ishtar/sheet_find.html:97 templates/ishtar/sheet_find.html:139
+#: forms_treatments.py:52 forms_treatments.py:92 models_treatments.py:98
+#: templates/ishtar/sheet_find.html:85 templates/ishtar/sheet_find.html:127
msgid "Label"
msgstr ""
-#: forms_treatments.py:53 forms_treatments.py:95 models_treatments.py:98
+#: forms_treatments.py:53 forms_treatments.py:95 models_treatments.py:100
msgid "Other ref."
msgstr ""
#: forms_treatments.py:55 forms_treatments.py:237 forms_treatments.py:285
#: forms_treatments.py:348 forms_treatments.py:357 forms_treatments.py:459
-#: forms_treatments.py:490 forms_treatments.py:557 models_treatments.py:102
-#: models_treatments.py:466
+#: forms_treatments.py:490 forms_treatments.py:557 models_treatments.py:104
+#: models_treatments.py:468
msgid "Index"
msgstr ""
#: forms_treatments.py:56 forms_treatments.py:101 forms_treatments.py:301
-#: forms_treatments.py:578 models_treatments.py:56 models_treatments.py:107
-#: models_treatments.py:289
+#: forms_treatments.py:578 models_treatments.py:56 models_treatments.py:109
+#: models_treatments.py:291
msgid "Treatment type"
msgstr ""
-#: forms_treatments.py:68 forms_treatments.py:560 views.py:360
+#: forms_treatments.py:68 forms_treatments.py:560 views.py:398
msgid "Treatment search"
msgstr ""
@@ -363,8 +380,8 @@ msgstr ""
msgid "Base treatment"
msgstr ""
-#: forms_treatments.py:103 models_treatments.py:109
-#: templates/ishtar/sheet_find.html:99 templates/ishtar/sheet_find.html:141
+#: forms_treatments.py:103 models_treatments.py:92 models_treatments.py:111
+#: templates/ishtar/sheet_find.html:87 templates/ishtar/sheet_find.html:129
msgid "State"
msgstr ""
@@ -372,15 +389,15 @@ msgstr ""
msgid "Target"
msgstr ""
-#: forms_treatments.py:107 forms_treatments.py:417 models_treatments.py:117
+#: forms_treatments.py:107 forms_treatments.py:417 models_treatments.py:119
msgid "Responsible"
msgstr ""
-#: forms_treatments.py:113 models_treatments.py:120
+#: forms_treatments.py:113 models_treatments.py:122
msgid "Organization"
msgstr ""
-#: forms_treatments.py:119 models_treatments.py:112 models_treatments.py:292
+#: forms_treatments.py:119 models_treatments.py:114 models_treatments.py:294
msgid "Location"
msgstr ""
@@ -392,12 +409,12 @@ msgstr ""
msgid "External ref."
msgstr ""
-#: forms_treatments.py:136 models_treatments.py:126
+#: forms_treatments.py:136 models_treatments.py:128
msgid "Goal"
msgstr ""
-#: forms_treatments.py:140 forms_treatments.py:442 models_treatments.py:128
-#: models_treatments.py:486
+#: forms_treatments.py:140 forms_treatments.py:442 models_treatments.py:130
+#: models_treatments.py:488
msgid "Closing date"
msgstr ""
@@ -443,13 +460,13 @@ msgstr ""
msgid "Another treatment with this index exists for {}."
msgstr ""
-#: forms_treatments.py:262 models_treatments.py:105
+#: forms_treatments.py:262 models_treatments.py:107
msgid "Associated request"
msgstr ""
#: forms_treatments.py:266 forms_treatments.py:397 ishtar_menu.py:108
-#: models_treatments.py:497 models_treatments.py:519 models_treatments.py:581
-#: wizards.py:183 templates/ishtar/sheet_treatmentfile.html:5
+#: models_treatments.py:499 models_treatments.py:521 models_treatments.py:584
+#: wizards.py:187 templates/ishtar/sheet_treatmentfile.html:5
msgid "Treatment request"
msgstr ""
@@ -504,7 +521,7 @@ msgstr ""
msgid "Modified by"
msgstr ""
-#: forms_treatments.py:354 forms_treatments.py:404 models_treatments.py:471
+#: forms_treatments.py:354 forms_treatments.py:404 models_treatments.py:473
msgid "Name"
msgstr ""
@@ -512,9 +529,9 @@ msgstr ""
msgid "Internal ref."
msgstr ""
-#: forms_treatments.py:358 forms_treatments.py:415
-#: templates/ishtar/sheet_find.html:98 templates/ishtar/sheet_find.html:140
-#: templates/ishtar/sheet_find.html:232
+#: forms_treatments.py:358 forms_treatments.py:415 models_treatments.py:91
+#: templates/ishtar/sheet_find.html:86 templates/ishtar/sheet_find.html:128
+#: templates/ishtar/sheet_find.html:228
msgid "Type"
msgstr ""
@@ -522,21 +539,21 @@ msgstr ""
msgid "In charge"
msgstr ""
-#: forms_treatments.py:366 forms_treatments.py:423 models_treatments.py:480
+#: forms_treatments.py:366 forms_treatments.py:423 models_treatments.py:482
#: templates/ishtar/sheet_treatmentfile.html:31
msgid "Applicant"
msgstr ""
-#: forms_treatments.py:372 forms_treatments.py:429 models_treatments.py:484
+#: forms_treatments.py:372 forms_treatments.py:429 models_treatments.py:486
#: templates/ishtar/sheet_treatmentfile.html:38
msgid "Applicant organisation"
msgstr ""
-#: forms_treatments.py:385 forms_treatments.py:565 views.py:464
+#: forms_treatments.py:385 forms_treatments.py:565 views.py:502
msgid "Treatment request search"
msgstr ""
-#: forms_treatments.py:439 models_treatments.py:490
+#: forms_treatments.py:439 models_treatments.py:492
msgid "Reception date"
msgstr ""
@@ -568,8 +585,8 @@ msgstr ""
msgid "Treatment request internal reference"
msgstr ""
-#: forms_treatments.py:508 forms_treatments.py:604 models_treatments.py:449
-#: models_treatments.py:473
+#: forms_treatments.py:508 forms_treatments.py:604 models_treatments.py:451
+#: models_treatments.py:475
msgid "Treatment request type"
msgstr ""
@@ -611,12 +628,12 @@ msgstr ""
msgid "Documentation"
msgstr ""
-#: ishtar_menu.py:133 ishtar_menu.py:214 models_finds.py:1070
+#: ishtar_menu.py:133 ishtar_menu.py:214 models_finds.py:1082
msgid "Administrative act"
msgstr ""
-#: ishtar_menu.py:151 ishtar_menu.py:233 templates/ishtar/sheet_find.html:227
-#: templates/ishtar/sheet_find.html:229
+#: ishtar_menu.py:151 ishtar_menu.py:233 templates/ishtar/sheet_find.html:222
+#: templates/ishtar/sheet_find.html:224
msgid "Documents"
msgstr ""
@@ -624,8 +641,9 @@ msgstr ""
msgid "Source"
msgstr ""
-#: ishtar_menu.py:185 models_treatments.py:145 models_treatments.py:281
-#: models_treatments.py:565 templates/ishtar/sheet_treatment.html:5
+#: ishtar_menu.py:185 models_treatments.py:147 models_treatments.py:283
+#: models_treatments.py:567 models_treatments.py:570
+#: templates/ishtar/sheet_treatment.html:5
msgid "Treatment"
msgstr ""
@@ -645,7 +663,7 @@ msgstr ""
msgid "Parent material"
msgstr ""
-#: models_finds.py:52 models_finds.py:507 models_finds.py:590
+#: models_finds.py:52 models_finds.py:525 models_finds.py:602
msgid "Material types"
msgstr ""
@@ -677,8 +695,8 @@ msgstr ""
msgid "Remarkability types"
msgstr ""
-#: models_finds.py:98 models_finds.py:586 models_treatments.py:40
-#: models_treatments.py:285
+#: models_finds.py:98 models_finds.py:598 models_treatments.py:40
+#: models_treatments.py:287
msgid "Order"
msgstr ""
@@ -694,12 +712,12 @@ msgstr ""
msgid "Parent"
msgstr ""
-#: models_finds.py:152 models_finds.py:583 models_treatments.py:122
-#: models_treatments.py:469
+#: models_finds.py:152 models_finds.py:595 models_treatments.py:124
+#: models_treatments.py:471
msgid "External ID"
msgstr ""
-#: models_finds.py:154 models_finds.py:585
+#: models_finds.py:154 models_finds.py:597
msgid "External ID is set automatically"
msgstr ""
@@ -739,7 +757,7 @@ msgstr ""
msgid "Cached value - do not edit"
msgstr ""
-#: models_finds.py:197 models_finds.py:581
+#: models_finds.py:197 models_finds.py:593
msgid "Base find"
msgstr ""
@@ -787,109 +805,129 @@ msgstr ""
msgid "Checked and correct"
msgstr ""
-#: models_finds.py:505
-msgid "Periods"
+#: models_finds.py:506
+msgid "Base find - Short ID"
msgstr ""
-#: models_finds.py:506 models_finds.py:614 models_treatments.py:129
-#: models_treatments.py:293 templates/ishtar/sheet_find.html:102
-#: templates/ishtar/sheet_find.html:144
-msgid "Container"
+#: models_finds.py:507
+msgid "Base find - Complete ID"
msgstr ""
-#: models_finds.py:517
-msgid "Base find - Short ID"
+#: models_finds.py:509
+msgid "Operation (code)"
msgstr ""
-#: models_finds.py:518
-msgid "Base find - Complete ID"
+#: models_finds.py:511
+msgid "Town"
msgstr ""
-#: models_finds.py:519
+#: models_finds.py:513
+msgid "Operation (name)"
+msgstr ""
+
+#: models_finds.py:515
+msgid "Parcel"
+msgstr ""
+
+#: models_finds.py:516
+msgid "Batch"
+msgstr ""
+
+#: models_finds.py:517
msgid "Base find - Comment"
msgstr ""
-#: models_finds.py:520
+#: models_finds.py:518
msgid "Base find - Description"
msgstr ""
-#: models_finds.py:521
+#: models_finds.py:519
msgid "Base find - Topographic localisation"
msgstr ""
-#: models_finds.py:523
+#: models_finds.py:521
msgid "Base find - Special interest"
msgstr ""
-#: models_finds.py:524
+#: models_finds.py:522
msgid "Base find - Discovery date"
msgstr ""
-#: models_finds.py:597
+#: models_finds.py:523 models_finds.py:626 models_treatments.py:131
+#: models_treatments.py:295 templates/ishtar/sheet_find.html:90
+#: templates/ishtar/sheet_find.html:132
+msgid "Container"
+msgstr ""
+
+#: models_finds.py:524
+msgid "Periods"
+msgstr ""
+
+#: models_finds.py:609
msgid "Type of preservation to consider"
msgstr ""
-#: models_finds.py:601
+#: models_finds.py:613
msgid "Weight unit"
msgstr ""
-#: models_finds.py:607 templates/ishtar/sheet_find.html:90
+#: models_finds.py:619 templates/ishtar/sheet_find.html:78
msgid "Upstream treatment"
msgstr ""
-#: models_finds.py:610 templates/ishtar/sheet_find.html:132
+#: models_finds.py:622 templates/ishtar/sheet_find.html:120
msgid "Downstream treatment"
msgstr ""
-#: models_finds.py:648
+#: models_finds.py:660
msgid "Collection"
msgstr ""
-#: models_finds.py:650 models_treatments.py:141 models_treatments.py:493
+#: models_finds.py:662 models_treatments.py:143 models_treatments.py:495
msgid "Cached name"
msgstr ""
-#: models_finds.py:659
+#: models_finds.py:671
msgid "Can view all Finds"
msgstr ""
-#: models_finds.py:660
+#: models_finds.py:672
msgid "Can view own Find"
msgstr ""
-#: models_finds.py:661
+#: models_finds.py:673
msgid "Can add own Find"
msgstr ""
-#: models_finds.py:662
+#: models_finds.py:674
msgid "Can change own Find"
msgstr ""
-#: models_finds.py:663
+#: models_finds.py:675
msgid "Can delete own Find"
msgstr ""
-#: models_finds.py:669
+#: models_finds.py:681
msgid "FIND"
msgstr ""
-#: models_finds.py:1057
+#: models_finds.py:1069
msgid "Find documentation"
msgstr ""
-#: models_finds.py:1058
+#: models_finds.py:1070
msgid "Find documentations"
msgstr ""
-#: models_finds.py:1071
+#: models_finds.py:1083
msgid "Person"
msgstr ""
-#: models_finds.py:1077
+#: models_finds.py:1089
msgid "Property"
msgstr ""
-#: models_finds.py:1078
+#: models_finds.py:1090
msgid "Properties"
msgstr ""
@@ -933,313 +971,317 @@ msgstr ""
msgid "Downstream find"
msgstr ""
-#: models_treatments.py:114
+#: models_treatments.py:116
msgid "Location where the treatment is done. Target warehouse for a move."
msgstr ""
-#: models_treatments.py:131
+#: models_treatments.py:133
msgid "Estimated cost"
msgstr ""
-#: models_treatments.py:133
+#: models_treatments.py:135
msgid "Quoted cost"
msgstr ""
-#: models_treatments.py:135
+#: models_treatments.py:137
msgid "Realized cost"
msgstr ""
-#: models_treatments.py:137
+#: models_treatments.py:139
msgid "Insurance cost"
msgstr ""
-#: models_treatments.py:139
+#: models_treatments.py:141
msgid "Target a basket"
msgstr ""
-#: models_treatments.py:146 templates/ishtar/sheet_find.html:87
-#: templates/ishtar/sheet_treatmentfile.html:45
+#: models_treatments.py:148 templates/ishtar/sheet_find.html:75
+#: templates/ishtar/sheet_treatmentfile.html:46
msgid "Treatments"
msgstr ""
-#: models_treatments.py:149
+#: models_treatments.py:151
msgid "Can view all Treatments"
msgstr ""
-#: models_treatments.py:150
+#: models_treatments.py:152
msgid "Can view own Treatment"
msgstr ""
-#: models_treatments.py:151
+#: models_treatments.py:153
msgid "Can add own Treatment"
msgstr ""
-#: models_treatments.py:152
+#: models_treatments.py:154
msgid "Can change own Treatment"
msgstr ""
-#: models_treatments.py:153
+#: models_treatments.py:155
msgid "Can delete own Treatment"
msgstr ""
-#: models_treatments.py:165
+#: models_treatments.py:167
msgid "TREATMENT"
msgstr ""
-#: models_treatments.py:294 templates/ishtar/sheet_find.html:101
-#: templates/ishtar/sheet_find.html:143
+#: models_treatments.py:296 templates/ishtar/sheet_find.html:89
+#: templates/ishtar/sheet_find.html:131
msgid "Doer"
msgstr ""
-#: models_treatments.py:295 models_treatments.py:296
+#: models_treatments.py:297 models_treatments.py:298
msgid "Related finds"
msgstr ""
-#: models_treatments.py:438
+#: models_treatments.py:440
msgid "Is upstream"
msgstr ""
-#: models_treatments.py:450
+#: models_treatments.py:452
msgid "Treatment request types"
msgstr ""
-#: models_treatments.py:467
+#: models_treatments.py:469
msgid "Internal reference"
msgstr ""
-#: models_treatments.py:476
+#: models_treatments.py:478
msgid "Person in charge"
msgstr ""
-#: models_treatments.py:488
+#: models_treatments.py:490
msgid "Creation date"
msgstr ""
-#: models_treatments.py:498
+#: models_treatments.py:500
msgid "Treatment requests"
msgstr ""
-#: models_treatments.py:502
+#: models_treatments.py:504
msgid "Can view all Treatment requests"
msgstr ""
-#: models_treatments.py:504
+#: models_treatments.py:506
msgid "Can view own Treatment request"
msgstr ""
-#: models_treatments.py:506
+#: models_treatments.py:508
msgid "Can add own Treatment request"
msgstr ""
-#: models_treatments.py:508
+#: models_treatments.py:510
msgid "Can change own Treatment request"
msgstr ""
-#: models_treatments.py:510
+#: models_treatments.py:512
msgid "Can delete own Treatment request"
msgstr ""
-#: models_treatments.py:571
+#: models_treatments.py:574
msgid "Treatment documentation"
msgstr ""
-#: models_treatments.py:572
+#: models_treatments.py:575
msgid "Treament documentations"
msgstr ""
#: models_treatments.py:588
+msgid "Treatment file"
+msgstr ""
+
+#: models_treatments.py:592
msgid "Treatment request documentation"
msgstr ""
-#: models_treatments.py:589
+#: models_treatments.py:593
msgid "Treatment request documentations"
msgstr ""
-#: views.py:125
+#: views.py:138
msgid "New find"
msgstr ""
-#: views.py:139
+#: views.py:167
msgid "Find modification"
msgstr ""
-#: views.py:154
+#: views.py:189
msgid "Find deletion"
msgstr ""
-#: views.py:159
+#: views.py:194
msgid "Find: source search"
msgstr ""
-#: views.py:167
+#: views.py:202
msgid "Find: new source"
msgstr ""
-#: views.py:175
+#: views.py:210
msgid "Find: source modification"
msgstr ""
-#: views.py:190
+#: views.py:225
msgid "Find: source deletion"
msgstr ""
-#: views.py:204
+#: views.py:239
msgid "New basket"
msgstr ""
-#: views.py:223
+#: views.py:258
msgid "Manage items in basket"
msgstr ""
-#: views.py:243
+#: views.py:278
msgid "Manage basket"
msgstr ""
-#: views.py:331
+#: views.py:369
msgid "Delete basket"
msgstr ""
-#: views.py:381
+#: views.py:419
msgid "New treatment"
msgstr ""
-#: views.py:389 views.py:481
+#: views.py:427 views.py:519
msgid "Modify"
msgstr ""
-#: views.py:406
+#: views.py:444
msgid "Treatment deletion"
msgstr ""
-#: views.py:413
+#: views.py:451
msgid "Treatment: search administrative act"
msgstr ""
-#: views.py:422
+#: views.py:460
msgid "Treatment: new administrative act"
msgstr ""
-#: views.py:432
+#: views.py:470
msgid "Treatment: administrative act modification"
msgstr ""
-#: views.py:441
+#: views.py:479
msgid "Treatment: administrative act deletion"
msgstr ""
-#: views.py:474
+#: views.py:512
msgid "New treatment request"
msgstr ""
-#: views.py:497
+#: views.py:535
msgid "Treatment request deletion"
msgstr ""
-#: views.py:504
+#: views.py:542
msgid "Treatment request: search administrative act"
msgstr ""
-#: views.py:514
+#: views.py:552
msgid "Treatment request: new administrative act"
msgstr ""
-#: views.py:524
+#: views.py:562
msgid "Treatment request: administrative act modification"
msgstr ""
-#: views.py:533
+#: views.py:571
msgid "Treatment request: administrative act deletion"
msgstr ""
-#: views.py:559
+#: views.py:597
msgid "Treatment: source search"
msgstr ""
-#: views.py:574
+#: views.py:612
msgid "Treatment: source modification"
msgstr ""
-#: views.py:589
+#: views.py:627
msgid "Treatment: source deletion"
msgstr ""
-#: views.py:602
+#: views.py:640
msgid "Treatment request: source search"
msgstr ""
-#: views.py:618
+#: views.py:656
msgid "Treatment request: source modification"
msgstr ""
-#: views.py:636
+#: views.py:674
msgid "Treatment request: source deletion"
msgstr ""
-#: wizards.py:63 wizards.py:195
+#: wizards.py:63 wizards.py:199
msgid "Operation"
msgstr ""
-#: templates/ishtar/sheet_find.html:24
-msgid "Creation:"
+#: templates/ishtar/sheet_find.html:25
+msgid "Administrative index"
msgstr ""
-#: templates/ishtar/sheet_find.html:31
-msgid "Modification:"
-msgstr ""
-
-#: templates/ishtar/sheet_find.html:79
+#: templates/ishtar/sheet_find.html:67
msgid "Warehouse"
msgstr ""
-#: templates/ishtar/sheet_find.html:96 templates/ishtar/sheet_find.html:138
+#: templates/ishtar/sheet_find.html:84 templates/ishtar/sheet_find.html:126
msgid "Year - index"
msgstr ""
-#: templates/ishtar/sheet_find.html:100 templates/ishtar/sheet_find.html:142
+#: templates/ishtar/sheet_find.html:88 templates/ishtar/sheet_find.html:130
msgid "Related finds (max. 15 displayed)"
msgstr ""
-#: templates/ishtar/sheet_find.html:128
+#: templates/ishtar/sheet_find.html:116
msgid "Export as CSV"
msgstr ""
-#: templates/ishtar/sheet_find.html:128 templates/ishtar/sheet_find.html:171
+#: templates/ishtar/sheet_find.html:116 templates/ishtar/sheet_find.html:159
msgid "CSV"
msgstr ""
-#: templates/ishtar/sheet_find.html:176
+#: templates/ishtar/sheet_find.html:164
msgid "Associated base finds"
msgstr ""
-#: templates/ishtar/sheet_find.html:208
+#: templates/ishtar/sheet_find.html:171
+msgid "Internal ID"
+msgstr ""
+
+#: templates/ishtar/sheet_find.html:203
msgid "Coordinates:"
msgstr ""
-#: templates/ishtar/sheet_find.html:210
+#: templates/ishtar/sheet_find.html:205
msgid "X:"
msgstr ""
-#: templates/ishtar/sheet_find.html:211
+#: templates/ishtar/sheet_find.html:206
msgid "Y:"
msgstr ""
-#: templates/ishtar/sheet_find.html:212
+#: templates/ishtar/sheet_find.html:207
msgid "Z:"
msgstr ""
-#: templates/ishtar/sheet_find.html:215
+#: templates/ishtar/sheet_find.html:210
msgid "SRID:"
msgstr ""
-#: templates/ishtar/sheet_find.html:231
+#: templates/ishtar/sheet_find.html:227
msgid "Title"
msgstr ""
-#: templates/ishtar/sheet_find.html:233
+#: templates/ishtar/sheet_find.html:229
msgid "Authors"
msgstr ""
-#: templates/ishtar/sheet_find.html:234
+#: templates/ishtar/sheet_find.html:230
msgid "Link"
msgstr ""
@@ -1251,6 +1293,10 @@ msgstr ""
msgid "Find source"
msgstr ""
+#: templates/ishtar/sheet_findsource.html:11
+msgid "Related find"
+msgstr ""
+
#: templates/ishtar/sheet_treatment.html:20
msgctxt "Treatment"
msgid "Closed"
@@ -1269,6 +1315,16 @@ msgstr ""
msgid "Related operations"
msgstr ""
+#: templates/ishtar/sheet_treatment.html:60
+#: templates/ishtar/sheet_treatmentfile.html:51
+msgid "Associated documents"
+msgstr ""
+
+#: templates/ishtar/sheet_treatment.html:65
+#: templates/ishtar/sheet_treatmentfile.html:56
+msgid "Administrative acts"
+msgstr ""
+
#: templates/ishtar/sheet_treatmentfile.html:16
msgctxt "Treatment request"
msgid "Closed"
@@ -1283,6 +1339,14 @@ msgstr ""
msgid "Treatment request source"
msgstr ""
+#: templates/ishtar/sheet_treatmentfilesource.html:11
+msgid "Related treatment request"
+msgstr ""
+
#: templates/ishtar/sheet_treatmentsource.html:4
msgid "Treatment source"
msgstr ""
+
+#: templates/ishtar/sheet_treatmentsource.html:11
+msgid "Related treatment"
+msgstr ""
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index 5c28d1a69..c54fd1ed9 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -481,17 +481,17 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
CHECK_DICT = dict(CHECK_CHOICES)
SHOW_URL = 'show-find'
SLUG = 'find'
- TABLE_COLS = ['label', 'material_types__label', 'datings__period__label',
- 'base_finds__context_record__parcel__town',
- 'base_finds__context_record__operation__year',
- 'base_finds__context_record__operation__operation_code',
+ TABLE_COLS = ['label', 'base_finds__context_record__parcel__town',
+ 'base_finds__context_record__operation__common_name',
+ 'base_finds__context_record__parcel',
+ 'base_finds__context_record__label',
+ 'material_types__label', 'object_types',
+ 'datings__period__label',
'container__cached_label',
- 'base_finds__batch',
- 'base_finds__context_record__parcel__town',
- 'base_finds__context_record__parcel', ]
+ 'base_finds__batch', ]
if settings.COUNTRY == 'fr':
TABLE_COLS.insert(
- 6, 'base_finds__context_record__operation__code_patriarche')
+ 2, 'base_finds__context_record__operation__code_patriarche')
TABLE_COLS_FOR_OPE = [
'base_finds__cache_short_id',
'base_finds__cache_complete_id',
@@ -502,8 +502,26 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
'base_finds__context_record__parcel__town',
'base_finds__context_record__parcel', ]
COL_LABELS = {
- 'datings__period__label': _(u"Periods"),
+ 'base_finds__context_record__label': _(u"Context record"),
+ 'base_finds__cache_short_id': _(u"Base find - Short ID"),
+ 'base_finds__cache_complete_id': _(u"Base find - Complete ID"),
+ 'base_finds__context_record__operation__code_patriarche': _(
+ u"Operation (code)"
+ ),
+ 'base_finds__context_record__parcel__town': _(u"Town"),
+ 'base_finds__context_record__operation__common_name': _(
+ u"Operation (name)"
+ ),
+ 'base_finds__context_record__parcel': _(u"Parcel"),
+ 'base_finds__batch':_(u"Batch"),
+ 'base_finds__comment': _(u"Base find - Comment"),
+ 'base_finds__description': _(u"Base find - Description"),
+ 'base_finds__topographic_localisation': _(u"Base find - "
+ u"Topographic localisation"),
+ 'base_finds__special_interest': _(u"Base find - Special interest"),
+ 'base_finds__discovery_date': _(u"Base find - Discovery date"),
'container__cached_label': _(u"Container"),
+ 'datings__period__label': _(u"Periods"),
'material_types__label': _(u"Material types"),
}
@@ -513,16 +531,6 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
'base_finds__topographic_localisation',
'base_finds__special_interest',
'base_finds__discovery_date']
- EXTRA_FULL_FIELDS_LABELS = {
- 'base_finds__cache_short_id': _(u"Base find - Short ID"),
- 'base_finds__cache_complete_id': _(u"Base find - Complete ID"),
- 'base_finds__comment': _(u"Base find - Comment"),
- 'base_finds__description': _(u"Base find - Description"),
- 'base_finds__topographic_localisation': _(u"Base find - "
- u"Topographic localisation"),
- 'base_finds__special_interest': _(u"Base find - Special interest"),
- 'base_finds__discovery_date': _(u"Base find - Discovery date"),
- }
ATTRS_EQUIV = {'get_first_base_find': 'base_finds'}
# search parameters
@@ -563,6 +571,10 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
'basket': 'basket',
'cached_label': 'cached_label__icontains',
'image__isnull': 'image__isnull',
+ 'container__location': 'container__location__pk',
+ 'container__responsible': 'container__responsible__pk',
+ 'container__index': 'container__index',
+ 'container__reference': 'container__reference',
}
EXTRA_REQUEST_KEYS.update(
dict(
diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py
index 3e9077a48..4a453f538 100644
--- a/archaeological_finds/models_treatments.py
+++ b/archaeological_finds/models_treatments.py
@@ -88,6 +88,8 @@ class Treatment(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
COL_LABELS = {
"downstream_cached_label": _(u"Downstream find"),
"upstream_cached_label": _(u"Upstream find"),
+ "treatment_types__label": _(u"Type"),
+ "treatment_state__label": _(u"State"),
}
IMAGE_PREFIX = 'treatment'
# extra keys than can be passed to save method
@@ -285,7 +287,7 @@ class AbsFindTreatments(models.Model):
treatment_nb = models.IntegerField(_(u"Order"))
TABLE_COLS = ["treatment__" + col for col in Treatment.TABLE_COLS] + \
['treatment_nb']
- EXTRA_FULL_FIELDS_LABELS = {
+ COL_LABELS = {
'treatment__treatment_type': _(u"Treatment type"),
'treatment__start_date': _(u"Start date"),
'treatment__end_date': _(u"End date"),
@@ -565,6 +567,7 @@ class TreatmentSource(Source):
Treatment, verbose_name=_(u"Treatment"), related_name="source")
BOOL_FIELDS = ['duplicate']
TABLE_COLS = ['treatment__cached_label'] + Source.TABLE_COLS
+ COL_LABELS = {'treatment__cached_label': _(u"Treatment")}
SHOW_URL = 'show-treatmentsource'
class Meta:
@@ -582,6 +585,7 @@ class TreatmentFileSource(Source):
related_name="source")
BOOL_FIELDS = ['duplicate']
TABLE_COLS = ['treatment_file__cached_label'] + Source.TABLE_COLS
+ COL_LABELS = {'treatment_file__cached_label': _(u"Treatment file")}
SHOW_URL = 'show-treatmentfilesource'
class Meta:
diff --git a/archaeological_finds/templates/ishtar/sheet_find.html b/archaeological_finds/templates/ishtar/sheet_find.html
index b088f3161..912bf1b93 100644
--- a/archaeological_finds/templates/ishtar/sheet_find.html
+++ b/archaeological_finds/templates/ishtar/sheet_find.html
@@ -15,27 +15,15 @@
<p class='window-refs'>{% for base_find in item.base_finds.all %}{% if forloop.counter0 %} &ndash; {% endif %}{{base_find.short_id}}{% endfor %}</p>
<p class="window-refs">{{ item.administrative_index|default:"" }}</p>
<p class="window-refs">{{ item.contextrecord|default:"" }}</p>
-
+{% include "ishtar/blocks/sheet_external_id.html" %}
<ul class='form-flex'>
-{% field_li "Previous ID" item.previous_id %}
-
- <li><label>{%trans "Creation:"%}</label>
- <span class='value'>
- {{item.history_creator.ishtaruser.person}}<br/>
- <small><em>{{item.history_creation_date|date:"DATETIME_FORMAT"}}</em></small>
- </span>
- </li>
- {% if item.history_creation_date != item.last_edition_date %}
- <li><label>{%trans "Modification:"%}</label>
- <span class='value'>
- {{item.history_modifier.ishtaruser.person}}<br/>
- <small><em>{% firstof item.history_date|date:"DATETIME_FORMAT" item.history.all.0.history_date|date:"DATETIME_FORMAT" %}</em></small>
- </span>
- </li>
- {% endif %}
-{% field_li "Administrative index" item.administrative_index %}
+ {% field_li "Previous ID" item.previous_id %}
+
+ {% include "ishtar/blocks/sheet_creation_section.html" %}
+ {% trans "Administrative index" as admin_index_label %}
+ {% field_li admin_index_label item.administrative_index %}
{% field_li_multiple "Material types" item.material_types %}
{% field_li "Dating" item.dating %}
{% field_li "Length (cm)" item.length %}
@@ -154,7 +142,7 @@
</a>
</td>
<td class='string'>{{ treatment.year }} - {{treatment.index}}</td>
- <td class='string'>{{ treatment.label }}</td>
+ <td class='string'>{{ treatment.label|default_if_none:"-" }}</td>
<td class='string'>{{ treatment.treatment_types_lbl }}</td>
<td class='string'>{{ treatment.treatment_state|default_if_none:"-" }}</td>
<td class='item-list'>{% for item in items %}<span>{{item}} {{ item|link_to_window}}</span>{% endfor %}</td>
@@ -176,9 +164,16 @@
<h3>{% trans "Associated base finds"%}</h3>
{% for base_find in item.base_finds.all %}
+<p class='window-refs'>{{base_find.complete_id }}</p>
+<p class='window-refs'>{{base_find.short_id }}</p>
+{% if base_find.external_id %}
+<p class='window-refs external-id'>
+ <small title="{% trans 'Internal ID' %}">
+ <i class="fa fa-key" aria-hidden="true"></i>
+ {{base_find.external_id|default:''}}
+ </small>
+</p>{% endif %}
<ul class='form-flex'>
-{% field_li "Complete ID" base_find.complete_id %}
-{% field_li "Short ID" base_find.short_id %}
{% with item.history_creation_date|date:"SHORT_DATETIME_FORMAT" as creation_date %}
{% with item.history_creator.ishtaruser.full_label|add:"<br/><i>"|add:creation_date|add:"</i>" as creator %}
{% field_li "Created by" creator|safe %}
@@ -228,6 +223,7 @@
<table id='{{window_id}}-docs'>
<caption>{%trans "Documents"%}</caption>
<tr>
+ <th>&nbsp;</th>
<th>{% trans "Title" %}</th>
<th>{% trans "Type" %}</th>
<th>{% trans "Authors" %}</th>
@@ -235,8 +231,11 @@
</tr>
{% for doc in item.source.all %}
<tr>
+ <td><a class="display_details" href="#"
+ onclick="load_window('{% url 'show-findsource' doc.id %}/');"><i class="fa fa-info-circle" aria-hidden="true"></i>
+ </a></td>
<td class='string'>{{ doc.title }}</td>
- <td class='string'>{{doc.source_type}}</td>
+ <td class='string'>{{ doc.source_type }}</td>
<td class='string'>{{ doc.authors.all|join:", " }}</td>
<td class='string'>{% if doc.associated_url %}<a href='{{doc.associated_url}}' target="_blank">{{doc.associated_url}}</a>{% endif %}</td>
</tr>
diff --git a/archaeological_finds/templates/ishtar/sheet_findsource.html b/archaeological_finds/templates/ishtar/sheet_findsource.html
index 69d14d161..fedb20911 100644
--- a/archaeological_finds/templates/ishtar/sheet_findsource.html
+++ b/archaeological_finds/templates/ishtar/sheet_findsource.html
@@ -8,5 +8,6 @@
{% endblock %}
{% block related %}
-{% field "Related find" item.owner '' item.owner|link_to_window %}
+{% trans "Related find" as related_item_label %}
+{% field related_item_label item.owner '' item.owner|link_to_window %}
{% endblock %}
diff --git a/archaeological_finds/templates/ishtar/sheet_treatment.html b/archaeological_finds/templates/ishtar/sheet_treatment.html
index 633fa1829..9d6c75425 100644
--- a/archaeological_finds/templates/ishtar/sheet_treatment.html
+++ b/archaeological_finds/templates/ishtar/sheet_treatment.html
@@ -1,10 +1,10 @@
{% extends "ishtar/sheet.html" %}
-{% load i18n window_field from_dict link_to_window window_tables window_header humanize %}
+{% load i18n window_field from_dict link_to_window window_tables window_ope_tables window_header humanize %}
{% load url from future %}
{% block head_title %}{% trans "Treatment" %}{% endblock %}
{% block content %}
-{% window_nav item window_id 'show-treatment' 'treatment_modify' %}
+{% window_nav item window_id 'show-treatment' 'treatment_modify' 'show-historized-treatment' 'revert-treatment' previous next 1 %}
{% if item.image %}
<a href='{{item.image.url}}' rel="prettyPhoto" title="{{item.label}}" class='photo'><img src='{{item.thumbnail.url}}'/></a>
@@ -56,5 +56,14 @@
{% trans "Related operations" as related_operations %}
{% dynamic_table_document related_operations 'operations' 'related_treatment' item.pk 'TABLE_COLS' output %}
+{% if item.source.count %}
+{% trans "Associated documents" as associated_docs %}
+{% dynamic_table_document associated_docs 'treatments_docs' 'treatment' item.pk '' output %}
+{% endif %}
+
+{% if item.administrative_act.count %}
+{% trans "Administrative acts" as admact_lbl %}
+{% table_administrativact admact_lbl item.administrative_act.all %}
+{% endif %}
{% endblock %}
diff --git a/archaeological_finds/templates/ishtar/sheet_treatmentfile.html b/archaeological_finds/templates/ishtar/sheet_treatmentfile.html
index 097f5defd..b84f60883 100644
--- a/archaeological_finds/templates/ishtar/sheet_treatmentfile.html
+++ b/archaeological_finds/templates/ishtar/sheet_treatmentfile.html
@@ -1,10 +1,10 @@
{% extends "ishtar/sheet.html" %}
-{% load i18n window_field from_dict link_to_window window_tables window_header humanize %}
+{% load i18n window_field from_dict link_to_window window_tables window_ope_tables window_header humanize %}
{% load url from future %}
{% block head_title %}{% trans "Treatment request" %}{% endblock %}
{% block content %}
-{% window_nav item window_id 'show-treatmentfile' 'treatmentfile_modify' %}
+{% window_nav item window_id 'show-treatmentfile' 'treatmentfile_modify' 'show-historized-treatmentfile' 'revert-treatmentfile' previous next 1 %}
<p class="window-refs">{{ item.name|default:"" }}</p>
{% if item.internal_reference %}
@@ -42,9 +42,19 @@
{% field "Contact" item.applicant.address_lbl %}
{% endif %}
-{% trans "Treatments" as treatments %}
{% if item.treatments.count %}
+{% trans "Treatments" as treatments %}
{% dynamic_table_document treatments 'treatments' 'file' item.pk '' output '' 'treatment' %}
{% endif %}
+{% if item.source.count %}
+{% trans "Associated documents" as associated_docs %}
+{% dynamic_table_document associated_docs 'treatmentfiles_docs' 'treatment_file' item.pk '' output %}
+{% endif %}
+
+{% if item.administrative_act.count %}
+{% trans "Administrative acts" as admact_lbl %}
+{% table_administrativact admact_lbl item.administrative_act.all %}
+{% endif %}
+
{% endblock %}
diff --git a/archaeological_finds/templates/ishtar/sheet_treatmentfilesource.html b/archaeological_finds/templates/ishtar/sheet_treatmentfilesource.html
index e558296a8..17cc14b5b 100644
--- a/archaeological_finds/templates/ishtar/sheet_treatmentfilesource.html
+++ b/archaeological_finds/templates/ishtar/sheet_treatmentfilesource.html
@@ -8,5 +8,6 @@
{% endblock %}
{% block related %}
-{% field "Related treatment request" item.owner '' item.owner|link_to_window %}
+{% trans "Related treatment request" as related_item_label %}
+{% field related_item_label item.owner '' item.owner|link_to_window %}
{% endblock %}
diff --git a/archaeological_finds/templates/ishtar/sheet_treatmentsource.html b/archaeological_finds/templates/ishtar/sheet_treatmentsource.html
index 0825810ad..70e69c704 100644
--- a/archaeological_finds/templates/ishtar/sheet_treatmentsource.html
+++ b/archaeological_finds/templates/ishtar/sheet_treatmentsource.html
@@ -8,5 +8,6 @@
{% endblock %}
{% block related %}
-{% field "Related treatment" item.owner '' item.owner|link_to_window %}
+{% trans "Related treatment" as related_item_label %}
+{% field related_item_label item.owner '' item.owner|link_to_window %}
{% endblock %}
diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py
index 4a8dec030..06d505896 100644
--- a/archaeological_finds/urls.py
+++ b/archaeological_finds/urls.py
@@ -267,6 +267,8 @@ urlpatterns += patterns(
name=models.FindSource.SHOW_URL),
url(r'^show-find/basket-(?P<pk>.+)/(?P<type>.+)?$', 'show_findbasket',
name='show-findbasket'),
+ url(r'^display-find/basket-(?P<pk>.+)/$', 'display_findbasket',
+ name='display-findbasket'),
url(r'^show-find(?:/(?P<pk>.+))?/(?P<type>.+)?$', 'show_find',
name=models.Find.SHOW_URL),
url(r'^display-find/(?P<pk>.+)/$', 'display_find',
@@ -282,6 +284,10 @@ urlpatterns += patterns(
kwargs={'full': 'shortcut'}),
url(r'^show-treatment(?:/(?P<pk>.+))?/(?P<type>.+)?$', 'show_treatment',
name=models.Treatment.SHOW_URL),
+ url(r'show-historized-treatment/(?P<pk>.+)?/(?P<date>.+)?$',
+ 'show_treatment', name='show-historized-treatment'),
+ url(r'^revert-treatment/(?P<pk>.+)/(?P<date>.+)$',
+ 'revert_treatment', name='revert-treatment'),
url(r'get-treatmentfile/(?P<type>.+)?$',
'get_treatmentfile', name='get-treatmentfile'),
url(r'get-treatmentfile-shortcut/(?P<type>.+)?$',
@@ -290,6 +296,10 @@ urlpatterns += patterns(
url(r'^show-treatmentfile(?:/(?P<pk>.+))?/(?P<type>.+)?$',
'show_treatmentfile',
name=models.TreatmentFile.SHOW_URL),
+ url(r'show-historized-treatmentfile/(?P<pk>.+)?/(?P<date>.+)?$',
+ 'show_treatmentfile', name='show-historized-treatmentfile'),
+ url(r'^revert-treatmentfile/(?P<pk>.+)/(?P<date>.+)$',
+ 'revert_treatmentfile', name='revert-treatmentfile'),
# url(r'show-treatmentfile(?:/(?P<pk>.+))?/(?P<type>.+)?$',
# 'show_treatmentfile',
# name=models.TreatmentFile.SHOW_URL),
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py
index 084f15d13..03094cbb0 100644
--- a/archaeological_finds/views.py
+++ b/archaeological_finds/views.py
@@ -28,7 +28,7 @@ from django.utils.translation import ugettext_lazy as _
from django.views.generic import TemplateView
from django.views.generic.edit import CreateView, FormView
-from ishtar_common.models import IshtarUser
+from ishtar_common.models import IshtarUser, get_current_profile
from archaeological_operations.models import AdministrativeAct
from ishtar_common.forms import FinalForm
@@ -58,6 +58,7 @@ get_find_for_treatment = get_item(
own_table_cols=models.Find.TABLE_COLS_FOR_OPE, base_request={})
show_treatment = show_item(models.Treatment, 'treatment')
+revert_treatment = revert_item(models.Treatment)
get_treatment = get_item(models.Treatment, 'get_treatment', 'treatment')
get_administrativeacttreatment = get_item(
@@ -66,6 +67,7 @@ get_administrativeacttreatment = get_item(
base_request={"treatment__pk__isnull": False})
show_treatmentfile = show_item(models.TreatmentFile, 'treatmentfile')
+revert_treatmentfile = revert_item(models.TreatmentFile)
get_treatmentfile = get_item(models.TreatmentFile, 'get_treatmentfile',
'treatmentfile')
@@ -108,10 +110,21 @@ show_findsource = show_item(models.FindSource, 'findsource')
get_findsource = get_item(models.FindSource, 'get_findsource', 'findsource')
show_find = show_item(models.Find, 'find')
-display_find = display_item(models.Find, 'find')
+display_find = display_item(models.Find)
revert_find = revert_item(models.Find)
show_findbasket = show_item(models.FindBasket, 'findbasket')
+display_findbasket = display_item(models.FindBasket,
+ show_url='show-find/basket-')
+
+
+def check_warehouse_module(self):
+ return get_current_profile().warehouse
+
+
+def check_not_warehouse_module(self):
+ return not check_warehouse_module(self)
+
find_creation_steps = [
('selecrecord-find_creation', RecordFormSelectionTable),
@@ -125,17 +138,32 @@ find_creation_wizard = FindWizard.as_view(
label=_(u"New find"),
url_name='find_creation',)
+find_search_condition_dict = {
+ 'general-find_search': check_not_warehouse_module,
+ 'generalwarehouse-find_search': check_warehouse_module,
+}
+
find_search_wizard = SearchWizard.as_view([
- ('general-find_search', FindFormSelection)],
+ ('general-find_search', FindFormSelection),
+ ('generalwarehouse-find_search', FindFormSelectionWarehouseModule)],
label=_(u"Find search"),
- url_name='find_search',)
+ url_name='find_search',
+ condition_dict=find_search_condition_dict
+)
+
+find_modification_condition_dict = {
+ 'selec-find_modification': check_not_warehouse_module,
+ 'selecw-find_modification': check_warehouse_module,
+}
find_modification_wizard = FindModificationWizard.as_view([
('selec-find_modification', FindFormSelection),
+ ('selecw-find_modification', FindFormSelectionWarehouseModule),
('selecrecord-find_modification', RecordFormSelection),
('find-find_modification', FindForm),
('dating-find_modification', DatingFormSet),
('final-find_modification', FinalForm)],
+ condition_dict=find_modification_condition_dict,
label=_(u"Find modification"),
url_name='find_modification',)
@@ -148,9 +176,16 @@ def find_modify(request, pk):
reverse('find_modification',
kwargs={'step': 'selecrecord-find_modification'}))
+find_deletion_condition_dict = {
+ 'selec-find_deletion': check_not_warehouse_module,
+ 'selecw-find_deletion': check_warehouse_module,
+}
+
find_deletion_wizard = FindDeletionWizard.as_view([
('selec-find_deletion', FindFormSelection),
+ ('selecw-find_deletion', FindFormSelectionWarehouseModule),
('final-find_deletion', FindDeletionForm)],
+ condition_dict=find_deletion_condition_dict,
label=_(u"Find deletion"),
url_name='find_deletion',)
@@ -252,7 +287,10 @@ class SelectItemsInBasket(IshtarMixin, LoginRequiredMixin, TemplateView):
except models.FindBasket.DoesNotExist:
raise PermissionDenied
context['basket'] = self.basket
- context['form'] = MultipleFindFormSelection()
+ if get_current_profile().warehouse:
+ context['form'] = MultipleFindFormSelectionWarehouseModule()
+ else:
+ context['form'] = MultipleFindFormSelection()
context['add_url'] = reverse('add_iteminbasket')
context['list_url'] = reverse('list_iteminbasket',
kwargs={'pk': self.basket.pk})
diff --git a/archaeological_finds/wizards.py b/archaeological_finds/wizards.py
index 96a83e582..43fe6262f 100644
--- a/archaeological_finds/wizards.py
+++ b/archaeological_finds/wizards.py
@@ -74,7 +74,11 @@ class FindWizard(Wizard):
class FindModificationWizard(FindWizard):
modification = True
- filter_owns = {'selec-find_modification': ['pk']}
+ main_item_select_keys = ('selec-', 'selecw-')
+ filter_owns = {
+ 'selec-find_modification': ['pk'],
+ 'selecw-find_modification': ['pk'],
+ }
class FindDeletionWizard(DeletionWizard):
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py
index f9f1095be..27ab4670a 100644
--- a/archaeological_operations/forms.py
+++ b/archaeological_operations/forms.py
@@ -465,6 +465,8 @@ class OperationSelect(TableSelect):
label=_(u"Department"), choices=[])
common_name = forms.CharField(label=_(u"Name"),
max_length=30)
+ address = forms.CharField(label=_(u"Address / Locality"),
+ max_length=100)
operation_type = forms.ChoiceField(label=_(u"Operation type"),
choices=[])
end_date = forms.NullBooleanField(label=_(u"Is open?"))
@@ -746,7 +748,9 @@ class OperationFormGeneral(ManageOldType, forms.Form):
widget=OAWidget,
required=False)
common_name = forms.CharField(label=_(u"Generic name"), required=False,
- max_length=120, widget=forms.Textarea)
+ max_length=500, widget=forms.Textarea)
+ address = forms.CharField(label=_(u"Address / Locality"), required=False,
+ max_length=500, widget=forms.Textarea)
operation_type = forms.ChoiceField(label=_(u"Operation type"),
choices=[])
year = forms.IntegerField(label=_(u"Year"),
diff --git a/archaeological_operations/locale/django.pot b/archaeological_operations/locale/django.pot
index 800f6a31e..3323d638d 100644
--- a/archaeological_operations/locale/django.pot
+++ b/archaeological_operations/locale/django.pot
@@ -6,16 +6,17 @@
# Valérie-Emma Leroux <emma@iggdrasil.net>, 2016. #zanata
# Étienne Loks <etienne.loks@iggdrasil.net>, 2016. #zanata
# Valérie-Emma Leroux <emma@iggdrasil.net>, 2017. #zanata
+# Étienne Loks <etienne.loks@iggdrasil.net>, 2017. #zanata
msgid ""
msgstr ""
-#: forms.py:69 forms.py:371 forms.py:1009 forms.py:1031 forms.py:1035
-#: models.py:1221 templates/ishtar/sheet_operation.html:156
+#: forms.py:69 forms.py:371 forms.py:1013 forms.py:1035 forms.py:1039
+#: models.py:1247 templates/ishtar/sheet_operation.html:151
#: templates/ishtar/blocks/window_tables/parcels.html:10
msgid "Parcels"
msgstr ""
-#: forms.py:72 forms.py:205 forms.py:985 models.py:1207
+#: forms.py:72 forms.py:205 forms.py:989 models.py:1233
#: templates/ishtar/blocks/window_tables/parcels.html:7
#: templates/ishtar/dashboards/dashboard_operation.html:432
#: templates/ishtar/dashboards/dashboard_operation.html:446
@@ -24,22 +25,22 @@ msgstr ""
msgid "Town"
msgstr ""
-#: forms.py:74 forms.py:455 forms.py:752 forms.py:1255 models.py:272
-#: models.py:1013 models.py:1205
+#: forms.py:74 forms.py:455 forms.py:756 forms.py:1259 models.py:272
+#: models.py:1039 models.py:1231
#: templates/ishtar/blocks/window_tables/parcels.html:8
msgid "Year"
msgstr ""
-#: forms.py:77 models.py:1208
+#: forms.py:77 models.py:1234
#: templates/ishtar/blocks/window_tables/parcels.html:9
msgid "Section"
msgstr ""
-#: forms.py:80 models.py:1210
+#: forms.py:80 models.py:1236
msgid "Parcel number"
msgstr ""
-#: forms.py:82 models.py:1212 models.py:1229 models.py:1278
+#: forms.py:82 models.py:1238 models.py:1255 models.py:1304
msgid "Public domain"
msgstr ""
@@ -75,8 +76,8 @@ msgstr ""
msgid "Relation type"
msgstr ""
-#: forms.py:383 ishtar_menu.py:30 models.py:367 models.py:834 models.py:864
-#: models.py:892 models.py:995 models.py:1204 wizards.py:344 wizards.py:355
+#: forms.py:383 ishtar_menu.py:30 models.py:368 models.py:849 models.py:884
+#: models.py:917 models.py:1021 models.py:1230 wizards.py:344 wizards.py:355
#: templates/ishtar/sheet_operation.html:4
msgid "Operation"
msgstr ""
@@ -85,7 +86,7 @@ msgstr ""
msgid ":"
msgstr ""
-#: forms.py:411 forms.py:605 forms.py:1220
+#: forms.py:411 forms.py:607 forms.py:1224
msgid "You should select an operation."
msgstr ""
@@ -101,19 +102,19 @@ msgstr ""
msgid "Deleted relations"
msgstr ""
-#: forms.py:451 templates/ishtar/sheet_operation.html:95
+#: forms.py:451 templates/ishtar/sheet_operation.html:85
msgid "Relations"
msgstr ""
-#: forms.py:456 forms.py:1226 models.py:273
+#: forms.py:456 forms.py:1230 models.py:273
msgid "Numeric reference"
msgstr ""
-#: forms.py:462 forms.py:1266
+#: forms.py:462 forms.py:1270
msgid "Parcel (section/number/public domain)"
msgstr ""
-#: forms.py:465 forms.py:1269 models.py:835
+#: forms.py:465 forms.py:1273 models.py:850
#: templates/ishtar/dashboards/dashboard_operation.html:390
#: templates/ishtar/dashboards/dashboard_operation.html:411
#: templates/ishtar/dashboards/dashboard_operation.html:643
@@ -122,449 +123,454 @@ msgstr ""
msgid "Department"
msgstr ""
-#: forms.py:466 forms.py:1097 models.py:86
+#: forms.py:466 forms.py:1101 models.py:86
+#: templates/ishtar/sheet_operation.html:22
#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:8
msgid "Name"
msgstr ""
-#: forms.py:468 forms.py:672 forms.py:750 forms.py:1232 models.py:280
+#: forms.py:468 forms.py:752 models.py:334
+msgid "Address / Locality"
+msgstr ""
+
+#: forms.py:470 forms.py:674 forms.py:754 forms.py:1236 models.py:280
msgid "Operation type"
msgstr ""
-#: forms.py:470
+#: forms.py:472
msgid "Is open?"
msgstr ""
-#: forms.py:478 forms.py:782 models.py:269
+#: forms.py:480 forms.py:786 models.py:269
msgid "In charge"
msgstr ""
-#: forms.py:485 models.py:989
+#: forms.py:487 models.py:1015
msgid "Scientist in charge"
msgstr ""
-#: forms.py:487 forms.py:674 forms.py:772 models.py:267
+#: forms.py:489 forms.py:676 forms.py:776 models.py:267
msgid "Operator"
msgstr ""
-#: forms.py:496 forms.py:1102 models.py:90 models.py:282
+#: forms.py:498 forms.py:1106 models.py:90 models.py:282
#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:10
msgid "Remains"
msgstr ""
-#: forms.py:497 forms.py:1080 forms.py:1099 models.py:88 models.py:288
+#: forms.py:499 forms.py:1084 forms.py:1103 models.py:88 models.py:288
#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:9
msgid "Periods"
msgstr ""
-#: forms.py:498
+#: forms.py:500
msgid "Started before"
msgstr ""
-#: forms.py:500
+#: forms.py:502
msgid "Started after"
msgstr ""
-#: forms.py:502
+#: forms.py:504
msgid "Ended before"
msgstr ""
-#: forms.py:504
+#: forms.py:506
msgid "Ended after"
msgstr ""
-#: forms.py:507
+#: forms.py:509
msgid "Search within relations"
msgstr ""
-#: forms.py:509 forms.py:837
+#: forms.py:511 forms.py:841
msgid "Comment"
msgstr ""
-#: forms.py:510
+#: forms.py:512
msgid "Abstract (full text search)"
msgstr ""
-#: forms.py:512 forms.py:840 models.py:336
+#: forms.py:514 forms.py:844 models.py:337
msgid "Comment about scientific documentation"
msgstr ""
-#: forms.py:513 forms.py:842 models.py:348
+#: forms.py:515 forms.py:846 models.py:349
msgid "Record quality"
msgstr ""
-#: forms.py:514 forms.py:807 models.py:300
+#: forms.py:516 forms.py:811 models.py:300
msgid "Report processing"
msgstr ""
-#: forms.py:516 forms.py:845 models.py:343
+#: forms.py:518 forms.py:849 models.py:344
msgid "Virtual operation"
msgstr ""
-#: forms.py:518 forms.py:1142 forms.py:1146 models.py:94
+#: forms.py:520 forms.py:1146 forms.py:1150 models.py:94
msgid "Archaeological site"
msgstr ""
-#: forms.py:524 forms.py:1273
+#: forms.py:526 forms.py:1277
msgid "Created by"
msgstr ""
-#: forms.py:530 forms.py:1279
+#: forms.py:532 forms.py:1283
msgid "Modified by"
msgstr ""
-#: forms.py:537
+#: forms.py:539
msgid "Documentation deadline before"
msgstr ""
-#: forms.py:539
+#: forms.py:541
msgid "Documentation deadline after"
msgstr ""
-#: forms.py:541 forms.py:830 models.py:355
+#: forms.py:543 forms.py:834 models.py:356
msgid "Documentation received"
msgstr ""
-#: forms.py:543
+#: forms.py:545
msgid "Finds deadline before"
msgstr ""
-#: forms.py:545
+#: forms.py:547
msgid "Finds deadline after"
msgstr ""
-#: forms.py:547 forms.py:835 models.py:359
+#: forms.py:549 forms.py:839 models.py:360
msgid "Finds received"
msgstr ""
-#: forms.py:592 forms.py:1218 views.py:168
+#: forms.py:594 forms.py:1222 views.py:168
msgid "Operation search"
msgstr ""
-#: forms.py:636
+#: forms.py:638
msgid "Associated file"
msgstr ""
-#: forms.py:640 forms.py:933 models.py:501 models.py:891 models.py:1000
+#: forms.py:642 forms.py:937 models.py:516 models.py:916 models.py:1026
#: wizards.py:80
msgid "Archaeological file"
msgstr ""
-#: forms.py:647 forms.py:649 models.py:350
+#: forms.py:649 forms.py:651 models.py:351
msgid "Abstract"
msgstr ""
-#: forms.py:652
+#: forms.py:654
msgid "months"
msgstr ""
-#: forms.py:652
+#: forms.py:654
msgid "years"
msgstr ""
-#: forms.py:654 models.py:253
+#: forms.py:656 models.py:253
msgid "Creation date"
msgstr ""
-#: forms.py:655
+#: forms.py:657
msgid "Start of field work"
msgstr ""
-#: forms.py:657
+#: forms.py:659
msgid "All"
msgstr ""
-#: forms.py:658
+#: forms.py:660
msgid "Preventive"
msgstr ""
-#: forms.py:659
+#: forms.py:661
msgid "Research"
msgstr ""
-#: forms.py:663
+#: forms.py:665
msgid "Slicing"
msgstr ""
-#: forms.py:666
+#: forms.py:668
msgid "Department detail"
msgstr ""
-#: forms.py:668
+#: forms.py:670
msgid "Date get from"
msgstr ""
-#: forms.py:670
+#: forms.py:672
msgid "Preventive/Research"
msgstr ""
-#: forms.py:676
+#: forms.py:678
msgid "Date after"
msgstr ""
-#: forms.py:678
+#: forms.py:680
msgid "Date before"
msgstr ""
-#: forms.py:680
+#: forms.py:682
msgid "With reports"
msgstr ""
-#: forms.py:681
+#: forms.py:683
msgid "With finds"
msgstr ""
-#: forms.py:733 forms.py:1327 templates/ishtar/sheet_administrativeact.html:20
-#: templates/ishtar/sheet_operation.html:24
+#: forms.py:735 forms.py:1331 templates/ishtar/sheet_administrativeact.html:20
+#: templates/ishtar/sheet_operation.html:26
msgid "General"
msgstr ""
-#: forms.py:748 models.py:333
+#: forms.py:750 models.py:333
msgid "Generic name"
msgstr ""
-#: forms.py:757 models.py:302
+#: forms.py:761 models.py:302
msgid "Old code"
msgstr ""
-#: forms.py:760
+#: forms.py:764
msgid "Head scientist"
msgstr ""
-#: forms.py:779 models.py:332
+#: forms.py:783 models.py:332
msgid "Operator reference"
msgstr ""
-#: forms.py:793
+#: forms.py:797
msgid "Total surface (m2)"
msgstr ""
-#: forms.py:800 models.py:54 models.py:256 models.py:1417
+#: forms.py:804 models.py:54 models.py:256 models.py:1443
msgid "Start date"
msgstr ""
-#: forms.py:802 models.py:258
+#: forms.py:806 models.py:258
msgid "Excavation end date"
msgstr ""
-#: forms.py:805 models.py:259
+#: forms.py:809 models.py:259
msgid "Report delivery date"
msgstr ""
-#: forms.py:827 models.py:352
+#: forms.py:831 models.py:353
msgid "Deadline for submission of the documentation"
msgstr ""
-#: forms.py:832 models.py:357
+#: forms.py:836 models.py:358
msgid "Deadline for submission of the finds"
msgstr ""
-#: forms.py:847
+#: forms.py:851
msgid "Image"
msgstr ""
-#: forms.py:848
+#: forms.py:852
#, python-format
msgid ""
"<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</"
"p>"
msgstr ""
-#: forms.py:886
+#: forms.py:890
msgid ""
"If you want to set an excavation end date you have to provide a start date."
msgstr ""
-#: forms.py:891
+#: forms.py:895
msgid "The excavation end date cannot be before the start date."
msgstr ""
-#: forms.py:919
+#: forms.py:923
#, python-format
msgid ""
"Operation code already exists for year: %(year)d - use a value bigger than "
"%(last_val)d"
msgstr ""
-#: forms.py:923
+#: forms.py:927
msgid "Bad operation code"
msgstr ""
-#: forms.py:929 models.py:516
+#: forms.py:933 models.py:531 models.py:879
msgid "Operation code"
msgstr ""
-#: forms.py:955
+#: forms.py:959
msgid "Preventive informations - excavation"
msgstr ""
-#: forms.py:956 models.py:286
+#: forms.py:960 models.py:286
#: templates/ishtar/dashboards/dashboard_operation.html:701
msgid "Cost (euros)"
msgstr ""
-#: forms.py:957 models.py:291
+#: forms.py:961 models.py:291
msgid "Scheduled man-days"
msgstr ""
-#: forms.py:959 models.py:294
+#: forms.py:963 models.py:294
msgid "Optional man-days"
msgstr ""
-#: forms.py:961 models.py:297
+#: forms.py:965 models.py:297
msgid "Effective man-days"
msgstr ""
-#: forms.py:971
+#: forms.py:975
msgid "Preventive informations - diagnostic"
msgstr ""
-#: forms.py:974 models.py:316
+#: forms.py:978 models.py:316
msgid "Prescription on zoning"
msgstr ""
-#: forms.py:976 models.py:319
+#: forms.py:980 models.py:319
msgid "Prescription on large area"
msgstr ""
-#: forms.py:979 models.py:321
+#: forms.py:983 models.py:321
msgid "Prescription on geoarchaeological context"
msgstr ""
-#: forms.py:983 forms.py:1005 models.py:284 models.py:1023
+#: forms.py:987 forms.py:1009 models.py:284 models.py:1049
msgid "Towns"
msgstr ""
-#: forms.py:1012 models.py:1220 models.py:1415
+#: forms.py:1016 models.py:1246 models.py:1441
msgid "Parcel"
msgstr ""
-#: forms.py:1064 models.py:46
+#: forms.py:1068 models.py:46
msgid "Remain types"
msgstr ""
-#: forms.py:1068 models.py:45
+#: forms.py:1072 models.py:45
msgid "Remain type"
msgstr ""
-#: forms.py:1084 templates/ishtar/sheet_operation.html:176
-#: templates/ishtar/sheet_operation.html:207
+#: forms.py:1088 templates/ishtar/sheet_operation.html:171
+#: templates/ishtar/sheet_operation.html:202
msgid "Period"
msgstr ""
-#: forms.py:1096 models.py:85
+#: forms.py:1100 models.py:85
msgid "Reference"
msgstr ""
-#: forms.py:1125
+#: forms.py:1129
msgid "This reference already exists."
msgstr ""
-#: forms.py:1157 models.py:95 models.py:340
-#: templates/ishtar/sheet_operation.html:106
+#: forms.py:1161 models.py:95 models.py:341
+#: templates/ishtar/sheet_operation.html:96
msgid "Archaeological sites"
msgstr ""
-#: forms.py:1161
+#: forms.py:1165
msgid "Associated archaeological sites"
msgstr ""
-#: forms.py:1167 ishtar_menu.py:34 ishtar_menu.py:64 ishtar_menu.py:93
+#: forms.py:1171 ishtar_menu.py:34 ishtar_menu.py:64 ishtar_menu.py:93
msgid "Search"
msgstr ""
-#: forms.py:1172
+#: forms.py:1176
msgid "Would you like to close this operation?"
msgstr ""
-#: forms.py:1177
+#: forms.py:1181
msgid "Would you like to delete this operation?"
msgstr ""
-#: forms.py:1186 forms.py:1256 forms.py:1392 models.py:866 models.py:980
+#: forms.py:1190 forms.py:1260 forms.py:1396 models.py:886 models.py:1006
msgid "Index"
msgstr ""
-#: forms.py:1212
+#: forms.py:1216
#, python-format
msgid ""
"Index already exists for operation: %(operation)s - use a value bigger than "
"%(last_val)d"
msgstr ""
-#: forms.py:1224
+#: forms.py:1228
msgid "Operation's year"
msgstr ""
-#: forms.py:1231
+#: forms.py:1235
msgid "Operation's town"
msgstr ""
-#: forms.py:1244
+#: forms.py:1248
msgid "Documentation search"
msgstr ""
-#: forms.py:1246
+#: forms.py:1250
msgid "You should select a document."
msgstr ""
-#: forms.py:1263 forms.py:1330 models.py:905 models.py:974
+#: forms.py:1267 forms.py:1334 models.py:930 models.py:1000
msgid "Act type"
msgstr ""
-#: forms.py:1264 forms.py:1462
+#: forms.py:1268 forms.py:1466
msgid "Indexed?"
msgstr ""
-#: forms.py:1270 forms.py:1335 models.py:1014
+#: forms.py:1274 forms.py:1339 models.py:1040
#: templates/ishtar/blocks/window_tables/administrativacts.html:10
msgid "Object"
msgstr ""
-#: forms.py:1307 views.py:333
+#: forms.py:1311 views.py:333
msgid "Administrative act search"
msgstr ""
-#: forms.py:1322 forms.py:1420 forms.py:1487
+#: forms.py:1326 forms.py:1424 forms.py:1491
msgid "You should select an administrative act."
msgstr ""
-#: forms.py:1338 models.py:1011
+#: forms.py:1342 models.py:1037
msgid "Signature date"
msgstr ""
-#: forms.py:1380
+#: forms.py:1384
#, python-format
msgid ""
"This index already exists for year: %(year)d - use a value bigger than "
"%(last_val)d"
msgstr ""
-#: forms.py:1384
+#: forms.py:1388
msgid "Bad index"
msgstr ""
-#: forms.py:1397
+#: forms.py:1401
msgid "Would you like to delete this administrative act?"
msgstr ""
-#: forms.py:1402
+#: forms.py:1406
msgid "Template"
msgstr ""
-#: forms.py:1426 forms.py:1430
+#: forms.py:1430 forms.py:1434
msgid "This document is not intended for this type of act."
msgstr ""
-#: forms.py:1448
+#: forms.py:1452
msgid "Doc generation"
msgstr ""
-#: forms.py:1450
+#: forms.py:1454
msgid "Generate the associated doc?"
msgstr ""
-#: forms.py:1471 ishtar_menu.py:123 views.py:386
+#: forms.py:1475 ishtar_menu.py:123 views.py:386
msgctxt "admin act register"
msgid "Register"
msgstr ""
@@ -585,7 +591,7 @@ msgstr ""
msgid "Deletion"
msgstr ""
-#: ishtar_menu.py:59 models.py:1030
+#: ishtar_menu.py:59 models.py:1056
#: templates/ishtar/sheet_administrativeact.html:4
msgid "Administrative act"
msgstr ""
@@ -610,16 +616,16 @@ msgstr ""
msgid "General informations"
msgstr ""
-#: ishtar_menu.py:139 models.py:368
+#: ishtar_menu.py:139 models.py:369
#: templates/ishtar/dashboards/dashboard_operation.html:8
msgid "Operations"
msgstr ""
-#: models.py:53 models.py:71 models.py:1879
+#: models.py:53 models.py:71 models.py:1913
msgid "Order"
msgstr ""
-#: models.py:55 models.py:1418
+#: models.py:55 models.py:1444
msgid "End date"
msgstr ""
@@ -735,7 +741,7 @@ msgstr ""
msgid "In charge scientist"
msgstr ""
-#: models.py:277 models.py:1200
+#: models.py:277 models.py:1226
msgid "File"
msgstr ""
@@ -743,297 +749,305 @@ msgstr ""
msgid "Surface (m2)"
msgstr ""
-#: models.py:334
+#: models.py:335
msgid "General comment"
msgstr ""
-#: models.py:337
+#: models.py:338
msgid "Cached name"
msgstr ""
-#: models.py:345
+#: models.py:346
msgid ""
"If checked, it means that this operation have not been officialy registered."
msgstr ""
-#: models.py:361
+#: models.py:362
msgid "Point"
msgstr ""
-#: models.py:362
+#: models.py:363
msgid "Multi polygon"
msgstr ""
-#: models.py:370
+#: models.py:371
msgid "Can view all Operations"
msgstr ""
-#: models.py:371
+#: models.py:372
msgid "Can view own Operation"
msgstr ""
-#: models.py:372
+#: models.py:373
msgid "Can add own Operation"
msgstr ""
-#: models.py:373
+#: models.py:374
msgid "Can change own Operation"
msgstr ""
-#: models.py:374
+#: models.py:375
msgid "Can delete own Operation"
msgstr ""
-#: models.py:375
+#: models.py:376
msgid "Can close Operation"
msgstr ""
-#: models.py:404
+#: models.py:405
msgid "OPE"
msgstr ""
-#: models.py:470
+#: models.py:479
msgid "Intercommunal"
msgstr ""
-#: models.py:502
+#: models.py:517
msgid "Code patriarche"
msgstr ""
-#: models.py:542
+#: models.py:557
msgid "This operation code already exists for this year"
msgstr ""
-#: models.py:567
+#: models.py:582
msgid "Number of parcels"
msgstr ""
-#: models.py:585
+#: models.py:600
msgid "Number of administrative acts"
msgstr ""
-#: models.py:593
+#: models.py:608
msgid "Number of indexed administrative acts"
msgstr ""
-#: models.py:601
+#: models.py:616
msgid "Number of context records"
msgstr ""
-#: models.py:637
+#: models.py:652
msgid "Number of finds"
msgstr ""
-#: models.py:682
+#: models.py:697
msgid "No type"
msgstr ""
-#: models.py:713
+#: models.py:728
msgid "Number of sources"
msgstr ""
-#: models.py:755 templates/ishtar/dashboards/dashboard_operation.html:309
+#: models.py:770 templates/ishtar/dashboards/dashboard_operation.html:309
#: templates/ishtar/dashboards/dashboard_operation.html:575
#: templates/ishtar/dashboards/dashboard_operation.html:611
msgid "Mean"
msgstr ""
-#: models.py:805
+#: models.py:820
msgid "Inverse relation"
msgstr ""
-#: models.py:809
+#: models.py:824
msgid "Operation relation type"
msgstr ""
-#: models.py:810
+#: models.py:825
msgid "Operation relation types"
msgstr ""
-#: models.py:823
+#: models.py:838
msgid "Operation record relation"
msgstr ""
-#: models.py:824
+#: models.py:839
msgid "Operation record relations"
msgstr ""
-#: models.py:870
+#: models.py:878
+msgid "Operation year"
+msgstr ""
+
+#: models.py:880
+msgid "Document code"
+msgstr ""
+
+#: models.py:890
msgid "Operation documentation"
msgstr ""
-#: models.py:871
+#: models.py:891
msgid "Operation documentations"
msgstr ""
-#: models.py:874
+#: models.py:894
msgid "Can view all Operation sources"
msgstr ""
-#: models.py:876
+#: models.py:896
msgid "Can view own Operation source"
msgstr ""
-#: models.py:878
+#: models.py:898
msgid "Can add own Operation source"
msgstr ""
-#: models.py:880
+#: models.py:900
msgid "Can change own Operation source"
msgstr ""
-#: models.py:882
+#: models.py:902
msgid "Can delete own Operation source"
msgstr ""
-#: models.py:893 models.py:1005
+#: models.py:918 models.py:1031
msgid "Treatment request"
msgstr ""
-#: models.py:894 models.py:1010
+#: models.py:919 models.py:1036
msgid "Treatment"
msgstr ""
-#: models.py:896
+#: models.py:921
msgid "Intended to"
msgstr ""
-#: models.py:898
+#: models.py:923
msgid "Code"
msgstr ""
-#: models.py:901
+#: models.py:926
msgid "Associated template"
msgstr ""
-#: models.py:902
+#: models.py:927
msgid "Indexed"
msgstr ""
-#: models.py:906
+#: models.py:931
msgid "Act types"
msgstr ""
-#: models.py:978
+#: models.py:997 models.py:1077
+#: templates/ishtar/blocks/window_tables/administrativacts.html:7
+#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:7
+msgid "Ref."
+msgstr ""
+
+#: models.py:1004
msgid "Person in charge of the operation"
msgstr ""
-#: models.py:984
+#: models.py:1010
msgid "Archaeological preventive operator"
msgstr ""
-#: models.py:992
+#: models.py:1018
msgid "Signatory"
msgstr ""
-#: models.py:1020
+#: models.py:1046
msgid "Departments"
msgstr ""
-#: models.py:1021
+#: models.py:1047
msgid "Cached values get from associated departments"
msgstr ""
-#: models.py:1024
+#: models.py:1050
msgid "Cached values get from associated towns"
msgstr ""
-#: models.py:1031 templates/ishtar/sheet_operation.html:114
-#: templates/ishtar/sheet_operation.html:150
+#: models.py:1057 templates/ishtar/sheet_operation.html:104
+#: templates/ishtar/sheet_operation.html:145
msgid "Administrative acts"
msgstr ""
-#: models.py:1034
+#: models.py:1060
msgid "Can view all Administrative acts"
msgstr ""
-#: models.py:1036
+#: models.py:1062
msgid "Can view own Administrative act"
msgstr ""
-#: models.py:1038
+#: models.py:1064
msgid "Can add own Administrative act"
msgstr ""
-#: models.py:1040
+#: models.py:1066
msgid "Can change own Administrative act"
msgstr ""
-#: models.py:1042
+#: models.py:1068
msgid "Can delete own Administrative act"
msgstr ""
-#: models.py:1051
-#: templates/ishtar/blocks/window_tables/administrativacts.html:7
-#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:7
-msgid "Ref."
-msgstr ""
-
-#: models.py:1145
+#: models.py:1171
msgid "This index already exists for this year"
msgstr ""
-#: models.py:1213
+#: models.py:1239
msgid "External ID"
msgstr ""
-#: models.py:1216
+#: models.py:1242
msgid "External ID is set automatically"
msgstr ""
-#: models.py:1217
+#: models.py:1243
msgid "Address - Locality"
msgstr ""
-#: models.py:1413
+#: models.py:1439
msgid "Owner"
msgstr ""
-#: models.py:1421
+#: models.py:1447
msgid "Parcel owner"
msgstr ""
-#: models.py:1422
+#: models.py:1448
msgid "Parcel owners"
msgstr ""
-#: models.py:1448
+#: models.py:1474
msgid "Recorded"
msgstr ""
-#: models.py:1449
+#: models.py:1475
msgid "Effective"
msgstr ""
-#: models.py:1450
+#: models.py:1476
msgid "Active"
msgstr ""
-#: models.py:1451
+#: models.py:1477
msgid "Field completed"
msgstr ""
-#: models.py:1452
+#: models.py:1478
msgid "Associated report"
msgstr ""
-#: models.py:1453
+#: models.py:1479
msgid "Closed"
msgstr ""
-#: models.py:1454
+#: models.py:1480
msgid "Documented and closed"
msgstr ""
-#: models.py:1880
+#: models.py:1914
msgid "Is preventive"
msgstr ""
-#: models.py:1883
+#: models.py:1917
msgid "Operation type old"
msgstr ""
-#: models.py:1884
+#: models.py:1918
msgid "Operation types old"
msgstr ""
@@ -1092,7 +1106,7 @@ msgid ""
msgstr ""
#: templates/ishtar/sheet_administrativeact.html:36
-#: templates/ishtar/sheet_operation.html:50
+#: templates/ishtar/sheet_operation.html:40
msgid "Surface:"
msgstr ""
@@ -1104,96 +1118,100 @@ msgstr ""
msgid "Patriarche OA code not yet recorded!"
msgstr ""
-#: templates/ishtar/sheet_operation.html:27
-msgid "Creation:"
+#: templates/ishtar/sheet_operation.html:23
+msgid "Address"
msgstr ""
-#: templates/ishtar/sheet_operation.html:34
-msgid "Modification:"
+#: templates/ishtar/sheet_operation.html:30
+msgid "Begining date"
msgstr ""
-#: templates/ishtar/sheet_operation.html:46
+#: templates/ishtar/sheet_operation.html:36
msgid "State:"
msgstr ""
-#: templates/ishtar/sheet_operation.html:46
+#: templates/ishtar/sheet_operation.html:36
msgid "Active file"
msgstr ""
-#: templates/ishtar/sheet_operation.html:47
+#: templates/ishtar/sheet_operation.html:37
msgid "Closed operation"
msgstr ""
-#: templates/ishtar/sheet_operation.html:48
+#: templates/ishtar/sheet_operation.html:38
msgid "Closing date:"
msgstr ""
-#: templates/ishtar/sheet_operation.html:48
+#: templates/ishtar/sheet_operation.html:38
msgid "by"
msgstr ""
-#: templates/ishtar/sheet_operation.html:51
+#: templates/ishtar/sheet_operation.html:41
msgid "Cost:"
msgstr ""
-#: templates/ishtar/sheet_operation.html:52
+#: templates/ishtar/sheet_operation.html:42
msgid "Duration:"
msgstr ""
-#: templates/ishtar/sheet_operation.html:52
+#: templates/ishtar/sheet_operation.html:42
msgid "Day"
msgstr ""
-#: templates/ishtar/sheet_operation.html:85
+#: templates/ishtar/sheet_operation.html:75
msgid "Localisation"
msgstr ""
-#: templates/ishtar/sheet_operation.html:110
+#: templates/ishtar/sheet_operation.html:100
msgid "Associated parcels"
msgstr ""
-#: templates/ishtar/sheet_operation.html:118
+#: templates/ishtar/sheet_operation.html:108
msgid "Document from this operation"
msgstr ""
-#: templates/ishtar/sheet_operation.html:124
-#: templates/ishtar/sheet_operation.html:161
+#: templates/ishtar/sheet_operation.html:114
+#: templates/ishtar/sheet_operation.html:156
msgid "Context records"
msgstr ""
-#: templates/ishtar/sheet_operation.html:128
+#: templates/ishtar/sheet_operation.html:119
msgid "Context record relations"
msgstr ""
-#: templates/ishtar/sheet_operation.html:133
+#: templates/ishtar/sheet_operation.html:124
msgid "Documents from associated context records"
msgstr ""
-#: templates/ishtar/sheet_operation.html:138
-#: templates/ishtar/sheet_operation.html:184
+#: templates/ishtar/sheet_operation.html:129
+#: templates/ishtar/sheet_operation.html:179
msgid "Finds"
msgstr ""
-#: templates/ishtar/sheet_operation.html:143
+#: templates/ishtar/sheet_operation.html:134
msgid "Documents from associated finds"
msgstr ""
-#: templates/ishtar/sheet_operation.html:148
+#: templates/ishtar/sheet_operation.html:139
+msgid "Associated containers"
+msgstr ""
+
+#: templates/ishtar/sheet_operation.html:143
msgid "Statistics"
msgstr ""
-#: templates/ishtar/sheet_operation.html:168
-#: templates/ishtar/sheet_operation.html:222
+#: templates/ishtar/sheet_operation.html:163
+#: templates/ishtar/sheet_operation.html:217
#: templates/ishtar/blocks/window_tables/administrativacts.html:8
msgid "Type"
msgstr ""
-#: templates/ishtar/sheet_operation.html:168
-#: templates/ishtar/sheet_operation.html:176
-#: templates/ishtar/sheet_operation.html:191
-#: templates/ishtar/sheet_operation.html:199
-#: templates/ishtar/sheet_operation.html:207
-#: templates/ishtar/sheet_operation.html:222
+#: templates/ishtar/sheet_operation.html:163
+#: templates/ishtar/sheet_operation.html:171
+#: templates/ishtar/sheet_operation.html:186
+#: templates/ishtar/sheet_operation.html:194
+#: templates/ishtar/sheet_operation.html:202
+#: templates/ishtar/sheet_operation.html:217
#: templates/ishtar/dashboards/dashboard_operation.html:18
#: templates/ishtar/dashboards/dashboard_operation.html:164
#: templates/ishtar/dashboards/dashboard_operation.html:432
@@ -1202,19 +1220,19 @@ msgstr ""
msgid "Number"
msgstr ""
-#: templates/ishtar/sheet_operation.html:191
+#: templates/ishtar/sheet_operation.html:186
msgid "Material type"
msgstr ""
-#: templates/ishtar/sheet_operation.html:199
+#: templates/ishtar/sheet_operation.html:194
msgid "Object type"
msgstr ""
-#: templates/ishtar/sheet_operation.html:215
+#: templates/ishtar/sheet_operation.html:210
msgid "Sources"
msgstr ""
-#: templates/ishtar/sheet_operation.html:231
+#: templates/ishtar/sheet_operation.html:226
msgid "Finds by context records"
msgstr ""
@@ -1222,6 +1240,10 @@ msgstr ""
msgid "Operation source"
msgstr ""
+#: templates/ishtar/sheet_operationsource.html:11
+msgid "Related operation"
+msgstr ""
+
#: templates/ishtar/blocks/window_tables/administrativacts.html:9
msgid "Date"
msgstr ""
diff --git a/archaeological_operations/migrations/0013_auto__add_field_historicaloperation_address__add_field_operation_addre.py b/archaeological_operations/migrations/0013_auto__add_field_historicaloperation_address__add_field_operation_addre.py
new file mode 100644
index 000000000..8626cfcf4
--- /dev/null
+++ b/archaeological_operations/migrations/0013_auto__add_field_historicaloperation_address__add_field_operation_addre.py
@@ -0,0 +1,852 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding field 'HistoricalOperation.address'
+ db.add_column('archaeological_operations_historicaloperation', 'address',
+ self.gf('django.db.models.fields.TextField')(null=True, blank=True),
+ keep_default=False)
+
+ # Adding field 'Operation.address'
+ db.add_column('archaeological_operations_operation', 'address',
+ self.gf('django.db.models.fields.TextField')(null=True, blank=True),
+ keep_default=False)
+
+
+ def backwards(self, orm):
+ # Deleting field 'HistoricalOperation.address'
+ db.delete_column('archaeological_operations_historicaloperation', 'address')
+
+ # Deleting field 'Operation.address'
+ db.delete_column('archaeological_operations_operation', 'address')
+
+
+ models = {
+ 'archaeological_files.file': {
+ 'Meta': {'ordering': "('cached_label',)", 'object_name': 'File'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cira_advised': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'classified_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'corporation_general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}),
+ 'departments': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}),
+ 'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}),
+ 'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imported_line': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_files_file'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'instruction_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}),
+ 'locality': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'main_town': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_main'", 'null': 'True', 'to': "orm['ishtar_common.Town']"}),
+ 'mh_listing': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'mh_register': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'numeric_reference': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'permit_reference': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}),
+ 'planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'protected_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'raw_general_contractor': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'raw_town_planning_service': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}),
+ 'requested_operation_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.OperationType']"}),
+ 'research_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'responsible_town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'responsible_town_planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}),
+ 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'total_developed_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'total_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'})
+ },
+ 'archaeological_files.filetype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'FileType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_files.permittype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'PermitType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_files.saisinetype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'SaisineType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'delay': ('django.db.models.fields.IntegerField', [], {'default': '30'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_finds.treatment': {
+ 'Meta': {'unique_together': "(('year', 'index'),)", 'object_name': 'Treatment'},
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'container': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Container']", 'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'estimated_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'to': "orm['archaeological_finds.TreatmentFile']"}),
+ 'goal': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_treatment'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'insurance_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']", 'null': 'True', 'blank': 'True'}),
+ 'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'other_reference': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'quoted_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'realized_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'target_is_basket': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'treatment_state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentState']", 'null': 'True', 'blank': 'True'}),
+ 'treatment_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_finds.TreatmentType']", 'symmetrical': 'False'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'})
+ },
+ 'archaeological_finds.treatmentfile': {
+ 'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('year', 'index'),)", 'object_name': 'TreatmentFile'},
+ 'applicant': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_applicant'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'applicant_organisation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_applicant'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_treatmentfile'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentFileType']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'})
+ },
+ 'archaeological_finds.treatmentfiletype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentFileType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_finds.treatmentstate': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentState'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_finds.treatmenttype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'downstream_is_many': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentType']", 'null': 'True', 'blank': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}),
+ 'upstream_is_many': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'virtual': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
+ },
+ 'archaeological_operations.acttype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'ActType'},
+ 'associated_template': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'acttypes'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.DocumentTemplate']"}),
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'indexed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'intented_to': ('django.db.models.fields.CharField', [], {'max_length': '2'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.administrativeact': {
+ 'Meta': {'ordering': "('year', 'signature_date', 'index', 'act_type')", 'object_name': 'AdministrativeAct'},
+ 'act_object': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'act_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ActType']"}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'departments_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_administrativeact'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operation_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}),
+ 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}),
+ 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'signatory': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'signatory'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'towns_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}),
+ 'treatment_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_finds.TreatmentFile']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.archaeologicalsite': {
+ 'Meta': {'object_name': 'ArchaeologicalSite'},
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_archaeologicalsite'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20'}),
+ 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.historicaladministrativeact': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalAdministrativeAct'},
+ 'act_object': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'act_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'departments_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
+ 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}),
+ 'scientist_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'signatory_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'towns_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'treatment_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.historicaloperation': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOperation'},
+ 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'cira_rapporteur_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}),
+ 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}),
+ 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'report_processing_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientist_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.operation': {
+ 'Meta': {'ordering': "('cached_label',)", 'object_name': 'Operation'},
+ 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}),
+ 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}),
+ 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}),
+ 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}),
+ 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}),
+ 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operations'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}),
+ 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.operationbydepartment': {
+ 'Meta': {'object_name': 'OperationByDepartment', 'db_table': "'operation_department'", 'managed': 'False'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Operation']"})
+ },
+ 'archaeological_operations.operationsource': {
+ 'Meta': {'object_name': 'OperationSource'},
+ 'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operationsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
+ 'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_operations.Operation']"}),
+ 'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}),
+ 'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'})
+ },
+ 'archaeological_operations.operationtypeold': {
+ 'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationTypeOld'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.parcel': {
+ 'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}),
+ 'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}),
+ 'public_domain': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'section': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.parcelowner': {
+ 'Meta': {'object_name': 'ParcelOwner'},
+ 'end_date': ('django.db.models.fields.DateField', [], {}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_parcelowner'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcel_owner'", 'to': "orm['ishtar_common.Person']"}),
+ 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owners'", 'to': "orm['archaeological_operations.Parcel']"}),
+ 'start_date': ('django.db.models.fields.DateField', [], {})
+ },
+ 'archaeological_operations.period': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'Period'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.recordrelations': {
+ 'Meta': {'ordering': "('left_record', 'relation_type')", 'object_name': 'RecordRelations'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_operations.Operation']"}),
+ 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.RelationType']"}),
+ 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_operations.Operation']"})
+ },
+ 'archaeological_operations.relationtype': {
+ 'Meta': {'ordering': "('order', 'label')", 'object_name': 'RelationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'inverse_relation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.RelationType']", 'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'symmetrical': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'tiny_label': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.remaintype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.reportstate': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_warehouse.container': {
+ 'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('index', 'location'),)", 'object_name': 'Container'},
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'cached_location': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'container_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.ContainerType']"}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_container'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'location': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
+ 'responsible': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owned_containers'", 'to': "orm['archaeological_warehouse.Warehouse']"})
+ },
+ 'archaeological_warehouse.containertype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'ContainerType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}),
+ 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_warehouse.warehouse': {
+ 'Meta': {'object_name': 'Warehouse'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'associated_divisions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']", 'symmetrical': 'False', 'through': "orm['archaeological_warehouse.WarehouseDivisionLink']", 'blank': 'True'}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_warehouse'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warehouse_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'warehouse_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseType']"})
+ },
+ 'archaeological_warehouse.warehousedivision': {
+ 'Meta': {'object_name': 'WarehouseDivision'},
+ '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_warehouse.warehousedivisionlink': {
+ 'Meta': {'ordering': "('warehouse', 'order')", 'unique_together': "(('warehouse', 'division'),)", 'object_name': 'WarehouseDivisionLink'},
+ 'division': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}),
+ 'warehouse': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']"})
+ },
+ 'archaeological_warehouse.warehousetype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'WarehouseType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.arrondissement': {
+ 'Meta': {'object_name': 'Arrondissement'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.author': {
+ 'Meta': {'object_name': 'Author'},
+ 'author_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.AuthorType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'author'", 'to': "orm['ishtar_common.Person']"})
+ },
+ 'ishtar_common.authortype': {
+ 'Meta': {'ordering': "['label']", 'object_name': 'AuthorType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.canton': {
+ 'Meta': {'object_name': 'Canton'},
+ 'arrondissement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Arrondissement']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.department': {
+ 'Meta': {'ordering': "['number']", 'object_name': 'Department'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}),
+ 'state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.State']", 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.documenttemplate': {
+ 'Meta': {'ordering': "['associated_object_name', 'name']", 'object_name': 'DocumentTemplate'},
+ 'associated_object_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'template': ('django.db.models.fields.files.FileField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.format': {
+ 'Meta': {'ordering': "['label']", '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '220'}),
+ 'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '220', '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', '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.importermodel': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterModel'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'klass': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+ },
+ 'ishtar_common.importertype': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterType'},
+ 'associated_models': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'created_models': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.ishtaruser': {
+ 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']},
+ 'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
+ },
+ 'ishtar_common.operationtype': {
+ 'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.organization': {
+ 'Meta': {'object_name': 'Organization'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_organization'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
+ 'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.organizationtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'OrganizationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.person': {
+ 'Meta': {'object_name': 'Person'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+ 'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'members'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_person'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'person_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.PersonType']", 'symmetrical': 'False'}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.TitleType']", 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.persontype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'PersonType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['auth.Group']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.sourcetype': {
+ 'Meta': {'ordering': "['label']", 'object_name': 'SourceType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.state': {
+ 'Meta': {'ordering': "['number']", 'object_name': 'State'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'})
+ },
+ 'ishtar_common.supporttype': {
+ 'Meta': {'object_name': 'SupportType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.titletype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'TitleType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.town': {
+ 'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'},
+ 'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}),
+ 'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}),
+ 'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_town'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ }
+ }
+
+ complete_apps = ['archaeological_operations'] \ No newline at end of file
diff --git a/archaeological_operations/migrations/0014_regenerate_cached_label.py b/archaeological_operations/migrations/0014_regenerate_cached_label.py
new file mode 100644
index 000000000..0475b0065
--- /dev/null
+++ b/archaeological_operations/migrations/0014_regenerate_cached_label.py
@@ -0,0 +1,847 @@
+# -*- coding: utf-8 -*-
+import sys
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ from archaeological_operations.models import Operation
+ q = Operation.objects
+ nb = q.count()
+ sys.stdout.write("Force regenerating cache...\n")
+ for idx, ope in enumerate(q.all()):
+ sys.stdout.write("\r{}/{}".format(idx + 1, nb))
+ sys.stdout.flush()
+ ope.skip_history_when_saving = True
+ ope.save()
+
+ def backwards(self, orm):
+ pass
+
+ models = {
+ 'archaeological_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': '2017'})
+ },
+ 'archaeological_files.filetype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'FileType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_files.permittype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'PermitType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_files.saisinetype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'SaisineType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'delay': ('django.db.models.fields.IntegerField', [], {'default': '30'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_finds.treatment': {
+ 'Meta': {'unique_together': "(('year', 'index'),)", 'object_name': 'Treatment'},
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'container': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Container']", 'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'estimated_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'to': "orm['archaeological_finds.TreatmentFile']"}),
+ 'goal': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_treatment'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'insurance_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']", 'null': 'True', 'blank': 'True'}),
+ 'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'other_reference': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'quoted_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'realized_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'target_is_basket': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'treatment_state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentState']", 'null': 'True', 'blank': 'True'}),
+ 'treatment_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_finds.TreatmentType']", 'symmetrical': 'False'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'})
+ },
+ 'archaeological_finds.treatmentfile': {
+ 'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('year', 'index'),)", 'object_name': 'TreatmentFile'},
+ 'applicant': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_applicant'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'applicant_organisation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_applicant'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_treatmentfile'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentFileType']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'})
+ },
+ 'archaeological_finds.treatmentfiletype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentFileType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_finds.treatmentstate': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentState'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_finds.treatmenttype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'downstream_is_many': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentType']", 'null': 'True', 'blank': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}),
+ 'upstream_is_many': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'virtual': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
+ },
+ 'archaeological_operations.acttype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'ActType'},
+ 'associated_template': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'acttypes'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.DocumentTemplate']"}),
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'indexed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'intented_to': ('django.db.models.fields.CharField', [], {'max_length': '2'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.administrativeact': {
+ 'Meta': {'ordering': "('year', 'signature_date', 'index', 'act_type')", 'object_name': 'AdministrativeAct'},
+ 'act_object': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'act_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ActType']"}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'departments_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_administrativeact'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operation_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}),
+ 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}),
+ 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'signatory': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'signatory'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'towns_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}),
+ 'treatment_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_finds.TreatmentFile']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.archaeologicalsite': {
+ 'Meta': {'object_name': 'ArchaeologicalSite'},
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_archaeologicalsite'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20'}),
+ 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.historicaladministrativeact': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalAdministrativeAct'},
+ 'act_object': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'act_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'departments_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
+ 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}),
+ 'scientist_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'signatory_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'towns_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'treatment_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.historicaloperation': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOperation'},
+ 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'cira_rapporteur_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}),
+ 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}),
+ 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'report_processing_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientist_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.operation': {
+ 'Meta': {'ordering': "('cached_label',)", 'object_name': 'Operation'},
+ 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}),
+ 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}),
+ 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}),
+ 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}),
+ 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}),
+ 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}),
+ 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}),
+ 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operations'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}),
+ 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.operationbydepartment': {
+ 'Meta': {'object_name': 'OperationByDepartment', 'db_table': "'operation_department'", 'managed': 'False'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Operation']"})
+ },
+ 'archaeological_operations.operationsource': {
+ 'Meta': {'object_name': 'OperationSource'},
+ 'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operationsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
+ 'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_operations.Operation']"}),
+ 'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}),
+ 'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'})
+ },
+ 'archaeological_operations.operationtypeold': {
+ 'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationTypeOld'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.parcel': {
+ 'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}),
+ 'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}),
+ 'public_domain': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'section': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}),
+ 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_operations.parcelowner': {
+ 'Meta': {'object_name': 'ParcelOwner'},
+ 'end_date': ('django.db.models.fields.DateField', [], {}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_parcelowner'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcel_owner'", 'to': "orm['ishtar_common.Person']"}),
+ 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owners'", 'to': "orm['archaeological_operations.Parcel']"}),
+ 'start_date': ('django.db.models.fields.DateField', [], {})
+ },
+ 'archaeological_operations.period': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'Period'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'end_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),
+ 'start_date': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.recordrelations': {
+ 'Meta': {'ordering': "('left_record', 'relation_type')", 'object_name': 'RecordRelations'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_operations.Operation']"}),
+ 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.RelationType']"}),
+ 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_operations.Operation']"})
+ },
+ 'archaeological_operations.relationtype': {
+ 'Meta': {'ordering': "('order', 'label')", 'object_name': 'RelationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'inverse_relation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.RelationType']", 'null': 'True', 'blank': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'symmetrical': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'tiny_label': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.remaintype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_operations.reportstate': {
+ 'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'archaeological_warehouse.container': {
+ 'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('index', 'location'),)", 'object_name': 'Container'},
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'cached_location': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'container_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.ContainerType']"}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_container'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'location': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
+ 'responsible': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owned_containers'", 'to': "orm['archaeological_warehouse.Warehouse']"})
+ },
+ 'archaeological_warehouse.containertype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'ContainerType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}),
+ 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_warehouse.warehouse': {
+ 'Meta': {'object_name': 'Warehouse'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'associated_divisions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']", 'symmetrical': 'False', 'through': "orm['archaeological_warehouse.WarehouseDivisionLink']", 'blank': 'True'}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_warehouse'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warehouse_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'warehouse_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseType']"})
+ },
+ 'archaeological_warehouse.warehousedivision': {
+ 'Meta': {'object_name': 'WarehouseDivision'},
+ '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_warehouse.warehousedivisionlink': {
+ 'Meta': {'ordering': "('warehouse', 'order')", 'unique_together': "(('warehouse', 'division'),)", 'object_name': 'WarehouseDivisionLink'},
+ 'division': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}),
+ 'warehouse': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']"})
+ },
+ 'archaeological_warehouse.warehousetype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'WarehouseType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.arrondissement': {
+ 'Meta': {'object_name': 'Arrondissement'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.author': {
+ 'Meta': {'ordering': "('author_type__order', 'person__name')", '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': {'ordering': "['order', 'label']", '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'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.canton': {
+ 'Meta': {'object_name': 'Canton'},
+ 'arrondissement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Arrondissement']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.department': {
+ 'Meta': {'ordering': "['number']", 'object_name': 'Department'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}),
+ 'state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.State']", 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.documenttemplate': {
+ 'Meta': {'ordering': "['associated_object_name', 'name']", 'object_name': 'DocumentTemplate'},
+ 'associated_object_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'template': ('django.db.models.fields.files.FileField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.format': {
+ 'Meta': {'ordering': "['label']", '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '220'}),
+ 'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '220', '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', '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.importermodel': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterModel'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'klass': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+ },
+ 'ishtar_common.importertype': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterType'},
+ 'associated_models': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'created_models': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.ishtaruser': {
+ 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']},
+ 'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
+ },
+ 'ishtar_common.operationtype': {
+ 'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.organization': {
+ 'Meta': {'object_name': 'Organization'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_organization'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),
+ 'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
+ 'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.organizationtype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'OrganizationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.person': {
+ 'Meta': {'object_name': 'Person'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+ 'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'members'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_person'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'person_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.PersonType']", 'symmetrical': 'False'}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.TitleType']", 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.persontype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'PersonType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['auth.Group']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.sourcetype': {
+ 'Meta': {'ordering': "['label']", 'object_name': 'SourceType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.state': {
+ 'Meta': {'ordering': "['number']", 'object_name': 'State'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'})
+ },
+ 'ishtar_common.supporttype': {
+ 'Meta': {'object_name': 'SupportType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.titletype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'TitleType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.town': {
+ 'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'},
+ 'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}),
+ 'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}),
+ 'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_town'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ }
+ }
+
+ complete_apps = ['archaeological_operations'] \ No newline at end of file
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index bc2169009..e741f5644 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -227,7 +227,7 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms,
'context_record__base_finds__find__upstream_treatment__id'
}
- EXTRA_FULL_FIELDS_LABELS = {
+ COL_LABELS = {
'full_code_patriarche': u"Code patriarche",
'associated_file_short_label': _(u"Associated file (label)"),
'operator__name': _(u"Operator name"),
@@ -331,6 +331,7 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms,
operator_reference = models.CharField(
_(u"Operator reference"), max_length=20, null=True, blank=True)
common_name = models.TextField(_(u"Generic name"), null=True, blank=True)
+ address = models.TextField(_(u"Address / Locality"), null=True, blank=True)
comment = models.TextField(_(u"General comment"), null=True, blank=True)
scientific_documentation_comment = models.TextField(
_(u"Comment about scientific documentation"), null=True, blank=True)
@@ -404,6 +405,10 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms,
return _(u"OPE")
@property
+ def external_id(self):
+ return self.code_patriarche
+
+ @property
def short_label(self):
if settings.COUNTRY == 'fr':
return self.reference
@@ -417,6 +422,10 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms,
def show_url(self):
return reverse('show-operation', args=[self.pk, ''])
+ def towns_codes(self):
+ return [u"{} ({})".format(town.name, town.numero_insee) for town in
+ self.towns.all()]
+
def has_finds(self):
from archaeological_finds.models import BaseFind
return BaseFind.objects.filter(context_record__operation=self).count()
@@ -498,6 +507,12 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms,
return FindSource.objects.filter(
find__base_finds__context_record__operation=self)
+ def containers_q(self):
+ from archaeological_warehouse.models import Container
+ return Container.objects.filter(
+ finds__base_finds__context_record__operation=self
+ )
+
associated_file_short_label_lbl = _(u"Archaeological file")
full_code_patriarche_lbl = _(u"Code patriarche")
@@ -843,8 +858,8 @@ class OperationByDepartment(models.Model):
class OperationSource(Source):
SHOW_URL = 'show-operationsource'
MODIFY_URL = 'operation_source_modify'
- TABLE_COLS = ['operation.year', 'operation.operation_code', 'index'] + \
- Source.TABLE_COLS
+ TABLE_COLS = ['operation__code_patriarche', 'operation__year',
+ 'operation__operation_code', 'code'] + Source.TABLE_COLS
# search parameters
BOOL_FIELDS = ['duplicate']
@@ -859,6 +874,11 @@ class OperationSource(Source):
'operation__code_patriarche': 'operation__code_patriarche',
'operation__operation_type': 'operation__operation_type__pk',
'operation__year': 'operation__year'}
+ COL_LABELS = {
+ 'operation__year': _(u"Operation year"),
+ 'operation__operation_code': _(u"Operation code"),
+ 'code': _(u"Document code")
+ }
# fields
operation = models.ForeignKey(Operation, verbose_name=_(u"Operation"),
@@ -886,6 +906,11 @@ class OperationSource(Source):
def owner(self):
return self.operation
+ @property
+ def code(self):
+ return u"{}-{:04d}".format(self.operation.code_patriarche or '',
+ self.index)
+
class ActType(GeneralType):
TYPE = (('F', _(u'Archaeological file')),
@@ -969,6 +994,7 @@ class AdministrativeAct(BaseHistorizedItem, OwnPerms, ValueGetter):
REVERSED_BOOL_FIELDS = ['index__isnull']
RELATIVE_SESSION_NAMES = [('operation', 'operation__pk'),
('file', 'associated_file__pk')]
+ COL_LABELS = {'full_ref': _(u"Ref.")}
# fields
act_type = models.ForeignKey(ActType, verbose_name=_(u"Act type"))
@@ -1647,7 +1673,7 @@ class OperationDashboard:
.annotate(number=Sum('surface')).all()
val = 0
if area_res:
- val = area_res[0].number
+ val = (area_res[0].number or 0) / 10000.0
dct_res[res_key].append(val)
# TODO...
res_keys = [('manday_realised', current_realisation_year_ope)]
@@ -1682,7 +1708,11 @@ class OperationDashboard:
.annotate(area=Sum('surface'))\
.order_by('scientist__attached_to__name').all()
# TODO: man-days, man-days/hectare
- dct_res[res_key] = org_res
+
+ dct_res[res_key] = []
+ for vals in org_res:
+ vals['area'] = (vals['area'] or 0) / 10000.0
+ dct_res[res_key].append(vals)
year_ope = Operation.objects.filter(**operation_type)
res_keys = ['org_by_year']
@@ -1717,7 +1747,7 @@ class OperationDashboard:
cost=Sum('cost'))
years_dct = {}
for yr in org_res.all():
- area = yr['area'] if yr['area'] else 0
+ area = (yr['area'] if yr['area'] else 0) / 10000.0
cost = yr['cost'] if yr['cost'] else 0
years_dct[yr[key_date]] = (area, cost)
r_years = []
@@ -1748,7 +1778,8 @@ class OperationDashboard:
self.survey['effective'] = []
for yr in self.years:
year_res = Operation.objects\
- .filter(scientist__isnull=False, year=yr)\
+ .filter(scientist__isnull=False, year=yr,
+ operation_type__txt_idx__in=ope_types)\
.annotate(number=Sum('surface'), mean=Avg('surface'))
nb = year_res[0].number if year_res.count() else 0
nb = nb if nb else 0
@@ -1820,9 +1851,12 @@ class OperationDashboard:
dct_years = {}
for v in vals:
values = []
- for value in (v['number'], v['area'], v['cost'],
- v['fnap']):
- values.append(value if value else 0)
+ for k in ('number', 'area', 'cost', 'fnap'):
+ value = v[k] or 0
+ if k == 'area':
+ value /= 10000.0
+ values.append(value)
+
dct_years[v['operation__year']] = values
years = []
for y in self.years:
diff --git a/archaeological_operations/templates/ishtar/sheet_operation.html b/archaeological_operations/templates/ishtar/sheet_operation.html
index d3eb980c4..48116433c 100644
--- a/archaeological_operations/templates/ishtar/sheet_operation.html
+++ b/archaeological_operations/templates/ishtar/sheet_operation.html
@@ -19,26 +19,16 @@
<p class='window-refs'>{% if item.year or item.operation_code %}{{item.year|default:''}}-{{item.operation_code|default:''}}{% endif %}{% if item.code_patriarche %} &ndash; OA{{item.code_patriarche}}{% endif %}
</p>
-<p class='window-refs'>{{item.common_name|default:''}}</p>
+<p class='window-refs' title="{% trans 'Name' %}">{{item.common_name|default:''}}</p>
+<p class='window-refs' title="{% trans 'Address' %}">{{item.address|default:''}}</p>
+{% include "ishtar/blocks/sheet_external_id.html" %}
<h3>{% trans "General"%}</h3>
<ul class='form-flex'>
-{% field_li "Old code" item.old_code %}
- <li><label>{%trans "Creation:"%}</label>
- <span class='value'>
- {{item.history_creator.ishtaruser.person}}<br/>
- <small><em>{{item.history_creation_date|date:"DATETIME_FORMAT"}}</em></small>
- </span>
- </li>
- {% if item.history_creation_date != item.last_edition_date %}
- <li><label>{%trans "Modification:"%}</label>
- <span class='value'>
- {{item.history_modifier.ishtaruser.person}}<br/>
- <small><em>{% firstof item.history_date|date:"DATETIME_FORMAT" item.history.all.0.history_date|date:"DATETIME_FORMAT" %}</em></small>
- </span>
- </li>
- {% endif %}
-{% field_li "Begining date" item.start_date %}
+ {% field_li "Old code" item.old_code %}
+ {% include "ishtar/blocks/sheet_creation_section.html" %}
+ {% trans "Begining date" as begining_date_label %}
+ {% field_li begining_date_label item.start_date %}
{% field_li "Excavation end date" item.excavation_end_date|default:"-" %}
{% field_li_detail "Head scientist" item.scientist %}
{% field_li_detail "In charge" item.in_charge %}
@@ -84,7 +74,7 @@
{% if item.towns.count %}
<h3>{% trans "Localisation"%}</h3>
<ul class='form-flex'>
-{% field_li_multiple "Towns" item.towns %}
+{% field_li "Towns" item.towns_codes|join:" ; " %}
{% field_li "Main address" item.associated_file.address %}
{% field_li "Complement" item.associated_file.address_complement %}
{% field_li "Postal code" item.associated_file.postal_code %}
@@ -121,30 +111,35 @@
{% endif %}
{% if item.context_record.count %}
-<h3>{% trans "Context records" %}</h3>
-{% dynamic_table_document '' 'context_records_for_ope' 'operation' item.pk 'TABLE_COLS_FOR_OPE' output %}
+{% trans "Context records" as cr_lab %}
+{% dynamic_table_document cr_lab 'context_records_for_ope' 'operation' item.pk 'TABLE_COLS_FOR_OPE' output %}
{% endif %}
-{% trans "Context record relations" as cr_rels %}
{% if item.context_record_relations_q.count %}
+{% trans "Context record relations" as cr_rels %}
{% dynamic_table_document cr_rels 'context_records_relations_detail' 'left_record__operation' item.pk '' output %}
{% endif %}
-{% trans "Documents from associated context records" as cr_docs %}
{% if item.context_record_docs_q.count %}
+{% trans "Documents from associated context records" as cr_docs %}
{% dynamic_table_document cr_docs 'context_records_docs' 'context_record__operation' item.pk '' output %}
{% endif %}
-{% trans "Finds" as finds %}
{% if item.finds %}
+{% trans "Finds" as finds %}
{% dynamic_table_document finds 'finds_for_ope' 'base_finds__context_record__operation' item.pk 'TABLE_COLS_FOR_OPE' output %}
{% endif %}
-{% trans "Documents from associated finds" as finds_docs %}
{% if item.find_docs_q.count %}
+{% trans "Documents from associated finds" as finds_docs %}
{% dynamic_table_document finds_docs 'finds_docs' 'find__base_finds__context_record__operation' item.pk '' output %}
{% endif %}
+{% if item.containers_q.count %}
+{% trans "Associated containers" as containers_lbl %}
+{% dynamic_table_document containers_lbl 'containers' 'finds__base_finds__context_record__operation' item.pk '' output %}
+{% endif %}
+
<h3>{% trans "Statistics" %}</h3>
<h4>{% trans "Administrative acts" %}</h4>
diff --git a/archaeological_operations/templates/ishtar/sheet_operationsource.html b/archaeological_operations/templates/ishtar/sheet_operationsource.html
index 9b8cbf509..55c48b319 100644
--- a/archaeological_operations/templates/ishtar/sheet_operationsource.html
+++ b/archaeological_operations/templates/ishtar/sheet_operationsource.html
@@ -8,5 +8,6 @@
{% endblock %}
{% block related %}
-{% field "Related operation" item.owner '' item.owner|link_to_window %}
+{% trans "Related operation" as related_item_label %}
+{% field related_item_label item.owner '' item.owner|link_to_window %}
{% endblock %}
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py
index 1b64f581d..9d5b9c616 100644
--- a/archaeological_operations/tests.py
+++ b/archaeological_operations/tests.py
@@ -17,9 +17,6 @@
# See the file COPYING for details.
-"""
-Unit tests
-"""
import json
import datetime
@@ -57,11 +54,11 @@ class ImportTest(object):
tg.is_set = True
tg.save()
- def init_ope_import(self):
+ def init_ope_import(self, filename='MCC-operations-example.csv'):
mcc_operation = ImporterType.objects.get(name=u"MCC - Opérations")
mcc_operation_file = open(
settings.ROOT_PATH +
- '../archaeological_operations/tests/MCC-operations-example.csv',
+ '../archaeological_operations/tests/' + filename,
'rb')
file_dict = {'imported_file': SimpleUploadedFile(
mcc_operation_file.name, mcc_operation_file.read())}
@@ -209,6 +206,9 @@ class ImportOperationTest(ImportTest, TestCase):
self.assertEqual(last_ope,
models.Operation.objects.order_by('-pk').all()[0])
+ def test_import_bad_encoding(self):
+ self.init_ope_import('MCC-operations-example-bad-encoding.csv')
+
def test_keys_limitation(self):
# each key association is associated to the import
init_ope_number = models.Operation.objects.count()
@@ -242,7 +242,10 @@ class ImportOperationTest(ImportTest, TestCase):
self.init_ope_targetkey(imp=impt)
impt.importation()
self.assertEqual(len(impt.errors), 2)
- self.assertIn("Importer configuration error", impt.errors[0]['error'])
+ self.assertTrue(
+ "Importer configuration error" in impt.errors[0]['error'] or
+ "Erreur de configuration de l\'importeur" in impt.errors[0]['error']
+ )
def test_model_limitation(self):
importer, form = self.init_ope_import()
@@ -662,7 +665,6 @@ class OperationInitTest(object):
self.operations.pop(0)
return self.create_operation()[-1]
-
def tearDown(self):
# cleanup for further test
if hasattr(self, 'user'):
@@ -1192,7 +1194,7 @@ class OperationWizardModifTest(WizardTest, OperationInitTest, TestCase):
def post_first_wizard(test_object, final_step_response):
test_object.assertEqual(models.Operation.objects.count(),
- test_object.operation_number)
+ test_object.operation_number)
operation = models.Operation.objects.get(
pk=test_object.operations[0].pk)
test_object.assertEqual(operation.operation_type.pk, 2)
diff --git a/archaeological_operations/tests/MCC-operations-example-bad-encoding.csv b/archaeological_operations/tests/MCC-operations-example-bad-encoding.csv
new file mode 100644
index 000000000..efd222ee2
--- /dev/null
+++ b/archaeological_operations/tests/MCC-operations-example-bad-encoding.csv
@@ -0,0 +1,3 @@
+code OA,region,type operation,intitule operation,operateur,responsable operation,date debut terrain,date fin terrain,chronologie generale,identifiant document georeferencement,notice scientifique
+4201,Bourgogne,Fouille programmée,Oppìdum de Paris 2,L'opérateur,,2000/01/31,2002/12/31,Age du Fer,,
+4200,Bourgogne,Fouille programmée,Oppìdum de Paris,L'opérateur,Jean Sui-Resp'on Sablé,2000/01/22,2002/12/31,Age du Fer & Gallo-Romain,,
diff --git a/archaeological_operations/wizards.py b/archaeological_operations/wizards.py
index 94aafb87c..5410b37f8 100644
--- a/archaeological_operations/wizards.py
+++ b/archaeological_operations/wizards.py
@@ -43,7 +43,7 @@ class OperationWizard(Wizard):
object_parcel_type = 'operation'
parcel_step_key = 'parcels'
relations_step_key = 'relations'
- # step contening the current(s) town(s)
+ # step including the current(s) town(s)
town_step_keys = ['towns-', 'townsgeneral-']
town_input_id = 'town' # input id of the current(s) town(s)
multi_towns = False # true if current town are multi valued
diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py
index 553a01ce5..3dd38d747 100644
--- a/archaeological_warehouse/forms.py
+++ b/archaeological_warehouse/forms.py
@@ -20,6 +20,7 @@
from django import forms
from django.conf import settings
from django.forms.formsets import formset_factory
+from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _
from ishtar_common.models import Person, valid_id
@@ -27,7 +28,7 @@ from archaeological_finds.models import TreatmentType, FindBasket
import models
from ishtar_common import widgets
from ishtar_common.forms import name_validator, reverse_lazy, \
- get_form_selection, TableSelect, ManageOldType, FinalForm
+ get_form_selection, TableSelect, ManageOldType, FinalForm, FormSet
from archaeological_finds.forms import FindMultipleFormSelection, \
SelectFindBasketForm
@@ -57,8 +58,15 @@ class SelectedDivisionForm(ManageOldType, forms.Form):
initial=self.init_data.get('division')
)
+
+class DivisionFormSet(FormSet):
+ def clean(self):
+ """Checks that no divisions are duplicated."""
+ return self.check_duplicate(('division',),
+ _("There are identical divisions."))
+
SelectedDivisionFormset = formset_factory(
- SelectedDivisionForm, can_delete=True)
+ SelectedDivisionForm, can_delete=True, formset=DivisionFormSet)
SelectedDivisionFormset.form_label = _(u"Divisions")
@@ -100,7 +108,7 @@ class WarehouseForm(ManageOldType, forms.Form):
label=_(u"Person in charge"),
widget=widgets.JQueryAutoComplete(
reverse_lazy('autocomplete-person'),
- associated_model=Person),
+ associated_model=Person, new=True),
validators=[valid_id(Person)],
required=False)
comment = forms.CharField(label=_(u"Comment"), widget=forms.Textarea,
@@ -148,6 +156,7 @@ class WarehouseDeletionForm(FinalForm):
class ContainerForm(ManageOldType, forms.Form):
form_label = _(u"Container")
+ file_upload = True
associated_models = {'container_type': models.ContainerType,
'location': models.Warehouse,
'responsible': models.Warehouse}
@@ -165,6 +174,13 @@ class ContainerForm(ManageOldType, forms.Form):
reverse_lazy('autocomplete-warehouse'),
associated_model=models.Warehouse, new=True),
validators=[valid_id(models.Warehouse)])
+ image = forms.ImageField(
+ label=_(u"Image"), help_text=mark_safe(
+ _(u"<p>Heavy images are resized to: %(width)dx%(height)d "
+ u"(ratio is preserved).</p>") % {
+ 'width': settings.IMAGE_MAX_SIZE[0],
+ 'height': settings.IMAGE_MAX_SIZE[1]}),
+ max_length=255, required=False, widget=widgets.ImageFileInput())
comment = forms.CharField(label=_(u"Comment"),
widget=forms.Textarea, required=False)
@@ -192,7 +208,7 @@ class ContainerForm(ManageOldType, forms.Form):
class ContainerModifyForm(ContainerForm):
pk = forms.IntegerField(required=False, widget=forms.HiddenInput)
- index = forms.IntegerField(_(u"Index"))
+ index = forms.IntegerField(label=_(u"ID"))
def __init__(self, *args, **kwargs):
super(ContainerModifyForm, self).__init__(*args, **kwargs)
@@ -264,20 +280,20 @@ class LocalisationForm(forms.Form):
form_label = _(u"Localisation")
def __init__(self, *args, **kwargs):
- container, warehouse = None, None
+ self.container, self.warehouse = None, None
if 'warehouse' in kwargs:
- warehouse = kwargs.pop('warehouse')
+ self.warehouse = kwargs.pop('warehouse')
if 'container' in kwargs:
- container = kwargs.pop('container')
+ self.container = kwargs.pop('container')
super(LocalisationForm, self).__init__(*args, **kwargs)
- if not warehouse:
+ if not self.warehouse:
return
- for divlink in warehouse.warehousedivisionlink_set.order_by(
+ for divlink in self.warehouse.warehousedivisionlink_set.order_by(
'order').all():
initial = u"-"
- if container:
+ if self.container:
q = models.ContainerLocalisation.objects.filter(
- division=divlink, container=container)
+ division=divlink, container=self.container)
if q.count():
initial = q.all()[0].reference
self.fields['division_{}'.format(divlink.pk)] = forms.CharField(
diff --git a/archaeological_warehouse/locale/django.pot b/archaeological_warehouse/locale/django.pot
index 5f7ac6fd1..d5d6e9b63 100644
--- a/archaeological_warehouse/locale/django.pot
+++ b/archaeological_warehouse/locale/django.pot
@@ -7,137 +7,152 @@
msgid ""
msgstr ""
-#: forms.py:35 forms.py:91 ishtar_menu.py:40 models.py:63 models.py:103
+#: forms.py:36 forms.py:99 ishtar_menu.py:40 models.py:63 models.py:103
#: templates/ishtar/sheet_warehouse.html:4
msgid "Warehouse"
msgstr ""
-#: forms.py:44 forms.py:49 models.py:280
+#: forms.py:45 forms.py:50 models.py:281
msgid "Division"
msgstr ""
-#: forms.py:51 models.py:127
+#: forms.py:52 models.py:127
msgid "Order"
msgstr ""
-#: forms.py:62 models.py:53
+#: forms.py:66
+msgid "There are identical divisions."
+msgstr ""
+
+#: forms.py:70 models.py:53
msgid "Divisions"
msgstr ""
-#: forms.py:66 forms.py:95 models.py:45 models.py:100
+#: forms.py:74 forms.py:103 models.py:45 models.py:100
msgid "Name"
msgstr ""
-#: forms.py:67 forms.py:97 models.py:36 models.py:47
+#: forms.py:75 forms.py:105 models.py:36 models.py:47
msgid "Warehouse type"
msgstr ""
-#: forms.py:68 forms.py:114
+#: forms.py:76 forms.py:122
msgid "Town"
msgstr ""
-#: forms.py:79 views.py:98
+#: forms.py:87 views.py:100
msgid "Warehouse search"
msgstr ""
-#: forms.py:100 models.py:50
+#: forms.py:108 models.py:50
msgid "Person in charge"
msgstr ""
-#: forms.py:106 forms.py:168 models.py:51 models.py:180
+#: forms.py:114 forms.py:184 models.py:51 models.py:181
msgid "Comment"
msgstr ""
-#: forms.py:108
+#: forms.py:116
msgid "Address"
msgstr ""
-#: forms.py:110
+#: forms.py:118
msgid "Address complement"
msgstr ""
-#: forms.py:112
+#: forms.py:120
msgid "Postal code"
msgstr ""
-#: forms.py:115
+#: forms.py:123
msgid "Country"
msgstr ""
-#: forms.py:117
+#: forms.py:125
msgid "Phone"
msgstr ""
-#: forms.py:118
+#: forms.py:126
msgid "Mobile phone"
msgstr ""
-#: forms.py:145 forms.py:146
+#: forms.py:153 forms.py:154
msgid "Would you like to delete this warehouse?"
msgstr ""
-#: forms.py:150 models.py:191 models.py:278
+#: forms.py:158 models.py:192 models.py:279
#: templates/ishtar/sheet_container.html:4
msgid "Container"
msgstr ""
-#: forms.py:154 forms.py:221 models.py:142
+#: forms.py:163 forms.py:237 models.py:142
msgid "Ref."
msgstr ""
-#: forms.py:155 forms.py:220 models.py:145 models.py:178
+#: forms.py:164 forms.py:236 models.py:145 models.py:179
msgid "Container type"
msgstr ""
-#: forms.py:157
+#: forms.py:166
msgid "Current location (warehouse)"
msgstr ""
-#: forms.py:163 models.py:175
+#: forms.py:172 models.py:176
msgid "Responsible warehouse"
msgstr ""
-#: forms.py:195
-msgid "Index"
+#: forms.py:178
+msgid "Image"
+msgstr ""
+
+#: forms.py:179
+#, python-format
+msgid ""
+"<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</"
+"p>"
+msgstr ""
+
+#: forms.py:211
+msgid "ID"
msgstr ""
-#: forms.py:213
+#: forms.py:229
msgid "This ID already exists for this warehouse."
msgstr ""
-#: forms.py:231 forms.py:237 views.py:131
+#: forms.py:247 forms.py:253 views.py:142
msgid "Container search"
msgstr ""
-#: forms.py:233 forms.py:239
+#: forms.py:249 forms.py:255
msgid "You should select a container."
msgstr ""
-#: forms.py:234
+#: forms.py:250
msgid "Add a new container"
msgstr ""
-#: forms.py:244 ishtar_menu.py:36 views.py:93
+#: forms.py:260 ishtar_menu.py:36 views.py:95
msgid "Packaging"
msgstr ""
-#: forms.py:250
+#: forms.py:266
msgid "Packager"
msgstr ""
-#: forms.py:256
+#: forms.py:272
msgid "Date"
msgstr ""
-#: forms.py:260
+#: forms.py:276
msgid "Packaged finds"
msgstr ""
-#: forms.py:264 models.py:181
+#: forms.py:280 models.py:182
msgid "Localisation"
msgstr ""
-#: forms.py:289 forms.py:290
+#: forms.py:305 forms.py:306
msgid "Would you like to delete this container?"
msgstr ""
@@ -161,7 +176,7 @@ msgstr ""
msgid "Deletion"
msgstr ""
-#: ishtar_menu.py:57 models.py:192 templates/ishtar/sheet_warehouse.html:17
+#: ishtar_menu.py:57 models.py:193 templates/ishtar/sheet_warehouse.html:20
msgid "Containers"
msgstr ""
@@ -169,11 +184,11 @@ msgstr ""
msgid "Warehouse types"
msgstr ""
-#: models.py:56 models.py:186
+#: models.py:56 models.py:187
msgid "External ID"
msgstr ""
-#: models.py:58 models.py:188
+#: models.py:58 models.py:189
msgid "External ID is set automatically"
msgstr ""
@@ -210,11 +225,11 @@ msgid "Collection"
msgstr ""
#: models.py:117
-msgid "Warehouse division"
+msgid "Warehouse division type"
msgstr ""
#: models.py:118
-msgid "Warehouse divisions"
+msgid "Warehouse division types"
msgstr ""
#: models.py:138
@@ -237,76 +252,76 @@ msgstr ""
msgid "Container types"
msgstr ""
-#: models.py:164
+#: models.py:165
msgid "Location - index"
msgstr ""
-#: models.py:165
+#: models.py:166
msgid "Precise localisation"
msgstr ""
-#: models.py:166
+#: models.py:167
msgid "Type"
msgstr ""
-#: models.py:172
+#: models.py:173
msgid "Location (warehouse)"
msgstr ""
-#: models.py:179
+#: models.py:180
msgid "Container ref."
msgstr ""
-#: models.py:183
+#: models.py:184
msgid "Cached location"
msgstr ""
-#: models.py:281
+#: models.py:282
msgid "Reference"
msgstr ""
-#: models.py:284
+#: models.py:285
msgid "Container localisation"
msgstr ""
-#: models.py:285
+#: models.py:286
msgid "Container localisations"
msgstr ""
-#: views.py:110
+#: views.py:112
msgid "Warehouse creation"
msgstr ""
-#: views.py:119
+#: views.py:121
msgid "Warehouse modification"
msgstr ""
-#: views.py:126
+#: views.py:137
msgid "Warehouse deletion"
msgstr ""
-#: views.py:142
+#: views.py:153
msgid "Container creation"
msgstr ""
-#: views.py:151
+#: views.py:162
msgid "Container modification"
msgstr ""
-#: views.py:158
+#: views.py:177
msgid "Container deletion"
msgstr ""
-#: templates/ishtar/sheet_container.html:19
+#: templates/ishtar/sheet_container.html:27
msgid "Content"
msgstr ""
-#: templates/ishtar/sheet_warehouse.html:22
+#: templates/ishtar/sheet_warehouse.html:25
msgid "Attached containers"
msgstr ""
-#: templates/ishtar/wizard/wizard_containerlocalisation.html:5
+#: templates/ishtar/wizard/wizard_containerlocalisation.html:6
msgid ""
-"No division set for this warehouse. Define it to localise container in this "
-"warehouse."
+"No division set for this warehouse. Define at least one division to localise "
+"containers in this warehouse."
msgstr ""
diff --git a/archaeological_warehouse/migrations/0007_auto__add_field_container_image__add_field_container_thumbnail.py b/archaeological_warehouse/migrations/0007_auto__add_field_container_image__add_field_container_thumbnail.py
new file mode 100644
index 000000000..cc1f02807
--- /dev/null
+++ b/archaeological_warehouse/migrations/0007_auto__add_field_container_image__add_field_container_thumbnail.py
@@ -0,0 +1,319 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding field 'Container.image'
+ db.add_column('archaeological_warehouse_container', 'image',
+ self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True, blank=True),
+ keep_default=False)
+
+ # Adding field 'Container.thumbnail'
+ db.add_column('archaeological_warehouse_container', 'thumbnail',
+ self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True, blank=True),
+ keep_default=False)
+
+
+ def backwards(self, orm):
+ # Deleting field 'Container.image'
+ db.delete_column('archaeological_warehouse_container', 'image')
+
+ # Deleting field 'Container.thumbnail'
+ db.delete_column('archaeological_warehouse_container', 'thumbnail')
+
+
+ models = {
+ 'archaeological_warehouse.collection': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'Collection'},
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_collection'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'warehouse': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'collections'", 'to': "orm['archaeological_warehouse.Warehouse']"})
+ },
+ 'archaeological_warehouse.container': {
+ 'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('index', 'location'),)", 'object_name': 'Container'},
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'cached_location': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'container_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.ContainerType']"}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_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'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_container'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'location': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
+ 'responsible': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owned_containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_warehouse.containerlocalisation': {
+ 'Meta': {'ordering': "('container', 'division__order')", 'unique_together': "(('container', 'division'),)", 'object_name': 'ContainerLocalisation'},
+ 'container': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Container']"}),
+ 'division': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseDivisionLink']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '200'})
+ },
+ 'archaeological_warehouse.containertype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'ContainerType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}),
+ 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_warehouse.warehouse': {
+ 'Meta': {'object_name': 'Warehouse'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'associated_divisions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']", 'symmetrical': 'False', 'through': "orm['archaeological_warehouse.WarehouseDivisionLink']", 'blank': 'True'}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_warehouse'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warehouse_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'warehouse_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseType']"})
+ },
+ 'archaeological_warehouse.warehousedivision': {
+ 'Meta': {'object_name': 'WarehouseDivision'},
+ '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_warehouse.warehousedivisionlink': {
+ 'Meta': {'ordering': "('warehouse', 'order')", 'unique_together': "(('warehouse', 'division'),)", 'object_name': 'WarehouseDivisionLink'},
+ 'division': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}),
+ 'warehouse': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']"})
+ },
+ 'archaeological_warehouse.warehousetype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'WarehouseType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.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': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '220'}),
+ 'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '220', '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', '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.importermodel': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterModel'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'klass': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+ },
+ 'ishtar_common.importertype': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterType'},
+ 'associated_models': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'created_models': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.ishtaruser': {
+ 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']},
+ 'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
+ },
+ 'ishtar_common.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.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'})
+ }
+ }
+
+ complete_apps = ['archaeological_warehouse'] \ No newline at end of file
diff --git a/archaeological_warehouse/migrations/0008_generate_cache_lbl_for_containers.py b/archaeological_warehouse/migrations/0008_generate_cache_lbl_for_containers.py
new file mode 100644
index 000000000..85df1bf21
--- /dev/null
+++ b/archaeological_warehouse/migrations/0008_generate_cache_lbl_for_containers.py
@@ -0,0 +1,308 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+from archaeological_warehouse.models import Container
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ for obj in Container.objects.all():
+ obj.skip_history_when_saving = True
+ obj.save()
+
+ def backwards(self, orm):
+ pass
+
+ models = {
+ 'archaeological_warehouse.collection': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'Collection'},
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_collection'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'warehouse': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'collections'", 'to': "orm['archaeological_warehouse.Warehouse']"})
+ },
+ 'archaeological_warehouse.container': {
+ 'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('index', 'location'),)", 'object_name': 'Container'},
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'cached_location': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'container_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.ContainerType']"}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_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'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_container'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'location': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
+ 'responsible': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owned_containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}),
+ 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_warehouse.containerlocalisation': {
+ 'Meta': {'ordering': "('container', 'division__order')", 'unique_together': "(('container', 'division'),)", 'object_name': 'ContainerLocalisation'},
+ 'container': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Container']"}),
+ 'division': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseDivisionLink']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '200'})
+ },
+ 'archaeological_warehouse.containertype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'ContainerType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'reference': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}),
+ 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+ 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'archaeological_warehouse.warehouse': {
+ 'Meta': {'object_name': 'Warehouse'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'associated_divisions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']", 'symmetrical': 'False', 'through': "orm['archaeological_warehouse.WarehouseDivisionLink']", 'blank': 'True'}),
+ 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_warehouse'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warehouse_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),
+ 'warehouse_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseType']"})
+ },
+ 'archaeological_warehouse.warehousedivision': {
+ 'Meta': {'object_name': 'WarehouseDivision'},
+ '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_warehouse.warehousedivisionlink': {
+ 'Meta': {'ordering': "('warehouse', 'order')", 'unique_together': "(('warehouse', 'division'),)", 'object_name': 'WarehouseDivisionLink'},
+ 'division': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}),
+ 'warehouse': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']"})
+ },
+ 'archaeological_warehouse.warehousetype': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'WarehouseType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.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': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '220'}),
+ 'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '220', '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', '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.importermodel': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterModel'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'klass': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+ },
+ 'ishtar_common.importertype': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterType'},
+ 'associated_models': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'created_models': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
+ 'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.ishtaruser': {
+ 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']},
+ 'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
+ },
+ 'ishtar_common.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.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'})
+ }
+ }
+
+ complete_apps = ['archaeological_warehouse'] \ No newline at end of file
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py
index 81660bf43..d1918f46a 100644
--- a/archaeological_warehouse/models.py
+++ b/archaeological_warehouse/models.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-# Copyright (C) 2012 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+# Copyright (C) 2012-2017 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -28,7 +28,7 @@ from django.utils.translation import ugettext_lazy as _, ugettext
from ishtar_common.utils import cached_label_changed
from ishtar_common.models import GeneralType, get_external_id, \
- LightHistorizedItem, OwnPerms, Address, Person, post_save_cache
+ LightHistorizedItem, OwnPerms, Address, Person, post_save_cache, ImageModel
class WarehouseType(GeneralType):
@@ -114,8 +114,8 @@ class Collection(LightHistorizedItem):
class WarehouseDivision(GeneralType):
class Meta:
- verbose_name = _(u"Warehouse division")
- verbose_name_plural = _(u"Warehouse divisions")
+ verbose_name = _(u"Warehouse division type")
+ verbose_name_plural = _(u"Warehouse division types")
post_save.connect(post_save_cache, sender=WarehouseDivision)
post_delete.connect(post_save_cache, sender=WarehouseDivision)
@@ -149,9 +149,10 @@ post_save.connect(post_save_cache, sender=ContainerType)
post_delete.connect(post_save_cache, sender=ContainerType)
-class Container(LightHistorizedItem):
+class Container(LightHistorizedItem, ImageModel):
TABLE_COLS = ['reference', 'container_type__label', 'cached_location',
'divisions_lbl']
+ IMAGE_PREFIX = 'containers/'
# search parameters
EXTRA_REQUEST_KEYS = {
@@ -182,7 +183,7 @@ class Container(LightHistorizedItem):
null=True, blank=True)
cached_location = models.CharField(_(u"Cached location"), max_length=500,
null=True, blank=True)
- index = models.IntegerField(u"Index", default=0)
+ index = models.IntegerField(u"ID", default=0)
external_id = models.TextField(_(u"External ID"), blank=True, null=True)
auto_external_id = models.BooleanField(
_(u"External ID is set automatically"), default=False)
diff --git a/archaeological_warehouse/templates/ishtar/sheet_container.html b/archaeological_warehouse/templates/ishtar/sheet_container.html
index 4a7b2f0b9..7845da2c1 100644
--- a/archaeological_warehouse/templates/ishtar/sheet_container.html
+++ b/archaeological_warehouse/templates/ishtar/sheet_container.html
@@ -4,13 +4,21 @@
{% block head_title %}{% trans "Container" %}{% endblock %}
{% block content %}
-{% window_nav item window_id 'show-container' '' '' '' previous next 1 %}
+{% window_nav item window_id 'show-container' 'container_modify' '' '' previous next 1 %}
+
+{% if item.image %}
+<a href='{{item.image.url}}' rel="prettyPhoto" title="{{item.label}}" class='photo'><img src='{{item.thumbnail.url}}'/></a>
+{% endif%}
+
+<p class="window-refs">{{ item.reference|default:"" }}</p>
+<p class="window-refs">{{ item.container_type|default:"" }}</p>
+<p class="window-refs">{{ item.responsible.name }} - {{ item.index }}</p>
+{% include "ishtar/blocks/sheet_external_id.html" %}
<ul class='form-flex'>
- {% field_li "Reference" item.reference %}
- {% field_li "Container type" item.container_type %}
{% field_li_detail "Responsible warehouse" item.responsible %}
{% field_li_detail "Location (warehouse)" item.location %}
+ {% include "ishtar/blocks/sheet_creation_section.html" %}
</ul>
{% field "Location" item.precise_location %}
{% field "Comment" item.comment "<pre>" "</pre>" %}
diff --git a/archaeological_warehouse/templates/ishtar/sheet_warehouse.html b/archaeological_warehouse/templates/ishtar/sheet_warehouse.html
index 9fd022281..c31fc93b4 100644
--- a/archaeological_warehouse/templates/ishtar/sheet_warehouse.html
+++ b/archaeological_warehouse/templates/ishtar/sheet_warehouse.html
@@ -4,12 +4,15 @@
{% block head_title %}{% trans "Warehouse" %}{% endblock %}
{% block content %}
-{% window_nav item window_id 'show-warehouse' '' '' '' previous next 1 %}
+{% window_nav item window_id 'show-warehouse' 'warehouse_modify' '' '' previous next 1 %}
+
+<p class="window-refs">{{ item.name|default:"" }}</p>
+<p class="window-refs">{{ item.warehouse_type|default:"" }}</p>
+{% include "ishtar/blocks/sheet_external_id.html" %}
<ul class='form-flex'>
- {% field_li "Name" item.name %}
- {% field_li "Warehouse type" item.warehouse_type %}
{% field_li "Person in charge" item.person_in_charge %}
+ {% include "ishtar/blocks/sheet_creation_section.html" %}
</ul>
{% field "Comment" item.comment "<pre>" "</pre>" %}
diff --git a/archaeological_warehouse/templates/ishtar/wizard/wizard_containerlocalisation.html b/archaeological_warehouse/templates/ishtar/wizard/wizard_containerlocalisation.html
index 4a21368ae..2e817ff41 100644
--- a/archaeological_warehouse/templates/ishtar/wizard/wizard_containerlocalisation.html
+++ b/archaeological_warehouse/templates/ishtar/wizard/wizard_containerlocalisation.html
@@ -1,7 +1,16 @@
{% extends "ishtar/wizard/default_wizard.html" %}
{% load i18n %}
+{% load url from future %}
{% block form_head %}
{% if not wizard.form.fields %}
-<p class='warning'>{% trans "No division set for this warehouse. Define it to localise container in this warehouse." %}</p>
+<p class='warning'>{% trans "No division set for this warehouse. Define at least one division to localise containers in this warehouse." %}<br/>
+ {{wizard.form.warehouse}}
+ <a href="{% url 'warehouse_modify' wizard.form.warehouse.pk %}">
+ <span class="fa-stack fa-lg">
+ <i class="fa fa-circle fa-stack-2x"></i>
+ <i class="fa fa-pencil fa-stack-1x fa-inverse"></i>
+ </span>
+ </a>
+</p>
{% endif %}
{% endblock %}
diff --git a/archaeological_warehouse/urls.py b/archaeological_warehouse/urls.py
index 133d4ae79..5d4427301 100644
--- a/archaeological_warehouse/urls.py
+++ b/archaeological_warehouse/urls.py
@@ -23,7 +23,7 @@ from ishtar_common.wizards import check_rights
import views
from archaeological_warehouse import models
-# be carreful: each check_rights must be relevant with ishtar_menu
+# be careful: each check_rights must be relevant with ishtar_menu
# forms
urlpatterns = patterns(
@@ -64,6 +64,9 @@ urlpatterns += patterns(
check_rights(['change_warehouse'])(
views.warehouse_deletion_wizard),
name='warehouse_deletion'),
+ url(r'warehouse-modify/(?P<pk>.+)/$',
+ views.warehouse_modify, name='warehouse_modify'),
+
url(r'^container_search/(?P<step>.+)?$',
check_rights(['change_warehouse'])(
views.container_search_wizard),
@@ -80,4 +83,6 @@ urlpatterns += patterns(
check_rights(['change_warehouse'])(
views.container_deletion_wizard),
name='container_deletion'),
-)
+ url(r'container-modify/(?P<pk>.+)/$',
+ views.container_modify, name='container_modify'),
+) \ No newline at end of file
diff --git a/archaeological_warehouse/views.py b/archaeological_warehouse/views.py
index 06b3c9432..677539a3f 100644
--- a/archaeological_warehouse/views.py
+++ b/archaeological_warehouse/views.py
@@ -19,9 +19,11 @@
import json
+from django.core.urlresolvers import reverse
from django.db.models import Q
from django.http import HttpResponse
from django.utils.translation import ugettext_lazy as _
+from django.shortcuts import redirect
import models
@@ -120,6 +122,15 @@ warehouse_modification_wizard = WarehouseModificationWizard.as_view([
url_name='warehouse_modification',
)
+
+def warehouse_modify(request, pk):
+ WarehouseModificationWizard.session_set_value(
+ request, 'selec-warehouse_modification', 'pk', pk, reset=True)
+ return redirect(
+ reverse('warehouse_modification',
+ kwargs={'step': 'warehouse-warehouse_modification'}))
+
+
warehouse_deletion_wizard = WarehouseDeletionWizard.as_view([
('selec-warehouse_deletion', WarehouseFormSelection),
('final-warehouse_deletion', WarehouseDeletionForm)],
@@ -152,6 +163,14 @@ container_modification_wizard = ContainerModificationWizard.as_view([
url_name='container_modification',
)
+
+def container_modify(request, pk):
+ ContainerModificationWizard.session_set_value(
+ request, 'selec-container_modification', 'pk', pk, reset=True)
+ return redirect(
+ reverse('container_modification',
+ kwargs={'step': 'container-container_modification'}))
+
container_deletion_wizard = ContainerDeletionWizard.as_view([
('selec-container_deletion', MainContainerFormSelection),
('final-container_deletion', ContainerDeletionForm)],
diff --git a/archaeological_warehouse/wizards.py b/archaeological_warehouse/wizards.py
index 0adb06f75..9ecc16b3f 100644
--- a/archaeological_warehouse/wizards.py
+++ b/archaeological_warehouse/wizards.py
@@ -73,10 +73,13 @@ class WarehouseDeletionWizard(DeletionWizard):
class ContainerWizard(Wizard):
model = models.Container
wizard_templates = {
- 'localisation-container_localisation':
+ 'localisation-container_creation':
+ 'ishtar/wizard/wizard_containerlocalisation.html',
+ 'localisation-container_modification':
'ishtar/wizard/wizard_containerlocalisation.html',
}
ignore_init_steps = ['localisation']
+ wizard_done_window = reverse_lazy('show-container')
def get_form_kwargs(self, step=None):
kwargs = super(ContainerWizard, self).get_form_kwargs(step)
@@ -98,6 +101,7 @@ class ContainerWizard(Wizard):
Save the localisation
"""
super(ContainerWizard, self).done(form_list)
+ dct = {}
for idx, form in enumerate(form_list):
if not form.is_valid():
return self.render(form)
@@ -119,8 +123,12 @@ class ContainerWizard(Wizard):
)
localisation.reference = form.cleaned_data[div_name]
localisation.save()
+ dct = {'item': container}
+ self.current_object = container
+ # force evaluation of lazy urls
+ dct['wizard_done_window'] = unicode(self.wizard_done_window)
return render_to_response(
- self.wizard_done_template, {},
+ self.wizard_done_template, dct,
context_instance=RequestContext(self.request))
diff --git a/example_project/settings.py b/example_project/settings.py
index e0b51505f..e569aa1c1 100644
--- a/example_project/settings.py
+++ b/example_project/settings.py
@@ -214,6 +214,7 @@ APP_NAME = "SRA - Pays de la Loire"
SURFACE_UNIT = 'square-metre'
SURFACE_UNIT_LABEL = u'm²'
JOINT = u" | "
+ISHTAR_FILE_PREFIX = u""
ISHTAR_OPE_PREFIX = u"OA"
ISHTAR_DEF_OPE_PREFIX = u"OP"
# string len of find indexes - i.e: find with index 42 will be 00042
diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py
index 3460c4a75..cdff25439 100644
--- a/ishtar_common/admin.py
+++ b/ishtar_common/admin.py
@@ -274,7 +274,7 @@ admin.site.register(models.FormaterType, FormaterTypeAdmin)
class ImportAdmin(admin.ModelAdmin):
- list_display = ('importer_type', 'imported_file', 'user', 'state',
+ list_display = ('name', 'importer_type', 'imported_file', 'user', 'state',
'creation_date')
admin.site.register(models.Import, ImportAdmin)
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py
index 0ce87025c..078ccfb15 100644
--- a/ishtar_common/forms_common.py
+++ b/ishtar_common/forms_common.py
@@ -105,7 +105,7 @@ class NewItemForm(forms.Form):
class NewImportForm(forms.ModelForm):
class Meta:
model = models.Import
- fields = ('importer_type', 'imported_file', 'imported_images',
+ fields = ('name', 'importer_type', 'imported_file', 'imported_images',
'conservative_import', 'encoding', 'skip_lines')
def clean(self):
diff --git a/ishtar_common/locale/django.pot b/ishtar_common/locale/django.pot
index c345672b7..d56b7cbcd 100644
--- a/ishtar_common/locale/django.pot
+++ b/ishtar_common/locale/django.pot
@@ -17,7 +17,7 @@ msgstr ""
msgid "email address"
msgstr ""
-#: __init__.py:10
+#: __init__.py:10 templates/ishtar/sheet_source.html:8
msgid "Related item"
msgstr ""
@@ -119,31 +119,31 @@ msgstr ""
msgid "Importer configuration error: field \"{}\" does not exist for {}."
msgstr ""
-#: data_importer.py:1555
+#: data_importer.py:1559
msgid "line"
msgstr ""
-#: data_importer.py:1555
+#: data_importer.py:1559
msgid "col"
msgstr ""
-#: data_importer.py:1555
+#: data_importer.py:1559
msgid "error"
msgstr ""
-#: data_importer.py:1561
+#: data_importer.py:1565
msgid "field"
msgstr ""
-#: data_importer.py:1561
+#: data_importer.py:1565
msgid "source"
msgstr ""
-#: data_importer.py:1561
+#: data_importer.py:1565
msgid "result"
msgstr ""
-#: data_importer.py:1577
+#: data_importer.py:1581
#, python-format
msgid "\"%(value)s\" not in %(values)s"
msgstr ""
@@ -181,7 +181,7 @@ msgid "Template"
msgstr ""
#: forms_common.py:41 forms_common.py:59 forms_common.py:184
-#: forms_common.py:408 models.py:1548 models.py:2986
+#: forms_common.py:408 models.py:1548 models.py:2989
#: templates/blocks/JQueryAdvancedTown.html:19
#: templates/ishtar/sheet_organization.html:13
msgid "Town"
@@ -197,8 +197,8 @@ msgid ""
"french town Saint-Denis in the Seine-Saint-Denis department.</p>"
msgstr ""
-#: forms_common.py:68 forms_common.py:863 ishtar_menu.py:47 models.py:2609
-#: models.py:2790 models.py:2854 templates/ishtar/sheet_person.html:4
+#: forms_common.py:68 forms_common.py:863 ishtar_menu.py:47 models.py:2610
+#: models.py:2791 models.py:2856 templates/ishtar/sheet_person.html:4
msgid "Person"
msgstr ""
@@ -209,15 +209,16 @@ msgid ""
msgstr ""
#: forms_common.py:172 forms_common.py:329 forms_common.py:453
-#: ishtar_menu.py:75 models.py:2492 models.py:2583
+#: ishtar_menu.py:75 models.py:2493 models.py:2584
#: templates/ishtar/sheet_organization.html:4
msgid "Organization"
msgstr ""
#: forms_common.py:175 forms_common.py:212 forms_common.py:324
#: forms_common.py:378 forms_common.py:448 models.py:1103 models.py:1481
-#: models.py:1750 models.py:1766 models.py:2003 models.py:2486 models.py:2595
-#: models.py:2972 templates/ishtar/sheet_organization.html:8
+#: models.py:1750 models.py:1766 models.py:2003 models.py:2279 models.py:2487
+#: models.py:2596 models.py:2975 templates/ishtar/import_list.html:13
+#: templates/ishtar/sheet_organization.html:8
#: templates/ishtar/sheet_organization.html:21
msgid "Name"
msgstr ""
@@ -252,22 +253,22 @@ msgstr ""
#: forms_common.py:188 forms_common.py:385 models.py:1561
#: templates/ishtar/sheet_organization.html:14
-#: templates/ishtar/sheet_person.html:19
+#: templates/ishtar/sheet_person.html:21
#: templates/ishtar/wizard/wizard_person.html:17
msgid "Phone"
msgstr ""
#: forms_common.py:189 forms_common.py:394 models.py:1573
#: templates/ishtar/sheet_organization.html:15
-#: templates/ishtar/sheet_person.html:37
+#: templates/ishtar/sheet_person.html:39
#: templates/ishtar/wizard/wizard_person.html:35
msgid "Mobile phone"
msgstr ""
#: forms_common.py:213 forms_common.py:327 forms_common.py:451 models.py:2170
-#: models.py:2488 models.py:2907 templates/sheet_ope.html:85
+#: models.py:2489 models.py:2910 templates/sheet_ope.html:85
#: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126
-#: templates/ishtar/import_list.html:13
+#: templates/ishtar/import_list.html:14
#: templates/ishtar/sheet_organization.html:23
#: templates/ishtar/blocks/window_tables/documents.html:8
msgid "Type"
@@ -289,7 +290,7 @@ msgstr ""
msgid "Organization to merge"
msgstr ""
-#: forms_common.py:325 forms_common.py:376 forms_common.py:449 models.py:2593
+#: forms_common.py:325 forms_common.py:376 forms_common.py:449 models.py:2594
#: templates/ishtar/sheet_organization.html:22
msgid "Surname"
msgstr ""
@@ -308,16 +309,16 @@ msgid "Identity"
msgstr ""
#: forms_common.py:373 forms_common.py:781 forms_common.py:830 models.py:2135
-#: models.py:2587 models.py:2589 models.py:2904 templates/sheet_ope.html:104
+#: models.py:2588 models.py:2590 models.py:2907 templates/sheet_ope.html:104
#: templates/ishtar/blocks/window_tables/documents.html:7
msgid "Title"
msgstr ""
-#: forms_common.py:374 models.py:2591
+#: forms_common.py:374 models.py:2592
msgid "Salutation"
msgstr ""
-#: forms_common.py:380 models.py:2597
+#: forms_common.py:380 models.py:2598
msgid "Raw name"
msgstr ""
@@ -377,7 +378,7 @@ msgstr ""
msgid "Account search"
msgstr ""
-#: forms_common.py:512 forms_common.py:552 forms_common.py:556 models.py:2540
+#: forms_common.py:512 forms_common.py:552 forms_common.py:556 models.py:2541
msgid "Person type"
msgstr ""
@@ -385,7 +386,7 @@ msgstr ""
msgid "Account"
msgstr ""
-#: forms_common.py:577 wizards.py:1333
+#: forms_common.py:577 wizards.py:1339
msgid "New password"
msgstr ""
@@ -409,7 +410,7 @@ msgstr ""
msgid "Send the new password by email?"
msgstr ""
-#: forms_common.py:636 forms_common.py:649 models.py:2987
+#: forms_common.py:636 forms_common.py:649 models.py:2990
msgid "Towns"
msgstr ""
@@ -425,7 +426,7 @@ msgstr ""
msgid "Documentation informations"
msgstr ""
-#: forms_common.py:783 forms_common.py:831 models.py:2136 models.py:2879
+#: forms_common.py:783 forms_common.py:831 models.py:2136 models.py:2882
msgid "Source type"
msgstr ""
@@ -437,37 +438,37 @@ msgstr ""
msgid "Internal reference"
msgstr ""
-#: forms_common.py:791 models.py:2918
+#: forms_common.py:791 models.py:2921
msgid "Numerical ressource (web address)"
msgstr ""
-#: forms_common.py:792 models.py:2920
+#: forms_common.py:792 models.py:2923
msgid "Receipt date"
msgstr ""
-#: forms_common.py:794 models.py:2302 models.py:2922
+#: forms_common.py:794 models.py:2304 models.py:2925
msgid "Creation date"
msgstr ""
-#: forms_common.py:797 models.py:2925
+#: forms_common.py:797 models.py:2928
msgid "Receipt date in documentation"
msgstr ""
#: forms_common.py:799 forms_common.py:835 models.py:379 models.py:696
-#: models.py:2030 models.py:2601 models.py:2932
+#: models.py:2030 models.py:2602 models.py:2935
msgid "Comment"
msgstr ""
#: forms_common.py:801 forms_common.py:834 models.py:1105 models.py:1770
-#: models.py:1957 models.py:2004 models.py:2931 templates/sheet_ope.html:128
+#: models.py:1957 models.py:2004 models.py:2934 templates/sheet_ope.html:128
msgid "Description"
msgstr ""
-#: forms_common.py:804 models.py:2933
+#: forms_common.py:804 models.py:2936
msgid "Additional information"
msgstr ""
-#: forms_common.py:806 forms_common.py:838 models.py:2935
+#: forms_common.py:806 forms_common.py:838 models.py:2938
msgid "Has a duplicate"
msgstr ""
@@ -482,7 +483,7 @@ msgid ""
"p>"
msgstr ""
-#: forms_common.py:827 forms_common.py:856 forms_common.py:890 models.py:2859
+#: forms_common.py:827 forms_common.py:856 forms_common.py:890 models.py:2861
#: templates/ishtar/wizard/wizard_person_deletion.html:124
msgid "Author"
msgstr ""
@@ -495,7 +496,7 @@ msgstr ""
msgid "Would you like to delete this documentation?"
msgstr ""
-#: forms_common.py:864 models.py:2137 models.py:2846 models.py:2856
+#: forms_common.py:864 models.py:2137 models.py:2848 models.py:2858
msgid "Author type"
msgstr ""
@@ -507,7 +508,7 @@ msgstr ""
msgid "There are identical authors."
msgstr ""
-#: forms_common.py:901 models.py:2860 models.py:2914
+#: forms_common.py:901 models.py:2862 models.py:2917
#: templates/sheet_ope.html:106
#: templates/ishtar/blocks/window_tables/documents.html:9
msgid "Authors"
@@ -525,7 +526,7 @@ msgstr ""
msgid "Deletion"
msgstr ""
-#: ishtar_menu.py:39 models.py:1277 views.py:1606
+#: ishtar_menu.py:39 models.py:1277 views.py:1608
msgid "Global variables"
msgstr ""
@@ -537,7 +538,7 @@ msgstr ""
msgid "Search"
msgstr ""
-#: ishtar_menu.py:54 ishtar_menu.py:83 templates/ishtar/import_list.html:15
+#: ishtar_menu.py:54 ishtar_menu.py:83 templates/ishtar/import_list.html:16
msgid "Creation"
msgstr ""
@@ -553,19 +554,19 @@ msgstr ""
msgid "Manual merge"
msgstr ""
-#: ishtar_menu.py:109 models.py:2313
+#: ishtar_menu.py:109 models.py:2315
msgid "Imports"
msgstr ""
-#: ishtar_menu.py:112 views.py:1614
+#: ishtar_menu.py:112 views.py:1616
msgid "New import"
msgstr ""
-#: ishtar_menu.py:116 views.py:1628
+#: ishtar_menu.py:116 views.py:1630
msgid "Current imports"
msgstr ""
-#: ishtar_menu.py:120 views.py:1664
+#: ishtar_menu.py:120 views.py:1669
msgid "Old imports"
msgstr ""
@@ -609,7 +610,7 @@ msgstr ""
msgid "Creator"
msgstr ""
-#: models.py:965 models.py:2998 models.py:3054
+#: models.py:965 models.py:2846 models.py:3001 models.py:3057
msgid "Order"
msgstr ""
@@ -825,7 +826,7 @@ msgid "Total"
msgstr ""
#: models.py:1393 models.py:1517 models.py:1529
-#: templates/ishtar/sheet_person.html:22
+#: templates/ishtar/sheet_person.html:24
#: templates/ishtar/dashboards/dashboard_main_detail.html:141
#: templates/ishtar/dashboards/dashboard_main_detail_users.html:26
#: templates/ishtar/wizard/wizard_person.html:20
@@ -848,7 +849,7 @@ msgstr ""
msgid "Document templates"
msgstr ""
-#: models.py:1520 models.py:1530 models.py:2297
+#: models.py:1520 models.py:1530 models.py:2299
msgid "State"
msgstr ""
@@ -1038,11 +1039,11 @@ msgstr ""
msgid "Importer - Targets keys"
msgstr ""
-#: models.py:2138 models.py:2910
+#: models.py:2138 models.py:2913
msgid "Format"
msgstr ""
-#: models.py:2139 models.py:3002
+#: models.py:2139 models.py:3005
msgid "Operation type"
msgstr ""
@@ -1106,15 +1107,15 @@ msgstr ""
msgid "Context record relation type"
msgstr ""
-#: models.py:2158 models.py:3060
+#: models.py:2158 models.py:3063
msgid "Spatial reference system"
msgstr ""
-#: models.py:2159 models.py:2888
+#: models.py:2159 models.py:2891
msgid "Support type"
msgstr ""
-#: models.py:2160 models.py:2552
+#: models.py:2160 models.py:2553
msgid "Title type"
msgstr ""
@@ -1212,263 +1213,263 @@ msgstr ""
msgid "Archived"
msgstr ""
-#: models.py:2281
+#: models.py:2283
msgid "Imported file"
msgstr ""
-#: models.py:2283
+#: models.py:2285
msgid "Associated images (zip file)"
msgstr ""
-#: models.py:2285
+#: models.py:2287
msgid "Encoding"
msgstr ""
-#: models.py:2287
+#: models.py:2289
msgid "Skip lines"
msgstr ""
-#: models.py:2288 templates/ishtar/import_list.html:47
+#: models.py:2290 templates/ishtar/import_list.html:51
msgid "Error file"
msgstr ""
-#: models.py:2291
+#: models.py:2293
msgid "Result file"
msgstr ""
-#: models.py:2294 templates/ishtar/import_list.html:53
+#: models.py:2296 templates/ishtar/import_list.html:57
msgid "Match file"
msgstr ""
-#: models.py:2300
+#: models.py:2302
msgid "Conservative import"
msgstr ""
-#: models.py:2305
+#: models.py:2307
msgid "End date"
msgstr ""
-#: models.py:2307
+#: models.py:2309
msgid "Remaining seconds"
msgstr ""
-#: models.py:2312
+#: models.py:2314
msgid "Import"
msgstr ""
-#: models.py:2342
+#: models.py:2343
msgid "Analyse"
msgstr ""
-#: models.py:2344 models.py:2347
+#: models.py:2345 models.py:2348
msgid "Re-analyse"
msgstr ""
-#: models.py:2345
+#: models.py:2346
msgid "Launch import"
msgstr ""
-#: models.py:2348
+#: models.py:2349
msgid "Re-import"
msgstr ""
-#: models.py:2349
+#: models.py:2350
msgid "Archive"
msgstr ""
-#: models.py:2351
+#: models.py:2352
msgid "Unarchive"
msgstr ""
-#: models.py:2352 widgets.py:130 templates/ishtar/form_delete.html:11
+#: models.py:2353 widgets.py:130 templates/ishtar/form_delete.html:11
msgid "Delete"
msgstr ""
-#: models.py:2493
+#: models.py:2494
msgid "Organizations"
msgstr ""
-#: models.py:2495
+#: models.py:2496
msgid "Can view all Organizations"
msgstr ""
-#: models.py:2496
+#: models.py:2497
msgid "Can view own Organization"
msgstr ""
-#: models.py:2497
+#: models.py:2498
msgid "Can add own Organization"
msgstr ""
-#: models.py:2499
+#: models.py:2500
msgid "Can change own Organization"
msgstr ""
-#: models.py:2501
+#: models.py:2502
msgid "Can delete own Organization"
msgstr ""
-#: models.py:2536
+#: models.py:2537
msgid "Groups"
msgstr ""
-#: models.py:2541
+#: models.py:2542
msgid "Person types"
msgstr ""
-#: models.py:2553
+#: models.py:2554
msgid "Title types"
msgstr ""
-#: models.py:2562
+#: models.py:2563
msgid "Mr"
msgstr ""
-#: models.py:2563
+#: models.py:2564
msgid "Miss"
msgstr ""
-#: models.py:2564
+#: models.py:2565
msgid "Mr and Mrs"
msgstr ""
-#: models.py:2565
+#: models.py:2566
msgid "Mrs"
msgstr ""
-#: models.py:2566
+#: models.py:2567
msgid "Doctor"
msgstr ""
-#: models.py:2599
+#: models.py:2600
msgid "Contact type"
msgstr ""
-#: models.py:2602 models.py:2666
+#: models.py:2603 models.py:2667
msgid "Types"
msgstr ""
-#: models.py:2605
+#: models.py:2606
msgid "Is attached to"
msgstr ""
-#: models.py:2610
+#: models.py:2611
msgid "Persons"
msgstr ""
-#: models.py:2612
+#: models.py:2613
msgid "Can view all Persons"
msgstr ""
-#: models.py:2613
+#: models.py:2614
msgid "Can view own Person"
msgstr ""
-#: models.py:2614
+#: models.py:2615
msgid "Can add own Person"
msgstr ""
-#: models.py:2615
+#: models.py:2616
msgid "Can change own Person"
msgstr ""
-#: models.py:2616
+#: models.py:2617
msgid "Can delete own Person"
msgstr ""
-#: models.py:2793
+#: models.py:2794
msgid "Advanced shortcut menu"
msgstr ""
-#: models.py:2796
+#: models.py:2797
msgid "Ishtar user"
msgstr ""
-#: models.py:2797
+#: models.py:2798
msgid "Ishtar users"
msgstr ""
-#: models.py:2841
+#: models.py:2842
msgid "To modify the password use the form in Auth > User"
msgstr ""
-#: models.py:2847
+#: models.py:2849
msgid "Author types"
msgstr ""
-#: models.py:2880
+#: models.py:2883
msgid "Source types"
msgstr ""
-#: models.py:2889
+#: models.py:2892
msgid "Support types"
msgstr ""
-#: models.py:2896
+#: models.py:2899
msgid "Format type"
msgstr ""
-#: models.py:2897
+#: models.py:2900
msgid "Format types"
msgstr ""
-#: models.py:2905
+#: models.py:2908
msgid "External ID"
msgstr ""
-#: models.py:2908
+#: models.py:2911
msgid "Support"
msgstr ""
-#: models.py:2912
+#: models.py:2915
msgid "Scale"
msgstr ""
-#: models.py:2926
+#: models.py:2929
msgid "Item number"
msgstr ""
-#: models.py:2927
+#: models.py:2930
msgid "Ref."
msgstr ""
-#: models.py:2930
+#: models.py:2933
msgid "Internal ref."
msgstr ""
-#: models.py:2973
+#: models.py:2976
msgid "Surface (m2)"
msgstr ""
-#: models.py:2974 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
+#: models.py:2977 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
msgid "Localisation"
msgstr ""
-#: models.py:2999
+#: models.py:3002
msgid "Is preventive"
msgstr ""
-#: models.py:3003
+#: models.py:3006
msgid "Operation types"
msgstr ""
-#: models.py:3032
+#: models.py:3035
msgid "Preventive"
msgstr ""
-#: models.py:3033
+#: models.py:3036
msgid "Research"
msgstr ""
-#: models.py:3056
+#: models.py:3059
msgid "Authority name"
msgstr ""
-#: models.py:3057
+#: models.py:3060
msgid "Authority SRID"
msgstr ""
-#: models.py:3061
+#: models.py:3064
msgid "Spatial reference systems"
msgstr ""
@@ -1536,56 +1537,56 @@ msgstr ""
msgid "Treatment"
msgstr ""
-#: views.py:1361 views.py:1404
+#: views.py:1363 views.py:1406
msgid "Operation not permitted."
msgstr ""
-#: views.py:1363
+#: views.py:1365
#, python-format
msgid "New %s"
msgstr ""
-#: views.py:1422 views.py:1472
+#: views.py:1424 views.py:1474
msgid "Archaeological files"
msgstr ""
-#: views.py:1423 views.py:1476
+#: views.py:1425 views.py:1478
msgid "Operations"
msgstr ""
-#: views.py:1425 views.py:1480
+#: views.py:1427 views.py:1482
msgid "Context records"
msgstr ""
-#: views.py:1427 views.py:1483
+#: views.py:1429 views.py:1485
msgid "Finds"
msgstr ""
-#: views.py:1676 templates/ishtar/import_list.html:43
+#: views.py:1683 templates/ishtar/import_list.html:47
msgid "Link unmatched items"
msgstr ""
-#: views.py:1691
+#: views.py:1698
msgid "Delete import"
msgstr ""
-#: views.py:1730
+#: views.py:1737
msgid "Merge persons"
msgstr ""
-#: views.py:1754
+#: views.py:1761
msgid "Select the main person"
msgstr ""
-#: views.py:1763
+#: views.py:1770
msgid "Merge organization"
msgstr ""
-#: views.py:1773
+#: views.py:1780
msgid "Select the main organization"
msgstr ""
-#: views.py:1813 views.py:1829
+#: views.py:1820 views.py:1836
msgid "Corporation manager"
msgstr ""
@@ -1593,11 +1594,11 @@ msgstr ""
msgid "Search..."
msgstr ""
-#: widgets.py:670 templatetags/window_tables.py:91
+#: widgets.py:670 templatetags/window_tables.py:96
msgid "No results"
msgstr ""
-#: widgets.py:671 templatetags/window_tables.py:92
+#: widgets.py:671 templatetags/window_tables.py:97
msgid "Loading..."
msgstr ""
@@ -1605,15 +1606,15 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: wizards.py:372 templates/ishtar/import_delete.html:20
+#: wizards.py:374 templates/ishtar/import_delete.html:21
msgid "Yes"
msgstr ""
-#: wizards.py:374
+#: wizards.py:376
msgid "No"
msgstr ""
-#: wizards.py:1390
+#: wizards.py:1396
#, python-format
msgid "[%(app_name)s] Account creation/modification"
msgstr ""
@@ -1684,11 +1685,7 @@ msgstr ""
#: templates/base.html:84 templates/welcome.html:8 templates/welcome.html.py:9
#: templates/welcome.html:10 templates/welcome.html.py:11
-#: templates/ishtar/manage_basket.html:4
-#: templates/ishtar/blocks/window_field.html:1
-#: templates/ishtar/blocks/window_field_detail.html:1
-#: templates/ishtar/blocks/window_field_multiple.html:1
-#: templates/ishtar/blocks/window_field_url.html:1
+#: templates/ishtar/manage_basket.html:5
msgid ":"
msgstr ""
@@ -1977,7 +1974,7 @@ msgid "where the magic happens."
msgstr ""
#: templates/window.html:40 templates/blocks/JQueryJqGrid.html:34
-#: templates/ishtar/manage_basket.html:12
+#: templates/ishtar/manage_basket.html:13
msgid "Add"
msgstr ""
@@ -2058,7 +2055,7 @@ msgid "remove"
msgstr ""
#: templates/ishtar/form.html:11 templates/ishtar/formset.html:8
-#: templates/ishtar/import_list.html:58 templates/ishtar/merge.html:31
+#: templates/ishtar/import_list.html:62 templates/ishtar/merge.html:31
#: templates/ishtar/simple_form.html:7
#: templates/ishtar/wizard/default_wizard.html:31
#: templates/ishtar/wizard/search.html:13
@@ -2066,19 +2063,19 @@ msgstr ""
msgid "Validate"
msgstr ""
-#: templates/ishtar/import_delete.html:8
+#: templates/ishtar/import_delete.html:9
msgid "The current items are linked to this import:"
msgstr ""
-#: templates/ishtar/import_delete.html:18
+#: templates/ishtar/import_delete.html:19
msgid "All these items will be deleted with this import."
msgstr ""
-#: templates/ishtar/import_delete.html:19
+#: templates/ishtar/import_delete.html:20
msgid "Are you sure?"
msgstr ""
-#: templates/ishtar/import_delete.html:22
+#: templates/ishtar/import_delete.html:23
msgid "Back"
msgstr ""
@@ -2086,35 +2083,39 @@ msgstr ""
msgid "No pending imports."
msgstr ""
-#: templates/ishtar/import_list.html:14
+#: templates/ishtar/import_list.html:15
msgctxt "file"
msgid "File"
msgstr ""
-#: templates/ishtar/import_list.html:16
+#: templates/ishtar/import_list.html:17
msgid "Status"
msgstr ""
-#: templates/ishtar/import_list.html:17
+#: templates/ishtar/import_list.html:18
msgid "Action"
msgstr ""
-#: templates/ishtar/import_list.html:25
+#: templates/ishtar/import_list.html:29
msgid "Source file"
msgstr ""
-#: templates/ishtar/import_list.html:50
+#: templates/ishtar/import_list.html:54
msgid "Control file"
msgstr ""
-#: templates/ishtar/manage_basket.html:9
+#: templates/ishtar/manage_basket.html:10
msgid "Checking \"Select all\" only selects the current page."
msgstr ""
-#: templates/ishtar/manage_basket.html:13
+#: templates/ishtar/manage_basket.html:14
msgid "Basket content"
msgstr ""
+#: templates/ishtar/manage_basket.html:22 templates/ishtar/sheet.html:28
+msgid "Close"
+msgstr ""
+
#: templates/ishtar/merge.html:5
msgid "Merge"
msgstr ""
@@ -2183,10 +2184,6 @@ msgstr ""
msgid "Contact informations"
msgstr ""
-#: templates/ishtar/sheet.html:28
-msgid "Close"
-msgstr ""
-
#: templates/ishtar/sheet.html:34
msgid "Close all windows"
msgstr ""
@@ -2211,60 +2208,64 @@ msgstr ""
msgid "Planning service of archaeological files"
msgstr ""
-#: templates/ishtar/sheet_person.html:21
+#: templates/ishtar/sheet_person.html:23
#: templates/ishtar/wizard/wizard_person.html:19
msgid "Phone type"
msgstr ""
-#: templates/ishtar/sheet_person.html:44
+#: templates/ishtar/sheet_person.html:46
#: templates/ishtar/wizard/wizard_person.html:42
msgid "Business address"
msgstr ""
-#: templates/ishtar/sheet_person.html:52
+#: templates/ishtar/sheet_person.html:55
#: templates/ishtar/wizard/wizard_person.html:51
msgid "Other address"
msgstr ""
-#: templates/ishtar/sheet_person.html:60
+#: templates/ishtar/sheet_person.html:64
msgid "Associated organization"
msgstr ""
-#: templates/ishtar/sheet_person.html:71
+#: templates/ishtar/sheet_person.html:76
msgid "Associated operations as scientist"
msgstr ""
-#: templates/ishtar/sheet_person.html:75
+#: templates/ishtar/sheet_person.html:80
msgid "Associated operations as responsible"
msgstr ""
-#: templates/ishtar/sheet_person.html:80
+#: templates/ishtar/sheet_person.html:85
#: templates/ishtar/wizard/wizard_person_deletion.html:6
msgid "In charge of archaeological files"
msgstr ""
-#: templates/ishtar/sheet_person.html:85
+#: templates/ishtar/sheet_person.html:90
#: templates/ishtar/wizard/wizard_person_deletion.html:14
msgid "General contractor of archaeological files"
msgstr ""
-#: templates/ishtar/sheet_person.html:90
+#: templates/ishtar/sheet_person.html:95
#: templates/ishtar/wizard/wizard_person_deletion.html:22
msgid "Responsible for planning service of archaeological files"
msgstr ""
-#: templates/ishtar/sheet_person.html:96
+#: templates/ishtar/sheet_person.html:101
msgid "Documents associated to operations"
msgstr ""
-#: templates/ishtar/sheet_person.html:101
+#: templates/ishtar/sheet_person.html:106
msgid "Documents associated to context records"
msgstr ""
-#: templates/ishtar/sheet_person.html:106
+#: templates/ishtar/sheet_person.html:111
msgid "Documents associated to finds"
msgstr ""
+#: templates/ishtar/sheet_source.html:22
+msgid "Web link"
+msgstr ""
+
#: templates/ishtar/blocks/advanced_shortcut_menu.html:15
#: templates/ishtar/blocks/shortcut_menu.html:15
msgid ""
@@ -2319,6 +2320,20 @@ msgid ""
"a free software under AGPL v3 license."
msgstr ""
+#: templates/ishtar/blocks/sheet_creation_section.html:3
+msgctxt "Sheet"
+msgid "Creation"
+msgstr ""
+
+#: templates/ishtar/blocks/sheet_creation_section.html:12
+msgctxt "Sheet"
+msgid "Modification"
+msgstr ""
+
+#: templates/ishtar/blocks/sheet_external_id.html:3
+msgid "Internal ID"
+msgstr ""
+
#: templates/ishtar/blocks/window_nav.html:6
msgid "Previous version"
msgstr ""
diff --git a/ishtar_common/migrations/0074_auto__add_field_import_name.py b/ishtar_common/migrations/0074_auto__add_field_import_name.py
new file mode 100644
index 000000000..8374ce83f
--- /dev/null
+++ b/ishtar_common/migrations/0074_auto__add_field_import_name.py
@@ -0,0 +1,494 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding field 'Import.name'
+ db.add_column('ishtar_common_import', 'name',
+ self.gf('django.db.models.fields.CharField')(max_length=500, null=True, blank=True),
+ keep_default=False)
+
+
+ def backwards(self, orm):
+ # Deleting field 'Import.name'
+ db.delete_column('ishtar_common_import', 'name')
+
+
+ models = {
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.arrondissement': {
+ 'Meta': {'object_name': 'Arrondissement'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.author': {
+ 'Meta': {'object_name': 'Author'},
+ 'author_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.AuthorType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'author'", 'to': "orm['ishtar_common.Person']"})
+ },
+ 'ishtar_common.authortype': {
+ 'Meta': {'ordering': "['label']", 'object_name': 'AuthorType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.canton': {
+ 'Meta': {'object_name': 'Canton'},
+ 'arrondissement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Arrondissement']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.department': {
+ 'Meta': {'ordering': "['number']", 'object_name': 'Department'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}),
+ 'state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.State']", 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.documenttemplate': {
+ 'Meta': {'ordering': "['associated_object_name', 'name']", 'object_name': 'DocumentTemplate'},
+ 'associated_object_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'template': ('django.db.models.fields.files.FileField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.format': {
+ 'Meta': {'ordering': "['label']", '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.formatertype': {
+ 'Meta': {'ordering': "('formater_type', 'options')", 'unique_together': "(('formater_type', 'options', 'many_split'),)", 'object_name': 'FormaterType'},
+ 'formater_type': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'many_split': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'options': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.globalvar': {
+ 'Meta': {'ordering': "['slug']", 'object_name': 'GlobalVar'},
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
+ 'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.historicalorganization': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOrganization'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ '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_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'}),
+ '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ '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.historicalperson': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalPerson'},
+ '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ '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_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'}),
+ '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'}),
+ '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '220'}),
+ 'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '220', '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', '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.importercolumn': {
+ 'Meta': {'ordering': "('importer_type', 'col_number')", 'unique_together': "(('importer_type', 'col_number'),)", 'object_name': 'ImporterColumn'},
+ 'col_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'export_field_name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'columns'", 'to': "orm['ishtar_common.ImporterType']"}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'regexp_pre_filter': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Regexp']", 'null': 'True', 'blank': 'True'}),
+ 'required': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
+ },
+ 'ishtar_common.importerdefault': {
+ 'Meta': {'object_name': 'ImporterDefault'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'defaults'", 'to': "orm['ishtar_common.ImporterType']"}),
+ 'target': ('django.db.models.fields.CharField', [], {'max_length': '500'})
+ },
+ 'ishtar_common.importerdefaultvalues': {
+ 'Meta': {'object_name': 'ImporterDefaultValues'},
+ 'default_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'default_values'", 'to': "orm['ishtar_common.ImporterDefault']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'target': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
+ 'value': ('django.db.models.fields.CharField', [], {'max_length': '500'})
+ },
+ 'ishtar_common.importerduplicatefield': {
+ 'Meta': {'object_name': 'ImporterDuplicateField'},
+ 'column': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'duplicate_fields'", 'to': "orm['ishtar_common.ImporterColumn']"}),
+ 'concat': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'concat_str': ('django.db.models.fields.CharField', [], {'max_length': '5', 'null': 'True', 'blank': 'True'}),
+ 'field_name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'force_new': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+ },
+ 'ishtar_common.importermodel': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterModel'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'klass': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+ },
+ 'ishtar_common.importertype': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterType'},
+ 'associated_models': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'created_models': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.ImporterModel']"}),
+ '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.importtarget': {
+ 'Meta': {'object_name': 'ImportTarget'},
+ 'column': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'targets'", 'to': "orm['ishtar_common.ImporterColumn']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'concat': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'concat_str': ('django.db.models.fields.CharField', [], {'max_length': '5', 'null': 'True', 'blank': 'True'}),
+ 'force_new': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'formater_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.FormaterType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'regexp_filter': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Regexp']", 'null': 'True', 'blank': 'True'}),
+ 'target': ('django.db.models.fields.CharField', [], {'max_length': '500'})
+ },
+ 'ishtar_common.ishtarsiteprofile': {
+ 'Meta': {'ordering': "['label']", 'object_name': 'IshtarSiteProfile'},
+ 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'base_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(0, 0, 0, 0)'", 'max_length': '200'}),
+ 'base_find_external_id': ('django.db.models.fields.TextField', [], {'default': "'{context_record__external_id}-{label}'"}),
+ 'container_external_id': ('django.db.models.fields.TextField', [], {'default': "'{responsible__external_id}-{index}'"}),
+ 'context_record': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'context_record_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(210,200,0,0.2)'", 'max_length': '200'}),
+ 'context_record_external_id': ('django.db.models.fields.TextField', [], {'default': "'{parcel__external_id}-{label}'"}),
+ 'currency': ('django.db.models.fields.CharField', [], {'default': "u'\\u20ac'", 'max_length': "'5'"}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'file_external_id': ('django.db.models.fields.TextField', [], {'default': "'{year}-{numeric_reference}'"}),
+ 'files': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'files_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(0, 32, 210, 0.1)'", 'max_length': '200'}),
+ 'find': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'find_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(210,0,0,0.15)'", 'max_length': '200'}),
+ 'find_external_id': ('django.db.models.fields.TextField', [], {'default': "'{get_first_base_find__context_record__external_id}-{label}'"}),
+ 'homepage': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.TextField', [], {}),
+ 'mapping': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'mapping_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(72, 236, 0, 0.15)'", 'max_length': '200'}),
+ 'parcel_external_id': ('django.db.models.fields.TextField', [], {'default': "'{associated_file__external_id}{operation__code_patriarche}-{town__numero_insee}-{section}{parcel_number}'"}),
+ 'person_raw_name': ('django.db.models.fields.TextField', [], {'default': "'{name|upper} {surname}'"}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
+ 'warehouse': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'warehouse_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(10,20,200,0.15)'", 'max_length': '200'}),
+ 'warehouse_external_id': ('django.db.models.fields.TextField', [], {'default': "'{name|slug}'"})
+ },
+ 'ishtar_common.ishtaruser': {
+ 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']},
+ 'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
+ },
+ 'ishtar_common.itemkey': {
+ 'Meta': {'object_name': 'ItemKey'},
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'importer': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Import']", 'null': 'True', 'blank': 'True'}),
+ 'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {})
+ },
+ '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.regexp': {
+ 'Meta': {'object_name': 'Regexp'},
+ 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'regexp': ('django.db.models.fields.CharField', [], {'max_length': '500'})
+ },
+ 'ishtar_common.sourcetype': {
+ 'Meta': {'ordering': "['label']", '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.spatialreferencesystem': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'SpatialReferenceSystem'},
+ 'auth_name': ('django.db.models.fields.CharField', [], {'default': "'EPSG'", 'max_length': '256'}),
+ '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': '10'}),
+ 'srid': ('django.db.models.fields.IntegerField', [], {}),
+ '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.targetkey': {
+ 'Meta': {'unique_together': "(('target', 'key', 'associated_user', 'associated_import'),)", 'object_name': 'TargetKey'},
+ 'associated_import': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Import']", 'null': 'True', 'blank': 'True'}),
+ 'associated_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_set': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'key': ('django.db.models.fields.TextField', [], {}),
+ 'target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'keys'", 'to': "orm['ishtar_common.ImportTarget']"}),
+ 'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
+ },
+ '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 = ['ishtar_common'] \ No newline at end of file
diff --git a/ishtar_common/migrations/0075_auto__add_field_authortype_order.py b/ishtar_common/migrations/0075_auto__add_field_authortype_order.py
new file mode 100644
index 000000000..e768e57de
--- /dev/null
+++ b/ishtar_common/migrations/0075_auto__add_field_authortype_order.py
@@ -0,0 +1,495 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding field 'AuthorType.order'
+ db.add_column('ishtar_common_authortype', 'order',
+ self.gf('django.db.models.fields.IntegerField')(default=1),
+ keep_default=False)
+
+
+ def backwards(self, orm):
+ # Deleting field 'AuthorType.order'
+ db.delete_column('ishtar_common_authortype', 'order')
+
+
+ models = {
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.arrondissement': {
+ 'Meta': {'object_name': 'Arrondissement'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.author': {
+ 'Meta': {'ordering': "('author_type__order', 'person__name')", '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': {'ordering': "['order', 'label']", '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'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'ishtar_common.canton': {
+ 'Meta': {'object_name': 'Canton'},
+ 'arrondissement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Arrondissement']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.department': {
+ 'Meta': {'ordering': "['number']", 'object_name': 'Department'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}),
+ 'state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.State']", 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.documenttemplate': {
+ 'Meta': {'ordering': "['associated_object_name', 'name']", 'object_name': 'DocumentTemplate'},
+ 'associated_object_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'template': ('django.db.models.fields.files.FileField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.format': {
+ 'Meta': {'ordering': "['label']", '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.formatertype': {
+ 'Meta': {'ordering': "('formater_type', 'options')", 'unique_together': "(('formater_type', 'options', 'many_split'),)", 'object_name': 'FormaterType'},
+ 'formater_type': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'many_split': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'options': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.globalvar': {
+ 'Meta': {'ordering': "['slug']", 'object_name': 'GlobalVar'},
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
+ 'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.historicalorganization': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOrganization'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ '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_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'}),
+ '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ '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.historicalperson': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalPerson'},
+ '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ '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_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'}),
+ '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'}),
+ '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_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})
+ },
+ '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '220'}),
+ 'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '220', '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': '255', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', '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.importercolumn': {
+ 'Meta': {'ordering': "('importer_type', 'col_number')", 'unique_together': "(('importer_type', 'col_number'),)", 'object_name': 'ImporterColumn'},
+ 'col_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'export_field_name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'columns'", 'to': "orm['ishtar_common.ImporterType']"}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'regexp_pre_filter': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Regexp']", 'null': 'True', 'blank': 'True'}),
+ 'required': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
+ },
+ 'ishtar_common.importerdefault': {
+ 'Meta': {'object_name': 'ImporterDefault'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'defaults'", 'to': "orm['ishtar_common.ImporterType']"}),
+ 'target': ('django.db.models.fields.CharField', [], {'max_length': '500'})
+ },
+ 'ishtar_common.importerdefaultvalues': {
+ 'Meta': {'object_name': 'ImporterDefaultValues'},
+ 'default_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'default_values'", 'to': "orm['ishtar_common.ImporterDefault']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'target': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
+ 'value': ('django.db.models.fields.CharField', [], {'max_length': '500'})
+ },
+ 'ishtar_common.importerduplicatefield': {
+ 'Meta': {'object_name': 'ImporterDuplicateField'},
+ 'column': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'duplicate_fields'", 'to': "orm['ishtar_common.ImporterColumn']"}),
+ 'concat': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'concat_str': ('django.db.models.fields.CharField', [], {'max_length': '5', 'null': 'True', 'blank': 'True'}),
+ 'field_name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'force_new': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+ },
+ 'ishtar_common.importermodel': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterModel'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'klass': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+ },
+ 'ishtar_common.importertype': {
+ 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterType'},
+ 'associated_models': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.ImporterModel']"}),
+ 'created_models': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.ImporterModel']"}),
+ '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.importtarget': {
+ 'Meta': {'object_name': 'ImportTarget'},
+ 'column': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'targets'", 'to': "orm['ishtar_common.ImporterColumn']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'concat': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'concat_str': ('django.db.models.fields.CharField', [], {'max_length': '5', 'null': 'True', 'blank': 'True'}),
+ 'force_new': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'formater_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.FormaterType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'regexp_filter': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Regexp']", 'null': 'True', 'blank': 'True'}),
+ 'target': ('django.db.models.fields.CharField', [], {'max_length': '500'})
+ },
+ 'ishtar_common.ishtarsiteprofile': {
+ 'Meta': {'ordering': "['label']", 'object_name': 'IshtarSiteProfile'},
+ 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'base_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(0, 0, 0, 0)'", 'max_length': '200'}),
+ 'base_find_external_id': ('django.db.models.fields.TextField', [], {'default': "'{context_record__external_id}-{label}'"}),
+ 'container_external_id': ('django.db.models.fields.TextField', [], {'default': "'{responsible__external_id}-{index}'"}),
+ 'context_record': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'context_record_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(210,200,0,0.2)'", 'max_length': '200'}),
+ 'context_record_external_id': ('django.db.models.fields.TextField', [], {'default': "'{parcel__external_id}-{label}'"}),
+ 'currency': ('django.db.models.fields.CharField', [], {'default': "u'\\u20ac'", 'max_length': "'5'"}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'file_external_id': ('django.db.models.fields.TextField', [], {'default': "'{year}-{numeric_reference}'"}),
+ 'files': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'files_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(0, 32, 210, 0.1)'", 'max_length': '200'}),
+ 'find': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'find_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(210,0,0,0.15)'", 'max_length': '200'}),
+ 'find_external_id': ('django.db.models.fields.TextField', [], {'default': "'{get_first_base_find__context_record__external_id}-{label}'"}),
+ 'homepage': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.TextField', [], {}),
+ 'mapping': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'mapping_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(72, 236, 0, 0.15)'", 'max_length': '200'}),
+ 'parcel_external_id': ('django.db.models.fields.TextField', [], {'default': "'{associated_file__external_id}{operation__code_patriarche}-{town__numero_insee}-{section}{parcel_number}'"}),
+ 'person_raw_name': ('django.db.models.fields.TextField', [], {'default': "'{name|upper} {surname}'"}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
+ 'warehouse': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'warehouse_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(10,20,200,0.15)'", 'max_length': '200'}),
+ 'warehouse_external_id': ('django.db.models.fields.TextField', [], {'default': "'{name|slug}'"})
+ },
+ 'ishtar_common.ishtaruser': {
+ 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']},
+ 'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}),
+ 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
+ },
+ 'ishtar_common.itemkey': {
+ 'Meta': {'object_name': 'ItemKey'},
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'importer': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Import']", 'null': 'True', 'blank': 'True'}),
+ 'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {})
+ },
+ '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.regexp': {
+ 'Meta': {'object_name': 'Regexp'},
+ 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'regexp': ('django.db.models.fields.CharField', [], {'max_length': '500'})
+ },
+ 'ishtar_common.sourcetype': {
+ 'Meta': {'ordering': "['label']", '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.spatialreferencesystem': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'SpatialReferenceSystem'},
+ 'auth_name': ('django.db.models.fields.CharField', [], {'default': "'EPSG'", 'max_length': '256'}),
+ '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': '10'}),
+ 'srid': ('django.db.models.fields.IntegerField', [], {}),
+ '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.targetkey': {
+ 'Meta': {'unique_together': "(('target', 'key', 'associated_user', 'associated_import'),)", 'object_name': 'TargetKey'},
+ 'associated_import': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Import']", 'null': 'True', 'blank': 'True'}),
+ 'associated_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_set': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'key': ('django.db.models.fields.TextField', [], {}),
+ 'target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'keys'", 'to': "orm['ishtar_common.ImportTarget']"}),
+ 'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
+ },
+ '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 = ['ishtar_common'] \ No newline at end of file
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index a2341abdc..35608abdf 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -102,7 +102,7 @@ class Imported(models.Model):
class ValueGetter(object):
_prefix = ""
GET_VALUES_EXTRA = []
- EXTRA_FULL_FIELDS_LABELS = {}
+ COL_LABELS = {}
def get_values(self, prefix=''):
if not prefix:
@@ -2276,6 +2276,8 @@ ENCODINGS = [(settings.ENCODING, settings.ENCODING),
class Import(models.Model):
user = models.ForeignKey('IshtarUser')
+ name = models.CharField(_(u"Name"), max_length=500,
+ blank=True, null=True)
importer_type = models.ForeignKey(ImporterType)
imported_file = models.FileField(
_(u"Imported file"), upload_to="upload/imports/", max_length=220)
@@ -2313,8 +2315,7 @@ class Import(models.Model):
verbose_name_plural = _(u"Imports")
def __unicode__(self):
- return u"%s - %s - %d" % (unicode(self.importer_type),
- unicode(self.user), self.pk)
+ return u"{} | {}".format(self.name or u"-", self.importer_type)
def need_matching(self):
return bool(TargetKey.objects.filter(associated_import=self,
@@ -2842,10 +2843,11 @@ IshtarUser._meta.get_field('password').help_text = _(
class AuthorType(GeneralType):
+ order = models.IntegerField(_(u"Order"), default=1)
class Meta:
verbose_name = _(u"Author type")
verbose_name_plural = _(u"Author types")
- ordering = ['label']
+ ordering = ['order', 'label']
post_save.connect(post_save_cache, sender=AuthorType)
post_delete.connect(post_save_cache, sender=AuthorType)
@@ -2858,6 +2860,7 @@ class Author(models.Model):
class Meta:
verbose_name = _(u"Author")
verbose_name_plural = _(u"Authors")
+ ordering = ('author_type__order', 'person__name')
def __unicode__(self):
return unicode(self.person) + settings.JOINT + \
diff --git a/ishtar_common/static/media/style.css b/ishtar_common/static/media/style.css
index 06c80c194..adaf94200 100644
--- a/ishtar_common/static/media/style.css
+++ b/ishtar_common/static/media/style.css
@@ -410,6 +410,11 @@ a.button{
color: white;
}
+#validate-button{
+ background-color: #fff;
+ display: inline-block;
+}
+
.display_details_inline,
.display_details{
display:inline-block;
@@ -1490,6 +1495,7 @@ table.table-form td input{
margin: 10px 0 10px 0;
width: 100%;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
+ border-collapse: collapse;
}
.clean-table h4{
@@ -1526,6 +1532,7 @@ table.table-form td input{
background: #DA2D2D;
text-align: center;
padding: 0.2em 0.4em;
+ border-right: 1px solid #fff;
}
.clean-table tr th.sub {
@@ -1544,3 +1551,7 @@ table.table-form td input{
display: block;
}
+.external-id{
+ font-family: monospace;
+ font-size: 0.9em;
+}
diff --git a/ishtar_common/templates/ishtar/blocks/sheet_creation_section.html b/ishtar_common/templates/ishtar/blocks/sheet_creation_section.html
new file mode 100644
index 000000000..e6ce31c25
--- /dev/null
+++ b/ishtar_common/templates/ishtar/blocks/sheet_creation_section.html
@@ -0,0 +1,19 @@
+{% load i18n link_to_window %}
+{% if item.history_creator.ishtaruser.person %}
+<li><label>{% trans "Creation" context "Sheet" %}</label>
+ <span class='value'>
+ {{item.history_creator.ishtaruser.person}}
+ {{item.history_creator.ishtaruser.person|link_to_window}} <br/>
+ <small><em>{{item.history_creation_date|date:"DATETIME_FORMAT"}}</em></small>
+ </span>
+</li>
+{% endif %}
+{% if item.history_creation_date != item.last_edition_date %}
+<li><label>{% trans "Modification" context "Sheet" %}</label>
+ <span class='value'>
+ {{item.history_modifier.ishtaruser.person}}
+ {{item.history_modifier.ishtaruser.person|link_to_window}} <br/>
+ <small><em>{% firstof item.history_date|date:"DATETIME_FORMAT" item.history.all.0.history_date|date:"DATETIME_FORMAT" %}</em></small>
+ </span>
+</li>
+{% endif %}
diff --git a/ishtar_common/templates/ishtar/blocks/sheet_external_id.html b/ishtar_common/templates/ishtar/blocks/sheet_external_id.html
new file mode 100644
index 000000000..95628ab15
--- /dev/null
+++ b/ishtar_common/templates/ishtar/blocks/sheet_external_id.html
@@ -0,0 +1,7 @@
+{% load i18n %}{% if item.external_id %}
+<p class='window-refs external-id'>
+ <small title="{% trans 'Internal ID' %}">
+ <i class="fa fa-key" aria-hidden="true"></i>
+ {{item.external_id|default:''}}
+ </small>
+</p>{% endif %}
diff --git a/ishtar_common/templates/ishtar/blocks/window_field.html b/ishtar_common/templates/ishtar/blocks/window_field.html
index 969f32dbb..b52ed78ee 100644
--- a/ishtar_common/templates/ishtar/blocks/window_field.html
+++ b/ishtar_common/templates/ishtar/blocks/window_field.html
@@ -1,3 +1,3 @@
-{% load i18n %}{% if data %}{% if li %}<li>{% else %}<p>{% endif %}<label>{% trans caption %}{% trans ":"%}</label>
+{% load i18n %}{% if data %}{% if li %}<li>{% else %}<p>{% endif %}<label>{% trans caption %}</label>
<span class='value'>{{pre_data|safe}}{{data|linebreaksbr}}{{post_data|safe}}</span>{% if li %}</li>{% else %}</p>{% endif %}
{% endif %}
diff --git a/ishtar_common/templates/ishtar/blocks/window_field_detail.html b/ishtar_common/templates/ishtar/blocks/window_field_detail.html
index 2be9c5ec4..594c67529 100644
--- a/ishtar_common/templates/ishtar/blocks/window_field_detail.html
+++ b/ishtar_common/templates/ishtar/blocks/window_field_detail.html
@@ -1,3 +1,3 @@
-{% load i18n %}{% if item %}{% if li %}<li>{% else %}<p>{% endif %}<label>{% trans caption %}{% trans ":"%}</label>
+{% load i18n %}{% if item %}{% if li %}<li>{% else %}<p>{% endif %}<label>{% trans caption %}</label>
<span class='value'>{{item}}{{link}}</span>{% if li %}</li>{% else %}</p>{% endif %}
{% endif %}
diff --git a/ishtar_common/templates/ishtar/blocks/window_field_multiple.html b/ishtar_common/templates/ishtar/blocks/window_field_multiple.html
index cc817490c..f07630174 100644
--- a/ishtar_common/templates/ishtar/blocks/window_field_multiple.html
+++ b/ishtar_common/templates/ishtar/blocks/window_field_multiple.html
@@ -1,4 +1,4 @@
-{% load i18n %}{% if data.count %}{% if li %}<li>{% else %}<p>{% endif %}<label>{% trans caption %}{% trans ":"%}</label>
+{% load i18n %}{% if data.count %}{% if li %}<li>{% else %}<p>{% endif %}<label>{% trans caption %}</label>
<span class='value'>{% for d in data.all %}
{% if forloop.counter0 %} ; {% endif %}{{ d }}
{% endfor %}</span>
diff --git a/ishtar_common/templates/ishtar/blocks/window_field_url.html b/ishtar_common/templates/ishtar/blocks/window_field_url.html
index d63ebdca9..cd6365106 100644
--- a/ishtar_common/templates/ishtar/blocks/window_field_url.html
+++ b/ishtar_common/templates/ishtar/blocks/window_field_url.html
@@ -1,3 +1,3 @@
-{% load i18n %}{% if link %}{% if li %}<li>{% else %}<p>{% endif %}<p><label>{% trans caption %}{% trans ":"%}</label>
+{% load i18n %}{% if link %}{% if li %}<li>{% else %}<p>{% endif %}<p><label>{% trans caption %}</label>
<span class='value'><a target="_blank" href='{{link|safe}}'>{% if link_name %}{{link_name}}{% else %}{{link}}{% endif %}</a></span>{% if li %}</li>{% else %}</p>{% endif %}
{% endif%}
diff --git a/ishtar_common/templates/ishtar/display_item.html b/ishtar_common/templates/ishtar/display_item.html
index e00fef05b..e1c63b775 100644
--- a/ishtar_common/templates/ishtar/display_item.html
+++ b/ishtar_common/templates/ishtar/display_item.html
@@ -4,7 +4,7 @@
<script type='text/javascript'>
$(document).ready(
function(){
- load_window("/show-{{item_type}}/{{pk}}/");
+ load_window("{{show_url}}");
});
</script>
{% endblock %}
diff --git a/ishtar_common/templates/ishtar/import_delete.html b/ishtar_common/templates/ishtar/import_delete.html
index 30217bf8d..4b48ebc8c 100644
--- a/ishtar_common/templates/ishtar/import_delete.html
+++ b/ishtar_common/templates/ishtar/import_delete.html
@@ -4,21 +4,22 @@
{% block content %}
<h2>{{page_name}}</h2>
<div class='form'>
-<form action="." method="post">{% csrf_token %}
-<p>{% trans "The current items are linked to this import:" %}</p>
-{% for accessor, imported in object.get_all_imported %}
-{% ifchanged imported|verbose_model_name %}
-{% if forloop.counter %}</ul>{% endif %}
-<h4>{{imported|verbose_model_name}}</h4>
-<ul class='item-list'>
-{%endifchanged%}
- <li>{{imported}}</li>
-{% endfor %}
-</ul>
-<p>{% trans "All these items will be deleted with this import." %}</p>
-<strong>{% trans "Are you sure?" %}</strong>
-<input type="submit" value="{% trans "Yes" %}"/>
-</form>
-<p><a href='{% url 'current_imports' %}'>{% trans "Back" %}</a></p>
+ <h3>{{object}}</h3>
+ <form action="." method="post">{% csrf_token %}
+ <p>{% trans "The current items are linked to this import:" %}</p>
+ {% for accessor, imported in object.get_all_imported %}
+ {% ifchanged imported|verbose_model_name %}
+ {% if forloop.counter %}</ul>{% endif %}
+ <h4>{{imported|verbose_model_name}}</h4>
+ <ul class='item-list'>
+ {%endifchanged%}
+ <li>{{imported}}</li>
+ {% endfor %}
+ </ul>
+ <p>{% trans "All these items will be deleted with this import." %}</p>
+ <strong>{% trans "Are you sure?" %}</strong>
+ <input type="submit" value="{% trans "Yes" %}"/>
+ </form>
+ <p><a href='{% url 'current_imports' %}'>{% trans "Back" %}</a></p>
</div>
{% endblock %}
diff --git a/ishtar_common/templates/ishtar/import_list.html b/ishtar_common/templates/ishtar/import_list.html
index 55a4ea883..5dba51b6f 100644
--- a/ishtar_common/templates/ishtar/import_list.html
+++ b/ishtar_common/templates/ishtar/import_list.html
@@ -8,8 +8,9 @@
<p>{% trans "No pending imports." %}</p>
{% else %}
<form action="." method="post">{% csrf_token %}
-<table>
+<table class="clean-table">
<tr>
+ <th>{% trans "Name" %}</th>
<th>{% trans "Type" %}</th>
<th>{% trans "File" context "file" %}</th>
<th>{% trans "Creation" %}</th>
@@ -19,13 +20,16 @@
{% for import in object_list %}
<tr>
<td>
+ {{import.name|default:"-"}}
+ </td>
+ <td>
{{import.importer_type}}
</td>
<td>
<a href='{{MEDIA_URL}}{{import.imported_file}}'>{% trans "Source file" %}</a>
</td>
<td>
- {{import.creation_date}}
+ {{import.creation_date}} ({{import.user}})
</td>
<td>
{{import.status}}
diff --git a/ishtar_common/templates/ishtar/manage_basket.html b/ishtar_common/templates/ishtar/manage_basket.html
index de17f3ad7..a6065a7c2 100644
--- a/ishtar_common/templates/ishtar/manage_basket.html
+++ b/ishtar_common/templates/ishtar/manage_basket.html
@@ -1,5 +1,6 @@
{% extends "base.html" %}
{% load i18n inline_formset %}
+{% load url from future %}
{% block content %}
<h2>{{page_name}}{% trans ":"%} {{basket}}</h2>
<form enctype="multipart/form-data" action="." method="post">{% csrf_token %}
@@ -13,6 +14,16 @@
<h3>{% trans "Basket content" %}</h3>
<div id='basket-content' style='text-align:left'>
</div>
+ {% block "footer" %}
+ <div id="footer">
+ <div id='validation-bar'>
+ <a href="{% url 'display-findbasket' basket.id %}"
+ id="validate-button"
+ class='button'>{% trans "Close" %}</a>
+ </div>
+ {% include 'ishtar/blocks/footer.html' %}
+ </div>
+ {% endblock %}
</div>
</form>
<script type='text/javascript' language='javascript'>
diff --git a/ishtar_common/templates/ishtar/sheet_person.html b/ishtar_common/templates/ishtar/sheet_person.html
index 5339e4f07..aa5192dc4 100644
--- a/ishtar_common/templates/ishtar/sheet_person.html
+++ b/ishtar_common/templates/ishtar/sheet_person.html
@@ -6,6 +6,7 @@
{% window_nav item window_id 'show-person' 'person_modify' %}
<h3>{% trans "Identity" %}</h3>
+<ul class='form-flex'>
{% field_li "Title" item.full_title %}
{% field_li "Name" item.name %}
{% field_li "Surname" item.surname %}
@@ -13,6 +14,7 @@
{% field_li_detail "Created by" item.history_creator.ishtaruser.person %}
{% field_li "Email" item.email %}
{% field_li "Type(s)" item.person_types_list %}
+</ul>
{% if item.phone or item.phone2 or item.phone3 or item.mobile_phone %}
<table class='formset table-form'>
@@ -42,30 +44,33 @@
{% if item.address or item.postal_code or item.town %}
<h3>{% trans "Business address" %}</h3>
-{% field_li "Address" item.address %}
-{% field_li "Address complement" item.address_complement %}
-{% field_li "Postal code" item.postal_code %}
-{% field_li "Town" item.town %}
-{% endif %}
+<ul class='form-flex'>
+ {% field_li "Address" item.address %}
+ {% field_li "Address complement" item.address_complement %}
+ {% field_li "Postal code" item.postal_code %}
+ {% field_li "Town" item.town %}
+</ul>{% endif %}
{% if item.alt_address or item.alt_postal_code or item.alt_town %}
<h3>{% trans "Other address" %}</h3>
-{% field_li "Address" item.alt_address %}
-{% field_li "Address complement" item.alt_address_complement %}
-{% field_li "Postal code" item.alt_postal_code %}
-{% field_li "Town" item.alt_town %}
-{% endif %}
+<ul class='form-flex'>
+ {% field_li "Address" item.alt_address %}
+ {% field_li "Address complement" item.alt_address_complement %}
+ {% field_li "Postal code" item.alt_postal_code %}
+ {% field_li "Town" item.alt_town %}
+</ul>{% endif %}
{% if item.attached_to %}<h3>{% trans "Associated organization"%}</h3>
-{% field_li "Name" item.attached_to %}
-{% field_li "Address" item.attached_to.address %}
-{% field_li "Address complement" item.attached_to.address_complement %}
-{% field_li "Postal code" item.attached_to.postal_code %}
-{% field_li "Town" item.attached_to.town %}
-{% field_li "Phone" item.attached_to.phone %}
-{% field_li "Mobile phone" item.attached_to.mobile_phone %}
-{% endif %}
+<ul class='form-flex'>
+ {% field_li_detail "Name" item.attached_to %}
+ {% field_li "Address" item.attached_to.address %}
+ {% field_li "Address complement" item.attached_to.address_complement %}
+ {% field_li "Postal code" item.attached_to.postal_code %}
+ {% field_li "Town" item.attached_to.town %}
+ {% field_li "Phone" item.attached_to.phone %}
+ {% field_li "Mobile phone" item.attached_to.mobile_phone %}
+</ul>{% endif %}
{% trans "Associated operations as scientist" as ao %}
diff --git a/ishtar_common/templates/ishtar/sheet_source.html b/ishtar_common/templates/ishtar/sheet_source.html
index 1c00b684e..244ca1be3 100644
--- a/ishtar_common/templates/ishtar/sheet_source.html
+++ b/ishtar_common/templates/ishtar/sheet_source.html
@@ -5,7 +5,8 @@
{% block window_nav %}{% endblock %}
{% block general %}
{% block related %}
-{% field "Related item" item.owner %}
+{% trans "Related item" as related_item_label %}
+{% field related_item_label item.owner %}
{% endblock %}
{% if item.image %}
@@ -18,7 +19,8 @@
{% field_li "Source type" item.source_type %}
{% field_li "Format type" item.format_type %}
{% field_li "Scale" item.scale %}
-{% field_li_url "Web link" item.associated_url %}
+ {% trans "Web link" as weblink_label %}
+ {% field_li_url weblink_label item.associated_url %}
{% field_li "Item number" item.item_number %}
{% field_li "Ref." item.reference %}
{% field_li "Internal ref." item.internal_reference %}
diff --git a/ishtar_common/templates/robots.txt b/ishtar_common/templates/robots.txt
new file mode 100644
index 000000000..1f53798bb
--- /dev/null
+++ b/ishtar_common/templates/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow: /
diff --git a/ishtar_common/templatetags/link_to_window.py b/ishtar_common/templatetags/link_to_window.py
index 0417da53f..14e4bd6c7 100644
--- a/ishtar_common/templatetags/link_to_window.py
+++ b/ishtar_common/templatetags/link_to_window.py
@@ -53,7 +53,7 @@ def add_links(items, extra_attr=''):
else:
lbl = unicode(item)
html.append(u"{} {}".format(lbl, link_to_window(item_lnk)))
- return mark_safe(u"<br/>".join(sorted(html)))
+ return mark_safe(u"<br/>".join(html))
@register.inclusion_tag('ishtar/blocks/modify_toolbar.html',
diff --git a/ishtar_common/templatetags/window_tables.py b/ishtar_common/templatetags/window_tables.py
index 05592557a..960bc7184 100644
--- a/ishtar_common/templatetags/window_tables.py
+++ b/ishtar_common/templatetags/window_tables.py
@@ -18,7 +18,8 @@ from archaeological_context_records.models import ContextRecord, \
ContextRecordSource, RecordRelationView, \
RecordRelations as CRRecordRelations
from archaeological_finds.models import Find, FindSource, \
- FindUpstreamTreatments, FindDownstreamTreatments, FindTreatments
+ FindUpstreamTreatments, FindDownstreamTreatments, FindTreatments, \
+ TreatmentSource, TreatmentFileSource
from archaeological_warehouse.models import Container
register = template.Library()
@@ -59,6 +60,10 @@ ASSOCIATED_MODELS['finds_downstreamtreatments'] = (
FindDownstreamTreatments, 'get-downstreamtreatment', '')
ASSOCIATED_MODELS['treatments'] = (
FindTreatments, 'get-treatment', '')
+ASSOCIATED_MODELS['treatments_docs'] = (
+ TreatmentSource, 'get-treatmentsource', '')
+ASSOCIATED_MODELS['treatmentfiles_docs'] = (
+ TreatmentFileSource, 'get-treatmentfilesource', '')
ASSOCIATED_MODELS['containers'] = (
Container, 'get-container', '')
diff --git a/ishtar_common/urls.py b/ishtar_common/urls.py
index 608ca3251..98bd55106 100644
--- a/ishtar_common/urls.py
+++ b/ishtar_common/urls.py
@@ -20,18 +20,21 @@
from django.conf import settings
from django.conf.urls.defaults import patterns, include, url
from django.conf.urls.static import static
+from django.views.generic.simple import direct_to_template
from menus import menu
from ishtar_common import views
from ishtar_common.wizards import check_rights
-# be carreful: each check_rights must be relevant with ishtar_menu
+# be careful: each check_rights must be relevant with ishtar_menu
# forms
urlpatterns = patterns(
'',
url(r'^status/$', views.status, name='status'),
+ url(r'^robots\.txt$', direct_to_template,
+ {'template': 'robots.txt', 'mimetype': 'text/plain'}),
# internationalization
url(r'^i18n/', include('django.conf.urls.i18n')),
# General
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index 18bdc6e36..22591164f 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -1115,9 +1115,9 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
for field_name in table_cols:
if type(field_name) in (list, tuple):
field_name = u" & ".join(field_name)
- if hasattr(model, 'EXTRA_FULL_FIELDS_LABELS') and\
- field_name in model.EXTRA_FULL_FIELDS_LABELS:
- field = model.EXTRA_FULL_FIELDS_LABELS[field_name]
+ if hasattr(model, 'COL_LABELS') and\
+ field_name in model.COL_LABELS:
+ field = model.COL_LABELS[field_name]
col_names.append(unicode(field).encode(ENCODING))
continue
else:
@@ -1128,7 +1128,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
logger.warning(
"**WARN get_item - csv export**: no col name "
"for {}\nadd explicit label to "
- "EXTRA_FULL_FIELDS_LABELS attribute of "
+ "COL_LABELS attribute of "
"{}".format(field_name, model))
continue
col_names.append(
@@ -1174,10 +1174,12 @@ def get_by_importer(request, slug, data_type='json', full=False,
)(request, data_type, full, force_own, col_names=col_names, **dct)
-def display_item(model, name, extra_dct=None):
+def display_item(model, extra_dct=None, show_url=None):
def func(request, pk, **dct):
- dct['item_type'] = name
- dct['pk'] = pk
+ if show_url:
+ dct['show_url'] = "/{}{}/".format(show_url, pk)
+ else:
+ dct['show_url'] = "/show-{}/{}/".format(model.SLUG, pk)
return render_to_response('ishtar/display_item.html', dct,
context_instance=RequestContext(request))
return func
@@ -1629,9 +1631,11 @@ class ImportListView(IshtarMixin, LoginRequiredMixin, ListView):
current_url = 'current_imports'
def get_queryset(self):
+ q = self.model.objects.exclude(state='AC')
+ if self.request.user.is_superuser:
+ return q.order_by('-creation_date')
user = models.IshtarUser.objects.get(pk=self.request.user.pk)
- return self.model.objects.filter(user=user).exclude(
- state='AC').order_by('-creation_date')
+ return q.filter(user=user).order_by('-creation_date')
def post(self, request, *args, **kwargs):
for field in request.POST:
@@ -1643,10 +1647,11 @@ class ImportListView(IshtarMixin, LoginRequiredMixin, ListView):
imprt = models.Import.objects.get(pk=int(field.split('-')[-1]))
except (models.Import.DoesNotExist, ValueError):
continue
- # user can only edit his own imports
- user = models.IshtarUser.objects.get(pk=self.request.user.pk)
- if imprt.user != user:
- continue
+ if not self.request.user.is_superuser:
+ # user can only edit his own imports
+ user = models.IshtarUser.objects.get(pk=self.request.user.pk)
+ if imprt.user != user:
+ continue
action = request.POST[field]
if action == 'D':
return HttpResponseRedirect(reverse('import_delete',
@@ -1665,9 +1670,11 @@ class ImportOldListView(ImportListView):
current_url = 'old_imports'
def get_queryset(self):
+ q = self.model.objects.filter(state='AC')
+ if self.request.user.is_superuser:
+ return q.order_by('-creation_date')
user = models.IshtarUser.objects.get(pk=self.request.user.pk)
- return self.model.objects.filter(
- user=user, state='AC').order_by('-creation_date')
+ return q.filter(user=user).order_by('-creation_date')
class ImportLinkView(IshtarMixin, LoginRequiredMixin, ModelFormSetView):
diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py
index 874b68eae..7950bcc7e 100644
--- a/ishtar_common/wizards.py
+++ b/ishtar_common/wizards.py
@@ -132,6 +132,7 @@ class Wizard(NamedUrlWizardView):
current_object_key = 'pk'
ignore_init_steps = []
file_storage = default_storage
+ main_item_select_keys = ('selec-',)
saved_args = {} # argument to pass on object save
@@ -217,8 +218,9 @@ class Wizard(NamedUrlWizardView):
dct = {'current_step_label': self.form_list[current_step].form_label,
'wizard_label': self.label,
'current_object': self.get_current_object(),
- 'is_search': current_step.startswith('selec-')
- if current_step else False
+ 'is_search': bool(
+ [k for k in self.main_item_select_keys
+ if current_step.startswith(k)]) if current_step else False
}
context.update(dct)
if step == current_step:
@@ -1004,20 +1006,24 @@ class Wizard(NamedUrlWizardView):
def get_current_object(self):
"""Get the current object for an instancied wizard"""
current_obj = None
- main_form_key = 'selec-' + self.url_name
- try:
- idx = self.session_get_value(main_form_key, self.current_object_key)
- idx = int(idx)
- current_obj = self.model.objects.get(pk=idx)
- except(TypeError, ValueError, ObjectDoesNotExist):
- pass
+ for key in self.main_item_select_keys:
+ main_form_key = key + self.url_name
+ try:
+ idx = int(self.session_get_value(main_form_key,
+ self.current_object_key))
+ current_obj = self.model.objects.get(pk=idx)
+ break
+ except(TypeError, ValueError, ObjectDoesNotExist):
+ pass
return current_obj
def get_form_initial(self, step, data=None):
current_obj = self.get_current_object()
current_step = self.steps.current
request = self.request
- if step.startswith('selec-') and step in self.form_list \
+ step_is_main_select = bool([k for k in self.main_item_select_keys
+ if step.startswith(k)])
+ if step_is_main_select and step in self.form_list \
and 'pk' in self.form_list[step].associated_models:
model_name = self.form_list[step]\
.associated_models['pk'].__name__.lower()
diff --git a/translations/de/ishtar_common.po b/translations/de/ishtar_common.po
index d5add0458..93bce7079 100644
--- a/translations/de/ishtar_common.po
+++ b/translations/de/ishtar_common.po
@@ -20,7 +20,7 @@ msgstr "Benutzername"
msgid "email address"
msgstr "E-Mail-Adresse"
-#: __init__.py:10
+#: __init__.py:10 templates/ishtar/sheet_source.html:8
msgid "Related item"
msgstr ""
@@ -122,31 +122,31 @@ msgstr ""
msgid "Importer configuration error: field \"{}\" does not exist for {}."
msgstr ""
-#: data_importer.py:1555
+#: data_importer.py:1559
msgid "line"
msgstr ""
-#: data_importer.py:1555
+#: data_importer.py:1559
msgid "col"
msgstr ""
-#: data_importer.py:1555
+#: data_importer.py:1559
msgid "error"
msgstr ""
-#: data_importer.py:1561
+#: data_importer.py:1565
msgid "field"
msgstr ""
-#: data_importer.py:1561
+#: data_importer.py:1565
msgid "source"
msgstr ""
-#: data_importer.py:1561
+#: data_importer.py:1565
msgid "result"
msgstr ""
-#: data_importer.py:1577
+#: data_importer.py:1581
#, python-format
msgid "\"%(value)s\" not in %(values)s"
msgstr ""
@@ -184,7 +184,7 @@ msgid "Template"
msgstr ""
#: forms_common.py:41 forms_common.py:59 forms_common.py:184
-#: forms_common.py:408 models.py:1548 models.py:2986
+#: forms_common.py:408 models.py:1548 models.py:2989
#: templates/blocks/JQueryAdvancedTown.html:19
#: templates/ishtar/sheet_organization.html:13
msgid "Town"
@@ -200,8 +200,8 @@ msgid ""
"french town Saint-Denis in the Seine-Saint-Denis department.</p>"
msgstr ""
-#: forms_common.py:68 forms_common.py:863 ishtar_menu.py:47 models.py:2609
-#: models.py:2790 models.py:2854 templates/ishtar/sheet_person.html:4
+#: forms_common.py:68 forms_common.py:863 ishtar_menu.py:47 models.py:2610
+#: models.py:2791 models.py:2856 templates/ishtar/sheet_person.html:4
msgid "Person"
msgstr ""
@@ -212,15 +212,16 @@ msgid ""
msgstr ""
#: forms_common.py:172 forms_common.py:329 forms_common.py:453
-#: ishtar_menu.py:75 models.py:2492 models.py:2583
+#: ishtar_menu.py:75 models.py:2493 models.py:2584
#: templates/ishtar/sheet_organization.html:4
msgid "Organization"
msgstr ""
#: forms_common.py:175 forms_common.py:212 forms_common.py:324
#: forms_common.py:378 forms_common.py:448 models.py:1103 models.py:1481
-#: models.py:1750 models.py:1766 models.py:2003 models.py:2486 models.py:2595
-#: models.py:2972 templates/ishtar/sheet_organization.html:8
+#: models.py:1750 models.py:1766 models.py:2003 models.py:2279 models.py:2487
+#: models.py:2596 models.py:2975 templates/ishtar/import_list.html:13
+#: templates/ishtar/sheet_organization.html:8
#: templates/ishtar/sheet_organization.html:21
msgid "Name"
msgstr "Name"
@@ -255,22 +256,22 @@ msgstr "E-Mail-Adresse"
#: forms_common.py:188 forms_common.py:385 models.py:1561
#: templates/ishtar/sheet_organization.html:14
-#: templates/ishtar/sheet_person.html:19
+#: templates/ishtar/sheet_person.html:21
#: templates/ishtar/wizard/wizard_person.html:17
msgid "Phone"
msgstr ""
#: forms_common.py:189 forms_common.py:394 models.py:1573
#: templates/ishtar/sheet_organization.html:15
-#: templates/ishtar/sheet_person.html:37
+#: templates/ishtar/sheet_person.html:39
#: templates/ishtar/wizard/wizard_person.html:35
msgid "Mobile phone"
msgstr ""
#: forms_common.py:213 forms_common.py:327 forms_common.py:451 models.py:2170
-#: models.py:2488 models.py:2907 templates/sheet_ope.html:85
+#: models.py:2489 models.py:2910 templates/sheet_ope.html:85
#: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126
-#: templates/ishtar/import_list.html:13
+#: templates/ishtar/import_list.html:14
#: templates/ishtar/sheet_organization.html:23
#: templates/ishtar/blocks/window_tables/documents.html:8
msgid "Type"
@@ -292,7 +293,7 @@ msgstr ""
msgid "Organization to merge"
msgstr ""
-#: forms_common.py:325 forms_common.py:376 forms_common.py:449 models.py:2593
+#: forms_common.py:325 forms_common.py:376 forms_common.py:449 models.py:2594
#: templates/ishtar/sheet_organization.html:22
msgid "Surname"
msgstr ""
@@ -311,16 +312,16 @@ msgid "Identity"
msgstr ""
#: forms_common.py:373 forms_common.py:781 forms_common.py:830 models.py:2135
-#: models.py:2587 models.py:2589 models.py:2904 templates/sheet_ope.html:104
+#: models.py:2588 models.py:2590 models.py:2907 templates/sheet_ope.html:104
#: templates/ishtar/blocks/window_tables/documents.html:7
msgid "Title"
msgstr ""
-#: forms_common.py:374 models.py:2591
+#: forms_common.py:374 models.py:2592
msgid "Salutation"
msgstr ""
-#: forms_common.py:380 models.py:2597
+#: forms_common.py:380 models.py:2598
msgid "Raw name"
msgstr ""
@@ -380,7 +381,7 @@ msgstr "Benutzername"
msgid "Account search"
msgstr ""
-#: forms_common.py:512 forms_common.py:552 forms_common.py:556 models.py:2540
+#: forms_common.py:512 forms_common.py:552 forms_common.py:556 models.py:2541
msgid "Person type"
msgstr ""
@@ -388,7 +389,7 @@ msgstr ""
msgid "Account"
msgstr ""
-#: forms_common.py:577 wizards.py:1333
+#: forms_common.py:577 wizards.py:1339
msgid "New password"
msgstr ""
@@ -412,7 +413,7 @@ msgstr ""
msgid "Send the new password by email?"
msgstr ""
-#: forms_common.py:636 forms_common.py:649 models.py:2987
+#: forms_common.py:636 forms_common.py:649 models.py:2990
msgid "Towns"
msgstr ""
@@ -428,7 +429,7 @@ msgstr ""
msgid "Documentation informations"
msgstr ""
-#: forms_common.py:783 forms_common.py:831 models.py:2136 models.py:2879
+#: forms_common.py:783 forms_common.py:831 models.py:2136 models.py:2882
msgid "Source type"
msgstr ""
@@ -440,37 +441,37 @@ msgstr ""
msgid "Internal reference"
msgstr ""
-#: forms_common.py:791 models.py:2918
+#: forms_common.py:791 models.py:2921
msgid "Numerical ressource (web address)"
msgstr ""
-#: forms_common.py:792 models.py:2920
+#: forms_common.py:792 models.py:2923
msgid "Receipt date"
msgstr ""
-#: forms_common.py:794 models.py:2302 models.py:2922
+#: forms_common.py:794 models.py:2304 models.py:2925
msgid "Creation date"
msgstr "Gründungsdatum"
-#: forms_common.py:797 models.py:2925
+#: forms_common.py:797 models.py:2928
msgid "Receipt date in documentation"
msgstr ""
#: forms_common.py:799 forms_common.py:835 models.py:379 models.py:696
-#: models.py:2030 models.py:2601 models.py:2932
+#: models.py:2030 models.py:2602 models.py:2935
msgid "Comment"
msgstr ""
#: forms_common.py:801 forms_common.py:834 models.py:1105 models.py:1770
-#: models.py:1957 models.py:2004 models.py:2931 templates/sheet_ope.html:128
+#: models.py:1957 models.py:2004 models.py:2934 templates/sheet_ope.html:128
msgid "Description"
msgstr "Beschreibung"
-#: forms_common.py:804 models.py:2933
+#: forms_common.py:804 models.py:2936
msgid "Additional information"
msgstr ""
-#: forms_common.py:806 forms_common.py:838 models.py:2935
+#: forms_common.py:806 forms_common.py:838 models.py:2938
msgid "Has a duplicate"
msgstr ""
@@ -485,7 +486,7 @@ msgid ""
"p>"
msgstr ""
-#: forms_common.py:827 forms_common.py:856 forms_common.py:890 models.py:2859
+#: forms_common.py:827 forms_common.py:856 forms_common.py:890 models.py:2861
#: templates/ishtar/wizard/wizard_person_deletion.html:124
msgid "Author"
msgstr ""
@@ -498,7 +499,7 @@ msgstr ""
msgid "Would you like to delete this documentation?"
msgstr ""
-#: forms_common.py:864 models.py:2137 models.py:2846 models.py:2856
+#: forms_common.py:864 models.py:2137 models.py:2848 models.py:2858
msgid "Author type"
msgstr ""
@@ -510,7 +511,7 @@ msgstr ""
msgid "There are identical authors."
msgstr ""
-#: forms_common.py:901 models.py:2860 models.py:2914
+#: forms_common.py:901 models.py:2862 models.py:2917
#: templates/sheet_ope.html:106
#: templates/ishtar/blocks/window_tables/documents.html:9
msgid "Authors"
@@ -528,7 +529,7 @@ msgstr ""
msgid "Deletion"
msgstr ""
-#: ishtar_menu.py:39 models.py:1277 views.py:1606
+#: ishtar_menu.py:39 models.py:1277 views.py:1608
msgid "Global variables"
msgstr ""
@@ -540,7 +541,7 @@ msgstr ""
msgid "Search"
msgstr ""
-#: ishtar_menu.py:54 ishtar_menu.py:83 templates/ishtar/import_list.html:15
+#: ishtar_menu.py:54 ishtar_menu.py:83 templates/ishtar/import_list.html:16
msgid "Creation"
msgstr "Gründung"
@@ -556,19 +557,19 @@ msgstr ""
msgid "Manual merge"
msgstr ""
-#: ishtar_menu.py:109 models.py:2313
+#: ishtar_menu.py:109 models.py:2315
msgid "Imports"
msgstr ""
-#: ishtar_menu.py:112 views.py:1614
+#: ishtar_menu.py:112 views.py:1616
msgid "New import"
msgstr ""
-#: ishtar_menu.py:116 views.py:1628
+#: ishtar_menu.py:116 views.py:1630
msgid "Current imports"
msgstr ""
-#: ishtar_menu.py:120 views.py:1664
+#: ishtar_menu.py:120 views.py:1669
msgid "Old imports"
msgstr ""
@@ -612,7 +613,7 @@ msgstr ""
msgid "Creator"
msgstr ""
-#: models.py:965 models.py:2998 models.py:3054
+#: models.py:965 models.py:2846 models.py:3001 models.py:3057
msgid "Order"
msgstr ""
@@ -828,7 +829,7 @@ msgid "Total"
msgstr ""
#: models.py:1393 models.py:1517 models.py:1529
-#: templates/ishtar/sheet_person.html:22
+#: templates/ishtar/sheet_person.html:24
#: templates/ishtar/dashboards/dashboard_main_detail.html:141
#: templates/ishtar/dashboards/dashboard_main_detail_users.html:26
#: templates/ishtar/wizard/wizard_person.html:20
@@ -851,7 +852,7 @@ msgstr ""
msgid "Document templates"
msgstr ""
-#: models.py:1520 models.py:1530 models.py:2297
+#: models.py:1520 models.py:1530 models.py:2299
msgid "State"
msgstr ""
@@ -1041,11 +1042,11 @@ msgstr ""
msgid "Importer - Targets keys"
msgstr ""
-#: models.py:2138 models.py:2910
+#: models.py:2138 models.py:2913
msgid "Format"
msgstr ""
-#: models.py:2139 models.py:3002
+#: models.py:2139 models.py:3005
msgid "Operation type"
msgstr ""
@@ -1109,15 +1110,15 @@ msgstr ""
msgid "Context record relation type"
msgstr ""
-#: models.py:2158 models.py:3060
+#: models.py:2158 models.py:3063
msgid "Spatial reference system"
msgstr ""
-#: models.py:2159 models.py:2888
+#: models.py:2159 models.py:2891
msgid "Support type"
msgstr ""
-#: models.py:2160 models.py:2552
+#: models.py:2160 models.py:2553
msgid "Title type"
msgstr ""
@@ -1215,263 +1216,263 @@ msgstr ""
msgid "Archived"
msgstr ""
-#: models.py:2281
+#: models.py:2283
msgid "Imported file"
msgstr ""
-#: models.py:2283
+#: models.py:2285
msgid "Associated images (zip file)"
msgstr ""
-#: models.py:2285
+#: models.py:2287
msgid "Encoding"
msgstr ""
-#: models.py:2287
+#: models.py:2289
msgid "Skip lines"
msgstr ""
-#: models.py:2288 templates/ishtar/import_list.html:47
+#: models.py:2290 templates/ishtar/import_list.html:51
msgid "Error file"
msgstr ""
-#: models.py:2291
+#: models.py:2293
msgid "Result file"
msgstr ""
-#: models.py:2294 templates/ishtar/import_list.html:53
+#: models.py:2296 templates/ishtar/import_list.html:57
msgid "Match file"
msgstr ""
-#: models.py:2300
+#: models.py:2302
msgid "Conservative import"
msgstr ""
-#: models.py:2305
+#: models.py:2307
msgid "End date"
msgstr ""
-#: models.py:2307
+#: models.py:2309
msgid "Remaining seconds"
msgstr ""
-#: models.py:2312
+#: models.py:2314
msgid "Import"
msgstr ""
-#: models.py:2342
+#: models.py:2343
msgid "Analyse"
msgstr ""
-#: models.py:2344 models.py:2347
+#: models.py:2345 models.py:2348
msgid "Re-analyse"
msgstr ""
-#: models.py:2345
+#: models.py:2346
msgid "Launch import"
msgstr ""
-#: models.py:2348
+#: models.py:2349
msgid "Re-import"
msgstr ""
-#: models.py:2349
+#: models.py:2350
msgid "Archive"
msgstr ""
-#: models.py:2351
+#: models.py:2352
msgid "Unarchive"
msgstr ""
-#: models.py:2352 widgets.py:130 templates/ishtar/form_delete.html:11
+#: models.py:2353 widgets.py:130 templates/ishtar/form_delete.html:11
msgid "Delete"
msgstr ""
-#: models.py:2493
+#: models.py:2494
msgid "Organizations"
msgstr ""
-#: models.py:2495
+#: models.py:2496
msgid "Can view all Organizations"
msgstr ""
-#: models.py:2496
+#: models.py:2497
msgid "Can view own Organization"
msgstr ""
-#: models.py:2497
+#: models.py:2498
msgid "Can add own Organization"
msgstr ""
-#: models.py:2499
+#: models.py:2500
msgid "Can change own Organization"
msgstr ""
-#: models.py:2501
+#: models.py:2502
msgid "Can delete own Organization"
msgstr ""
-#: models.py:2536
+#: models.py:2537
msgid "Groups"
msgstr ""
-#: models.py:2541
+#: models.py:2542
msgid "Person types"
msgstr ""
-#: models.py:2553
+#: models.py:2554
msgid "Title types"
msgstr ""
-#: models.py:2562
+#: models.py:2563
msgid "Mr"
msgstr ""
-#: models.py:2563
+#: models.py:2564
msgid "Miss"
msgstr ""
-#: models.py:2564
+#: models.py:2565
msgid "Mr and Mrs"
msgstr ""
-#: models.py:2565
+#: models.py:2566
msgid "Mrs"
msgstr ""
-#: models.py:2566
+#: models.py:2567
msgid "Doctor"
msgstr ""
-#: models.py:2599
+#: models.py:2600
msgid "Contact type"
msgstr ""
-#: models.py:2602 models.py:2666
+#: models.py:2603 models.py:2667
msgid "Types"
msgstr ""
-#: models.py:2605
+#: models.py:2606
msgid "Is attached to"
msgstr ""
-#: models.py:2610
+#: models.py:2611
msgid "Persons"
msgstr ""
-#: models.py:2612
+#: models.py:2613
msgid "Can view all Persons"
msgstr ""
-#: models.py:2613
+#: models.py:2614
msgid "Can view own Person"
msgstr ""
-#: models.py:2614
+#: models.py:2615
msgid "Can add own Person"
msgstr ""
-#: models.py:2615
+#: models.py:2616
msgid "Can change own Person"
msgstr ""
-#: models.py:2616
+#: models.py:2617
msgid "Can delete own Person"
msgstr ""
-#: models.py:2793
+#: models.py:2794
msgid "Advanced shortcut menu"
msgstr ""
-#: models.py:2796
+#: models.py:2797
msgid "Ishtar user"
msgstr ""
-#: models.py:2797
+#: models.py:2798
msgid "Ishtar users"
msgstr ""
-#: models.py:2841
+#: models.py:2842
msgid "To modify the password use the form in Auth > User"
msgstr ""
-#: models.py:2847
+#: models.py:2849
msgid "Author types"
msgstr ""
-#: models.py:2880
+#: models.py:2883
msgid "Source types"
msgstr ""
-#: models.py:2889
+#: models.py:2892
msgid "Support types"
msgstr ""
-#: models.py:2896
+#: models.py:2899
msgid "Format type"
msgstr ""
-#: models.py:2897
+#: models.py:2900
msgid "Format types"
msgstr ""
-#: models.py:2905
+#: models.py:2908
msgid "External ID"
msgstr ""
-#: models.py:2908
+#: models.py:2911
msgid "Support"
msgstr ""
-#: models.py:2912
+#: models.py:2915
msgid "Scale"
msgstr ""
-#: models.py:2926
+#: models.py:2929
msgid "Item number"
msgstr ""
-#: models.py:2927
+#: models.py:2930
msgid "Ref."
msgstr ""
-#: models.py:2930
+#: models.py:2933
msgid "Internal ref."
msgstr ""
-#: models.py:2973
+#: models.py:2976
msgid "Surface (m2)"
msgstr ""
-#: models.py:2974 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
+#: models.py:2977 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
msgid "Localisation"
msgstr "Lokalisierung"
-#: models.py:2999
+#: models.py:3002
msgid "Is preventive"
msgstr ""
-#: models.py:3003
+#: models.py:3006
msgid "Operation types"
msgstr ""
-#: models.py:3032
+#: models.py:3035
msgid "Preventive"
msgstr ""
-#: models.py:3033
+#: models.py:3036
msgid "Research"
msgstr ""
-#: models.py:3056
+#: models.py:3059
msgid "Authority name"
msgstr ""
-#: models.py:3057
+#: models.py:3060
msgid "Authority SRID"
msgstr ""
-#: models.py:3061
+#: models.py:3064
msgid "Spatial reference systems"
msgstr ""
@@ -1539,56 +1540,56 @@ msgstr ""
msgid "Treatment"
msgstr ""
-#: views.py:1361 views.py:1404
+#: views.py:1363 views.py:1406
msgid "Operation not permitted."
msgstr ""
-#: views.py:1363
+#: views.py:1365
#, python-format
msgid "New %s"
msgstr ""
-#: views.py:1422 views.py:1472
+#: views.py:1424 views.py:1474
msgid "Archaeological files"
msgstr ""
-#: views.py:1423 views.py:1476
+#: views.py:1425 views.py:1478
msgid "Operations"
msgstr ""
-#: views.py:1425 views.py:1480
+#: views.py:1427 views.py:1482
msgid "Context records"
msgstr ""
-#: views.py:1427 views.py:1483
+#: views.py:1429 views.py:1485
msgid "Finds"
msgstr ""
-#: views.py:1676 templates/ishtar/import_list.html:43
+#: views.py:1683 templates/ishtar/import_list.html:47
msgid "Link unmatched items"
msgstr ""
-#: views.py:1691
+#: views.py:1698
msgid "Delete import"
msgstr ""
-#: views.py:1730
+#: views.py:1737
msgid "Merge persons"
msgstr ""
-#: views.py:1754
+#: views.py:1761
msgid "Select the main person"
msgstr ""
-#: views.py:1763
+#: views.py:1770
msgid "Merge organization"
msgstr ""
-#: views.py:1773
+#: views.py:1780
msgid "Select the main organization"
msgstr ""
-#: views.py:1813 views.py:1829
+#: views.py:1820 views.py:1836
msgid "Corporation manager"
msgstr ""
@@ -1596,11 +1597,11 @@ msgstr ""
msgid "Search..."
msgstr ""
-#: widgets.py:670 templatetags/window_tables.py:91
+#: widgets.py:670 templatetags/window_tables.py:96
msgid "No results"
msgstr ""
-#: widgets.py:671 templatetags/window_tables.py:92
+#: widgets.py:671 templatetags/window_tables.py:97
msgid "Loading..."
msgstr ""
@@ -1608,15 +1609,15 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: wizards.py:372 templates/ishtar/import_delete.html:20
+#: wizards.py:374 templates/ishtar/import_delete.html:21
msgid "Yes"
msgstr ""
-#: wizards.py:374
+#: wizards.py:376
msgid "No"
msgstr ""
-#: wizards.py:1390
+#: wizards.py:1396
#, python-format
msgid "[%(app_name)s] Account creation/modification"
msgstr ""
@@ -1687,11 +1688,7 @@ msgstr ""
#: templates/base.html:84 templates/welcome.html:8 templates/welcome.html.py:9
#: templates/welcome.html:10 templates/welcome.html.py:11
-#: templates/ishtar/manage_basket.html:4
-#: templates/ishtar/blocks/window_field.html:1
-#: templates/ishtar/blocks/window_field_detail.html:1
-#: templates/ishtar/blocks/window_field_multiple.html:1
-#: templates/ishtar/blocks/window_field_url.html:1
+#: templates/ishtar/manage_basket.html:5
msgid ":"
msgstr ""
@@ -1980,7 +1977,7 @@ msgid "where the magic happens."
msgstr ""
#: templates/window.html:40 templates/blocks/JQueryJqGrid.html:34
-#: templates/ishtar/manage_basket.html:12
+#: templates/ishtar/manage_basket.html:13
msgid "Add"
msgstr ""
@@ -2061,7 +2058,7 @@ msgid "remove"
msgstr ""
#: templates/ishtar/form.html:11 templates/ishtar/formset.html:8
-#: templates/ishtar/import_list.html:58 templates/ishtar/merge.html:31
+#: templates/ishtar/import_list.html:62 templates/ishtar/merge.html:31
#: templates/ishtar/simple_form.html:7
#: templates/ishtar/wizard/default_wizard.html:31
#: templates/ishtar/wizard/search.html:13
@@ -2069,19 +2066,19 @@ msgstr ""
msgid "Validate"
msgstr ""
-#: templates/ishtar/import_delete.html:8
+#: templates/ishtar/import_delete.html:9
msgid "The current items are linked to this import:"
msgstr ""
-#: templates/ishtar/import_delete.html:18
+#: templates/ishtar/import_delete.html:19
msgid "All these items will be deleted with this import."
msgstr ""
-#: templates/ishtar/import_delete.html:19
+#: templates/ishtar/import_delete.html:20
msgid "Are you sure?"
msgstr ""
-#: templates/ishtar/import_delete.html:22
+#: templates/ishtar/import_delete.html:23
msgid "Back"
msgstr ""
@@ -2089,35 +2086,39 @@ msgstr ""
msgid "No pending imports."
msgstr ""
-#: templates/ishtar/import_list.html:14
+#: templates/ishtar/import_list.html:15
msgctxt "file"
msgid "File"
msgstr ""
-#: templates/ishtar/import_list.html:16
+#: templates/ishtar/import_list.html:17
msgid "Status"
msgstr ""
-#: templates/ishtar/import_list.html:17
+#: templates/ishtar/import_list.html:18
msgid "Action"
msgstr ""
-#: templates/ishtar/import_list.html:25
+#: templates/ishtar/import_list.html:29
msgid "Source file"
msgstr ""
-#: templates/ishtar/import_list.html:50
+#: templates/ishtar/import_list.html:54
msgid "Control file"
msgstr ""
-#: templates/ishtar/manage_basket.html:9
+#: templates/ishtar/manage_basket.html:10
msgid "Checking \"Select all\" only selects the current page."
msgstr ""
-#: templates/ishtar/manage_basket.html:13
+#: templates/ishtar/manage_basket.html:14
msgid "Basket content"
msgstr ""
+#: templates/ishtar/manage_basket.html:22 templates/ishtar/sheet.html:28
+msgid "Close"
+msgstr ""
+
#: templates/ishtar/merge.html:5
msgid "Merge"
msgstr ""
@@ -2186,10 +2187,6 @@ msgstr ""
msgid "Contact informations"
msgstr ""
-#: templates/ishtar/sheet.html:28
-msgid "Close"
-msgstr ""
-
#: templates/ishtar/sheet.html:34
msgid "Close all windows"
msgstr ""
@@ -2214,60 +2211,64 @@ msgstr ""
msgid "Planning service of archaeological files"
msgstr ""
-#: templates/ishtar/sheet_person.html:21
+#: templates/ishtar/sheet_person.html:23
#: templates/ishtar/wizard/wizard_person.html:19
msgid "Phone type"
msgstr ""
-#: templates/ishtar/sheet_person.html:44
+#: templates/ishtar/sheet_person.html:46
#: templates/ishtar/wizard/wizard_person.html:42
msgid "Business address"
msgstr ""
-#: templates/ishtar/sheet_person.html:52
+#: templates/ishtar/sheet_person.html:55
#: templates/ishtar/wizard/wizard_person.html:51
msgid "Other address"
msgstr ""
-#: templates/ishtar/sheet_person.html:60
+#: templates/ishtar/sheet_person.html:64
msgid "Associated organization"
msgstr ""
-#: templates/ishtar/sheet_person.html:71
+#: templates/ishtar/sheet_person.html:76
msgid "Associated operations as scientist"
msgstr ""
-#: templates/ishtar/sheet_person.html:75
+#: templates/ishtar/sheet_person.html:80
msgid "Associated operations as responsible"
msgstr ""
-#: templates/ishtar/sheet_person.html:80
+#: templates/ishtar/sheet_person.html:85
#: templates/ishtar/wizard/wizard_person_deletion.html:6
msgid "In charge of archaeological files"
msgstr ""
-#: templates/ishtar/sheet_person.html:85
+#: templates/ishtar/sheet_person.html:90
#: templates/ishtar/wizard/wizard_person_deletion.html:14
msgid "General contractor of archaeological files"
msgstr ""
-#: templates/ishtar/sheet_person.html:90
+#: templates/ishtar/sheet_person.html:95
#: templates/ishtar/wizard/wizard_person_deletion.html:22
msgid "Responsible for planning service of archaeological files"
msgstr ""
-#: templates/ishtar/sheet_person.html:96
+#: templates/ishtar/sheet_person.html:101
msgid "Documents associated to operations"
msgstr ""
-#: templates/ishtar/sheet_person.html:101
+#: templates/ishtar/sheet_person.html:106
msgid "Documents associated to context records"
msgstr ""
-#: templates/ishtar/sheet_person.html:106
+#: templates/ishtar/sheet_person.html:111
msgid "Documents associated to finds"
msgstr ""
+#: templates/ishtar/sheet_source.html:22
+msgid "Web link"
+msgstr ""
+
#: templates/ishtar/blocks/advanced_shortcut_menu.html:15
#: templates/ishtar/blocks/shortcut_menu.html:15
msgid ""
@@ -2322,6 +2323,20 @@ msgid ""
"a free software under AGPL v3 license."
msgstr ""
+#: templates/ishtar/blocks/sheet_creation_section.html:3
+msgctxt "Sheet"
+msgid "Creation"
+msgstr ""
+
+#: templates/ishtar/blocks/sheet_creation_section.html:12
+msgctxt "Sheet"
+msgid "Modification"
+msgstr ""
+
+#: templates/ishtar/blocks/sheet_external_id.html:3
+msgid "Internal ID"
+msgstr ""
+
#: templates/ishtar/blocks/window_nav.html:6
msgid "Previous version"
msgstr ""
diff --git a/translations/fr/archaeological_context_records.po b/translations/fr/archaeological_context_records.po
index d30649001..3b0762092 100644
--- a/translations/fr/archaeological_context_records.po
+++ b/translations/fr/archaeological_context_records.po
@@ -4,23 +4,24 @@
# Étienne Loks <etienne.loks at peacefrogs net>, 2010-2015.
# Valérie-Emma Leroux <emma@iggdrasil.net>, 2016. #zanata
# Valérie-Emma Leroux <emma@iggdrasil.net>, 2017. #zanata
+# Étienne Loks <etienne.loks@iggdrasil.net>, 2017. #zanata
msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"PO-Revision-Date: 2017-03-09 04:59-0500\n"
-"Last-Translator: Valérie-Emma Leroux <emma@iggdrasil.net>\n"
+"PO-Revision-Date: 2017-03-21 06:22-0400\n"
+"Last-Translator: Étienne Loks <etienne.loks@iggdrasil.net>\n"
"Language-Team: \n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
-#: forms.py:47 forms.py:51 models.py:198 models.py:565 wizards.py:77
+#: forms.py:47 forms.py:51 models.py:216 models.py:589 wizards.py:77
msgid "Operation"
msgstr "Opération"
-#: forms.py:59 forms.py:137 models.py:200 models.py:533
+#: forms.py:59 forms.py:141 models.py:218 models.py:557
msgid "ID"
msgstr "Identifiant"
@@ -44,7 +45,7 @@ msgstr "Entité archéologique"
msgid "Search within related operations"
msgstr "Rechercher parmi les opérations liées"
-#: forms.py:77 forms.py:233 models.py:56
+#: forms.py:77 forms.py:254 models.py:56
msgid "Period"
msgstr "Période"
@@ -60,7 +61,7 @@ msgstr "Parcelle (section/numéro/domaine public)"
msgid "Search within relations"
msgstr "Rechercher parmi les relations"
-#: forms.py:111 forms.py:336 views.py:92
+#: forms.py:111 forms.py:357 views.py:92
msgid "Context record search"
msgstr "Rechercher une Unité d'Enregistrement"
@@ -72,52 +73,64 @@ msgstr "Vous devez sélectionner au moins une Unité d'Enregistrement."
msgid "General"
msgstr "Général"
-#: forms.py:136 models.py:154 models.py:196 models.py:535
+#: forms.py:140 models.py:181 models.py:214 models.py:559
msgid "Parcel"
msgstr "Parcelle"
-#: forms.py:139 models.py:201 models.py:536
-#: templates/ishtar/sheet_contextrecord.html:39
+#: forms.py:143 models.py:219 models.py:560
+#: templates/ishtar/sheet_contextrecord.html:30
msgid "Description"
msgstr "Description"
-#: forms.py:141 models.py:202
+#: forms.py:145 models.py:220
msgid "General comment"
msgstr "Commentaire général"
-#: forms.py:143 models.py:206
+#: forms.py:148 models.py:267
+msgid "Excavation technique"
+msgstr "Méthode de fouille"
+
+#: forms.py:149 models.py:224
msgid "Length (m)"
msgstr "Taille (m)"
-#: forms.py:144 models.py:207
+#: forms.py:150 models.py:225
msgid "Width (m)"
msgstr "Largeur (m)"
-#: forms.py:145 models.py:208
+#: forms.py:151 models.py:226
msgid "Thickness (m)"
msgstr "Épaisseur (m)"
-#: forms.py:146 models.py:210
+#: forms.py:152 models.py:228
+msgid "Diameter (m)"
+msgstr "Diamètre (m)"
+
+#: forms.py:153 models.py:229
msgid "Depth (m)"
msgstr "Profondeur (m)"
-#: forms.py:147 forms.py:355 models.py:218 models.py:534
+#: forms.py:155 models.py:231
+msgid "Depth of appearance (m)"
+msgstr "Profondeur d'apparition"
+
+#: forms.py:156 forms.py:376 models.py:241 models.py:558
msgid "Context record type"
msgstr "Type d'Unité d'Enregistrement"
-#: forms.py:148 models.py:220
-msgid "Has furniture?"
-msgstr "Contient du mobilier ?"
+#: forms.py:159 ishtar_menu.py:48
+msgid "Documentation"
+msgstr "Documentation"
-#: forms.py:151 models.py:212
+#: forms.py:162 models.py:233
msgid "Location"
msgstr "Lieu"
-#: forms.py:154
+#: forms.py:165
msgid "Image"
msgstr "Image"
-#: forms.py:155
+#: forms.py:166
#, python-format
msgid ""
"<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</"
@@ -126,112 +139,112 @@ msgstr ""
"<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le "
"ratio est conservé).</p>"
-#: forms.py:222
+#: forms.py:243
msgid "This ID already exists for this operation."
msgstr "Cet identifiant existe déjà pour cette opération."
-#: forms.py:228 forms.py:255 models.py:67
+#: forms.py:249 forms.py:276 models.py:67
msgid "Dating"
msgstr "Datation"
-#: forms.py:234 models.py:57
+#: forms.py:255 models.py:57
msgid "Start date"
msgstr "Date de début"
-#: forms.py:235 models.py:58 models.py:205
+#: forms.py:256 models.py:58 models.py:223
msgid "End date"
msgstr "Date de fin"
-#: forms.py:236 models.py:61
+#: forms.py:257 models.py:61
msgid "Quality"
msgstr "Qualité"
-#: forms.py:237 models.py:39 models.py:59
+#: forms.py:258 models.py:39 models.py:59
msgid "Dating type"
msgstr "Type de datation"
-#: forms.py:264 ishtar_menu.py:29 models.py:595
+#: forms.py:285 ishtar_menu.py:29 models.py:619
msgid "Context record"
msgstr "Unité d'Enregistrement"
-#: forms.py:285
+#: forms.py:306
msgid "Relations"
msgstr "Relations"
-#: forms.py:289 forms.py:297 models.py:223
-#: templates/ishtar/sheet_contextrecord.html:51
+#: forms.py:310 forms.py:318 models.py:244
+#: templates/ishtar/sheet_contextrecord.html:44
msgid "Interpretation"
msgstr "Interprétation"
-#: forms.py:293
+#: forms.py:314
msgid "Comments on dating"
msgstr "Commentaires sur la datation"
-#: forms.py:295 models.py:222
+#: forms.py:316 models.py:243
msgid "Filling"
msgstr "Remplissage"
-#: forms.py:299 models.py:243
+#: forms.py:320 models.py:264
msgid "Activity"
msgstr "Activité"
-#: forms.py:301 models.py:241
+#: forms.py:322 models.py:262
msgid "Identification"
msgstr "Identification"
-#: forms.py:303 models.py:226
+#: forms.py:324 models.py:247
msgid "TAQ"
msgstr "TAQ"
-#: forms.py:304 models.py:230
+#: forms.py:325 models.py:251
msgid "Estimated TAQ"
msgstr "TAQ estimé"
-#: forms.py:306 models.py:233
+#: forms.py:327 models.py:254
msgid "TPQ"
msgstr "TPQ"
-#: forms.py:307 models.py:237
+#: forms.py:328 models.py:258
msgid "Estimated TPQ"
msgstr "TPQ estimé"
-#: forms.py:322
+#: forms.py:343
msgid "Operation search"
msgstr "Rechercher une opération"
-#: forms.py:324
+#: forms.py:345
msgid "You should select an operation."
msgstr "Vous devez sélectionner une Opération."
-#: forms.py:329
+#: forms.py:350
msgid "Would you like to delete this context record?"
msgstr "Voulez-vous supprimer cette Unité d'Enregistrement ?"
-#: forms.py:338
+#: forms.py:359
msgid "You should select a context record."
msgstr "Vous devez sélectionner une Unité d'Enregistrement."
-#: forms.py:343
+#: forms.py:364
msgid "Year of the operation"
msgstr "Année de l'opération"
-#: forms.py:345
+#: forms.py:366
msgid "Numeric reference"
msgstr "Référence numérique"
-#: forms.py:351
+#: forms.py:372
msgid "Town of the operation"
msgstr "Commune de l'opération"
-#: forms.py:353
+#: forms.py:374
msgid "Period of the context record"
msgstr "Période de l'Unité d'Enregistrement"
-#: forms.py:368
+#: forms.py:389
msgid "Documentation search"
msgstr "Rechercher une documentation"
-#: forms.py:370
+#: forms.py:391
msgid "You should select a document."
msgstr "Vous devez sélectionner un document."
@@ -251,10 +264,6 @@ msgstr "Modification"
msgid "Deletion"
msgstr "Suppression"
-#: ishtar_menu.py:48
-msgid "Documentation"
-msgstr "Documentation"
-
#: models.py:40
msgid "Dating types"
msgstr "Types de datation"
@@ -307,55 +316,67 @@ msgstr "Type d'identification"
msgid "Identification Types"
msgstr "Types d'identification"
-#: models.py:155 models.py:537
+#: models.py:125
+msgid "Excavation technique type"
+msgstr "Type de méthode de fouille"
+
+#: models.py:126
+msgid "Excavation technique types"
+msgstr "Types de méthode de fouille"
+
+#: models.py:134
+msgid "Documentation type"
+msgstr "Type de documentation"
+
+#: models.py:135
+msgid "Documentation types"
+msgstr "Types de documentation"
+
+#: models.py:172 models.py:561
msgid "Periods"
msgstr "Périodes"
-#: models.py:156
-msgid "Town"
-msgstr "Ville"
-
-#: models.py:184
-msgid "Parcel (town)"
-msgstr "Parcelle (commune)"
+#: models.py:173
+msgid "Datings (period)"
+msgstr "Datations (période)"
-#: models.py:185
+#: models.py:174
msgid "Related context records"
msgstr "Unités d'Enregistrement liées"
-#: models.py:187
+#: models.py:177
msgid "Parcel (external ID)"
msgstr "Parcelle (identifiant externe)"
-#: models.py:188
-msgid "Datings (period)"
-msgstr "Datations (période)"
+#: models.py:178 models.py:179
+msgid "Parcel (town)"
+msgstr "Parcelle (commune)"
-#: models.py:189
+#: models.py:180
msgid "Parcel (year)"
msgstr "Parcelle (année)"
-#: models.py:193
+#: models.py:211
msgid "External ID"
msgstr "ID externe"
-#: models.py:195
+#: models.py:213
msgid "External ID is set automatically"
msgstr "L'identifiant externe est configuré automatiquement"
-#: models.py:203
+#: models.py:221
msgid "Date d'ouverture"
msgstr "Date d'ouverture"
-#: models.py:213
+#: models.py:234
msgid "A short description of the location of the context record"
msgstr "Une courte description de la localisation de l'Unité d'Enregistrement"
-#: models.py:216
+#: models.py:239
msgid "Comment on datings"
msgstr "Commentaire sur les datations"
-#: models.py:227
+#: models.py:248
msgid ""
"\"Terminus Ante Quem\" the context record can't have been created after this "
"date"
@@ -363,11 +384,11 @@ msgstr ""
"« Terminus Ante Quem ». L'Unité d'Enregistrement ne peut avoir été créée "
"après cette date."
-#: models.py:231
+#: models.py:252
msgid "Estimation of a \"Terminus Ante Quem\""
msgstr "Estimation d'un « Terminus Ante Quem »."
-#: models.py:234
+#: models.py:255
msgid ""
"\"Terminus Post Quem\" the context record can't have been created before "
"this date"
@@ -375,116 +396,116 @@ msgstr ""
"« Terminus Post Quem ». L'Unité d'Enregistrement ne peut avoir été créée "
"avant cette date."
-#: models.py:238
+#: models.py:259
msgid "Estimation of a \"Terminus Post Quem\""
msgstr "Estimation d'un « Terminus Post Quem »."
-#: models.py:246
+#: models.py:270
msgid "Point"
msgstr "Point"
-#: models.py:247
+#: models.py:271
msgid "Polygon"
msgstr "Polygone"
-#: models.py:248
+#: models.py:272
msgid "Cached name"
msgstr "Nom en cache"
-#: models.py:252 models.py:253 templates/ishtar/sheet_contextrecord.html:4
+#: models.py:276 models.py:277 templates/ishtar/sheet_contextrecord.html:4
msgid "Context Record"
msgstr "Unité d'Enregistrement"
-#: models.py:255
+#: models.py:279
msgid "Can view all Context Records"
msgstr "Peut voir toutes les Unités d'Enregistrement"
-#: models.py:257
+#: models.py:281
msgid "Can view own Context Record"
msgstr "Peut voir sa propre Unité d'Enregistrement"
-#: models.py:259
+#: models.py:283
msgid "Can add own Context Record"
msgstr "Peut ajouter sa propre Unité d'Enregistrement"
-#: models.py:261
+#: models.py:285
msgid "Can change own Context Record"
msgstr "Peut modifier sa propre Unité d'Enregistrement"
-#: models.py:263
+#: models.py:287
msgid "Can delete own Context Record"
msgstr "Peut supprimer sa propre Unité d'Enregistrement"
-#: models.py:273
+#: models.py:297
msgctxt "short"
msgid "Context record"
msgstr "UE"
-#: models.py:467
+#: models.py:491
msgid "Inverse relation"
msgstr "Relation inverse"
-#: models.py:471 models.py:494 models.py:532
+#: models.py:495 models.py:518 models.py:556
msgid "Relation type"
msgstr "Type de relation"
-#: models.py:472
+#: models.py:496
msgid "Relation types"
msgstr "Types de relation"
-#: models.py:489
+#: models.py:513
msgid "ID (left)"
msgstr "ID (gauche)"
-#: models.py:490
+#: models.py:514
msgid "Context record type (left)"
msgstr "Type d'UE (gauche)"
-#: models.py:491
+#: models.py:515
msgid "Parcel (left)"
msgstr "Parcelle (gauche)"
-#: models.py:492
+#: models.py:516
msgid "Description (left)"
msgstr "Description (gauche)"
-#: models.py:493
+#: models.py:517
msgid "Periods (left)"
msgstr "Périodes (gauche)"
-#: models.py:495
+#: models.py:519
msgid "ID (right)"
msgstr "ID (droit)"
-#: models.py:496
+#: models.py:520
msgid "Context record type (right)"
msgstr "Type d'UE (droite)"
-#: models.py:497
+#: models.py:521
msgid "Parcel (right)"
msgstr "Parcelle (droite)"
-#: models.py:498
+#: models.py:522
msgid "Description (right)"
msgstr "Description (droite)"
-#: models.py:499
+#: models.py:523
msgid "Periods (right)"
msgstr "Périodes (droite)"
-#: models.py:508
+#: models.py:532
msgid "Record relation"
msgstr "Relation entre Unités d'Enregistrement"
-#: models.py:509
+#: models.py:533
msgid "Record relations"
msgstr "Relations entre Unités d'Enregistrement"
-#: models.py:592
+#: models.py:616
msgid "Context record documentation"
msgstr "Documentation d'une Unité d'Enregistrement"
-#: models.py:593
+#: models.py:617
msgid "Context record documentations"
msgstr "Documentations des Unités d'Enregistrement"
@@ -516,86 +537,86 @@ msgstr "Unité d'Enregistrement : modifier une documentation associée"
msgid "Context record: source deletion"
msgstr "Unité d'Enregistrement : supprimer une documentation associée"
-#: templates/ishtar/sheet_contextrecord.html:17
+#: templates/ishtar/sheet_contextrecord.html:18
msgid "Complete ID:"
msgstr "ID complet :"
-#: templates/ishtar/sheet_contextrecord.html:17
+#: templates/ishtar/sheet_contextrecord.html:18
msgid "Temporary ID:"
msgstr "ID temporaire :"
-#: templates/ishtar/sheet_contextrecord.html:18
-msgid "Creation:"
-msgstr "Création :"
-
-#: templates/ishtar/sheet_contextrecord.html:25
-msgid "Modification:"
-msgstr "Modification :"
-
-#: templates/ishtar/sheet_contextrecord.html:63
+#: templates/ishtar/sheet_contextrecord.html:56
msgid "Datations"
msgstr "Datations"
-#: templates/ishtar/sheet_contextrecord.html:72
+#: templates/ishtar/sheet_contextrecord.html:65
msgid "Context record relations"
msgstr "Relations entre Unités d'Enregistrement"
-#: templates/ishtar/sheet_contextrecord.html:79
+#: templates/ishtar/sheet_contextrecord.html:72
msgid "Operation summary"
msgstr "Résumé de l'opération"
-#: templates/ishtar/sheet_contextrecord.html:81
+#: templates/ishtar/sheet_contextrecord.html:74
msgid "Patriarche OA code not yet recorded!"
msgstr "Code d'opération Patriarche non renseigné !"
-#: templates/ishtar/sheet_contextrecord.html:88
+#: templates/ishtar/sheet_contextrecord.html:78
+msgid "Numerical reference"
+msgstr "Référence numérique"
+
+#: templates/ishtar/sheet_contextrecord.html:82
msgid "State:"
msgstr "État :"
-#: templates/ishtar/sheet_contextrecord.html:88
+#: templates/ishtar/sheet_contextrecord.html:82
msgid "Active file"
msgstr "Dossier actif"
-#: templates/ishtar/sheet_contextrecord.html:88
+#: templates/ishtar/sheet_contextrecord.html:82
msgid "Closed operation"
msgstr "Opération close"
-#: templates/ishtar/sheet_contextrecord.html:90
+#: templates/ishtar/sheet_contextrecord.html:84
msgid "Closing date:"
msgstr "Date de clôture :"
-#: templates/ishtar/sheet_contextrecord.html:90
+#: templates/ishtar/sheet_contextrecord.html:84
msgid "by"
msgstr "par"
-#: templates/ishtar/sheet_contextrecord.html:98
+#: templates/ishtar/sheet_contextrecord.html:92
msgid "Localisation"
msgstr "Lieu"
-#: templates/ishtar/sheet_contextrecord.html:99
+#: templates/ishtar/sheet_contextrecord.html:93
msgid "Towns:"
msgstr "Communes :"
-#: templates/ishtar/sheet_contextrecord.html:100
+#: templates/ishtar/sheet_contextrecord.html:94
msgid "Related operation:"
msgstr "Opération associée :"
-#: templates/ishtar/sheet_contextrecord.html:102
+#: templates/ishtar/sheet_contextrecord.html:96
msgid "No operation linked to this context unit!"
msgstr "Pas d'opération rattachée à cette UE !"
-#: templates/ishtar/sheet_contextrecord.html:105
+#: templates/ishtar/sheet_contextrecord.html:99
msgid "Document from this context record"
msgstr "Document associé à cette Unité d'Enregistrement"
-#: templates/ishtar/sheet_contextrecord.html:110
+#: templates/ishtar/sheet_contextrecord.html:104
msgid "Finds"
msgstr "Mobilier"
-#: templates/ishtar/sheet_contextrecord.html:115
+#: templates/ishtar/sheet_contextrecord.html:109
msgid "Documents from associated finds"
msgstr "Documents du mobilier associé"
#: templates/ishtar/sheet_contextrecordsource.html:4
msgid "Context record source"
msgstr "Documentation associée à l'UE"
+
+#: templates/ishtar/sheet_contextrecordsource.html:11
+msgid "Related context record"
+msgstr "Unité d'Enregistrement associée"
diff --git a/translations/fr/archaeological_files.po b/translations/fr/archaeological_files.po
index 4c565b478..23d75e0d0 100644
--- a/translations/fr/archaeological_files.po
+++ b/translations/fr/archaeological_files.po
@@ -11,7 +11,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"PO-Revision-Date: 2017-03-09 05:00-0500\n"
+"PO-Revision-Date: 2017-02-05 05:21-0500\n"
"Last-Translator: Valérie-Emma Leroux <emma@iggdrasil.net>\n"
"Language-Team: \n"
"Language: fr\n"
@@ -19,7 +19,7 @@ msgstr ""
"X-Generator: Zanata 3.9.6\n"
#: forms.py:47 forms.py:210 forms.py:255 forms.py:396 forms.py:423
-#: models.py:108 templates/ishtar/sheet_file.html:157
+#: models.py:108 templates/ishtar/sheet_file.html:144
msgid "Year"
msgstr "Année"
@@ -35,7 +35,7 @@ msgstr "Autre référence"
msgid "Parcel (section/number/public domain)"
msgstr "Parcelle (section/numéro/domaine public)"
-#: forms.py:55 forms.py:407 forms.py:434 models.py:553
+#: forms.py:55 forms.py:407 forms.py:434 models.py:558
msgid "Department"
msgstr "Département"
@@ -64,11 +64,11 @@ msgid "Permit reference"
msgstr "Référence du permis"
#: forms.py:63 forms.py:227 forms.py:364 models.py:180
-#: templates/ishtar/sheet_file.html:110
+#: templates/ishtar/sheet_file.html:97
msgid "Comment"
msgstr "Commentaire"
-#: forms.py:65 templates/ishtar/sheet_file.html:130
+#: forms.py:65 templates/ishtar/sheet_file.html:117
msgid "In charge"
msgstr "Responsable"
@@ -124,7 +124,7 @@ msgstr "Date après"
msgid "Date before"
msgstr "Date avant"
-#: forms.py:197 templates/ishtar/sheet_file.html:14
+#: forms.py:197 templates/ishtar/sheet_file.html:19
msgid "General"
msgstr "Général"
@@ -173,12 +173,12 @@ msgstr "Responsable pour le service instructeur"
msgid "Total developed surface (m2)"
msgstr "Surface totale aménagée (m2)"
-#: forms.py:333 templates/ishtar/sheet_file.html:100
+#: forms.py:333 templates/ishtar/sheet_file.html:87
#: templates/ishtar/dashboards/dashboard_file.html:45
msgid "Research archaeology"
msgstr "Archéologie programmée"
-#: forms.py:341 models.py:183 templates/ishtar/sheet_file.html:101
+#: forms.py:341 models.py:183 templates/ishtar/sheet_file.html:88
msgid "Departments"
msgstr "Départements"
@@ -186,7 +186,7 @@ msgstr "Départements"
msgid "Scientist in charge"
msgstr "Responsable scientifique"
-#: forms.py:353 models.py:186 templates/ishtar/sheet_file.html:103
+#: forms.py:353 models.py:186 templates/ishtar/sheet_file.html:90
msgid "Requested operation type"
msgstr "Type d'opération demandée"
@@ -194,11 +194,11 @@ msgstr "Type d'opération demandée"
msgid "Lead organization"
msgstr "Organisation porteuse du projet"
-#: forms.py:371 models.py:196 templates/ishtar/sheet_file.html:108
+#: forms.py:371 models.py:196 templates/ishtar/sheet_file.html:95
msgid "Classified area"
msgstr "Au sein d'un site classé"
-#: forms.py:373 models.py:198 templates/ishtar/sheet_file.html:109
+#: forms.py:373 models.py:198 templates/ishtar/sheet_file.html:96
msgid "Protected area"
msgstr "Au sein d'un secteur sauvegardé"
@@ -372,7 +372,7 @@ msgstr "Lieu-dit"
msgid "Main address - postal code"
msgstr "Adresse des terrains - code postal"
-#: models.py:188 templates/ishtar/sheet_file.html:104
+#: models.py:188 templates/ishtar/sheet_file.html:91
msgid "Organization"
msgstr "Organisation"
@@ -416,15 +416,15 @@ msgstr "Peut clore un Dossier"
msgid "FILE"
msgstr "DOSSIER"
-#: models.py:413
+#: models.py:418
msgid "Multi-town"
msgstr "Intercommunal"
-#: models.py:419
+#: models.py:424
msgid "No town"
msgstr "Pas de commune"
-#: models.py:552
+#: models.py:557
msgid "File"
msgstr "Dossier"
@@ -464,7 +464,7 @@ msgstr "Dossier : modifier un acte administratif"
msgid "File: administrative act deletion"
msgstr "Dossier : supprimer un acte administratif"
-#: wizards.py:124 templates/ishtar/sheet_file.html:122
+#: wizards.py:124 templates/ishtar/sheet_file.html:109
msgid "Associated operations"
msgstr "Opérations associées"
@@ -480,122 +480,114 @@ msgstr "Choisir le type de document"
msgid "Generate"
msgstr "Générer"
-#: templates/ishtar/sheet_file.html:23
-msgid "Creation:"
-msgstr "Création :"
-
-#: templates/ishtar/sheet_file.html:30
-msgid "Modification:"
-msgstr "Modification :"
-
-#: templates/ishtar/sheet_file.html:47
+#: templates/ishtar/sheet_file.html:34
msgid "State:"
msgstr "État :"
-#: templates/ishtar/sheet_file.html:47
+#: templates/ishtar/sheet_file.html:34
msgid "Active file"
msgstr "Dossier actif"
-#: templates/ishtar/sheet_file.html:48
+#: templates/ishtar/sheet_file.html:35
msgid "Closed file"
msgstr "Dossier clos"
-#: templates/ishtar/sheet_file.html:50
+#: templates/ishtar/sheet_file.html:37
msgid "Closing date:"
msgstr "Date de clôture :"
-#: templates/ishtar/sheet_file.html:50
+#: templates/ishtar/sheet_file.html:37
msgid "by"
msgstr "par"
-#: templates/ishtar/sheet_file.html:55
+#: templates/ishtar/sheet_file.html:42
msgid "Related file:"
msgstr "Dossier en relation avec :"
-#: templates/ishtar/sheet_file.html:60
+#: templates/ishtar/sheet_file.html:47
msgid "Localisation"
msgstr "Localisation"
-#: templates/ishtar/sheet_file.html:61
+#: templates/ishtar/sheet_file.html:48
msgid "Towns:"
msgstr "Communes :"
-#: templates/ishtar/sheet_file.html:62
+#: templates/ishtar/sheet_file.html:49
msgid "Departments:"
msgstr "Départements :"
-#: templates/ishtar/sheet_file.html:64
+#: templates/ishtar/sheet_file.html:51
msgid "Main address:"
msgstr "Adresse principale :"
-#: templates/ishtar/sheet_file.html:65
+#: templates/ishtar/sheet_file.html:52
msgid "Complement:"
msgstr "Complément :"
-#: templates/ishtar/sheet_file.html:66
+#: templates/ishtar/sheet_file.html:53
msgid "Postal code:"
msgstr "Code postal :"
-#: templates/ishtar/sheet_file.html:68
+#: templates/ishtar/sheet_file.html:55
msgid "Surface:"
msgstr "Surface :"
-#: templates/ishtar/sheet_file.html:73
+#: templates/ishtar/sheet_file.html:60
msgid "Preventive archaeological file"
msgstr "Dossier d'archéologie préventive"
-#: templates/ishtar/sheet_file.html:75
+#: templates/ishtar/sheet_file.html:62
msgid "Developed surface:"
msgstr "Surface aménagée :"
-#: templates/ishtar/sheet_file.html:101 templates/ishtar/sheet_file.html:102
-#: templates/ishtar/sheet_file.html:103 templates/ishtar/sheet_file.html:104
-#: templates/ishtar/sheet_file.html:110
+#: templates/ishtar/sheet_file.html:88 templates/ishtar/sheet_file.html:89
+#: templates/ishtar/sheet_file.html:90 templates/ishtar/sheet_file.html:91
+#: templates/ishtar/sheet_file.html:97
#: templates/ishtar/dashboards/dashboard_file.html:14
msgid ":"
msgstr " :"
-#: templates/ishtar/sheet_file.html:102
+#: templates/ishtar/sheet_file.html:89
msgid "Head scientist"
msgstr "Responsable scientifique"
-#: templates/ishtar/sheet_file.html:116
+#: templates/ishtar/sheet_file.html:103
msgid "Associated parcels"
msgstr "Parcelles associées"
-#: templates/ishtar/sheet_file.html:119
+#: templates/ishtar/sheet_file.html:106
msgid "Administrative acts"
msgstr "Actes administratifs"
-#: templates/ishtar/sheet_file.html:127 templates/ishtar/sheet_file.html:158
+#: templates/ishtar/sheet_file.html:114 templates/ishtar/sheet_file.html:145
msgid "Ref."
msgstr "Réf."
-#: templates/ishtar/sheet_file.html:129 templates/ishtar/sheet_file.html:159
+#: templates/ishtar/sheet_file.html:116 templates/ishtar/sheet_file.html:146
msgid "Type"
msgstr "Type"
-#: templates/ishtar/sheet_file.html:131
+#: templates/ishtar/sheet_file.html:118
msgid "Start date"
msgstr "Date de début"
-#: templates/ishtar/sheet_file.html:132
+#: templates/ishtar/sheet_file.html:119
msgid "Excavation end date"
msgstr "Date de fin de chantier"
-#: templates/ishtar/sheet_file.html:146
+#: templates/ishtar/sheet_file.html:133
msgid "No operation associated to this archaeological file"
msgstr "Pas d'opération associée à ce dossier archéologique"
-#: templates/ishtar/sheet_file.html:152
+#: templates/ishtar/sheet_file.html:139
msgid "Admninistrative acts linked to associated operations"
msgstr "Actes administratifs associés à ces opérations"
-#: templates/ishtar/sheet_file.html:160
+#: templates/ishtar/sheet_file.html:147
msgid "Date"
msgstr "Date"
-#: templates/ishtar/sheet_file.html:170
+#: templates/ishtar/sheet_file.html:157
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 c32c79b64..32c8a4861 100644
--- a/translations/fr/archaeological_finds.po
+++ b/translations/fr/archaeological_finds.po
@@ -3,182 +3,184 @@
# This file is distributed under the same license as the Ishtar package.
# Étienne Loks <etienne.loks at peacefrogs net>, 2010-2015.
# Valérie-Emma Leroux <emma@iggdrasil.net>, 2016. #zanata
+# Étienne Loks <etienne.loks@iggdrasil.net>, 2016. #zanata
# Valérie-Emma Leroux <emma@iggdrasil.net>, 2017. #zanata
+# Étienne Loks <etienne.loks@iggdrasil.net>, 2017. #zanata
msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"PO-Revision-Date: 2017-03-09 05:01-0500\n"
-"Last-Translator: Valérie-Emma Leroux <emma@iggdrasil.net>\n"
+"PO-Revision-Date: 2017-03-21 06:23-0400\n"
+"Last-Translator: Étienne Loks <etienne.loks@iggdrasil.net>\n"
"Language-Team: \n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
-#: forms.py:90 forms.py:94 wizards.py:64
+#: forms.py:93 forms.py:97 models_finds.py:505 wizards.py:64
msgid "Context record"
msgstr "Unité d'Enregistrement"
-#: forms.py:123 ishtar_menu.py:32 models_finds.py:656 models_finds.py:1059
-#: models_finds.py:1068 models_treatments.py:279
+#: forms.py:126 ishtar_menu.py:32 models_finds.py:668 models_finds.py:1071
+#: models_finds.py:1080 models_treatments.py:281
#: templates/ishtar/sheet_find.html:5
msgid "Find"
msgstr "Mobilier"
-#: forms.py:137 forms.py:330 forms.py:559 models_finds.py:151
-#: models_finds.py:587
+#: forms.py:140 forms.py:333 forms.py:601 models_finds.py:151
+#: models_finds.py:599
msgid "Free ID"
msgstr "ID libre"
-#: forms.py:139 models_finds.py:639
+#: forms.py:142 models_finds.py:651
msgid "Previous ID"
msgstr "Identifiant précédent"
-#: forms.py:140 forms.py:362 forms_treatments.py:134 models_finds.py:155
-#: models_finds.py:588 models_treatments.py:125
+#: forms.py:143 forms.py:364 forms_treatments.py:134 models_finds.py:155
+#: models_finds.py:600 models_treatments.py:127
msgid "Description"
msgstr "Description"
-#: forms.py:143 forms.py:364 models_finds.py:164
+#: forms.py:146 forms.py:366 models_finds.py:164
msgid "Batch/object"
msgstr "Lot/objet"
-#: forms.py:145 models_finds.py:616
+#: forms.py:148 models_finds.py:628
msgid "Is complete?"
msgstr "Est complet ?"
-#: forms.py:148 forms.py:352 forms.py:563 models_finds.py:51
+#: forms.py:151 forms.py:354 forms.py:605 models_finds.py:51
msgid "Material type"
msgstr "Type de matériau"
-#: forms.py:149 forms.py:356 models_finds.py:63 models_finds.py:592
+#: forms.py:152 forms.py:358 models_finds.py:63 models_finds.py:604
msgid "Conservatory state"
msgstr "État sanitaire"
-#: forms.py:152 models_finds.py:594
+#: forms.py:155 models_finds.py:606
msgid "Conservatory comment"
msgstr "Commentaire relatif à la conservation"
-#: forms.py:155 models_finds.py:113 models_finds.py:619
+#: forms.py:158 models_finds.py:113 models_finds.py:631
msgid "Object types"
msgstr "Types d'objet"
-#: forms.py:157 forms.py:355 models_finds.py:72
+#: forms.py:160 forms.py:357 models_finds.py:72
msgid "Preservation type"
msgstr "Type de conservation"
-#: forms.py:160 forms.py:358 models_finds.py:621
+#: forms.py:163 forms.py:360 models_finds.py:633
msgid "Integrity / interest"
msgstr "Intégrité / intérêt"
-#: forms.py:163 forms.py:360 models_finds.py:624
+#: forms.py:166 forms.py:362 models_finds.py:636
msgid "Remarkability"
msgstr "Remarquabilité"
-#: forms.py:166 models_finds.py:169
+#: forms.py:169 models_finds.py:169
msgid "Point of topographic reference"
msgstr "Point de référence topographique"
-#: forms.py:169 models_finds.py:171
+#: forms.py:172 models_finds.py:171
msgid "X"
msgstr "X"
-#: forms.py:170 models_finds.py:172
+#: forms.py:173 models_finds.py:172
msgid "Y"
msgstr "Y"
-#: forms.py:171 models_finds.py:173
+#: forms.py:174 models_finds.py:173
msgid "Z"
msgstr "Z"
-#: forms.py:173 models_finds.py:181
+#: forms.py:176 models_finds.py:181
msgid "Spatial Reference System"
msgstr "Système de référence spatiale"
-#: forms.py:176 models_finds.py:174
+#: forms.py:179 models_finds.py:174
msgid "Estimated error for X"
msgstr "Erreur estimée pour X"
-#: forms.py:178 models_finds.py:176
+#: forms.py:181 models_finds.py:176
msgid "Estimated error for Y"
msgstr "Erreur estimée pour Y"
-#: forms.py:180 models_finds.py:178
+#: forms.py:183 models_finds.py:178
msgid "Estimated error for Z"
msgstr "Erreur estimée pour Z"
-#: forms.py:181 models_finds.py:628
+#: forms.py:184 models_finds.py:640
msgid "Length (cm)"
msgstr "Longueur (cm)"
-#: forms.py:182 models_finds.py:629
+#: forms.py:185 models_finds.py:641
msgid "Width (cm)"
msgstr "Largeur (cm)"
-#: forms.py:183 models_finds.py:630
+#: forms.py:186 models_finds.py:642
msgid "Height (cm)"
msgstr "Hauteur (cm)"
-#: forms.py:184 models_finds.py:631
+#: forms.py:187 models_finds.py:643
msgid "Diameter (cm)"
msgstr "Diamètre (cm)"
-#: forms.py:185 models_finds.py:632
+#: forms.py:188 models_finds.py:644
msgid "Thickness (cm)"
msgstr "Épaisseur (cm)"
-#: forms.py:186 forms.py:564 models_finds.py:599
+#: forms.py:189 forms.py:606 models_finds.py:611
msgid "Volume (l)"
msgstr "Volume (l)"
-#: forms.py:187 forms.py:565 models_finds.py:600
+#: forms.py:190 forms.py:607 models_finds.py:612
msgid "Weight (g)"
msgstr "Poids (g)"
-#: forms.py:189 models_finds.py:633
+#: forms.py:192 models_finds.py:645
msgid "Dimensions comment"
msgstr "Commentaire concernant les dimensions"
-#: forms.py:190 forms.py:566 models_finds.py:603
+#: forms.py:193 forms.py:608 models_finds.py:615
msgid "Find number"
msgstr "Mobilier (en nombre)"
-#: forms.py:192 models_finds.py:627
+#: forms.py:195 models_finds.py:639
msgid "Minimum number of individuals (MNI)"
msgstr "Nombre minimum d'individus (NMI)"
-#: forms.py:193 models_finds.py:635
+#: forms.py:196 models_finds.py:647
msgid "Mark"
msgstr "Marque"
-#: forms.py:194 forms.py:365 models_finds.py:641
+#: forms.py:197 forms.py:367 models_finds.py:653
msgid "Check"
msgstr "Vérification"
-#: forms.py:196 models_finds.py:643
+#: forms.py:199 models_finds.py:655
msgid "Check date"
msgstr "Date de vérification"
-#: forms.py:197 forms_treatments.py:132 forms_treatments.py:434
-#: models_finds.py:156 models_finds.py:636 models_treatments.py:124
-#: models_treatments.py:492
+#: forms.py:200 forms_treatments.py:132 forms_treatments.py:434
+#: models_finds.py:156 models_finds.py:648 models_treatments.py:126
+#: models_treatments.py:494
msgid "Comment"
msgstr "Commentaires"
-#: forms.py:200 models_finds.py:637
+#: forms.py:203 models_finds.py:649
msgid "Comment on dating"
msgstr "Commentaire général sur les datations"
-#: forms.py:201 models_finds.py:645
+#: forms.py:204 models_finds.py:657
msgid "Estimated value"
msgstr "Valeur estimée"
-#: forms.py:203 forms_treatments.py:151
+#: forms.py:206 forms_treatments.py:151
msgid "Image"
msgstr "Image"
-#: forms.py:204 forms_treatments.py:152
+#: forms.py:207 forms_treatments.py:152
#, python-format
msgid ""
"<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</"
@@ -187,192 +189,208 @@ msgstr ""
"<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le "
"ratio est conservé).</p>"
-#: forms.py:278
+#: forms.py:281
msgid ""
"You should at least provide X, Y and the spatial reference system used."
msgstr ""
"Vous devez au minimum fournir X, Y et le système de référence spatiale "
"utilisé."
-#: forms.py:287
+#: forms.py:290
msgid ""
"Coordinates are not relevant for the spatial reference system used: {}."
msgstr ""
"Les coordonnées ne sont pas pertinentes pour le système de référence "
"spatiale utilisé : {}."
-#: forms.py:293 forms.py:324 models_finds.py:611
+#: forms.py:296 forms.py:327 models_finds.py:623
msgid "Dating"
msgstr "Datation"
-#: forms.py:298 forms.py:350
+#: forms.py:301 forms.py:353
msgid "Period"
msgstr "Période"
-#: forms.py:299 forms_treatments.py:138 forms_treatments.py:436
-#: models_finds.py:1073 models_treatments.py:127 models_treatments.py:290
-#: templates/ishtar/sheet_find.html:103 templates/ishtar/sheet_find.html:145
+#: forms.py:302 forms_treatments.py:138 forms_treatments.py:436
+#: models_finds.py:1085 models_treatments.py:129 models_treatments.py:292
+#: templates/ishtar/sheet_find.html:91 templates/ishtar/sheet_find.html:133
msgid "Start date"
msgstr "Date de début"
-#: forms.py:301 models_finds.py:1074 models_treatments.py:291
-#: templates/ishtar/sheet_find.html:104 templates/ishtar/sheet_find.html:146
+#: forms.py:304 models_finds.py:1086 models_treatments.py:293
+#: templates/ishtar/sheet_find.html:92 templates/ishtar/sheet_find.html:134
msgid "End date"
msgstr "Date de fin"
-#: forms.py:302
+#: forms.py:305
msgid "Quality"
msgstr "Qualité"
-#: forms.py:304
+#: forms.py:307
msgid "Dating type"
msgstr "Type de datation"
-#: forms.py:306
+#: forms.py:309
msgid "Precise dating"
msgstr "Datation précise"
-#: forms.py:328 models_finds.py:188
+#: forms.py:331 models_finds.py:188
msgid "Short ID"
msgstr "ID court"
-#: forms.py:329 models_finds.py:191
+#: forms.py:332 models_finds.py:191
msgid "Complete ID"
msgstr "ID complet"
-#: forms.py:333 forms_treatments.py:54 forms_treatments.py:96
+#: forms.py:336 forms_treatments.py:54 forms_treatments.py:96
#: forms_treatments.py:284 forms_treatments.py:356 forms_treatments.py:406
-#: forms_treatments.py:489 models_treatments.py:100 models_treatments.py:464
+#: forms_treatments.py:489 models_treatments.py:102 models_treatments.py:466
msgid "Year"
msgstr "Année"
-#: forms.py:335
+#: forms.py:338
msgid "Operation's number (index by year)"
msgstr "Numéro de l'opération (index par année)"
-#: forms.py:338
+#: forms.py:341
msgid "Code PATRIARCHE"
msgstr "Code PATRIARCHE"
-#: forms.py:342
+#: forms.py:345
msgid "Archaeological site"
msgstr "Entité archéologique"
-#: forms.py:348
+#: forms.py:351
msgid "Search within related operations"
msgstr "Rechercher parmi les opérations liées"
-#: forms.py:353 models_finds.py:112
+#: forms.py:355 models_finds.py:112
msgid "Object type"
msgstr "Type d'objet"
-#: forms.py:366 forms_treatments.py:57
+#: forms.py:368 forms_treatments.py:57
msgid "Has an image?"
msgstr "Dispose d'une image ?"
-#: forms.py:414 forms.py:427 views.py:130
+#: forms.py:417
+msgid "Warehouse (location)"
+msgstr "Dépôt (lieu)"
+
+#: forms.py:423
+msgid "Warehouse (responsible)"
+msgstr "Dépôt (responsable)"
+
+#: forms.py:428
+msgid "Container ID"
+msgstr "Identifiant du contenant"
+
+#: forms.py:429
+msgid "Container ref."
+msgstr "Réf. contenant"
+
+#: forms.py:433 forms.py:456 views.py:149
msgid "Find search"
msgstr "Rechercher un mobilier"
-#: forms.py:441 templates/ishtar/sheet_treatment.html:46
+#: forms.py:481 templates/ishtar/sheet_treatment.html:46
msgid "Upstream finds"
msgstr "Mobilier amont"
-#: forms.py:443 models_finds.py:657
+#: forms.py:483 models_finds.py:669
msgid "Finds"
msgstr "Mobilier"
-#: forms.py:453
+#: forms.py:495
msgid "You should at least select one archaeological find."
msgstr "Vous devez sélectionner au moins un mobilier archéologique."
-#: forms.py:556
+#: forms.py:598
msgid "Resulting find"
msgstr "Mobilier résultant"
-#: forms.py:561
+#: forms.py:603
msgid "Precise description"
msgstr "Description précise"
-#: forms.py:576
+#: forms.py:618
msgid "Resulting finds"
msgstr "Mobiliers résultants"
-#: forms.py:581
+#: forms.py:623
msgid "Would you like to delete this find?"
msgstr "Voulez-vous supprimer ce mobilier ?"
-#: forms.py:585 models_treatments.py:90
+#: forms.py:627 models_treatments.py:90
msgid "Upstream find"
msgstr "Mobilier amont"
-#: forms.py:598
+#: forms.py:640
msgid "Archaeological find search"
msgstr "Rechercher un mobilier"
-#: forms.py:600
+#: forms.py:642
msgid "You should select an archaeological find."
msgstr "Vous devez sélectionner du mobilier."
-#: forms.py:605
+#: forms.py:647
msgid "Year of the operation"
msgstr "Année de l'opération"
-#: forms.py:607
+#: forms.py:649
msgid "Numeric reference"
msgstr "Référence numérique"
-#: forms.py:614
+#: forms.py:656
msgid "Period of the archaeological find"
msgstr "Période du mobilier"
-#: forms.py:616
+#: forms.py:658
msgid "Material type of the archaeological find"
msgstr "Type de matériau du mobilier"
-#: forms.py:618
+#: forms.py:660
msgid "Description of the archaeological find"
msgstr "Description du mobilier"
-#: forms.py:630 forms_treatments.py:590 forms_treatments.py:616
+#: forms.py:672 forms_treatments.py:590 forms_treatments.py:616
msgid "Documentation search"
msgstr "Rechercher une documentation"
-#: forms.py:632 forms_treatments.py:592 forms_treatments.py:618
+#: forms.py:674 forms_treatments.py:592 forms_treatments.py:618
msgid "You should select a document."
msgstr "Vous devez sélectionner un document."
-#: forms.py:649
+#: forms.py:691
msgid "Another basket already exists with this name."
msgstr "Un autre panier existant utilise déjà ce nom."
-#: forms.py:659 forms.py:663 forms_treatments.py:175 ishtar_menu.py:57
+#: forms.py:701 forms.py:705 forms_treatments.py:175 ishtar_menu.py:57
msgid "Basket"
msgstr "Panier"
-#: forms_treatments.py:52 forms_treatments.py:92 models_treatments.py:96
-#: templates/ishtar/sheet_find.html:97 templates/ishtar/sheet_find.html:139
+#: forms_treatments.py:52 forms_treatments.py:92 models_treatments.py:98
+#: templates/ishtar/sheet_find.html:85 templates/ishtar/sheet_find.html:127
msgid "Label"
msgstr "Intitulé"
-#: forms_treatments.py:53 forms_treatments.py:95 models_treatments.py:98
+#: forms_treatments.py:53 forms_treatments.py:95 models_treatments.py:100
msgid "Other ref."
msgstr "Autre réf."
#: forms_treatments.py:55 forms_treatments.py:237 forms_treatments.py:285
#: forms_treatments.py:348 forms_treatments.py:357 forms_treatments.py:459
-#: forms_treatments.py:490 forms_treatments.py:557 models_treatments.py:102
-#: models_treatments.py:466
+#: forms_treatments.py:490 forms_treatments.py:557 models_treatments.py:104
+#: models_treatments.py:468
msgid "Index"
msgstr "Index"
#: forms_treatments.py:56 forms_treatments.py:101 forms_treatments.py:301
-#: forms_treatments.py:578 models_treatments.py:56 models_treatments.py:107
-#: models_treatments.py:289
+#: forms_treatments.py:578 models_treatments.py:56 models_treatments.py:109
+#: models_treatments.py:291
msgid "Treatment type"
msgstr "Type de traitement"
-#: forms_treatments.py:68 forms_treatments.py:560 views.py:360
+#: forms_treatments.py:68 forms_treatments.py:560 views.py:398
msgid "Treatment search"
msgstr "Rechercher un traitement"
@@ -380,8 +398,8 @@ msgstr "Rechercher un traitement"
msgid "Base treatment"
msgstr "Traitement de base"
-#: forms_treatments.py:103 models_treatments.py:109
-#: templates/ishtar/sheet_find.html:99 templates/ishtar/sheet_find.html:141
+#: forms_treatments.py:103 models_treatments.py:92 models_treatments.py:111
+#: templates/ishtar/sheet_find.html:87 templates/ishtar/sheet_find.html:129
msgid "State"
msgstr "État"
@@ -389,15 +407,15 @@ msgstr "État"
msgid "Target"
msgstr "Destination"
-#: forms_treatments.py:107 forms_treatments.py:417 models_treatments.py:117
+#: forms_treatments.py:107 forms_treatments.py:417 models_treatments.py:119
msgid "Responsible"
msgstr "Responsable"
-#: forms_treatments.py:113 models_treatments.py:120
+#: forms_treatments.py:113 models_treatments.py:122
msgid "Organization"
msgstr "Organisation"
-#: forms_treatments.py:119 models_treatments.py:112 models_treatments.py:292
+#: forms_treatments.py:119 models_treatments.py:114 models_treatments.py:294
msgid "Location"
msgstr "Lieu"
@@ -409,12 +427,12 @@ msgstr "Contenant (pertinent dans le cadre du conditionnement)"
msgid "External ref."
msgstr "Réf. externe"
-#: forms_treatments.py:136 models_treatments.py:126
+#: forms_treatments.py:136 models_treatments.py:128
msgid "Goal"
msgstr "But"
-#: forms_treatments.py:140 forms_treatments.py:442 models_treatments.py:128
-#: models_treatments.py:486
+#: forms_treatments.py:140 forms_treatments.py:442 models_treatments.py:130
+#: models_treatments.py:488
msgid "Closing date"
msgstr "Date de clôture"
@@ -463,13 +481,13 @@ msgstr "Un responsable ou une organisation doit être défini."
msgid "Another treatment with this index exists for {}."
msgstr "Un autre traitement avec cet index existe pour {}."
-#: forms_treatments.py:262 models_treatments.py:105
+#: forms_treatments.py:262 models_treatments.py:107
msgid "Associated request"
msgstr "Demande associée"
#: forms_treatments.py:266 forms_treatments.py:397 ishtar_menu.py:108
-#: models_treatments.py:497 models_treatments.py:519 models_treatments.py:581
-#: wizards.py:183 templates/ishtar/sheet_treatmentfile.html:5
+#: models_treatments.py:499 models_treatments.py:521 models_treatments.py:584
+#: wizards.py:187 templates/ishtar/sheet_treatmentfile.html:5
msgid "Treatment request"
msgstr "Demande de traitement"
@@ -527,7 +545,7 @@ msgstr "Référence interne du traitement"
msgid "Modified by"
msgstr "Modifié par"
-#: forms_treatments.py:354 forms_treatments.py:404 models_treatments.py:471
+#: forms_treatments.py:354 forms_treatments.py:404 models_treatments.py:473
msgid "Name"
msgstr "Nom"
@@ -535,9 +553,9 @@ msgstr "Nom"
msgid "Internal ref."
msgstr "Réf. interne"
-#: forms_treatments.py:358 forms_treatments.py:415
-#: templates/ishtar/sheet_find.html:98 templates/ishtar/sheet_find.html:140
-#: templates/ishtar/sheet_find.html:232
+#: forms_treatments.py:358 forms_treatments.py:415 models_treatments.py:91
+#: templates/ishtar/sheet_find.html:86 templates/ishtar/sheet_find.html:128
+#: templates/ishtar/sheet_find.html:228
msgid "Type"
msgstr "Type"
@@ -545,21 +563,21 @@ msgstr "Type"
msgid "In charge"
msgstr "Responsable"
-#: forms_treatments.py:366 forms_treatments.py:423 models_treatments.py:480
+#: forms_treatments.py:366 forms_treatments.py:423 models_treatments.py:482
#: templates/ishtar/sheet_treatmentfile.html:31
msgid "Applicant"
msgstr "Demandeur"
-#: forms_treatments.py:372 forms_treatments.py:429 models_treatments.py:484
+#: forms_treatments.py:372 forms_treatments.py:429 models_treatments.py:486
#: templates/ishtar/sheet_treatmentfile.html:38
msgid "Applicant organisation"
msgstr "Organisation du demandeur"
-#: forms_treatments.py:385 forms_treatments.py:565 views.py:464
+#: forms_treatments.py:385 forms_treatments.py:565 views.py:502
msgid "Treatment request search"
msgstr "Rechercher une demande de traitement"
-#: forms_treatments.py:439 models_treatments.py:490
+#: forms_treatments.py:439 models_treatments.py:492
msgid "Reception date"
msgstr "Date de réception"
@@ -591,8 +609,8 @@ msgstr "Index de la demande de traitement"
msgid "Treatment request internal reference"
msgstr "Référence interne de la demande de traitement"
-#: forms_treatments.py:508 forms_treatments.py:604 models_treatments.py:449
-#: models_treatments.py:473
+#: forms_treatments.py:508 forms_treatments.py:604 models_treatments.py:451
+#: models_treatments.py:475
msgid "Treatment request type"
msgstr "Type de demande de traitement"
@@ -634,12 +652,12 @@ msgstr "Gestion des éléments"
msgid "Documentation"
msgstr "Documentation"
-#: ishtar_menu.py:133 ishtar_menu.py:214 models_finds.py:1070
+#: ishtar_menu.py:133 ishtar_menu.py:214 models_finds.py:1082
msgid "Administrative act"
msgstr "Acte administratif"
-#: ishtar_menu.py:151 ishtar_menu.py:233 templates/ishtar/sheet_find.html:227
-#: templates/ishtar/sheet_find.html:229
+#: ishtar_menu.py:151 ishtar_menu.py:233 templates/ishtar/sheet_find.html:222
+#: templates/ishtar/sheet_find.html:224
msgid "Documents"
msgstr "Documents"
@@ -647,8 +665,9 @@ msgstr "Documents"
msgid "Source"
msgstr "Documentation"
-#: ishtar_menu.py:185 models_treatments.py:145 models_treatments.py:281
-#: models_treatments.py:565 templates/ishtar/sheet_treatment.html:5
+#: ishtar_menu.py:185 models_treatments.py:147 models_treatments.py:283
+#: models_treatments.py:567 models_treatments.py:570
+#: templates/ishtar/sheet_treatment.html:5
msgid "Treatment"
msgstr "Traitement"
@@ -668,7 +687,7 @@ msgstr "Recommandation"
msgid "Parent material"
msgstr "Matériau parent"
-#: models_finds.py:52 models_finds.py:507 models_finds.py:590
+#: models_finds.py:52 models_finds.py:525 models_finds.py:602
msgid "Material types"
msgstr "Types de matériau"
@@ -700,8 +719,8 @@ msgstr "Type de remarquabilité"
msgid "Remarkability types"
msgstr "Types de remarquabilité"
-#: models_finds.py:98 models_finds.py:586 models_treatments.py:40
-#: models_treatments.py:285
+#: models_finds.py:98 models_finds.py:598 models_treatments.py:40
+#: models_treatments.py:287
msgid "Order"
msgstr "Ordre"
@@ -717,12 +736,12 @@ msgstr "Types de lot"
msgid "Parent"
msgstr "Parent"
-#: models_finds.py:152 models_finds.py:583 models_treatments.py:122
-#: models_treatments.py:469
+#: models_finds.py:152 models_finds.py:595 models_treatments.py:124
+#: models_treatments.py:471
msgid "External ID"
msgstr "ID externe"
-#: models_finds.py:154 models_finds.py:585
+#: models_finds.py:154 models_finds.py:597
msgid "External ID is set automatically"
msgstr "L'identifiant externe est configuré automatiquement"
@@ -762,7 +781,7 @@ msgstr "Polygon"
msgid "Cached value - do not edit"
msgstr "Valeur en cache - ne pas éditer"
-#: models_finds.py:197 models_finds.py:581
+#: models_finds.py:197 models_finds.py:593
msgid "Base find"
msgstr "Mobilier de base"
@@ -810,109 +829,129 @@ msgstr "Vérifié mais incorrect"
msgid "Checked and correct"
msgstr "Vérifié et correct"
-#: models_finds.py:505
-msgid "Periods"
-msgstr "Périodes"
-
-#: models_finds.py:506 models_finds.py:614 models_treatments.py:129
-#: models_treatments.py:293 templates/ishtar/sheet_find.html:102
-#: templates/ishtar/sheet_find.html:144
-msgid "Container"
-msgstr "Contenant"
-
-#: models_finds.py:517
+#: models_finds.py:506
msgid "Base find - Short ID"
msgstr "Mobilier de base - ID court"
-#: models_finds.py:518
+#: models_finds.py:507
msgid "Base find - Complete ID"
msgstr "Mobilier de base - ID complet"
-#: models_finds.py:519
+#: models_finds.py:509
+msgid "Operation (code)"
+msgstr "Opération (code)"
+
+#: models_finds.py:511
+msgid "Town"
+msgstr "Ville"
+
+#: models_finds.py:513
+msgid "Operation (name)"
+msgstr "Opération (nom)"
+
+#: models_finds.py:515
+msgid "Parcel"
+msgstr "Parcelle"
+
+#: models_finds.py:516
+msgid "Batch"
+msgstr "Lot"
+
+#: models_finds.py:517
msgid "Base find - Comment"
msgstr "Mobilier de base - Commentaires"
-#: models_finds.py:520
+#: models_finds.py:518
msgid "Base find - Description"
msgstr "Mobilier de base - Description"
-#: models_finds.py:521
+#: models_finds.py:519
msgid "Base find - Topographic localisation"
msgstr "Mobilier de base - Localisation topographique"
-#: models_finds.py:523
+#: models_finds.py:521
msgid "Base find - Special interest"
msgstr "Mobilier de base - Intérêt spécifique"
-#: models_finds.py:524
+#: models_finds.py:522
msgid "Base find - Discovery date"
msgstr "Mobilier de base - Date de découverte"
-#: models_finds.py:597
+#: models_finds.py:523 models_finds.py:626 models_treatments.py:131
+#: models_treatments.py:295 templates/ishtar/sheet_find.html:90
+#: templates/ishtar/sheet_find.html:132
+msgid "Container"
+msgstr "Contenant"
+
+#: models_finds.py:524
+msgid "Periods"
+msgstr "Périodes"
+
+#: models_finds.py:609
msgid "Type of preservation to consider"
msgstr "Mesures de conservation à envisager"
-#: models_finds.py:601
+#: models_finds.py:613
msgid "Weight unit"
msgstr "Unité de poids"
-#: models_finds.py:607 templates/ishtar/sheet_find.html:90
+#: models_finds.py:619 templates/ishtar/sheet_find.html:78
msgid "Upstream treatment"
msgstr "Traitement amont"
-#: models_finds.py:610 templates/ishtar/sheet_find.html:132
+#: models_finds.py:622 templates/ishtar/sheet_find.html:120
msgid "Downstream treatment"
msgstr "Traitement aval"
-#: models_finds.py:648
+#: models_finds.py:660
msgid "Collection"
msgstr "Collection"
-#: models_finds.py:650 models_treatments.py:141 models_treatments.py:493
+#: models_finds.py:662 models_treatments.py:143 models_treatments.py:495
msgid "Cached name"
msgstr "Nom en cache"
-#: models_finds.py:659
+#: models_finds.py:671
msgid "Can view all Finds"
msgstr "Peut voir tout le Mobilier"
-#: models_finds.py:660
+#: models_finds.py:672
msgid "Can view own Find"
msgstr "Peut voir son propre Mobilier"
-#: models_finds.py:661
+#: models_finds.py:673
msgid "Can add own Find"
msgstr "Peut ajouter son propre Mobilier"
-#: models_finds.py:662
+#: models_finds.py:674
msgid "Can change own Find"
msgstr "Peut modifier son propre Mobilier"
-#: models_finds.py:663
+#: models_finds.py:675
msgid "Can delete own Find"
msgstr "Peut supprimer son propre Mobilier"
-#: models_finds.py:669
+#: models_finds.py:681
msgid "FIND"
msgstr "MOBILIER"
-#: models_finds.py:1057
+#: models_finds.py:1069
msgid "Find documentation"
msgstr "Documentation de mobilier"
-#: models_finds.py:1058
+#: models_finds.py:1070
msgid "Find documentations"
msgstr "Documentations de mobilier"
-#: models_finds.py:1071
+#: models_finds.py:1083
msgid "Person"
msgstr "Individu"
-#: models_finds.py:1077
+#: models_finds.py:1089
msgid "Property"
msgstr "Propriété"
-#: models_finds.py:1078
+#: models_finds.py:1090
msgid "Properties"
msgstr "Propriétés"
@@ -960,315 +999,319 @@ msgstr "Types d'état de traitement"
msgid "Downstream find"
msgstr "Mobilier aval"
-#: models_treatments.py:114
+#: models_treatments.py:116
msgid "Location where the treatment is done. Target warehouse for a move."
msgstr ""
"Endroit où le traitement est réalisé. Renseignez le dépôt de destination "
"pour un déplacement."
-#: models_treatments.py:131
+#: models_treatments.py:133
msgid "Estimated cost"
msgstr "Coût estimé"
-#: models_treatments.py:133
+#: models_treatments.py:135
msgid "Quoted cost"
msgstr "Coût devisé"
-#: models_treatments.py:135
+#: models_treatments.py:137
msgid "Realized cost"
msgstr "Coût réalisé"
-#: models_treatments.py:137
+#: models_treatments.py:139
msgid "Insurance cost"
msgstr "Coût d'assurance"
-#: models_treatments.py:139
+#: models_treatments.py:141
msgid "Target a basket"
msgstr "Appliquer à un panier"
-#: models_treatments.py:146 templates/ishtar/sheet_find.html:87
-#: templates/ishtar/sheet_treatmentfile.html:45
+#: models_treatments.py:148 templates/ishtar/sheet_find.html:75
+#: templates/ishtar/sheet_treatmentfile.html:46
msgid "Treatments"
msgstr "Traitements"
-#: models_treatments.py:149
+#: models_treatments.py:151
msgid "Can view all Treatments"
msgstr "Peut voir tous les Traitements"
-#: models_treatments.py:150
+#: models_treatments.py:152
msgid "Can view own Treatment"
msgstr "Peut voir son propre Traitement"
-#: models_treatments.py:151
+#: models_treatments.py:153
msgid "Can add own Treatment"
msgstr "Peut ajouter son propre Traitement"
-#: models_treatments.py:152
+#: models_treatments.py:154
msgid "Can change own Treatment"
msgstr "Peut modifier son propre Traitement"
-#: models_treatments.py:153
+#: models_treatments.py:155
msgid "Can delete own Treatment"
msgstr "Peut supprimer son propre Traitement"
-#: models_treatments.py:165
+#: models_treatments.py:167
msgid "TREATMENT"
msgstr "TRAITEMENT"
-#: models_treatments.py:294 templates/ishtar/sheet_find.html:101
-#: templates/ishtar/sheet_find.html:143
+#: models_treatments.py:296 templates/ishtar/sheet_find.html:89
+#: templates/ishtar/sheet_find.html:131
msgid "Doer"
msgstr "Opérateur"
-#: models_treatments.py:295 models_treatments.py:296
+#: models_treatments.py:297 models_treatments.py:298
msgid "Related finds"
msgstr "Mobilier associé"
-#: models_treatments.py:438
+#: models_treatments.py:440
msgid "Is upstream"
msgstr "Est en amont"
-#: models_treatments.py:450
+#: models_treatments.py:452
msgid "Treatment request types"
msgstr "Types de demande de traitement"
-#: models_treatments.py:467
+#: models_treatments.py:469
msgid "Internal reference"
msgstr "Référence interne"
-#: models_treatments.py:476
+#: models_treatments.py:478
msgid "Person in charge"
msgstr "Personne responsable"
-#: models_treatments.py:488
+#: models_treatments.py:490
msgid "Creation date"
msgstr "Date de création"
-#: models_treatments.py:498
+#: models_treatments.py:500
msgid "Treatment requests"
msgstr "Demandes de traitement"
-#: models_treatments.py:502
+#: models_treatments.py:504
msgid "Can view all Treatment requests"
msgstr "Peut voir toutes les Demandes de traitement"
-#: models_treatments.py:504
+#: models_treatments.py:506
msgid "Can view own Treatment request"
msgstr "Peut voir sa propre Demande de traitement"
-#: models_treatments.py:506
+#: models_treatments.py:508
msgid "Can add own Treatment request"
msgstr "Peut ajouter sa propre Demande de traitement"
-#: models_treatments.py:508
+#: models_treatments.py:510
msgid "Can change own Treatment request"
msgstr "Peut modifier sa propre Demande de traitement"
-#: models_treatments.py:510
+#: models_treatments.py:512
msgid "Can delete own Treatment request"
msgstr "Peut supprimer sa propre Demande de traitement"
-#: models_treatments.py:571
+#: models_treatments.py:574
msgid "Treatment documentation"
msgstr "Documentation de traitement"
-#: models_treatments.py:572
+#: models_treatments.py:575
msgid "Treament documentations"
msgstr "Documentations de traitement"
#: models_treatments.py:588
+msgid "Treatment file"
+msgstr "Dossier de traitement"
+
+#: models_treatments.py:592
msgid "Treatment request documentation"
msgstr "Documentation de demande de traitement"
-#: models_treatments.py:589
+#: models_treatments.py:593
msgid "Treatment request documentations"
msgstr "Documentations de demande de traitement"
-#: views.py:125
+#: views.py:138
msgid "New find"
msgstr "Ajouter un mobilier"
-#: views.py:139
+#: views.py:167
msgid "Find modification"
msgstr "Modifier un mobilier"
-#: views.py:154
+#: views.py:189
msgid "Find deletion"
msgstr "Supprimer un mobilier"
-#: views.py:159
+#: views.py:194
msgid "Find: source search"
msgstr "Mobilier : rechercher une documentation associée"
-#: views.py:167
+#: views.py:202
msgid "Find: new source"
msgstr "Mobilier : ajouter une documentation associée"
-#: views.py:175
+#: views.py:210
msgid "Find: source modification"
msgstr "Mobilier : modifier une documentation associée"
-#: views.py:190
+#: views.py:225
msgid "Find: source deletion"
msgstr "Mobilier : supprimer un mobilier associé"
-#: views.py:204
+#: views.py:239
msgid "New basket"
msgstr "Ajouter un panier"
-#: views.py:223
+#: views.py:258
msgid "Manage items in basket"
msgstr "Gérer les éléments dans un panier"
-#: views.py:243
+#: views.py:278
msgid "Manage basket"
msgstr "Gérer un panier"
-#: views.py:331
+#: views.py:369
msgid "Delete basket"
msgstr "Supprimer un panier"
-#: views.py:381
+#: views.py:419
msgid "New treatment"
msgstr "Ajouter un traitement"
-#: views.py:389 views.py:481
+#: views.py:427 views.py:519
msgid "Modify"
msgstr "Modifier"
-#: views.py:406
+#: views.py:444
msgid "Treatment deletion"
msgstr "Supprimer un traitement"
-#: views.py:413
+#: views.py:451
msgid "Treatment: search administrative act"
msgstr "Traitement : rechercher un acte administratif"
-#: views.py:422
+#: views.py:460
msgid "Treatment: new administrative act"
msgstr "Traitement : ajouter un acte administratif"
-#: views.py:432
+#: views.py:470
msgid "Treatment: administrative act modification"
msgstr "Traitement : modifier un acte administratif"
-#: views.py:441
+#: views.py:479
msgid "Treatment: administrative act deletion"
msgstr "Traitement : supprimer un acte administratif"
-#: views.py:474
+#: views.py:512
msgid "New treatment request"
msgstr "Ajouter une demande de traitement"
-#: views.py:497
+#: views.py:535
msgid "Treatment request deletion"
msgstr "Supprimer une demande de traitement"
-#: views.py:504
+#: views.py:542
msgid "Treatment request: search administrative act"
msgstr "Demande de traitement : rechercher un acte administratif"
-#: views.py:514
+#: views.py:552
msgid "Treatment request: new administrative act"
msgstr "Demande de traitement : ajouter un acte administratif"
-#: views.py:524
+#: views.py:562
msgid "Treatment request: administrative act modification"
msgstr "Demande de traitement : modifier un acte administratif"
-#: views.py:533
+#: views.py:571
msgid "Treatment request: administrative act deletion"
msgstr "Demande de traitement : supprimer un acte administratif"
-#: views.py:559
+#: views.py:597
msgid "Treatment: source search"
msgstr "Traitement : rechercher une documentation associée"
-#: views.py:574
+#: views.py:612
msgid "Treatment: source modification"
msgstr "Traitement : modifier une documentation associée"
-#: views.py:589
+#: views.py:627
msgid "Treatment: source deletion"
msgstr "Traitement : supprimer une documentation associée"
-#: views.py:602
+#: views.py:640
msgid "Treatment request: source search"
msgstr "Demande de traitement : rechercher une documentation associée"
-#: views.py:618
+#: views.py:656
msgid "Treatment request: source modification"
msgstr "Demande de traitement : modifier une documentation associée"
-#: views.py:636
+#: views.py:674
msgid "Treatment request: source deletion"
msgstr "Demande de traitement : supprimer une documentation associée"
-#: wizards.py:63 wizards.py:195
+#: wizards.py:63 wizards.py:199
msgid "Operation"
msgstr "Opération"
-#: templates/ishtar/sheet_find.html:24
-msgid "Creation:"
-msgstr "Création :"
-
-#: templates/ishtar/sheet_find.html:31
-msgid "Modification:"
-msgstr "Modification :"
+#: templates/ishtar/sheet_find.html:25
+msgid "Administrative index"
+msgstr "Index administratif"
-#: templates/ishtar/sheet_find.html:79
+#: templates/ishtar/sheet_find.html:67
msgid "Warehouse"
msgstr "Dépôt"
-#: templates/ishtar/sheet_find.html:96 templates/ishtar/sheet_find.html:138
+#: templates/ishtar/sheet_find.html:84 templates/ishtar/sheet_find.html:126
msgid "Year - index"
msgstr "Année - index"
-#: templates/ishtar/sheet_find.html:100 templates/ishtar/sheet_find.html:142
+#: templates/ishtar/sheet_find.html:88 templates/ishtar/sheet_find.html:130
msgid "Related finds (max. 15 displayed)"
msgstr "Mobilier associé (max. 15 affichés)"
-#: templates/ishtar/sheet_find.html:128
+#: templates/ishtar/sheet_find.html:116
msgid "Export as CSV"
msgstr "Export en CSV"
-#: templates/ishtar/sheet_find.html:128 templates/ishtar/sheet_find.html:171
+#: templates/ishtar/sheet_find.html:116 templates/ishtar/sheet_find.html:159
msgid "CSV"
msgstr "CSV"
-#: templates/ishtar/sheet_find.html:176
+#: templates/ishtar/sheet_find.html:164
msgid "Associated base finds"
msgstr "Mobilier de base associé"
-#: templates/ishtar/sheet_find.html:208
+#: templates/ishtar/sheet_find.html:171
+msgid "Internal ID"
+msgstr "ID interne"
+
+#: templates/ishtar/sheet_find.html:203
msgid "Coordinates:"
msgstr "Cordonnées :"
-#: templates/ishtar/sheet_find.html:210
+#: templates/ishtar/sheet_find.html:205
msgid "X:"
msgstr "X :"
-#: templates/ishtar/sheet_find.html:211
+#: templates/ishtar/sheet_find.html:206
msgid "Y:"
msgstr "Y :"
-#: templates/ishtar/sheet_find.html:212
+#: templates/ishtar/sheet_find.html:207
msgid "Z:"
msgstr "Z :"
-#: templates/ishtar/sheet_find.html:215
+#: templates/ishtar/sheet_find.html:210
msgid "SRID:"
msgstr "SRID :"
-#: templates/ishtar/sheet_find.html:231
+#: templates/ishtar/sheet_find.html:227
msgid "Title"
msgstr "Titre"
-#: templates/ishtar/sheet_find.html:233
+#: templates/ishtar/sheet_find.html:229
msgid "Authors"
msgstr "Auteurs"
-#: templates/ishtar/sheet_find.html:234
+#: templates/ishtar/sheet_find.html:230
msgid "Link"
msgstr "Lien"
@@ -1280,6 +1323,10 @@ msgstr "Panier de mobilier"
msgid "Find source"
msgstr "Documentation associée au mobilier"
+#: templates/ishtar/sheet_findsource.html:11
+msgid "Related find"
+msgstr "Mobilier associé"
+
#: templates/ishtar/sheet_treatment.html:20
msgctxt "Treatment"
msgid "Closed"
@@ -1298,6 +1345,16 @@ msgstr "Mobilier aval"
msgid "Related operations"
msgstr "Opérations associées"
+#: templates/ishtar/sheet_treatment.html:60
+#: templates/ishtar/sheet_treatmentfile.html:51
+msgid "Associated documents"
+msgstr "Documents associés"
+
+#: templates/ishtar/sheet_treatment.html:65
+#: templates/ishtar/sheet_treatmentfile.html:56
+msgid "Administrative acts"
+msgstr "Actes administratifs"
+
#: templates/ishtar/sheet_treatmentfile.html:16
msgctxt "Treatment request"
msgid "Closed"
@@ -1312,6 +1369,14 @@ msgstr "Active"
msgid "Treatment request source"
msgstr "Documentation de demande de traitement"
+#: templates/ishtar/sheet_treatmentfilesource.html:11
+msgid "Related treatment request"
+msgstr "Demande de traitement associée"
+
#: templates/ishtar/sheet_treatmentsource.html:4
msgid "Treatment source"
msgstr "Documentation de traitement"
+
+#: templates/ishtar/sheet_treatmentsource.html:11
+msgid "Related treatment"
+msgstr "Traitement associé"
diff --git a/translations/fr/archaeological_operations.po b/translations/fr/archaeological_operations.po
index 966e83092..af55782dc 100644
--- a/translations/fr/archaeological_operations.po
+++ b/translations/fr/archaeological_operations.po
@@ -6,25 +6,26 @@
# Valérie-Emma Leroux <emma@iggdrasil.net>, 2016. #zanata
# Étienne Loks <etienne.loks@iggdrasil.net>, 2016. #zanata
# Valérie-Emma Leroux <emma@iggdrasil.net>, 2017. #zanata
+# Étienne Loks <etienne.loks@iggdrasil.net>, 2017. #zanata
msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"PO-Revision-Date: 2017-03-09 05:01-0500\n"
-"Last-Translator: Valérie-Emma Leroux <emma@iggdrasil.net>\n"
+"PO-Revision-Date: 2017-03-16 05:04-0400\n"
+"Last-Translator: Étienne Loks <etienne.loks@iggdrasil.net>\n"
"Language-Team: \n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
-#: forms.py:69 forms.py:371 forms.py:1009 forms.py:1031 forms.py:1035
-#: models.py:1221 templates/ishtar/sheet_operation.html:156
+#: forms.py:69 forms.py:371 forms.py:1013 forms.py:1035 forms.py:1039
+#: models.py:1247 templates/ishtar/sheet_operation.html:151
#: templates/ishtar/blocks/window_tables/parcels.html:10
msgid "Parcels"
msgstr "Parcelles"
-#: forms.py:72 forms.py:205 forms.py:985 models.py:1207
+#: forms.py:72 forms.py:205 forms.py:989 models.py:1233
#: templates/ishtar/blocks/window_tables/parcels.html:7
#: templates/ishtar/dashboards/dashboard_operation.html:432
#: templates/ishtar/dashboards/dashboard_operation.html:446
@@ -33,22 +34,22 @@ msgstr "Parcelles"
msgid "Town"
msgstr "Commune"
-#: forms.py:74 forms.py:455 forms.py:752 forms.py:1255 models.py:272
-#: models.py:1013 models.py:1205
+#: forms.py:74 forms.py:455 forms.py:756 forms.py:1259 models.py:272
+#: models.py:1039 models.py:1231
#: templates/ishtar/blocks/window_tables/parcels.html:8
msgid "Year"
msgstr "Année"
-#: forms.py:77 models.py:1208
+#: forms.py:77 models.py:1234
#: templates/ishtar/blocks/window_tables/parcels.html:9
msgid "Section"
msgstr "Section"
-#: forms.py:80 models.py:1210
+#: forms.py:80 models.py:1236
msgid "Parcel number"
msgstr "Numéro de parcelle"
-#: forms.py:82 models.py:1212 models.py:1229 models.py:1278
+#: forms.py:82 models.py:1238 models.py:1255 models.py:1304
msgid "Public domain"
msgstr "Domaine public"
@@ -84,8 +85,8 @@ msgstr "Il y a des parcelles identiques."
msgid "Relation type"
msgstr "Type de relation"
-#: forms.py:383 ishtar_menu.py:30 models.py:367 models.py:834 models.py:864
-#: models.py:892 models.py:995 models.py:1204 wizards.py:344 wizards.py:355
+#: forms.py:383 ishtar_menu.py:30 models.py:368 models.py:849 models.py:884
+#: models.py:917 models.py:1021 models.py:1230 wizards.py:344 wizards.py:355
#: templates/ishtar/sheet_operation.html:4
msgid "Operation"
msgstr "Opération"
@@ -94,7 +95,7 @@ msgstr "Opération"
msgid ":"
msgstr ": "
-#: forms.py:411 forms.py:605 forms.py:1220
+#: forms.py:411 forms.py:607 forms.py:1224
msgid "You should select an operation."
msgstr "Vous devez sélectionner une opération."
@@ -110,19 +111,19 @@ msgstr "Relations actuelles"
msgid "Deleted relations"
msgstr "Relations supprimées"
-#: forms.py:451 templates/ishtar/sheet_operation.html:95
+#: forms.py:451 templates/ishtar/sheet_operation.html:85
msgid "Relations"
msgstr "Relations"
-#: forms.py:456 forms.py:1226 models.py:273
+#: forms.py:456 forms.py:1230 models.py:273
msgid "Numeric reference"
msgstr "Identifiant numérique"
-#: forms.py:462 forms.py:1266
+#: forms.py:462 forms.py:1270
msgid "Parcel (section/number/public domain)"
msgstr "Parcelle (section/numéro/domaine public)"
-#: forms.py:465 forms.py:1269 models.py:835
+#: forms.py:465 forms.py:1273 models.py:850
#: templates/ishtar/dashboards/dashboard_operation.html:390
#: templates/ishtar/dashboards/dashboard_operation.html:411
#: templates/ishtar/dashboards/dashboard_operation.html:643
@@ -131,248 +132,253 @@ msgstr "Parcelle (section/numéro/domaine public)"
msgid "Department"
msgstr "Département"
-#: forms.py:466 forms.py:1097 models.py:86
+#: forms.py:466 forms.py:1101 models.py:86
+#: templates/ishtar/sheet_operation.html:22
#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:8
msgid "Name"
msgstr "Nom"
-#: forms.py:468 forms.py:672 forms.py:750 forms.py:1232 models.py:280
+#: forms.py:468 forms.py:752 models.py:334
+msgid "Address / Locality"
+msgstr "Adresse / Lieu-dit"
+
+#: forms.py:470 forms.py:674 forms.py:754 forms.py:1236 models.py:280
msgid "Operation type"
msgstr "Type d'opération"
-#: forms.py:470
+#: forms.py:472
msgid "Is open?"
msgstr "Est ouvert ?"
-#: forms.py:478 forms.py:782 models.py:269
+#: forms.py:480 forms.py:786 models.py:269
msgid "In charge"
msgstr "Responsable du suivi scientifique"
-#: forms.py:485 models.py:989
+#: forms.py:487 models.py:1015
msgid "Scientist in charge"
msgstr "Responsable scientifique"
-#: forms.py:487 forms.py:674 forms.py:772 models.py:267
+#: forms.py:489 forms.py:676 forms.py:776 models.py:267
msgid "Operator"
msgstr "Opérateur"
-#: forms.py:496 forms.py:1102 models.py:90 models.py:282
+#: forms.py:498 forms.py:1106 models.py:90 models.py:282
#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:10
msgid "Remains"
msgstr "Vestiges"
-#: forms.py:497 forms.py:1080 forms.py:1099 models.py:88 models.py:288
+#: forms.py:499 forms.py:1084 forms.py:1103 models.py:88 models.py:288
#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:9
msgid "Periods"
msgstr "Périodes"
-#: forms.py:498
+#: forms.py:500
msgid "Started before"
msgstr "Commencé avant"
-#: forms.py:500
+#: forms.py:502
msgid "Started after"
msgstr "Commencé après"
-#: forms.py:502
+#: forms.py:504
msgid "Ended before"
msgstr "Terminé avant"
-#: forms.py:504
+#: forms.py:506
msgid "Ended after"
msgstr "Terminé après"
-#: forms.py:507
+#: forms.py:509
msgid "Search within relations"
msgstr "Rechercher parmi les relations"
-#: forms.py:509 forms.py:837
+#: forms.py:511 forms.py:841
msgid "Comment"
msgstr "Commentaire"
-#: forms.py:510
+#: forms.py:512
msgid "Abstract (full text search)"
msgstr "Résumé (recherche texte intégral)"
-#: forms.py:512 forms.py:840 models.py:336
+#: forms.py:514 forms.py:844 models.py:337
msgid "Comment about scientific documentation"
msgstr "Commentaire concernant la documentation scientifique"
-#: forms.py:513 forms.py:842 models.py:348
+#: forms.py:515 forms.py:846 models.py:349
msgid "Record quality"
msgstr "Qualité d'enregistrement"
-#: forms.py:514 forms.py:807 models.py:300
+#: forms.py:516 forms.py:811 models.py:300
msgid "Report processing"
msgstr "Traitement du rapport"
-#: forms.py:516 forms.py:845 models.py:343
+#: forms.py:518 forms.py:849 models.py:344
msgid "Virtual operation"
msgstr "Opération virtuelle"
-#: forms.py:518 forms.py:1142 forms.py:1146 models.py:94
+#: forms.py:520 forms.py:1146 forms.py:1150 models.py:94
msgid "Archaeological site"
msgstr "Entité archéologique"
-#: forms.py:524 forms.py:1273
+#: forms.py:526 forms.py:1277
msgid "Created by"
msgstr "Créé par"
-#: forms.py:530 forms.py:1279
+#: forms.py:532 forms.py:1283
msgid "Modified by"
msgstr "Modifié par"
-#: forms.py:537
+#: forms.py:539
msgid "Documentation deadline before"
msgstr "Date limite de rendu de la documentation avant"
-#: forms.py:539
+#: forms.py:541
msgid "Documentation deadline after"
msgstr "Date limite de rendu de la documentation après"
-#: forms.py:541 forms.py:830 models.py:355
+#: forms.py:543 forms.py:834 models.py:356
msgid "Documentation received"
msgstr "Documentation reçue"
-#: forms.py:543
+#: forms.py:545
msgid "Finds deadline before"
msgstr "Date limite de rendu du mobilier avant"
-#: forms.py:545
+#: forms.py:547
msgid "Finds deadline after"
msgstr "Date limite de rendu du mobilier après"
-#: forms.py:547 forms.py:835 models.py:359
+#: forms.py:549 forms.py:839 models.py:360
msgid "Finds received"
msgstr "Mobilier reçu"
-#: forms.py:592 forms.py:1218 views.py:168
+#: forms.py:594 forms.py:1222 views.py:168
msgid "Operation search"
msgstr "Rechercher une opération"
-#: forms.py:636
+#: forms.py:638
msgid "Associated file"
msgstr "Dossier associé"
-#: forms.py:640 forms.py:933 models.py:501 models.py:891 models.py:1000
+#: forms.py:642 forms.py:937 models.py:516 models.py:916 models.py:1026
#: wizards.py:80
msgid "Archaeological file"
msgstr "Dossier archéologique"
-#: forms.py:647 forms.py:649 models.py:350
+#: forms.py:649 forms.py:651 models.py:351
msgid "Abstract"
msgstr "Résumé"
-#: forms.py:652
+#: forms.py:654
msgid "months"
msgstr "mois"
-#: forms.py:652
+#: forms.py:654
msgid "years"
msgstr "années"
-#: forms.py:654 models.py:253
+#: forms.py:656 models.py:253
msgid "Creation date"
msgstr "Date de création"
-#: forms.py:655
+#: forms.py:657
msgid "Start of field work"
msgstr "Début du travail de terrain"
-#: forms.py:657
+#: forms.py:659
msgid "All"
msgstr "Tout"
-#: forms.py:658
+#: forms.py:660
msgid "Preventive"
msgstr "Préventif"
-#: forms.py:659
+#: forms.py:661
msgid "Research"
msgstr "Programmé"
-#: forms.py:663
+#: forms.py:665
msgid "Slicing"
msgstr "Découpage"
-#: forms.py:666
+#: forms.py:668
msgid "Department detail"
msgstr "Détail par département"
-#: forms.py:668
+#: forms.py:670
msgid "Date get from"
msgstr "Date obtenue depuis"
-#: forms.py:670
+#: forms.py:672
msgid "Preventive/Research"
msgstr "Préventif/Programmé"
-#: forms.py:676
+#: forms.py:678
msgid "Date after"
msgstr "Date après"
-#: forms.py:678
+#: forms.py:680
msgid "Date before"
msgstr "Date avant"
-#: forms.py:680
+#: forms.py:682
msgid "With reports"
msgstr "Avec un rapport"
-#: forms.py:681
+#: forms.py:683
msgid "With finds"
msgstr "Avec du mobilier"
-#: forms.py:733 forms.py:1327 templates/ishtar/sheet_administrativeact.html:20
-#: templates/ishtar/sheet_operation.html:24
+#: forms.py:735 forms.py:1331 templates/ishtar/sheet_administrativeact.html:20
+#: templates/ishtar/sheet_operation.html:26
msgid "General"
msgstr "Général"
-#: forms.py:748 models.py:333
+#: forms.py:750 models.py:333
msgid "Generic name"
msgstr "Nom générique"
-#: forms.py:757 models.py:302
+#: forms.py:761 models.py:302
msgid "Old code"
msgstr "Ancien code"
-#: forms.py:760
+#: forms.py:764
msgid "Head scientist"
msgstr "Responsable scientifique"
-#: forms.py:779 models.py:332
+#: forms.py:783 models.py:332
msgid "Operator reference"
msgstr "Référence de l'opérateur"
-#: forms.py:793
+#: forms.py:797
msgid "Total surface (m2)"
msgstr "Surface totale (m2)"
-#: forms.py:800 models.py:54 models.py:256 models.py:1417
+#: forms.py:804 models.py:54 models.py:256 models.py:1443
msgid "Start date"
msgstr "Date de début"
-#: forms.py:802 models.py:258
+#: forms.py:806 models.py:258
msgid "Excavation end date"
msgstr "Date de fin de chantier"
-#: forms.py:805 models.py:259
+#: forms.py:809 models.py:259
msgid "Report delivery date"
msgstr "Date de livraison du rapport"
-#: forms.py:827 models.py:352
+#: forms.py:831 models.py:353
msgid "Deadline for submission of the documentation"
msgstr "Date limite de rendu de la documentation"
-#: forms.py:832 models.py:357
+#: forms.py:836 models.py:358
msgid "Deadline for submission of the finds"
msgstr "Date limite de rendu du mobilier"
-#: forms.py:847
+#: forms.py:851
msgid "Image"
msgstr "Image"
-#: forms.py:848
+#: forms.py:852
#, python-format
msgid ""
"<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</"
@@ -381,19 +387,19 @@ msgstr ""
"<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le "
"ratio est conservé).</p>"
-#: forms.py:886
+#: forms.py:890
msgid ""
"If you want to set an excavation end date you have to provide a start date."
msgstr ""
"Avant de renseigner la date de fin de chantier, il est nécessaire de "
"renseigner une date de début."
-#: forms.py:891
+#: forms.py:895
msgid "The excavation end date cannot be before the start date."
msgstr ""
"La date de fin de chantier ne peut être antérieure à la date de début."
-#: forms.py:919
+#: forms.py:923
#, python-format
msgid ""
"Operation code already exists for year: %(year)d - use a value bigger than "
@@ -402,106 +408,106 @@ msgstr ""
"Ce code d'opération existe déjà pour l'année %(year)d - utilisez une valeur "
"plus grande que %(last_val)d"
-#: forms.py:923
+#: forms.py:927
msgid "Bad operation code"
msgstr "Mauvais code d'opération"
-#: forms.py:929 models.py:516
+#: forms.py:933 models.py:531 models.py:879
msgid "Operation code"
msgstr "Code de l'opération"
-#: forms.py:955
+#: forms.py:959
msgid "Preventive informations - excavation"
msgstr "Information archéologie préventive - fouille"
-#: forms.py:956 models.py:286
+#: forms.py:960 models.py:286
#: templates/ishtar/dashboards/dashboard_operation.html:701
msgid "Cost (euros)"
msgstr "Coût (euros)"
-#: forms.py:957 models.py:291
+#: forms.py:961 models.py:291
msgid "Scheduled man-days"
msgstr "Jours-hommes prévus"
-#: forms.py:959 models.py:294
+#: forms.py:963 models.py:294
msgid "Optional man-days"
msgstr "Jours-hommes optionnels"
-#: forms.py:961 models.py:297
+#: forms.py:965 models.py:297
msgid "Effective man-days"
msgstr "Jours-hommes effectifs"
-#: forms.py:971
+#: forms.py:975
msgid "Preventive informations - diagnostic"
msgstr "Information archéologie préventive - diagnostic"
-#: forms.py:974 models.py:316
+#: forms.py:978 models.py:316
msgid "Prescription on zoning"
msgstr "Prescription sur zonage"
-#: forms.py:976 models.py:319
+#: forms.py:980 models.py:319
msgid "Prescription on large area"
msgstr "Prescription sur une vaste surface"
-#: forms.py:979 models.py:321
+#: forms.py:983 models.py:321
msgid "Prescription on geoarchaeological context"
msgstr "Prescription sur un contexte géoarchéologique"
-#: forms.py:983 forms.py:1005 models.py:284 models.py:1023
+#: forms.py:987 forms.py:1009 models.py:284 models.py:1049
msgid "Towns"
msgstr "Communes"
-#: forms.py:1012 models.py:1220 models.py:1415
+#: forms.py:1016 models.py:1246 models.py:1441
msgid "Parcel"
msgstr "Parcelle"
-#: forms.py:1064 models.py:46
+#: forms.py:1068 models.py:46
msgid "Remain types"
msgstr "Types de vestige"
-#: forms.py:1068 models.py:45
+#: forms.py:1072 models.py:45
msgid "Remain type"
msgstr "Type de vestige"
-#: forms.py:1084 templates/ishtar/sheet_operation.html:176
-#: templates/ishtar/sheet_operation.html:207
+#: forms.py:1088 templates/ishtar/sheet_operation.html:171
+#: templates/ishtar/sheet_operation.html:202
msgid "Period"
msgstr "Période"
-#: forms.py:1096 models.py:85
+#: forms.py:1100 models.py:85
msgid "Reference"
msgstr "Référence"
-#: forms.py:1125
+#: forms.py:1129
msgid "This reference already exists."
msgstr "Cette référence existe déjà."
-#: forms.py:1157 models.py:95 models.py:340
-#: templates/ishtar/sheet_operation.html:106
+#: forms.py:1161 models.py:95 models.py:341
+#: templates/ishtar/sheet_operation.html:96
msgid "Archaeological sites"
msgstr "Entités archéologiques"
-#: forms.py:1161
+#: forms.py:1165
msgid "Associated archaeological sites"
msgstr "Entités archéologiques associées"
-#: forms.py:1167 ishtar_menu.py:34 ishtar_menu.py:64 ishtar_menu.py:93
+#: forms.py:1171 ishtar_menu.py:34 ishtar_menu.py:64 ishtar_menu.py:93
msgid "Search"
msgstr "Recherche"
-#: forms.py:1172
+#: forms.py:1176
msgid "Would you like to close this operation?"
msgstr "Voulez-vous clore cette opération ?"
-#: forms.py:1177
+#: forms.py:1181
msgid "Would you like to delete this operation?"
msgstr "Voulez-vous supprimer cette opération ?"
-#: forms.py:1186 forms.py:1256 forms.py:1392 models.py:866 models.py:980
+#: forms.py:1190 forms.py:1260 forms.py:1396 models.py:886 models.py:1006
msgid "Index"
msgstr "Index"
-#: forms.py:1212
+#: forms.py:1216
#, python-format
msgid ""
"Index already exists for operation: %(operation)s - use a value bigger than "
@@ -510,48 +516,48 @@ msgstr ""
"Cet index existe déjà pour l'opération : %(operation)s, utilisez une valeur "
"plus grande que %(last_val)d"
-#: forms.py:1224
+#: forms.py:1228
msgid "Operation's year"
msgstr "Année de l'opération"
-#: forms.py:1231
+#: forms.py:1235
msgid "Operation's town"
msgstr "Commune de l'opération"
-#: forms.py:1244
+#: forms.py:1248
msgid "Documentation search"
msgstr "Rechercher une documentation"
-#: forms.py:1246
+#: forms.py:1250
msgid "You should select a document."
msgstr "Vous devez sélectionner un document."
-#: forms.py:1263 forms.py:1330 models.py:905 models.py:974
+#: forms.py:1267 forms.py:1334 models.py:930 models.py:1000
msgid "Act type"
msgstr "Type d'acte"
-#: forms.py:1264 forms.py:1462
+#: forms.py:1268 forms.py:1466
msgid "Indexed?"
msgstr "Indexé ?"
-#: forms.py:1270 forms.py:1335 models.py:1014
+#: forms.py:1274 forms.py:1339 models.py:1040
#: templates/ishtar/blocks/window_tables/administrativacts.html:10
msgid "Object"
msgstr "Objet"
-#: forms.py:1307 views.py:333
+#: forms.py:1311 views.py:333
msgid "Administrative act search"
msgstr "Rechercher un acte administratif"
-#: forms.py:1322 forms.py:1420 forms.py:1487
+#: forms.py:1326 forms.py:1424 forms.py:1491
msgid "You should select an administrative act."
msgstr "Vous devez sélectionner un acte administratif."
-#: forms.py:1338 models.py:1011
+#: forms.py:1342 models.py:1037
msgid "Signature date"
msgstr "Date de signature"
-#: forms.py:1380
+#: forms.py:1384
#, python-format
msgid ""
"This index already exists for year: %(year)d - use a value bigger than "
@@ -560,31 +566,31 @@ msgstr ""
"Cet index existe déjà pour l'année : %(year)d, utilisez une valeur plus "
"grande que %(last_val)d"
-#: forms.py:1384
+#: forms.py:1388
msgid "Bad index"
msgstr "Mauvais index"
-#: forms.py:1397
+#: forms.py:1401
msgid "Would you like to delete this administrative act?"
msgstr "Voulez-vous supprimer cet acte administratif ?"
-#: forms.py:1402
+#: forms.py:1406
msgid "Template"
msgstr "Patron"
-#: forms.py:1426 forms.py:1430
+#: forms.py:1430 forms.py:1434
msgid "This document is not intended for this type of act."
msgstr "Ce document n'est pas destiné à ce type d'acte."
-#: forms.py:1448
+#: forms.py:1452
msgid "Doc generation"
msgstr "Génération de document"
-#: forms.py:1450
+#: forms.py:1454
msgid "Generate the associated doc?"
msgstr "Générer le document associé ?"
-#: forms.py:1471 ishtar_menu.py:123 views.py:386
+#: forms.py:1475 ishtar_menu.py:123 views.py:386
msgctxt "admin act register"
msgid "Register"
msgstr "Registre"
@@ -605,7 +611,7 @@ msgstr "Clôture"
msgid "Deletion"
msgstr "Suppression"
-#: ishtar_menu.py:59 models.py:1030
+#: ishtar_menu.py:59 models.py:1056
#: templates/ishtar/sheet_administrativeact.html:4
msgid "Administrative act"
msgstr "Acte administratif"
@@ -630,16 +636,16 @@ msgstr "Tableau de bord"
msgid "General informations"
msgstr "Informations générales"
-#: ishtar_menu.py:139 models.py:368
+#: ishtar_menu.py:139 models.py:369
#: templates/ishtar/dashboards/dashboard_operation.html:8
msgid "Operations"
msgstr "Opérations"
-#: models.py:53 models.py:71 models.py:1879
+#: models.py:53 models.py:71 models.py:1913
msgid "Order"
msgstr "Ordre"
-#: models.py:55 models.py:1418
+#: models.py:55 models.py:1444
msgid "End date"
msgstr "Date de fin"
@@ -755,7 +761,7 @@ msgstr "Date de clôture"
msgid "In charge scientist"
msgstr "Responsable du suivi scientifique"
-#: models.py:277 models.py:1200
+#: models.py:277 models.py:1226
msgid "File"
msgstr "Dossier"
@@ -763,299 +769,307 @@ msgstr "Dossier"
msgid "Surface (m2)"
msgstr "Surface (m2)"
-#: models.py:334
+#: models.py:335
msgid "General comment"
msgstr "Commentaire général"
-#: models.py:337
+#: models.py:338
msgid "Cached name"
msgstr "Nom en cache"
-#: models.py:345
+#: models.py:346
msgid ""
"If checked, it means that this operation have not been officialy registered."
msgstr ""
"Si coché, cela signifie que cette opération n'a pas été officiellement "
"enregistrée."
-#: models.py:361
+#: models.py:362
msgid "Point"
msgstr "Point"
-#: models.py:362
+#: models.py:363
msgid "Multi polygon"
msgstr "Polygones multi-parties"
-#: models.py:370
+#: models.py:371
msgid "Can view all Operations"
msgstr "Peut voir toutes les Opérations"
-#: models.py:371
+#: models.py:372
msgid "Can view own Operation"
msgstr "Peut voir sa propre Opération"
-#: models.py:372
+#: models.py:373
msgid "Can add own Operation"
msgstr "Peut ajouter sa propre Opération"
-#: models.py:373
+#: models.py:374
msgid "Can change own Operation"
msgstr "Peut modifier sa propre Opération"
-#: models.py:374
+#: models.py:375
msgid "Can delete own Operation"
msgstr "Peut supprimer sa propre Opération"
-#: models.py:375
+#: models.py:376
msgid "Can close Operation"
msgstr "Peut clore une Opération"
-#: models.py:404
+#: models.py:405
msgid "OPE"
msgstr "OPE"
-#: models.py:470
+#: models.py:479
msgid "Intercommunal"
msgstr "Intercommunal"
-#: models.py:502
+#: models.py:517
msgid "Code patriarche"
msgstr "Code patriarche"
-#: models.py:542
+#: models.py:557
msgid "This operation code already exists for this year"
msgstr "Ce code d'opération existe déjà pour cette année."
-#: models.py:567
+#: models.py:582
msgid "Number of parcels"
msgstr "Nombre de parcelles"
-#: models.py:585
+#: models.py:600
msgid "Number of administrative acts"
msgstr "Nombre d'actes administratifs"
-#: models.py:593
+#: models.py:608
msgid "Number of indexed administrative acts"
msgstr "Nombre d'actes administratifs indexés"
-#: models.py:601
+#: models.py:616
msgid "Number of context records"
msgstr "Nombre d'Unités d'Enregistrement"
-#: models.py:637
+#: models.py:652
msgid "Number of finds"
msgstr "Nombre d'éléments de mobilier"
-#: models.py:682
+#: models.py:697
msgid "No type"
msgstr "Pas de type"
-#: models.py:713
+#: models.py:728
msgid "Number of sources"
msgstr "Nombre de documents"
-#: models.py:755 templates/ishtar/dashboards/dashboard_operation.html:309
+#: models.py:770 templates/ishtar/dashboards/dashboard_operation.html:309
#: templates/ishtar/dashboards/dashboard_operation.html:575
#: templates/ishtar/dashboards/dashboard_operation.html:611
msgid "Mean"
msgstr "Moyenne"
-#: models.py:805
+#: models.py:820
msgid "Inverse relation"
msgstr "Relation inverse"
-#: models.py:809
+#: models.py:824
msgid "Operation relation type"
msgstr "Type de relation entre opérations"
-#: models.py:810
+#: models.py:825
msgid "Operation relation types"
msgstr "Types de relation entre opérations"
-#: models.py:823
+#: models.py:838
msgid "Operation record relation"
msgstr "Relation entre opérations"
-#: models.py:824
+#: models.py:839
msgid "Operation record relations"
msgstr "Relations entre opérations"
-#: models.py:870
+#: models.py:878
+msgid "Operation year"
+msgstr "Année de l'opération"
+
+#: models.py:880
+msgid "Document code"
+msgstr "Code du document"
+
+#: models.py:890
msgid "Operation documentation"
msgstr "Documentation d'une opération"
-#: models.py:871
+#: models.py:891
msgid "Operation documentations"
msgstr "Documentations des opérations"
-#: models.py:874
+#: models.py:894
msgid "Can view all Operation sources"
msgstr "Peut voir toutes les Documentations d'opération"
-#: models.py:876
+#: models.py:896
msgid "Can view own Operation source"
msgstr "Peut voir sa propre Documentation d'opération"
-#: models.py:878
+#: models.py:898
msgid "Can add own Operation source"
msgstr "Peut ajouter sa propre Documentation d'opération"
-#: models.py:880
+#: models.py:900
msgid "Can change own Operation source"
msgstr "Peut modifier sa propre Documentation d'opération"
-#: models.py:882
+#: models.py:902
msgid "Can delete own Operation source"
msgstr "Peut supprimer sa propre Documentation d'opération"
-#: models.py:893 models.py:1005
+#: models.py:918 models.py:1031
msgid "Treatment request"
msgstr "Demande de traitement"
-#: models.py:894 models.py:1010
+#: models.py:919 models.py:1036
msgid "Treatment"
msgstr "Traitement"
-#: models.py:896
+#: models.py:921
msgid "Intended to"
msgstr "Destiné à"
-#: models.py:898
+#: models.py:923
msgid "Code"
msgstr "Code"
-#: models.py:901
+#: models.py:926
msgid "Associated template"
msgstr "Patron associé"
-#: models.py:902
+#: models.py:927
msgid "Indexed"
msgstr "Indexé"
-#: models.py:906
+#: models.py:931
msgid "Act types"
msgstr "Types d'acte"
-#: models.py:978
+#: models.py:997 models.py:1077
+#: templates/ishtar/blocks/window_tables/administrativacts.html:7
+#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:7
+msgid "Ref."
+msgstr "Réf."
+
+#: models.py:1004
msgid "Person in charge of the operation"
msgstr "Responsable d'opération"
-#: models.py:984
+#: models.py:1010
msgid "Archaeological preventive operator"
msgstr "Opérateur d'archéologie préventive"
-#: models.py:992
+#: models.py:1018
msgid "Signatory"
msgstr "Signataire"
-#: models.py:1020
+#: models.py:1046
msgid "Departments"
msgstr "Départements"
-#: models.py:1021
+#: models.py:1047
msgid "Cached values get from associated departments"
msgstr "Valeur en cache des départements associés"
-#: models.py:1024
+#: models.py:1050
msgid "Cached values get from associated towns"
msgstr "Valeur en cache des communes associées"
-#: models.py:1031 templates/ishtar/sheet_operation.html:114
-#: templates/ishtar/sheet_operation.html:150
+#: models.py:1057 templates/ishtar/sheet_operation.html:104
+#: templates/ishtar/sheet_operation.html:145
msgid "Administrative acts"
msgstr "Actes administratifs"
-#: models.py:1034
+#: models.py:1060
msgid "Can view all Administrative acts"
msgstr "Peut voir tous les Actes administratifs"
-#: models.py:1036
+#: models.py:1062
msgid "Can view own Administrative act"
msgstr "Peut voir son propre Acte administratif"
-#: models.py:1038
+#: models.py:1064
msgid "Can add own Administrative act"
msgstr "Peut ajouter son propre Acte administratif"
-#: models.py:1040
+#: models.py:1066
msgid "Can change own Administrative act"
msgstr "Peut modifier son propre Acte administratif"
-#: models.py:1042
+#: models.py:1068
msgid "Can delete own Administrative act"
msgstr "Peut supprimer son propre Acte administratif"
-#: models.py:1051
-#: templates/ishtar/blocks/window_tables/administrativacts.html:7
-#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:7
-msgid "Ref."
-msgstr "Réf."
-
-#: models.py:1145
+#: models.py:1171
msgid "This index already exists for this year"
msgstr "Cet index existe déjà pour cette année."
-#: models.py:1213
+#: models.py:1239
msgid "External ID"
msgstr "ID externe"
-#: models.py:1216
+#: models.py:1242
msgid "External ID is set automatically"
msgstr "L'identifiant externe est configuré automatiquement"
-#: models.py:1217
+#: models.py:1243
msgid "Address - Locality"
msgstr "Adresse - Lieu-dit"
-#: models.py:1413
+#: models.py:1439
msgid "Owner"
msgstr "Propriétaire"
-#: models.py:1421
+#: models.py:1447
msgid "Parcel owner"
msgstr "Propriétaire de parcelle"
-#: models.py:1422
+#: models.py:1448
msgid "Parcel owners"
msgstr "Propriétaires de parcelle"
-#: models.py:1448
+#: models.py:1474
msgid "Recorded"
msgstr "Enregistré"
-#: models.py:1449
+#: models.py:1475
msgid "Effective"
msgstr "Effectif"
-#: models.py:1450
+#: models.py:1476
msgid "Active"
msgstr "Actif"
-#: models.py:1451
+#: models.py:1477
msgid "Field completed"
msgstr "Terrain achevé"
-#: models.py:1452
+#: models.py:1478
msgid "Associated report"
msgstr "Rapport associé"
-#: models.py:1453
+#: models.py:1479
msgid "Closed"
msgstr "Clos"
-#: models.py:1454
+#: models.py:1480
msgid "Documented and closed"
msgstr "Documenté et clos"
-#: models.py:1880
+#: models.py:1914
msgid "Is preventive"
msgstr "Préventif"
-#: models.py:1883
+#: models.py:1917
msgid "Operation type old"
msgstr "Type d'opération - ancien"
-#: models.py:1884
+#: models.py:1918
msgid "Operation types old"
msgstr "Types d'opération - ancien"
@@ -1116,7 +1130,7 @@ msgstr ""
"oubli, définissez-le à la première étape."
#: templates/ishtar/sheet_administrativeact.html:36
-#: templates/ishtar/sheet_operation.html:50
+#: templates/ishtar/sheet_operation.html:40
msgid "Surface:"
msgstr "Surface :"
@@ -1128,96 +1142,100 @@ msgstr "Cette opération est virtuelle."
msgid "Patriarche OA code not yet recorded!"
msgstr "Code d'opération Patriarche non renseigné !"
-#: templates/ishtar/sheet_operation.html:27
-msgid "Creation:"
-msgstr "Création :"
+#: templates/ishtar/sheet_operation.html:23
+msgid "Address"
+msgstr "Adresse"
-#: templates/ishtar/sheet_operation.html:34
-msgid "Modification:"
-msgstr "Modification :"
+#: templates/ishtar/sheet_operation.html:30
+msgid "Begining date"
+msgstr "Date de début"
-#: templates/ishtar/sheet_operation.html:46
+#: templates/ishtar/sheet_operation.html:36
msgid "State:"
msgstr "État :"
-#: templates/ishtar/sheet_operation.html:46
+#: templates/ishtar/sheet_operation.html:36
msgid "Active file"
msgstr "Dossier actif"
-#: templates/ishtar/sheet_operation.html:47
+#: templates/ishtar/sheet_operation.html:37
msgid "Closed operation"
msgstr "Opération close"
-#: templates/ishtar/sheet_operation.html:48
+#: templates/ishtar/sheet_operation.html:38
msgid "Closing date:"
msgstr "Date de clôture :"
-#: templates/ishtar/sheet_operation.html:48
+#: templates/ishtar/sheet_operation.html:38
msgid "by"
msgstr "par"
-#: templates/ishtar/sheet_operation.html:51
+#: templates/ishtar/sheet_operation.html:41
msgid "Cost:"
msgstr "Coût :"
-#: templates/ishtar/sheet_operation.html:52
+#: templates/ishtar/sheet_operation.html:42
msgid "Duration:"
msgstr "Durée :"
-#: templates/ishtar/sheet_operation.html:52
+#: templates/ishtar/sheet_operation.html:42
msgid "Day"
msgstr "Jour"
-#: templates/ishtar/sheet_operation.html:85
+#: templates/ishtar/sheet_operation.html:75
msgid "Localisation"
msgstr "Localisation"
-#: templates/ishtar/sheet_operation.html:110
+#: templates/ishtar/sheet_operation.html:100
msgid "Associated parcels"
msgstr "Parcelles associées"
-#: templates/ishtar/sheet_operation.html:118
+#: templates/ishtar/sheet_operation.html:108
msgid "Document from this operation"
msgstr "Documents de cette opération"
-#: templates/ishtar/sheet_operation.html:124
-#: templates/ishtar/sheet_operation.html:161
+#: templates/ishtar/sheet_operation.html:114
+#: templates/ishtar/sheet_operation.html:156
msgid "Context records"
msgstr "Unités d'Enregistrement"
-#: templates/ishtar/sheet_operation.html:128
+#: templates/ishtar/sheet_operation.html:119
msgid "Context record relations"
msgstr "Relations entre Unités d'Enregistrement"
-#: templates/ishtar/sheet_operation.html:133
+#: templates/ishtar/sheet_operation.html:124
msgid "Documents from associated context records"
msgstr "Documents des Unités d'Enregistrement associées"
-#: templates/ishtar/sheet_operation.html:138
-#: templates/ishtar/sheet_operation.html:184
+#: templates/ishtar/sheet_operation.html:129
+#: templates/ishtar/sheet_operation.html:179
msgid "Finds"
msgstr "Mobilier"
-#: templates/ishtar/sheet_operation.html:143
+#: templates/ishtar/sheet_operation.html:134
msgid "Documents from associated finds"
msgstr "Documents du mobilier associé"
-#: templates/ishtar/sheet_operation.html:148
+#: templates/ishtar/sheet_operation.html:139
+msgid "Associated containers"
+msgstr "Contenants associés"
+
+#: templates/ishtar/sheet_operation.html:143
msgid "Statistics"
msgstr "Statistiques"
-#: templates/ishtar/sheet_operation.html:168
-#: templates/ishtar/sheet_operation.html:222
+#: templates/ishtar/sheet_operation.html:163
+#: templates/ishtar/sheet_operation.html:217
#: templates/ishtar/blocks/window_tables/administrativacts.html:8
msgid "Type"
msgstr "Type"
-#: templates/ishtar/sheet_operation.html:168
-#: templates/ishtar/sheet_operation.html:176
-#: templates/ishtar/sheet_operation.html:191
-#: templates/ishtar/sheet_operation.html:199
-#: templates/ishtar/sheet_operation.html:207
-#: templates/ishtar/sheet_operation.html:222
+#: templates/ishtar/sheet_operation.html:163
+#: templates/ishtar/sheet_operation.html:171
+#: templates/ishtar/sheet_operation.html:186
+#: templates/ishtar/sheet_operation.html:194
+#: templates/ishtar/sheet_operation.html:202
+#: templates/ishtar/sheet_operation.html:217
#: templates/ishtar/dashboards/dashboard_operation.html:18
#: templates/ishtar/dashboards/dashboard_operation.html:164
#: templates/ishtar/dashboards/dashboard_operation.html:432
@@ -1226,19 +1244,19 @@ msgstr "Type"
msgid "Number"
msgstr "Nombre"
-#: templates/ishtar/sheet_operation.html:191
+#: templates/ishtar/sheet_operation.html:186
msgid "Material type"
msgstr "Type de matériau"
-#: templates/ishtar/sheet_operation.html:199
+#: templates/ishtar/sheet_operation.html:194
msgid "Object type"
msgstr "Type d'objet"
-#: templates/ishtar/sheet_operation.html:215
+#: templates/ishtar/sheet_operation.html:210
msgid "Sources"
msgstr "Documents"
-#: templates/ishtar/sheet_operation.html:231
+#: templates/ishtar/sheet_operation.html:226
msgid "Finds by context records"
msgstr "Mobilier par Unités d'Enregistrement"
@@ -1246,6 +1264,10 @@ msgstr "Mobilier par Unités d'Enregistrement"
msgid "Operation source"
msgstr "Documentation associée à l'opération"
+#: templates/ishtar/sheet_operationsource.html:11
+msgid "Related operation"
+msgstr "Opération associée"
+
#: templates/ishtar/blocks/window_tables/administrativacts.html:9
msgid "Date"
msgstr "Date"
diff --git a/translations/fr/archaeological_warehouse.po b/translations/fr/archaeological_warehouse.po
index 6780d7b3a..15d86d645 100644
--- a/translations/fr/archaeological_warehouse.po
+++ b/translations/fr/archaeological_warehouse.po
@@ -4,149 +4,167 @@
# Étienne Loks <etienne.loks at peacefrogs net>, 2010-2011.
# Valérie-Emma Leroux <emma@iggdrasil.net>, 2016. #zanata
# Valérie-Emma Leroux <emma@iggdrasil.net>, 2017. #zanata
+# Étienne Loks <etienne.loks@iggdrasil.net>, 2017. #zanata
msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"PO-Revision-Date: 2017-02-04 08:26-0500\n"
-"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+"PO-Revision-Date: 2017-03-21 06:24-0400\n"
+"Last-Translator: Étienne Loks <etienne.loks@iggdrasil.net>\n"
"Language-Team: \n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Zanata 3.9.6\n"
-#: forms.py:35 forms.py:91 ishtar_menu.py:40 models.py:63 models.py:103
+#: forms.py:36 forms.py:99 ishtar_menu.py:40 models.py:63 models.py:103
#: templates/ishtar/sheet_warehouse.html:4
msgid "Warehouse"
msgstr "Dépôt"
-#: forms.py:44 forms.py:49 models.py:280
+#: forms.py:45 forms.py:50 models.py:281
msgid "Division"
msgstr "Division"
-#: forms.py:51 models.py:127
+#: forms.py:52 models.py:127
msgid "Order"
msgstr "Ordre"
-#: forms.py:62 models.py:53
+#: forms.py:66
+msgid "There are identical divisions."
+msgstr "Il y a des divisions identiques"
+
+#: forms.py:70 models.py:53
msgid "Divisions"
msgstr "Divisions"
-#: forms.py:66 forms.py:95 models.py:45 models.py:100
+#: forms.py:74 forms.py:103 models.py:45 models.py:100
msgid "Name"
msgstr "Nom"
-#: forms.py:67 forms.py:97 models.py:36 models.py:47
+#: forms.py:75 forms.py:105 models.py:36 models.py:47
msgid "Warehouse type"
msgstr "Type de dépôt"
-#: forms.py:68 forms.py:114
+#: forms.py:76 forms.py:122
msgid "Town"
msgstr "Commune"
-#: forms.py:79 views.py:98
+#: forms.py:87 views.py:100
msgid "Warehouse search"
msgstr "Rechercher un dépôt"
-#: forms.py:100 models.py:50
+#: forms.py:108 models.py:50
msgid "Person in charge"
msgstr "Responsable"
-#: forms.py:106 forms.py:168 models.py:51 models.py:180
+#: forms.py:114 forms.py:184 models.py:51 models.py:181
msgid "Comment"
msgstr "Commentaires"
-#: forms.py:108
+#: forms.py:116
msgid "Address"
msgstr "Adresse"
-#: forms.py:110
+#: forms.py:118
msgid "Address complement"
msgstr "Complément d'adresse"
-#: forms.py:112
+#: forms.py:120
msgid "Postal code"
msgstr "Code postal"
-#: forms.py:115
+#: forms.py:123
msgid "Country"
msgstr "Pays"
-#: forms.py:117
+#: forms.py:125
msgid "Phone"
msgstr "Téléphone"
-#: forms.py:118
+#: forms.py:126
msgid "Mobile phone"
msgstr "Téléphone mobile"
-#: forms.py:145 forms.py:146
+#: forms.py:153 forms.py:154
msgid "Would you like to delete this warehouse?"
msgstr "Voulez-vous supprimer ce dépôt ?"
-#: forms.py:150 models.py:191 models.py:278
+#: forms.py:158 models.py:192 models.py:279
#: templates/ishtar/sheet_container.html:4
msgid "Container"
msgstr "Contenant"
-#: forms.py:154 forms.py:221 models.py:142
+#: forms.py:163 forms.py:237 models.py:142
msgid "Ref."
msgstr "Réf."
-#: forms.py:155 forms.py:220 models.py:145 models.py:178
+#: forms.py:164 forms.py:236 models.py:145 models.py:179
msgid "Container type"
msgstr "Type de contenant"
-#: forms.py:157
+#: forms.py:166
msgid "Current location (warehouse)"
msgstr "Lieu actuel (dépôt)"
-#: forms.py:163 models.py:175
+#: forms.py:172 models.py:176
msgid "Responsible warehouse"
msgstr "Dépôt responsable"
-#: forms.py:195
-msgid "Index"
-msgstr "Index"
+#: forms.py:178
+msgid "Image"
+msgstr "Image"
+
+#: forms.py:179
+#, python-format
+msgid ""
+"<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</"
+"p>"
+msgstr ""
+"<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le "
+"ratio est conservé).</p>"
-#: forms.py:213
+#: forms.py:211
+msgid "ID"
+msgstr "Identifiant"
+
+#: forms.py:229
msgid "This ID already exists for this warehouse."
msgstr "Cet identifiant existe déjà pour ce dépôt."
-#: forms.py:231 forms.py:237 views.py:131
+#: forms.py:247 forms.py:253 views.py:142
msgid "Container search"
msgstr "Rechercher un contenant"
-#: forms.py:233 forms.py:239
+#: forms.py:249 forms.py:255
msgid "You should select a container."
msgstr "Vous devez sélectionner un contenant."
-#: forms.py:234
+#: forms.py:250
msgid "Add a new container"
msgstr "Ajouter un nouveau contenant"
-#: forms.py:244 ishtar_menu.py:36 views.py:93
+#: forms.py:260 ishtar_menu.py:36 views.py:95
msgid "Packaging"
msgstr "Conditionnement"
-#: forms.py:250
+#: forms.py:266
msgid "Packager"
msgstr "Personne assurant le conditionnement"
-#: forms.py:256
+#: forms.py:272
msgid "Date"
msgstr "Date"
-#: forms.py:260
+#: forms.py:276
msgid "Packaged finds"
msgstr "Mobilier conditionné"
-#: forms.py:264 models.py:181
+#: forms.py:280 models.py:182
msgid "Localisation"
msgstr "Localisation"
-#: forms.py:289 forms.py:290
+#: forms.py:305 forms.py:306
msgid "Would you like to delete this container?"
msgstr "Voulez-vous supprimer ce contenant ?"
@@ -170,7 +188,7 @@ msgstr "Modification"
msgid "Deletion"
msgstr "Suppression"
-#: ishtar_menu.py:57 models.py:192 templates/ishtar/sheet_warehouse.html:17
+#: ishtar_menu.py:57 models.py:193 templates/ishtar/sheet_warehouse.html:20
msgid "Containers"
msgstr "Contenants"
@@ -178,11 +196,11 @@ msgstr "Contenants"
msgid "Warehouse types"
msgstr "Types de dépôt"
-#: models.py:56 models.py:186
+#: models.py:56 models.py:187
msgid "External ID"
msgstr "ID externe"
-#: models.py:58 models.py:188
+#: models.py:58 models.py:189
msgid "External ID is set automatically"
msgstr "L'ID externe est attribué automatiquement"
@@ -219,12 +237,12 @@ msgid "Collection"
msgstr "Collection"
#: models.py:117
-msgid "Warehouse division"
-msgstr "Division de dépôt"
+msgid "Warehouse division type"
+msgstr "Type de division de dépôt"
#: models.py:118
-msgid "Warehouse divisions"
-msgstr "Divisions de dépôt"
+msgid "Warehouse division types"
+msgstr "Types de division de dépôt"
#: models.py:138
msgid "Length (mm)"
@@ -246,78 +264,78 @@ msgstr "Volume (l)"
msgid "Container types"
msgstr "Types de contenant"
-#: models.py:164
+#: models.py:165
msgid "Location - index"
msgstr "Lieu - index"
-#: models.py:165
+#: models.py:166
msgid "Precise localisation"
msgstr "Localisation précise"
-#: models.py:166
+#: models.py:167
msgid "Type"
msgstr "Type"
-#: models.py:172
+#: models.py:173
msgid "Location (warehouse)"
msgstr "Lieu (dépôt)"
-#: models.py:179
+#: models.py:180
msgid "Container ref."
msgstr "Réf. du contenant"
-#: models.py:183
+#: models.py:184
msgid "Cached location"
msgstr "Lieu - en cache"
-#: models.py:281
+#: models.py:282
msgid "Reference"
msgstr "Référence"
-#: models.py:284
+#: models.py:285
msgid "Container localisation"
msgstr "Localisation de contenant"
-#: models.py:285
+#: models.py:286
msgid "Container localisations"
msgstr "Localisations de contenant"
-#: views.py:110
+#: views.py:112
msgid "Warehouse creation"
msgstr "Ajouter un dépôt"
-#: views.py:119
+#: views.py:121
msgid "Warehouse modification"
msgstr "Modifier un dépôt"
-#: views.py:126
+#: views.py:137
msgid "Warehouse deletion"
msgstr "Supprimer un dépôt"
-#: views.py:142
+#: views.py:153
msgid "Container creation"
msgstr "Ajouter un contenant"
-#: views.py:151
+#: views.py:162
msgid "Container modification"
msgstr "Modifier un contenant"
-#: views.py:158
+#: views.py:177
msgid "Container deletion"
msgstr "Supprimer un contenant"
-#: templates/ishtar/sheet_container.html:19
+#: templates/ishtar/sheet_container.html:27
msgid "Content"
msgstr "Contenu"
-#: templates/ishtar/sheet_warehouse.html:22
+#: templates/ishtar/sheet_warehouse.html:25
msgid "Attached containers"
msgstr "Contenants associés"
-#: templates/ishtar/wizard/wizard_containerlocalisation.html:5
+#: templates/ishtar/wizard/wizard_containerlocalisation.html:6
msgid ""
-"No division set for this warehouse. Define it to localise container in this "
-"warehouse."
+"No division set for this warehouse. Define at least one division to localise "
+"containers in this warehouse."
msgstr ""
-"Pas de division configurée pour ce dépôt. Définissez une division pour "
-"localiser un contenant dans ce dépôt."
+"Pas de division configurée pour ce dépôt. Définissez au moins une division "
+"pour localiser les contenants dans ce dépôt."
diff --git a/translations/fr/ishtar_common.po b/translations/fr/ishtar_common.po
index 34ff2b5a6..6a9d80265 100644
--- a/translations/fr/ishtar_common.po
+++ b/translations/fr/ishtar_common.po
@@ -11,7 +11,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"PO-Revision-Date: 2017-03-09 05:02-0500\n"
+"PO-Revision-Date: 2017-03-21 01:54-0400\n"
"Last-Translator: Valérie-Emma Leroux <emma@iggdrasil.net>\n"
"Language-Team: \n"
"Language: fr\n"
@@ -26,7 +26,7 @@ msgstr "identifiant"
msgid "email address"
msgstr "courriel"
-#: __init__.py:10
+#: __init__.py:10 templates/ishtar/sheet_source.html:8
msgid "Related item"
msgstr "Élément associé"
@@ -139,31 +139,31 @@ msgstr ""
"Erreur de configuration de l'importeur : le champ \"{}\" n'existe pas pour "
"{}."
-#: data_importer.py:1555
+#: data_importer.py:1559
msgid "line"
msgstr "ligne"
-#: data_importer.py:1555
+#: data_importer.py:1559
msgid "col"
msgstr "colonne"
-#: data_importer.py:1555
+#: data_importer.py:1559
msgid "error"
msgstr "erreur"
-#: data_importer.py:1561
+#: data_importer.py:1565
msgid "field"
msgstr "champ"
-#: data_importer.py:1561
+#: data_importer.py:1565
msgid "source"
msgstr "source"
-#: data_importer.py:1561
+#: data_importer.py:1565
msgid "result"
msgstr "résultat"
-#: data_importer.py:1577
+#: data_importer.py:1581
#, python-format
msgid "\"%(value)s\" not in %(values)s"
msgstr "\"%(value)s\" n'est pas dans %(values)s"
@@ -201,7 +201,7 @@ msgid "Template"
msgstr "Patron"
#: forms_common.py:41 forms_common.py:59 forms_common.py:184
-#: forms_common.py:408 models.py:1548 models.py:2986
+#: forms_common.py:408 models.py:1548 models.py:2989
#: templates/blocks/JQueryAdvancedTown.html:19
#: templates/ishtar/sheet_organization.html:13
msgid "Town"
@@ -224,8 +224,8 @@ msgstr ""
"<p class='example'>Par exemple tapez « saint denis 93 » pour obtenir la "
"commune Saint-Denis dans le département français de Seine-Saint-Denis.</p>"
-#: forms_common.py:68 forms_common.py:863 ishtar_menu.py:47 models.py:2609
-#: models.py:2790 models.py:2854 templates/ishtar/sheet_person.html:4
+#: forms_common.py:68 forms_common.py:863 ishtar_menu.py:47 models.py:2610
+#: models.py:2791 models.py:2856 templates/ishtar/sheet_person.html:4
msgid "Person"
msgstr "Personne"
@@ -238,15 +238,16 @@ msgstr ""
"pas possible."
#: forms_common.py:172 forms_common.py:329 forms_common.py:453
-#: ishtar_menu.py:75 models.py:2492 models.py:2583
+#: ishtar_menu.py:75 models.py:2493 models.py:2584
#: templates/ishtar/sheet_organization.html:4
msgid "Organization"
msgstr "Organisation"
#: forms_common.py:175 forms_common.py:212 forms_common.py:324
#: forms_common.py:378 forms_common.py:448 models.py:1103 models.py:1481
-#: models.py:1750 models.py:1766 models.py:2003 models.py:2486 models.py:2595
-#: models.py:2972 templates/ishtar/sheet_organization.html:8
+#: models.py:1750 models.py:1766 models.py:2003 models.py:2279 models.py:2487
+#: models.py:2596 models.py:2975 templates/ishtar/import_list.html:13
+#: templates/ishtar/sheet_organization.html:8
#: templates/ishtar/sheet_organization.html:21
msgid "Name"
msgstr "Nom"
@@ -281,22 +282,22 @@ msgstr "Courriel"
#: forms_common.py:188 forms_common.py:385 models.py:1561
#: templates/ishtar/sheet_organization.html:14
-#: templates/ishtar/sheet_person.html:19
+#: templates/ishtar/sheet_person.html:21
#: templates/ishtar/wizard/wizard_person.html:17
msgid "Phone"
msgstr "Téléphone"
#: forms_common.py:189 forms_common.py:394 models.py:1573
#: templates/ishtar/sheet_organization.html:15
-#: templates/ishtar/sheet_person.html:37
+#: templates/ishtar/sheet_person.html:39
#: templates/ishtar/wizard/wizard_person.html:35
msgid "Mobile phone"
msgstr "Téléphone portable"
#: forms_common.py:213 forms_common.py:327 forms_common.py:451 models.py:2170
-#: models.py:2488 models.py:2907 templates/sheet_ope.html:85
+#: models.py:2489 models.py:2910 templates/sheet_ope.html:85
#: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126
-#: templates/ishtar/import_list.html:13
+#: templates/ishtar/import_list.html:14
#: templates/ishtar/sheet_organization.html:23
#: templates/ishtar/blocks/window_tables/documents.html:8
msgid "Type"
@@ -318,7 +319,7 @@ msgstr "Fusionner tous les éléments dans"
msgid "Organization to merge"
msgstr "Organisation à fusionner"
-#: forms_common.py:325 forms_common.py:376 forms_common.py:449 models.py:2593
+#: forms_common.py:325 forms_common.py:376 forms_common.py:449 models.py:2594
#: templates/ishtar/sheet_organization.html:22
msgid "Surname"
msgstr "Prénom"
@@ -337,16 +338,16 @@ msgid "Identity"
msgstr "Identité"
#: forms_common.py:373 forms_common.py:781 forms_common.py:830 models.py:2135
-#: models.py:2587 models.py:2589 models.py:2904 templates/sheet_ope.html:104
+#: models.py:2588 models.py:2590 models.py:2907 templates/sheet_ope.html:104
#: templates/ishtar/blocks/window_tables/documents.html:7
msgid "Title"
msgstr "Titre"
-#: forms_common.py:374 models.py:2591
+#: forms_common.py:374 models.py:2592
msgid "Salutation"
msgstr "Formule d'appel"
-#: forms_common.py:380 models.py:2597
+#: forms_common.py:380 models.py:2598
msgid "Raw name"
msgstr "Nom brut"
@@ -406,7 +407,7 @@ msgstr "Nom d'utilisateur"
msgid "Account search"
msgstr "Rechercher un compte"
-#: forms_common.py:512 forms_common.py:552 forms_common.py:556 models.py:2540
+#: forms_common.py:512 forms_common.py:552 forms_common.py:556 models.py:2541
msgid "Person type"
msgstr "Type de personne"
@@ -414,7 +415,7 @@ msgstr "Type de personne"
msgid "Account"
msgstr "Compte"
-#: forms_common.py:577 wizards.py:1333
+#: forms_common.py:577 wizards.py:1339
msgid "New password"
msgstr "Nouveau mot de passe"
@@ -438,7 +439,7 @@ msgstr "Ce nom d'utilisateur existe déjà."
msgid "Send the new password by email?"
msgstr "Envoyer le nouveau mot de passe par courriel ?"
-#: forms_common.py:636 forms_common.py:649 models.py:2987
+#: forms_common.py:636 forms_common.py:649 models.py:2990
msgid "Towns"
msgstr "Communes"
@@ -454,7 +455,7 @@ msgstr "Seul un choix peut être coché."
msgid "Documentation informations"
msgstr "Information sur le document"
-#: forms_common.py:783 forms_common.py:831 models.py:2136 models.py:2879
+#: forms_common.py:783 forms_common.py:831 models.py:2136 models.py:2882
msgid "Source type"
msgstr "Type de document"
@@ -466,37 +467,37 @@ msgstr "Référence"
msgid "Internal reference"
msgstr "Référence interne"
-#: forms_common.py:791 models.py:2918
+#: forms_common.py:791 models.py:2921
msgid "Numerical ressource (web address)"
msgstr "Ressource numérique (adresse web)"
-#: forms_common.py:792 models.py:2920
+#: forms_common.py:792 models.py:2923
msgid "Receipt date"
msgstr "Date de réception"
-#: forms_common.py:794 models.py:2302 models.py:2922
+#: forms_common.py:794 models.py:2304 models.py:2925
msgid "Creation date"
msgstr "Date de création"
-#: forms_common.py:797 models.py:2925
+#: forms_common.py:797 models.py:2928
msgid "Receipt date in documentation"
msgstr "Date de réception en documentation"
#: forms_common.py:799 forms_common.py:835 models.py:379 models.py:696
-#: models.py:2030 models.py:2601 models.py:2932
+#: models.py:2030 models.py:2602 models.py:2935
msgid "Comment"
msgstr "Commentaire"
#: forms_common.py:801 forms_common.py:834 models.py:1105 models.py:1770
-#: models.py:1957 models.py:2004 models.py:2931 templates/sheet_ope.html:128
+#: models.py:1957 models.py:2004 models.py:2934 templates/sheet_ope.html:128
msgid "Description"
msgstr "Description"
-#: forms_common.py:804 models.py:2933
+#: forms_common.py:804 models.py:2936
msgid "Additional information"
msgstr "Information supplémentaire"
-#: forms_common.py:806 forms_common.py:838 models.py:2935
+#: forms_common.py:806 forms_common.py:838 models.py:2938
msgid "Has a duplicate"
msgstr "Existe en doublon"
@@ -513,7 +514,7 @@ msgstr ""
"<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le "
"ratio est conservé).</p>"
-#: forms_common.py:827 forms_common.py:856 forms_common.py:890 models.py:2859
+#: forms_common.py:827 forms_common.py:856 forms_common.py:890 models.py:2861
#: templates/ishtar/wizard/wizard_person_deletion.html:124
msgid "Author"
msgstr "Auteur"
@@ -526,7 +527,7 @@ msgstr "Informations supplémentaires"
msgid "Would you like to delete this documentation?"
msgstr "Voulez-vous supprimer ce document ?"
-#: forms_common.py:864 models.py:2137 models.py:2846 models.py:2856
+#: forms_common.py:864 models.py:2137 models.py:2848 models.py:2858
msgid "Author type"
msgstr "Type d'auteur"
@@ -538,7 +539,7 @@ msgstr "Sélection d'auteur"
msgid "There are identical authors."
msgstr "Il y a des auteurs identiques."
-#: forms_common.py:901 models.py:2860 models.py:2914
+#: forms_common.py:901 models.py:2862 models.py:2917
#: templates/sheet_ope.html:106
#: templates/ishtar/blocks/window_tables/documents.html:9
msgid "Authors"
@@ -556,7 +557,7 @@ msgstr "Ajout/modification"
msgid "Deletion"
msgstr "Suppression"
-#: ishtar_menu.py:39 models.py:1277 views.py:1606
+#: ishtar_menu.py:39 models.py:1277 views.py:1608
msgid "Global variables"
msgstr "Variables globales"
@@ -568,7 +569,7 @@ msgstr "Annuaire"
msgid "Search"
msgstr "Recherche"
-#: ishtar_menu.py:54 ishtar_menu.py:83 templates/ishtar/import_list.html:15
+#: ishtar_menu.py:54 ishtar_menu.py:83 templates/ishtar/import_list.html:16
msgid "Creation"
msgstr "Ajout"
@@ -584,19 +585,19 @@ msgstr "Fusion automatique"
msgid "Manual merge"
msgstr "Fusion manuelle"
-#: ishtar_menu.py:109 models.py:2313
+#: ishtar_menu.py:109 models.py:2315
msgid "Imports"
msgstr "Imports"
-#: ishtar_menu.py:112 views.py:1614
+#: ishtar_menu.py:112 views.py:1616
msgid "New import"
msgstr "Nouvel import"
-#: ishtar_menu.py:116 views.py:1628
+#: ishtar_menu.py:116 views.py:1630
msgid "Current imports"
msgstr "Imports en cours"
-#: ishtar_menu.py:120 views.py:1664
+#: ishtar_menu.py:120 views.py:1669
msgid "Old imports"
msgstr "Anciens imports"
@@ -640,7 +641,7 @@ msgstr "Dernier éditeur"
msgid "Creator"
msgstr "Créateur"
-#: models.py:965 models.py:2998 models.py:3054
+#: models.py:965 models.py:2846 models.py:3001 models.py:3057
msgid "Order"
msgstr "Ordre"
@@ -883,7 +884,7 @@ msgid "Total"
msgstr "Total"
#: models.py:1393 models.py:1517 models.py:1529
-#: templates/ishtar/sheet_person.html:22
+#: templates/ishtar/sheet_person.html:24
#: templates/ishtar/dashboards/dashboard_main_detail.html:141
#: templates/ishtar/dashboards/dashboard_main_detail_users.html:26
#: templates/ishtar/wizard/wizard_person.html:20
@@ -906,7 +907,7 @@ msgstr "Patron de document"
msgid "Document templates"
msgstr "Patrons de document"
-#: models.py:1520 models.py:1530 models.py:2297
+#: models.py:1520 models.py:1530 models.py:2299
msgid "State"
msgstr "État"
@@ -1098,11 +1099,11 @@ msgstr "Importeur - Clé de rapprochement"
msgid "Importer - Targets keys"
msgstr "Importeur - Clés de rapprochement"
-#: models.py:2138 models.py:2910
+#: models.py:2138 models.py:2913
msgid "Format"
msgstr "Format"
-#: models.py:2139 models.py:3002
+#: models.py:2139 models.py:3005
msgid "Operation type"
msgstr "Type d'opération"
@@ -1166,15 +1167,15 @@ msgstr "Type d'identification"
msgid "Context record relation type"
msgstr "Type de relations entre Unités d'Enregistrement"
-#: models.py:2158 models.py:3060
+#: models.py:2158 models.py:3063
msgid "Spatial reference system"
msgstr "Système de référence spatiale"
-#: models.py:2159 models.py:2888
+#: models.py:2159 models.py:2891
msgid "Support type"
msgstr "Type de support"
-#: models.py:2160 models.py:2552
+#: models.py:2160 models.py:2553
msgid "Title type"
msgstr "Type de titre"
@@ -1272,265 +1273,265 @@ msgstr "Terminé"
msgid "Archived"
msgstr "Archivé"
-#: models.py:2281
+#: models.py:2283
msgid "Imported file"
msgstr "Fichier importé"
-#: models.py:2283
+#: models.py:2285
msgid "Associated images (zip file)"
msgstr "Images associées (fichier zip)"
-#: models.py:2285
+#: models.py:2287
msgid "Encoding"
msgstr "Codage"
-#: models.py:2287
+#: models.py:2289
msgid "Skip lines"
msgstr "Nombre de lignes d'entête"
-#: models.py:2288 templates/ishtar/import_list.html:47
+#: models.py:2290 templates/ishtar/import_list.html:51
msgid "Error file"
msgstr "Fichier erreur"
-#: models.py:2291
+#: models.py:2293
msgid "Result file"
msgstr "Fichier résultant"
-#: models.py:2294 templates/ishtar/import_list.html:53
+#: models.py:2296 templates/ishtar/import_list.html:57
msgid "Match file"
msgstr "Fichier de correspondance"
-#: models.py:2300
+#: models.py:2302
msgid "Conservative import"
msgstr "Import conservateur"
-#: models.py:2305
+#: models.py:2307
msgid "End date"
msgstr "Date de fin"
-#: models.py:2307
+#: models.py:2309
msgid "Remaining seconds"
msgstr "Secondes restantes"
-#: models.py:2312
+#: models.py:2314
msgid "Import"
msgstr "Import"
-#: models.py:2342
+#: models.py:2343
msgid "Analyse"
msgstr "Analyser"
-#: models.py:2344 models.py:2347
+#: models.py:2345 models.py:2348
msgid "Re-analyse"
msgstr "Analyser de nouveau "
-#: models.py:2345
+#: models.py:2346
msgid "Launch import"
msgstr "Lancer l'import"
-#: models.py:2348
+#: models.py:2349
msgid "Re-import"
msgstr "Ré-importer"
-#: models.py:2349
+#: models.py:2350
msgid "Archive"
msgstr "Archiver"
-#: models.py:2351
+#: models.py:2352
msgid "Unarchive"
msgstr "Désarchiver"
-#: models.py:2352 widgets.py:130 templates/ishtar/form_delete.html:11
+#: models.py:2353 widgets.py:130 templates/ishtar/form_delete.html:11
msgid "Delete"
msgstr "Supprimer"
-#: models.py:2493
+#: models.py:2494
msgid "Organizations"
msgstr "Organisations"
-#: models.py:2495
+#: models.py:2496
msgid "Can view all Organizations"
msgstr "Peut voir toutes les Organisations"
-#: models.py:2496
+#: models.py:2497
msgid "Can view own Organization"
msgstr "Peut voir sa propre Organisation"
-#: models.py:2497
+#: models.py:2498
msgid "Can add own Organization"
msgstr "Peut ajouter sa propre Organisation"
-#: models.py:2499
+#: models.py:2500
msgid "Can change own Organization"
msgstr "Peut modifier sa propre Organisation"
-#: models.py:2501
+#: models.py:2502
msgid "Can delete own Organization"
msgstr "Peut supprimer sa propre Organisation"
-#: models.py:2536
+#: models.py:2537
msgid "Groups"
msgstr "Groupes"
-#: models.py:2541
+#: models.py:2542
msgid "Person types"
msgstr "Types de personne"
-#: models.py:2553
+#: models.py:2554
msgid "Title types"
msgstr "Types de titre"
-#: models.py:2562
+#: models.py:2563
msgid "Mr"
msgstr "M."
-#: models.py:2563
+#: models.py:2564
msgid "Miss"
msgstr "Mlle"
-#: models.py:2564
+#: models.py:2565
msgid "Mr and Mrs"
msgstr "M. et Mme"
-#: models.py:2565
+#: models.py:2566
msgid "Mrs"
msgstr "Mme"
-#: models.py:2566
+#: models.py:2567
msgid "Doctor"
msgstr "Dr."
-#: models.py:2599
+#: models.py:2600
msgid "Contact type"
msgstr "Type de contact"
-#: models.py:2602 models.py:2666
+#: models.py:2603 models.py:2667
msgid "Types"
msgstr "Types"
-#: models.py:2605
+#: models.py:2606
msgid "Is attached to"
msgstr "Est rattaché à"
-#: models.py:2610
+#: models.py:2611
msgid "Persons"
msgstr "Personnes"
-#: models.py:2612
+#: models.py:2613
msgid "Can view all Persons"
msgstr "Peut voir toutes les Personnes"
-#: models.py:2613
+#: models.py:2614
msgid "Can view own Person"
msgstr "Peut voir sa propre Personne"
-#: models.py:2614
+#: models.py:2615
msgid "Can add own Person"
msgstr "Peut ajouter sa propre Personne"
-#: models.py:2615
+#: models.py:2616
msgid "Can change own Person"
msgstr "Peut modifier sa propre Personne"
-#: models.py:2616
+#: models.py:2617
msgid "Can delete own Person"
msgstr "Peut supprimer sa propre Personne"
-#: models.py:2793
+#: models.py:2794
msgid "Advanced shortcut menu"
msgstr "Menu de raccourci (avancé)"
-#: models.py:2796
+#: models.py:2797
msgid "Ishtar user"
msgstr "Utilisateur d'Ishtar"
-#: models.py:2797
+#: models.py:2798
msgid "Ishtar users"
msgstr "Utilisateurs d'Ishtar"
-#: models.py:2841
+#: models.py:2842
msgid "To modify the password use the form in Auth > User"
msgstr ""
"Pour modifier le mot de passe, utilisez le formulaire dans Authentification "
"> Utilisateurs"
-#: models.py:2847
+#: models.py:2849
msgid "Author types"
msgstr "Types d'auteur"
-#: models.py:2880
+#: models.py:2883
msgid "Source types"
msgstr "Types de document"
-#: models.py:2889
+#: models.py:2892
msgid "Support types"
msgstr "Types de support"
-#: models.py:2896
+#: models.py:2899
msgid "Format type"
msgstr "Type de format"
-#: models.py:2897
+#: models.py:2900
msgid "Format types"
msgstr "Types de format"
-#: models.py:2905
+#: models.py:2908
msgid "External ID"
msgstr "Identifiant externe"
-#: models.py:2908
+#: models.py:2911
msgid "Support"
msgstr "Support"
-#: models.py:2912
+#: models.py:2915
msgid "Scale"
msgstr "Échelle"
-#: models.py:2926
+#: models.py:2929
msgid "Item number"
msgstr "Numéro d'élément"
-#: models.py:2927
+#: models.py:2930
msgid "Ref."
msgstr "Réf."
-#: models.py:2930
+#: models.py:2933
msgid "Internal ref."
msgstr "Réf. interne"
-#: models.py:2973
+#: models.py:2976
msgid "Surface (m2)"
msgstr "Surface (m2)"
-#: models.py:2974 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
+#: models.py:2977 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
msgid "Localisation"
msgstr "Localisation"
-#: models.py:2999
+#: models.py:3002
msgid "Is preventive"
msgstr "Est du préventif"
-#: models.py:3003
+#: models.py:3006
msgid "Operation types"
msgstr "Types d'opération"
-#: models.py:3032
+#: models.py:3035
msgid "Preventive"
msgstr "Préventif"
-#: models.py:3033
+#: models.py:3036
msgid "Research"
msgstr "Programmé"
-#: models.py:3056
+#: models.py:3059
msgid "Authority name"
msgstr "Registre"
-#: models.py:3057
+#: models.py:3060
msgid "Authority SRID"
msgstr "SRID"
-#: models.py:3061
+#: models.py:3064
msgid "Spatial reference systems"
msgstr "Systèmes de référence spatiale"
@@ -1598,56 +1599,56 @@ msgstr "Demande de traitement"
msgid "Treatment"
msgstr "Traitement"
-#: views.py:1361 views.py:1404
+#: views.py:1363 views.py:1406
msgid "Operation not permitted."
msgstr "Opération non permise."
-#: views.py:1363
+#: views.py:1365
#, python-format
msgid "New %s"
msgstr "Nouveau %s"
-#: views.py:1422 views.py:1472
+#: views.py:1424 views.py:1474
msgid "Archaeological files"
msgstr "Dossiers"
-#: views.py:1423 views.py:1476
+#: views.py:1425 views.py:1478
msgid "Operations"
msgstr "Opérations"
-#: views.py:1425 views.py:1480
+#: views.py:1427 views.py:1482
msgid "Context records"
msgstr "Unités d'Enregistrement"
-#: views.py:1427 views.py:1483
+#: views.py:1429 views.py:1485
msgid "Finds"
msgstr "Mobilier"
-#: views.py:1676 templates/ishtar/import_list.html:43
+#: views.py:1683 templates/ishtar/import_list.html:47
msgid "Link unmatched items"
msgstr "Associer les éléments non rapprochés"
-#: views.py:1691
+#: views.py:1698
msgid "Delete import"
msgstr "Supprimer un import"
-#: views.py:1730
+#: views.py:1737
msgid "Merge persons"
msgstr "Fusionner des personnes"
-#: views.py:1754
+#: views.py:1761
msgid "Select the main person"
msgstr "Choisir la personne principale"
-#: views.py:1763
+#: views.py:1770
msgid "Merge organization"
msgstr "Fusionner des organisations"
-#: views.py:1773
+#: views.py:1780
msgid "Select the main organization"
msgstr "Sélectionner l'organisation principale"
-#: views.py:1813 views.py:1829
+#: views.py:1820 views.py:1836
msgid "Corporation manager"
msgstr "Représentant de la personne morale"
@@ -1655,11 +1656,11 @@ msgstr "Représentant de la personne morale"
msgid "Search..."
msgstr "Recherche..."
-#: widgets.py:670 templatetags/window_tables.py:91
+#: widgets.py:670 templatetags/window_tables.py:96
msgid "No results"
msgstr "Pas de résultats"
-#: widgets.py:671 templatetags/window_tables.py:92
+#: widgets.py:671 templatetags/window_tables.py:97
msgid "Loading..."
msgstr "Chargement..."
@@ -1667,15 +1668,15 @@ msgstr "Chargement..."
msgid "Remove"
msgstr "Enlever"
-#: wizards.py:372 templates/ishtar/import_delete.html:20
+#: wizards.py:374 templates/ishtar/import_delete.html:21
msgid "Yes"
msgstr "Oui"
-#: wizards.py:374
+#: wizards.py:376
msgid "No"
msgstr "Non"
-#: wizards.py:1390
+#: wizards.py:1396
#, python-format
msgid "[%(app_name)s] Account creation/modification"
msgstr "[%(app_name)s] Création/modification du compte"
@@ -1748,11 +1749,7 @@ msgstr "Éléments courants"
#: templates/base.html:84 templates/welcome.html:8 templates/welcome.html.py:9
#: templates/welcome.html:10 templates/welcome.html.py:11
-#: templates/ishtar/manage_basket.html:4
-#: templates/ishtar/blocks/window_field.html:1
-#: templates/ishtar/blocks/window_field_detail.html:1
-#: templates/ishtar/blocks/window_field_multiple.html:1
-#: templates/ishtar/blocks/window_field_url.html:1
+#: templates/ishtar/manage_basket.html:5
msgid ":"
msgstr " :"
@@ -2045,7 +2042,7 @@ msgid "where the magic happens."
msgstr "c'est là que la magie opère."
#: templates/window.html:40 templates/blocks/JQueryJqGrid.html:34
-#: templates/ishtar/manage_basket.html:12
+#: templates/ishtar/manage_basket.html:13
msgid "Add"
msgstr "Ajouter"
@@ -2128,7 +2125,7 @@ msgid "remove"
msgstr "supprimer"
#: templates/ishtar/form.html:11 templates/ishtar/formset.html:8
-#: templates/ishtar/import_list.html:58 templates/ishtar/merge.html:31
+#: templates/ishtar/import_list.html:62 templates/ishtar/merge.html:31
#: templates/ishtar/simple_form.html:7
#: templates/ishtar/wizard/default_wizard.html:31
#: templates/ishtar/wizard/search.html:13
@@ -2136,19 +2133,19 @@ msgstr "supprimer"
msgid "Validate"
msgstr "Valider"
-#: templates/ishtar/import_delete.html:8
+#: templates/ishtar/import_delete.html:9
msgid "The current items are linked to this import:"
msgstr "Les éléments suivants sont associés à cet import :"
-#: templates/ishtar/import_delete.html:18
+#: templates/ishtar/import_delete.html:19
msgid "All these items will be deleted with this import."
msgstr "Tous ces éléments vont être supprimés avec cet import."
-#: templates/ishtar/import_delete.html:19
+#: templates/ishtar/import_delete.html:20
msgid "Are you sure?"
msgstr "Êtes-vous sûr ?"
-#: templates/ishtar/import_delete.html:22
+#: templates/ishtar/import_delete.html:23
msgid "Back"
msgstr "Retour"
@@ -2156,35 +2153,39 @@ msgstr "Retour"
msgid "No pending imports."
msgstr "Pas d'imports en attente."
-#: templates/ishtar/import_list.html:14
+#: templates/ishtar/import_list.html:15
msgctxt "file"
msgid "File"
msgstr "Fichier"
-#: templates/ishtar/import_list.html:16
+#: templates/ishtar/import_list.html:17
msgid "Status"
msgstr "État"
-#: templates/ishtar/import_list.html:17
+#: templates/ishtar/import_list.html:18
msgid "Action"
msgstr "Action"
-#: templates/ishtar/import_list.html:25
+#: templates/ishtar/import_list.html:29
msgid "Source file"
msgstr "Fichier source"
-#: templates/ishtar/import_list.html:50
+#: templates/ishtar/import_list.html:54
msgid "Control file"
msgstr "Fichier de contrôle"
-#: templates/ishtar/manage_basket.html:9
+#: templates/ishtar/manage_basket.html:10
msgid "Checking \"Select all\" only selects the current page."
msgstr "Cocher « Tout sélectionner » sélectionne seulement la page courante."
-#: templates/ishtar/manage_basket.html:13
+#: templates/ishtar/manage_basket.html:14
msgid "Basket content"
msgstr "Contenu du panier"
+#: templates/ishtar/manage_basket.html:22 templates/ishtar/sheet.html:28
+msgid "Close"
+msgstr "Fermer"
+
#: templates/ishtar/merge.html:5
msgid "Merge"
msgstr "Fusionner"
@@ -2253,10 +2254,6 @@ msgstr "Identification"
msgid "Contact informations"
msgstr "Coordonnées"
-#: templates/ishtar/sheet.html:28
-msgid "Close"
-msgstr "Fermer"
-
#: templates/ishtar/sheet.html:34
msgid "Close all windows"
msgstr "Fermer toutes les fenêtres"
@@ -2281,60 +2278,64 @@ msgstr "Organisation de l'aménageur des dossiers"
msgid "Planning service of archaeological files"
msgstr "Service instructeur des dossiers"
-#: templates/ishtar/sheet_person.html:21
+#: templates/ishtar/sheet_person.html:23
#: templates/ishtar/wizard/wizard_person.html:19
msgid "Phone type"
msgstr "Type de téléphone"
-#: templates/ishtar/sheet_person.html:44
+#: templates/ishtar/sheet_person.html:46
#: templates/ishtar/wizard/wizard_person.html:42
msgid "Business address"
msgstr "Adresse professionnelle"
-#: templates/ishtar/sheet_person.html:52
+#: templates/ishtar/sheet_person.html:55
#: templates/ishtar/wizard/wizard_person.html:51
msgid "Other address"
msgstr "Autre adresse"
-#: templates/ishtar/sheet_person.html:60
+#: templates/ishtar/sheet_person.html:64
msgid "Associated organization"
msgstr "Organisation associée"
-#: templates/ishtar/sheet_person.html:71
+#: templates/ishtar/sheet_person.html:76
msgid "Associated operations as scientist"
msgstr "Opérations associées en tant que responsable scientifique"
-#: templates/ishtar/sheet_person.html:75
+#: templates/ishtar/sheet_person.html:80
msgid "Associated operations as responsible"
msgstr "Opérations associées en tant que responsable"
-#: templates/ishtar/sheet_person.html:80
+#: templates/ishtar/sheet_person.html:85
#: templates/ishtar/wizard/wizard_person_deletion.html:6
msgid "In charge of archaeological files"
msgstr "Responsable des dossiers"
-#: templates/ishtar/sheet_person.html:85
+#: templates/ishtar/sheet_person.html:90
#: templates/ishtar/wizard/wizard_person_deletion.html:14
msgid "General contractor of archaeological files"
msgstr "Aménageur des dossiers"
-#: templates/ishtar/sheet_person.html:90
+#: templates/ishtar/sheet_person.html:95
#: templates/ishtar/wizard/wizard_person_deletion.html:22
msgid "Responsible for planning service of archaeological files"
msgstr "Responsable pour le service instructeur des dossiers"
-#: templates/ishtar/sheet_person.html:96
+#: templates/ishtar/sheet_person.html:101
msgid "Documents associated to operations"
msgstr "Documents des opérations associées"
-#: templates/ishtar/sheet_person.html:101
+#: templates/ishtar/sheet_person.html:106
msgid "Documents associated to context records"
msgstr "Documents des Unités d'Enregistrement associées"
-#: templates/ishtar/sheet_person.html:106
+#: templates/ishtar/sheet_person.html:111
msgid "Documents associated to finds"
msgstr "Documents du mobilier associé"
+#: templates/ishtar/sheet_source.html:22
+msgid "Web link"
+msgstr "Lien Internet"
+
#: templates/ishtar/blocks/advanced_shortcut_menu.html:15
#: templates/ishtar/blocks/shortcut_menu.html:15
msgid ""
@@ -2396,6 +2397,20 @@ msgstr ""
"Propulsé par <a href=\"https://ishtar-archeo.net/\">Ishtar</a> v%(VERSION)s -"
" logiciel libre sous licence AGPL v3."
+#: templates/ishtar/blocks/sheet_creation_section.html:3
+msgctxt "Sheet"
+msgid "Creation"
+msgstr "Création"
+
+#: templates/ishtar/blocks/sheet_creation_section.html:12
+msgctxt "Sheet"
+msgid "Modification"
+msgstr "Modification"
+
+#: templates/ishtar/blocks/sheet_external_id.html:3
+msgid "Internal ID"
+msgstr "ID interne"
+
#: templates/ishtar/blocks/window_nav.html:6
msgid "Previous version"
msgstr "Version précédente"
diff --git a/version.py b/version.py
index faeadf711..8b36e12b1 100644
--- a/version.py
+++ b/version.py
@@ -1,4 +1,4 @@
-VERSION = (0, 99, 15)
+VERSION = (0, 99, 16)
def get_version():