summaryrefslogtreecommitdiff
path: root/archaeological_finds/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds/forms.py')
-rw-r--r--archaeological_finds/forms.py32
1 files changed, 21 insertions, 11 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py
index 75b61cd37..e50172f1c 100644
--- a/archaeological_finds/forms.py
+++ b/archaeological_finds/forms.py
@@ -31,7 +31,7 @@ from django.utils.translation import ugettext_lazy as _
import models
from archaeological_context_records.models import DatingType, DatingQuality, \
- ContextRecord, RelationType as CRRelationType
+ ContextRecord, RelationType as CRRelationType, Dating
from archaeological_finds.forms_treatments import TreatmentSelect, \
TreatmentFormSelection, BaseTreatmentForm, TreatmentModifyForm, \
AdministrativeActTreatmentForm, TreatmentFormFileChoice, \
@@ -326,6 +326,7 @@ class QAFindFormMulti(QAForm):
'qa_object_types': models.ObjectType,
'qa_communicabilities': models.CommunicabilityType,
'qa_checked_type': models.CheckedType,
+ 'qa_period': Period
}
MULTI = True
@@ -337,7 +338,8 @@ class QAFindFormMulti(QAForm):
'qa_ue': FormHeader(_(u"Context record")),
'qa_label': FormHeader(_(u"Identification")),
'qa_description': FormHeader(_(u"Description")),
- 'qa_checked_type': FormHeader(_(u"Sheet"))
+ 'qa_checked_type': FormHeader(_(u"Sheet")),
+ 'qa_period': FormHeader(_(u"Datation")),
}
SINGLE_FIELDS = [
@@ -371,12 +373,6 @@ class QAFindFormMulti(QAForm):
qa_object_types = widgets.Select2MultipleField(
label=_(u"Object types"), required=False,
)
- qa_decoration = forms.CharField(
- label=_(u"Decoration"), widget=forms.Textarea,
- required=False)
- qa_inscription = forms.CharField(
- label=_(u"Inscription"), widget=forms.Textarea,
- required=False)
qa_manufacturing_place = forms.CharField(
label=_(u"Manufacturing place"), required=False)
qa_communicabilities = widgets.Select2MultipleField(
@@ -385,20 +381,24 @@ class QAFindFormMulti(QAForm):
qa_comment = forms.CharField(
label=_(u"Comment"), required=False,
widget=forms.Textarea)
- qa_dating_comment = forms.CharField(
- label=_(u"Comment on dating"), required=False,
- widget=forms.Textarea)
qa_checked_type = forms.ChoiceField(label=_(u"Check"), required=False)
qa_check_date = forms.DateField(
label=_(u"Check date"), widget=DatePicker, required=False)
+ qa_period = widgets.Select2MultipleField(
+ label=_("Period"), choices=[], required=False)
+ qa_dating_comment = forms.CharField(
+ label=_(u"Comment on dating"), required=False,
+ widget=forms.Textarea)
+
TYPES = [
FieldType('qa_material_types', models.MaterialType, is_multiple=True),
FieldType('qa_object_types', models.ObjectType, is_multiple=True),
FieldType('qa_communicabilities', models.CommunicabilityType,
is_multiple=True),
FieldType('qa_checked_type', models.CheckedType),
+ FieldType('qa_period', Period, is_multiple=True),
]
def _get_qa_ue(self, value):
@@ -418,6 +418,16 @@ class QAFindFormMulti(QAForm):
bf.history_modifier = user
bf.save()
+ def _set_qa_period(self, item, user):
+ periods = self.cleaned_data['qa_period']
+ if not periods:
+ return
+ for period in periods:
+ if Dating.objects.filter(find=item, period__pk=period).count():
+ continue
+ d = Dating.objects.create(period_id=period)
+ item.datings.add(d)
+
class QAFindFormSingle(QAFindFormMulti):
MULTI = False