diff options
Diffstat (limited to 'archaeological_finds/forms.py')
-rw-r--r-- | archaeological_finds/forms.py | 69 |
1 files changed, 44 insertions, 25 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 884bbe9a1..497061e3a 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -79,6 +79,7 @@ __all__ = [ 'TreatmentFileSourceFormSelection', 'DashboardTreatmentForm', 'DashboardTreatmentFileForm', 'RecordFormSelection', 'FindForm', 'DateForm', 'DatingFormSet', + 'PreservationForm', 'FindSelect', 'FindFormSelection', 'FindFormSelectionWarehouseModule', 'MultipleFindFormSelection', 'MultipleFindFormSelectionWarehouseModule', 'FindMultipleFormSelection', 'check_form', 'check_exist', 'check_not_exist', @@ -127,12 +128,9 @@ class FindForm(ManageOldType, forms.Form): file_upload = True form_label = _("Find") base_models = ['get_first_base_find', 'object_type', 'material_type', - 'preservation_to_consider', 'integritie', - 'remarkabilitie'] + 'integritie', 'remarkabilitie'] associated_models = {'material_type': models.MaterialType, - 'conservatory_state': models.ConservatoryState, 'object_type': models.ObjectType, - 'preservation_to_consider': models.PreservationType, 'integritie': models.IntegrityType, 'get_first_base_find__batch': models.BatchType, 'remarkabilitie': models.RemarkabilityType, @@ -154,17 +152,9 @@ class FindForm(ManageOldType, forms.Form): material_type = widgets.Select2MultipleField( label=_(u"Material type"), required=False ) - conservatory_state = forms.ChoiceField(label=_(u"Conservatory state"), - choices=[], required=False) - conservatory_comment = forms.CharField( - label=_(u"Conservatory comment"), required=False, - widget=forms.Textarea) object_type = widgets.Select2MultipleField( label=_(u"Object types"), required=False, ) - preservation_to_consider = forms.MultipleChoiceField( - label=_(u"Preservation type"), choices=[], - widget=widgets.Select2Multiple, required=False) integritie = forms.MultipleChoiceField( label=_(u"Integrity / interest"), choices=[], widget=widgets.Select2Multiple, required=False) @@ -251,19 +241,6 @@ class FindForm(ManageOldType, forms.Form): initial=self.init_data.get('get_first_base_find__batch')) self.fields['get_first_base_find__batch'].help_text = \ models.BatchType.get_help() - - self.fields['conservatory_state'].choices = \ - models.ConservatoryState.get_types( - initial=self.init_data.get('conservatory_state')) - self.fields['conservatory_state'].help_text = \ - models.ConservatoryState.get_help() - - self.fields['preservation_to_consider'].choices = \ - models.PreservationType.get_types( - empty_first=False, - initial=self.init_data.get('preservation_to_consider')) - self.fields['preservation_to_consider'].help_text = \ - models.PreservationType.get_help() self.fields['integritie'].choices = \ models.IntegrityType.get_types( empty_first=False, @@ -308,6 +285,48 @@ class FindForm(ManageOldType, forms.Form): return self.cleaned_data +class PreservationForm(ManageOldType, forms.Form): + form_label = _("Preservation") + base_models = ['alteration', 'alteration_cause', + 'preservation_to_consider'] + associated_models = {'alteration': models.AlterationType, + 'alteration_cause': models.AlterationCauseType, + 'treatment_emergency': models.TreatmentEmergencyType, + 'conservatory_state': models.ConservatoryState, + 'preservation_to_consider': models.PreservationType, + } + conservatory_state = forms.ChoiceField(label=_(u"Conservatory state"), + choices=[], required=False) + alteration = forms.MultipleChoiceField( + label=_(u"Alteration"), choices=[], + widget=widgets.Select2Multiple, required=False) + alteration_cause = forms.MultipleChoiceField( + label=_(u"Alteration cause"), choices=[], + widget=widgets.Select2Multiple, required=False) + preservation_to_consider = forms.MultipleChoiceField( + label=_(u"Preservation type"), choices=[], + widget=widgets.Select2Multiple, required=False) + insurance_value = FloatField(label=_(u"Insurance value"), required=False) + appraisal_date = forms.DateField( + label=_(u"Appraisal date"), widget=widgets.JQueryDate, required=False) + conservatory_comment = forms.CharField( + label=_(u"Conservatory comment"), required=False, + widget=forms.Textarea) + + TYPES = [ + ('conservatory_state', models.ConservatoryState, False), + ('preservation_to_consider', models.PreservationType, True), + ('alteration', models.AlterationType, True), + ('alteration_cause', models.AlterationCauseType, True), + ] + + def __init__(self, *args, **kwargs): + super(PreservationForm, self).__init__(*args, **kwargs) + self.fields['insurance_value'].label = u"{} ({})".format( + unicode(self.fields['insurance_value'].label), + get_current_profile().currency) + + class DateForm(ManageOldType, forms.Form): form_label = _("Dating") base_model = 'dating' |