diff options
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 |
commit | a96f115b15e5e436204361e74a8f8301caf202dd (patch) | |
tree | 796bed23b921d02729bfead39956225f44a42a2d | |
parent | bef605e10e590d9277af782594091a1a31072246 (diff) | |
download | Ishtar-a96f115b15e5e436204361e74a8f8301caf202dd.tar.bz2 Ishtar-a96f115b15e5e436204361e74a8f8301caf202dd.zip |
Sites: add town form
-rw-r--r-- | archaeological_operations/forms.py | 8 | ||||
-rw-r--r-- | archaeological_operations/models.py | 2 | ||||
-rw-r--r-- | archaeological_operations/views.py | 4 | ||||
-rw-r--r-- | ishtar_common/models.py | 4 |
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=''): """ |