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" | 
