diff options
Diffstat (limited to 'archaeological_finds/forms.py')
-rw-r--r-- | archaeological_finds/forms.py | 98 |
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" |