summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-03-03 13:29:19 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-03-03 13:29:19 +0100
commit6f3c83c82e708d9e8f478ca09a6c6a05d20f139f (patch)
tree7108b211d2c9f66cdf52bc1f296f3a93d72f1554
parenta4d4254e2480e3f9323609d9af298f3436799100 (diff)
downloadIshtar-6f3c83c82e708d9e8f478ca09a6c6a05d20f139f.tar.bz2
Ishtar-6f3c83c82e708d9e8f478ca09a6c6a05d20f139f.zip
Sites: add locality and underwater fields (forms and sheet)
-rw-r--r--archaeological_operations/forms.py27
-rw-r--r--archaeological_operations/models.py7
-rw-r--r--archaeological_operations/templates/ishtar/sheet_site.html14
-rw-r--r--archaeological_operations/views.py6
4 files changed, 49 insertions, 5 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py
index ae9a18862..91d421541 100644
--- a/archaeological_operations/forms.py
+++ b/archaeological_operations/forms.py
@@ -1296,6 +1296,14 @@ class SiteForm(ManageOldType):
remain = forms.MultipleChoiceField(
label=_("Remains"), choices=[], widget=widgets.Select2Multiple,
required=False)
+ locality_ngi = forms.CharField(
+ label=_(u"National Geographic Institute locality"),
+ widget=forms.Textarea, required=False
+ )
+ locality_cadastral = forms.CharField(
+ label=_(u"Cadastral locality"),
+ widget=forms.Textarea, required=False
+ )
TYPES = [
FieldType('period', models.Period, True),
@@ -1319,6 +1327,25 @@ SiteTownFormset.form_admin_name = _(u"Archaeological site - 020 - Towns")
SiteTownFormset.form_slug = u"archaeological_site-020-towns"
+def check_underwater_module(self):
+ return get_current_profile().underwater
+
+
+class SiteUnderwaterForm(ManageOldType):
+ form_label = _(u"Underwater")
+ form_admin_name = _(u"Archaeological site - 030 - Underwater")
+ form_slug = u"archaeological_site-030-underwater"
+
+ shipwreck_code = forms.CharField(
+ label=_(u"Shipwreck code"), required=False)
+ sinking_date = DateField(
+ label=_(u"Sinking date"), required=False)
+ oceanographic_service_localisation = forms.CharField(
+ label=_("Oceanographic service localisation"),
+ widget=forms.Textarea, required=False
+ )
+
+
####################################
# Source management for operations #
####################################
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index 20a476da0..6daf9dc12 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -92,7 +92,10 @@ class ArchaeologicalSite(BaseHistorizedItem):
SHOW_URL = 'show-site'
TABLE_COLS = ['reference', 'name', 'towns', 'periods', 'remains']
SLUG = 'site'
- BASE_SEARCH_VECTORS = ["reference", "name"]
+ BASE_SEARCH_VECTORS = [
+ "reference", "name", "oceanographic_service_localisation",
+ "shipwreck_code"
+ ]
M2M_SEARCH_VECTORS = ["periods__name", "remains__name", "towns__name"]
PARENT_SEARCH_VECTORS = ['operations']
reference = models.CharField(_(u"Reference"), max_length=200, unique=True)
@@ -115,7 +118,7 @@ class ArchaeologicalSite(BaseHistorizedItem):
null=True, blank=True)
# underwater
oceanographic_service_localisation = models.TextField(
- _("Oceanographic service localisation"), null=True, blank=True)
+ _(u"Oceanographic service localisation"), null=True, blank=True)
shipwreck_code = models.TextField(
_(u"Shipwreck code"), null=True, blank=True)
sinking_date = models.DateField(
diff --git a/archaeological_operations/templates/ishtar/sheet_site.html b/archaeological_operations/templates/ishtar/sheet_site.html
index c4652e3bb..c42cf4f88 100644
--- a/archaeological_operations/templates/ishtar/sheet_site.html
+++ b/archaeological_operations/templates/ishtar/sheet_site.html
@@ -42,13 +42,23 @@
{% field_flex_multiple "Remains" item.remains %}
</div>
-{% if not next %}
-{% if item.towns.count %}
+{% if item.towns.count or item.locality_ngi or item.locality_cadastral %}
<h3>{% trans "Localisation"%}</h3>
<div class="row">
{% field_flex_full "Towns" item.towns_codes|join:" ; " %}
+ {% field_flex_full "National Geographic Institute locality" item.locality_ngi "<pre>" "</pre>" %}
+ {% field_flex_full "Cadastral locality" item.locality_cadastral "<pre>" "</pre>" %}
</div>
{% endif %}
+
+{% if item.oceanographic_service_localisation or item.shipwreck_code or item.sinking_date %}
+<h3>{% trans "Underwater"%}</h3>
+
+<div class="row">
+ {% field_flex "Shipwreck code" item.shipwreck_code %}
+ {% field_flex "Sinking date" item.sinking_date %}
+ {% field_flex_full "Oceanographic service localisation" item.oceanographic_service_localisation "<pre>" "</pre>" %}
+</div>
{% endif %}
{% trans "Operations" as operations %}
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index 55c688854..61c9e6c19 100644
--- a/archaeological_operations/views.py
+++ b/archaeological_operations/views.py
@@ -44,7 +44,7 @@ from archaeological_operations.forms import ArchaeologicalSiteForm, \
AdministrativeActOpeFormSelection, AdministrativeActOpeForm, \
AdministrativeActOpeModifForm, FinalAdministrativeActDeleteForm, \
AdministrativeActRegisterFormSelection, DocumentGenerationAdminActForm, \
- SiteForm, SiteTownFormset
+ SiteForm, SiteTownFormset, SiteUnderwaterForm, check_underwater_module
from ishtar_common.views import get_item, show_item, revert_item, new_item
@@ -352,11 +352,13 @@ site_search_wizard = SiteSearch.as_view(
site_creation_steps = [
('general-site_creation', SiteForm),
('towns-site_creation', SiteTownFormset),
+ ('underwater-site_creation', SiteUnderwaterForm),
('final-site_creation', FinalForm)
]
site_creation_wizard = SiteWizard.as_view(
site_creation_steps,
+ condition_dict={'underwater-site_creation': check_underwater_module},
url_name='site_creation',
)
@@ -364,11 +366,13 @@ site_modification_steps = [
('selec-site_modification', SiteFormSelection),
('general-site_modification', SiteForm),
('towns-site_modification', SiteTownFormset),
+ ('underwater-site_modification', SiteUnderwaterForm),
('final-site_modification', FinalForm)
]
site_modification_wizard = SiteModificationWizard.as_view(
site_modification_steps,
+ condition_dict={'underwater-site_modification': check_underwater_module},
url_name='site_modification',
)