diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-02-18 18:59:12 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-02-18 18:59:12 +0100 |
commit | 19f63ba9641bb963ccaee345e6593b05f3b35497 (patch) | |
tree | 339bd5355a4422a17f5694375887c7e5b70af37d /archaeological_context_records/forms.py | |
parent | 9121004af3f6a86e642c74e1aa3391fd8302fa3e (diff) | |
download | Ishtar-19f63ba9641bb963ccaee345e6593b05f3b35497.tar.bz2 Ishtar-19f63ba9641bb963ccaee345e6593b05f3b35497.zip |
Context record: site field
Diffstat (limited to 'archaeological_context_records/forms.py')
-rw-r--r-- | archaeological_context_records/forms.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py index b2bf9f39b..ac37ee6f6 100644 --- a/archaeological_context_records/forms.py +++ b/archaeological_context_records/forms.py @@ -29,7 +29,7 @@ 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 valid_id +from ishtar_common.models import valid_id, IshtarSiteProfile from archaeological_operations.models import Period, Parcel, Operation, \ ArchaeologicalSite, RelationType as OpeRelationType import models @@ -71,7 +71,7 @@ class RecordSelect(TableSelect): operation__year = forms.IntegerField(label=_(u"Operation's year")) operation__operation_code = forms.IntegerField( label=_(u"Operation's number (index by year)")) - archaeological_sites = forms.IntegerField( + archaeological_site = forms.IntegerField( label=_("Archaeological site"), widget=widgets.JQueryAutoComplete( reverse_lazy('autocomplete-archaeologicalsite'), @@ -147,6 +147,10 @@ class RecordFormGeneral(CustomForm, ManageOldType): pk = forms.IntegerField(required=False, widget=forms.HiddenInput) operation_id = forms.IntegerField(widget=forms.HiddenInput) parcel = forms.ChoiceField(label=_("Parcel"), choices=[]) + archaeological_site = forms.ChoiceField( + label=" ", choices=[], required=False, + help_text=_(u"Only {} associated to the operation can be selected.") + ) label = forms.CharField(label=_(u"ID"), validators=[validators.MaxLengthValidator(200)]) description = forms.CharField(label=_(u"Description"), @@ -225,6 +229,15 @@ class RecordFormGeneral(CustomForm, ManageOldType): kwargs.pop('files') super(RecordFormGeneral, self).__init__(*args, **kwargs) self.fields['parcel'].choices = [('', '--')] + + site_label = IshtarSiteProfile.get_default_site_label() + self.fields['archaeological_site'].label = site_label + self.fields['archaeological_site'].help_text = \ + unicode(self.fields['archaeological_site'].help_text).format( + site_label + ) + self.fields['archaeological_site'].choices = [('', '--')] + if operation: self.fields['operation_id'].initial = operation.pk parcels = operation.parcels.all() @@ -235,6 +248,10 @@ class RecordFormGeneral(CustomForm, ManageOldType): (" - ".join([k for k in key if k]), [(parcel.pk, parcel.short_label) for parcel in gparcels]) ) + self.fields['archaeological_site'].choices += [ + (site.pk, unicode(site)) + for site in operation.archaeological_sites.all() + ] def clean(self): # manage unique context record ID |