summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-02-18 17:40:40 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-02-18 17:40:40 +0100
commitab8666e7140f64698c2755b72ec5b322facae952 (patch)
tree796bed23b921d02729bfead39956225f44a42a2d
parent46c182b92e2034a3698889b3f430d50f2d589266 (diff)
downloadIshtar-ab8666e7140f64698c2755b72ec5b322facae952.tar.bz2
Ishtar-ab8666e7140f64698c2755b72ec5b322facae952.zip
Sites: add town form
-rw-r--r--archaeological_operations/forms.py8
-rw-r--r--archaeological_operations/models.py2
-rw-r--r--archaeological_operations/views.py4
-rw-r--r--ishtar_common/models.py4
4 files changed, 16 insertions, 2 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py
index 8954dae77..7cc5632d8 100644
--- a/archaeological_operations/forms.py
+++ b/archaeological_operations/forms.py
@@ -1291,6 +1291,7 @@ class SiteFormSelection(IshtarForm):
class SiteForm(ManageOldType):
form_label = _(u"General")
form_admin_name = _(u"Archaeological site - 010 - General")
+ form_slug = u"archaeological_site-010-general"
associated_models = {'period': models.Period, 'remain': models.RemainType}
pk = forms.IntegerField(required=False, widget=forms.HiddenInput)
reference = forms.CharField(label=_(u"Reference"), max_length=20)
@@ -1317,6 +1318,13 @@ class SiteForm(ManageOldType):
return reference
+SiteTownFormset = formset_factory(TownForm, can_delete=True,
+ formset=TownFormSet)
+SiteTownFormset.form_label = _(u"Towns")
+SiteTownFormset.form_admin_name = _(u"Archaeological site - 020 - Towns")
+SiteTownFormset.form_slug = u"archaeological_site-020-towns"
+
+
####################################
# Source management for operations #
####################################
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index 4be807478..296cbf159 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -130,7 +130,7 @@ class ArchaeologicalSite(BaseHistorizedItem):
for k, lbl in keys:
if getattr(self, k).count():
name += lbl.format(u", ".join([
- unicode(v) for v in getattr(self, k).all()
+ v.name for v in getattr(self, k).all()
]))
return name
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index fdf9cec30..054963f09 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
+ SiteForm, SiteTownFormset
from ishtar_common.views import get_item, show_item, revert_item, new_item
@@ -351,6 +351,7 @@ site_search_wizard = SiteSearch.as_view(
site_creation_steps = [
('general-site_creation', SiteForm),
+ ('towns-site_creation', SiteTownFormset),
('final-site_creation', FinalForm)
]
@@ -363,6 +364,7 @@ site_creation_wizard = SiteWizard.as_view(
site_modification_steps = [
('selec-site_modification', SiteFormSelection),
('general-site_modification', SiteForm),
+ ('towns-site_modification', SiteTownFormset),
('final-site_modification', FinalForm)
]
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 14b9849e1..88ad3009a 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -456,6 +456,10 @@ class GeneralType(Cached, models.Model):
def short_label(self):
return self.label
+ @property
+ def name(self):
+ return self.label
+
@classmethod
def get_or_create(cls, slug, label=''):
"""