summaryrefslogtreecommitdiff
path: root/archaeological_context_records/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_context_records/forms.py')
-rw-r--r--archaeological_context_records/forms.py40
1 files changed, 30 insertions, 10 deletions
diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py
index 0683b695f..f3bbb1b65 100644
--- a/archaeological_context_records/forms.py
+++ b/archaeological_context_records/forms.py
@@ -30,10 +30,11 @@ from django.utils.translation import ugettext_lazy as _
from ishtar_common.models import valid_id
from archaeological_operations.models import Period, Parcel, Operation, \
- ArchaeologicalSite
+ ArchaeologicalSite, RelationType as OpeRelationType
import models
from ishtar_common import widgets
+from archaeological_operations.widgets import OAWidget
from ishtar_common.forms import FinalForm, FormSet, \
reverse_lazy, get_form_selection, TableSelect
from ishtar_common.forms_common import get_town_field, SourceSelect
@@ -46,6 +47,7 @@ class RecordSelect(TableSelect):
parcel__town = get_town_field()
if settings.COUNTRY == 'fr':
operation__code_patriarche = forms.IntegerField(
+ widget=OAWidget,
label=_(u"Code PATRIARCHE"))
operation__year = forms.IntegerField(label=_(u"Operation's year"))
operation__operation_code = forms.IntegerField(
@@ -56,9 +58,12 @@ class RecordSelect(TableSelect):
reverse_lazy('autocomplete-archaeologicalsite'),
associated_model=ArchaeologicalSite),
validators=[valid_id(ArchaeologicalSite)])
+ ope_relation_types = forms.MultipleChoiceField(
+ label=_(u"Search within operation relations"), choices=[],
+ widget=forms.CheckboxSelectMultiple)
datings__period = forms.ChoiceField(label=_(u"Period"), choices=[])
unit = forms.ChoiceField(label=_(u"Unit type"), choices=[])
- parcel = ParcelField(label=_(u"Parcel (section/number)"))
+ parcel = ParcelField(label=_(u"Parcel (section/number/public domain)"))
relation_types = forms.MultipleChoiceField(
label=_(u"Search within relations"), choices=[],
widget=forms.CheckboxSelectMultiple)
@@ -71,15 +76,21 @@ class RecordSelect(TableSelect):
self.fields['unit'].help_text = models.Unit.get_help()
self.fields['relation_types'].choices = models.RelationType.get_types(
empty_first=False)
+ self.fields['ope_relation_types'].choices = OpeRelationType.get_types(
+ empty_first=False)
def get_input_ids(self):
ids = super(RecordSelect, self).get_input_ids()
ids.pop(ids.index('parcel'))
ids.append('parcel_0')
ids.append('parcel_1')
+ ids.append('parcel_2')
ids.pop(ids.index('relation_types'))
for idx, c in enumerate(self.fields['relation_types'].choices):
ids.append('relation_types_{}'.format(idx))
+ ids.pop(ids.index('ope_relation_types'))
+ for idx, c in enumerate(self.fields['ope_relation_types'].choices):
+ ids.append('ope_relation_types_{}'.format(idx))
return ids
@@ -113,10 +124,10 @@ class RecordFormGeneral(forms.Form):
validators=[validators.MaxLengthValidator(200)])
description = forms.CharField(label=_(u"Description"),
widget=forms.Textarea, required=False)
- length = forms.IntegerField(label=_(u"Length (cm)"), required=False)
- width = forms.IntegerField(label=_(u"Width (cm)"), required=False)
- thickness = forms.IntegerField(label=_(u"Thickness (cm)"), required=False)
- depth = forms.IntegerField(label=_(u"Depth (cm)"), required=False)
+ length = forms.IntegerField(label=_(u"Length (m)"), required=False)
+ width = forms.IntegerField(label=_(u"Width (m)"), required=False)
+ thickness = forms.IntegerField(label=_(u"Thickness (m)"), required=False)
+ depth = forms.IntegerField(label=_(u"Depth (m)"), required=False)
unit = forms.ChoiceField(label=_("Unit"), required=False, choices=[])
location = forms.CharField(
label=_(u"Location"), widget=forms.Textarea,
@@ -148,8 +159,8 @@ class RecordFormGeneral(forms.Form):
parcels = sorted(parcels, key=sort)
for key, gparcels in groupby(parcels, sort):
self.fields['parcel'].choices.append(
- (" - ".join(key), [(parcel.pk, parcel.short_label)
- for parcel in gparcels])
+ (" - ".join([k for k in key if k]),
+ [(parcel.pk, parcel.short_label) for parcel in gparcels])
)
self.fields['unit'].choices = models.Unit.get_types()
self.fields['unit'].help_text = models.Unit.get_help()
@@ -230,6 +241,9 @@ class RecordFormInterpretation(forms.Form):
form_label = _("Interpretation")
associated_models = {'activity': models.ActivityType,
'identification': models.IdentificationType}
+ datings_comment = forms.CharField(
+ label=_(u"Comments on dating"), required=False,
+ widget=forms.Textarea)
has_furniture = forms.NullBooleanField(label=_(u"Has furniture?"),
required=False)
filling = forms.CharField(label=_(u"Filling"),
@@ -277,10 +291,16 @@ SourceRecordFormSelection = get_form_selection(
class RecordSourceSelect(SourceSelect):
- context_record__parcel__town = get_town_field(
- label=_(u"Town of the operation"))
context_record__operation__year = forms.IntegerField(
label=_(u"Year of the operation"))
+ context_record__operation__operation_code = forms.IntegerField(
+ label=_(u"Numeric reference"))
+ if settings.COUNTRY == 'fr':
+ context_record__operation__code_patriarche = forms.IntegerField(
+ widget=OAWidget,
+ label="Code PATRIARCHE")
+ context_record__parcel__town = get_town_field(
+ label=_(u"Town of the operation"))
context_record__datings__period = forms.ChoiceField(
label=_(u"Period of the context record"), choices=[])
context_record__unit = forms.ChoiceField(