diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-02-14 18:03:56 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-02-15 17:20:19 +0100 |
commit | c8f5d324cad4de6b51cc8b954fe3f5b4fc874c47 (patch) | |
tree | 92b533c6b223a7fa9d6a7e4e00b057c5c3195a40 /archaeological_operations/forms.py | |
parent | 92d1c49f7639579a5b20d2fcd00c4430b191ee4d (diff) | |
download | Ishtar-c8f5d324cad4de6b51cc8b954fe3f5b4fc874c47.tar.bz2 Ishtar-c8f5d324cad4de6b51cc8b954fe3f5b4fc874c47.zip |
Archaeological site: simple creation wizard (refs #3913)
Diffstat (limited to 'archaeological_operations/forms.py')
-rw-r--r-- | archaeological_operations/forms.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index 38efb269f..bf69a74b5 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -1288,6 +1288,32 @@ class SiteFormSelection(IshtarForm): return cleaned_data +class SiteForm(ManageOldType): + form_label = _(u"General") + form_admin_name = _(u"Archaeological site - 010 - General") + associated_models = {'period': models.Period, 'remain': models.RemainType} + reference = forms.CharField(label=_(u"Reference"), max_length=20) + name = forms.CharField(label=_(u"Name"), max_length=200, required=False) + period = forms.MultipleChoiceField( + label=_("Periods"), choices=[], widget=widgets.Select2Multiple, + required=False) + remain = forms.MultipleChoiceField( + label=_("Remains"), choices=[], widget=widgets.Select2Multiple, + required=False) + + TYPES = [ + FieldType('period', models.Period, True), + FieldType('remain', models.RemainType, True), + ] + + def clean_reference(self): + reference = self.cleaned_data['reference'] + if models.ArchaeologicalSite.objects.filter( + reference=reference).count(): + raise forms.ValidationError(_(u"This reference already exists.")) + return reference + + #################################### # Source management for operations # #################################### |