diff options
-rw-r--r-- | archaeological_context_records/forms.py | 21 | ||||
-rw-r--r-- | archaeological_operations/templates/ishtar/sheet_site.html | 2 |
2 files changed, 20 insertions, 3 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 diff --git a/archaeological_operations/templates/ishtar/sheet_site.html b/archaeological_operations/templates/ishtar/sheet_site.html index 87bec9bd7..ec00480d9 100644 --- a/archaeological_operations/templates/ishtar/sheet_site.html +++ b/archaeological_operations/templates/ishtar/sheet_site.html @@ -21,7 +21,7 @@ <div class="row"> <div class="col main"> {{item.reference}} - {{item.name}} + {{item.name|default:''}} </div> <div class="col text-muted"> {% include "ishtar/blocks/sheet_external_id.html" %} |