diff options
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 |