summaryrefslogtreecommitdiff
path: root/archaeological_context_records
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_context_records')
-rw-r--r--archaeological_context_records/forms.py21
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