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.py98
1 files changed, 96 insertions, 2 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py
index 4df6629e1..a221247e0 100644
--- a/archaeological_finds/forms.py
+++ b/archaeological_finds/forms.py
@@ -43,7 +43,7 @@ from archaeological_finds.forms_treatments import TreatmentSelect, \
AdministrativeActTreatmentFileForm, \
AdministrativeActTreatmentFileFormSelection, \
AdministrativeActTreatmentFileModifForm, \
- DashboardForm as DashboardTreatmentForm, \
+ DashboardForm as DashboardTreatmentForm, N1TreatmentForm,\
DashboardTreatmentFileForm, QAFindTreatmentForm
from archaeological_operations.models import Period, ArchaeologicalSite, \
RelationType as OpeRelationType
@@ -82,7 +82,8 @@ __all__ = [
'FindDeletionForm', 'UpstreamFindFormSelection', 'NewFindBasketForm',
'SelectFindBasketForm', 'DeleteFindBasketForm', 'FindBasketAddItemForm',
'QAFindFormSingle', 'QAFindFormMulti', 'QAFindBasketForm',
- 'QAFindTreatmentForm'
+ 'QAFindTreatmentForm',
+ 'N1TreatmentForm', 'ResultingFindForm'
]
logger = logging.getLogger(__name__)
@@ -319,6 +320,99 @@ class FindForm(CustomForm, ManageOldType):
return self.cleaned_data
+class ResultingFindForm(CustomForm, ManageOldType):
+ file_upload = True
+ form_label = _("Resulting find")
+ form_admin_name = _(u"Treatment n-1 - 030 - General")
+ form_slug = "treatmentn1-030-general"
+
+ base_models = ['object_type', 'material_type', 'communicabilitie']
+ associated_models = {
+ 'material_type': models.MaterialType,
+ 'object_type': models.ObjectType,
+ 'communicabilitie': models.CommunicabilityType,
+ 'material_type_quality': models.MaterialTypeQualityType,
+ 'object_type_quality': models.ObjectTypeQualityType,
+ 'checked_type': models.CheckedType,
+ }
+ HEADERS = {}
+ HEADERS['label'] = FormHeader(_(u"Identification"))
+
+ label = forms.CharField(
+ label=_(u"Free ID"),
+ validators=[validators.MaxLengthValidator(60)])
+ denomination = forms.CharField(label=_(u"Denomination"), required=False)
+ previous_id = forms.CharField(label=_("Previous ID"), required=False)
+ museum_id = forms.CharField(label=_(u"Museum ID"), required=False)
+ seal_number = forms.CharField(label=_(u"Seal number"), required=False)
+ mark = forms.CharField(label=_(u"Mark"), required=False)
+
+ HEADERS['description'] = FormHeader(_(u"Description"))
+ description = forms.CharField(label=_(u"Description"),
+ widget=forms.Textarea, required=False)
+ is_complete = forms.NullBooleanField(label=_(u"Is complete?"),
+ required=False)
+ material_type = widgets.Select2MultipleField(
+ label=_(u"Material types"), required=False
+ )
+ material_type_quality = forms.ChoiceField(
+ label=_(u"Material type quality"), required=False, choices=[])
+ object_type = widgets.Select2MultipleField(
+ label=_(u"Object types"), required=False,
+ )
+ object_type_quality = forms.ChoiceField(
+ label=_(u"Object type quality"), required=False, choices=[])
+ find_number = forms.IntegerField(label=_(u"Find number"), required=False)
+ min_number_of_individuals = forms.IntegerField(
+ label=_(u"Minimum number of individuals (MNI)"), required=False)
+
+ decoration = forms.CharField(label=_(u"Decoration"), widget=forms.Textarea,
+ required=False)
+ inscription = forms.CharField(label=_(u"Inscription"),
+ widget=forms.Textarea, required=False)
+ manufacturing_place = forms.CharField(
+ label=_(u"Manufacturing place"), required=False)
+ communicabilitie = widgets.Select2MultipleField(
+ label=_(u"Communicability"), required=False
+ )
+ comment = forms.CharField(label=_(u"Comment"), required=False,
+ widget=forms.Textarea)
+ dating_comment = forms.CharField(
+ label=_(u"Comment on dating"), required=False, widget=forms.Textarea)
+
+ HEADERS['length'] = FormHeader(_(u"Dimensions"))
+ length = FloatField(label=_(u"Length (cm)"), required=False)
+ width = FloatField(label=_(u"Width (cm)"), required=False)
+ height = FloatField(label=_(u"Height (cm)"), required=False)
+ diameter = FloatField(label=_(u"Diameter (cm)"), required=False)
+ thickness = FloatField(label=_(u"Thickness (cm)"), required=False)
+ volume = FloatField(label=_(u"Volume (l)"), required=False)
+ weight = FloatField(label=_(u"Weight (g)"), required=False)
+ clutter_long_side = FloatField(
+ label=_(u"Clutter long side (cm)"), required=False)
+ clutter_short_side = FloatField(
+ label=_(u"Clutter short side (cm)"), required=False)
+ clutter_height = FloatField(
+ label=_(u"Clutter height (cm)"), required=False)
+ dimensions_comment = forms.CharField(
+ label=_(u"Dimensions comment"), required=False, widget=forms.Textarea)
+
+ HEADERS['checked_type'] = FormHeader(_(u"Sheet"))
+ checked_type = forms.ChoiceField(label=_(u"Check"), required=False)
+ check_date = forms.DateField(
+ initial=get_now, label=_(u"Check date"), widget=DatePicker)
+
+ TYPES = [
+ FieldType('material_type', models.MaterialType, is_multiple=True),
+ FieldType('material_type_quality', models.MaterialTypeQualityType),
+ FieldType('object_type', models.ObjectType, is_multiple=True),
+ FieldType('object_type_quality', models.ObjectTypeQualityType),
+ FieldType('communicabilitie', models.CommunicabilityType,
+ is_multiple=True),
+ FieldType('checked_type', models.CheckedType, is_multiple=True),
+ ]
+
+
class QAFindFormMulti(QAForm):
form_admin_name = _(u"Find - Quick action - Modify")
form_slug = "find-quickaction-modify"