diff options
Diffstat (limited to 'archaeological_finds/forms.py')
| -rw-r--r-- | archaeological_finds/forms.py | 40 | 
1 files changed, 26 insertions, 14 deletions
| diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 1ca359cce..6c6f41457 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -41,7 +41,8 @@ import models  from ishtar_common import widgets  from archaeological_operations.widgets import OAWidget  from ishtar_common.forms import FormSet, FloatField, \ -    get_form_selection, reverse_lazy, TableSelect, get_now, FinalForm +    get_form_selection, reverse_lazy, TableSelect, get_now, FinalForm, \ +    ManageOldType  from ishtar_common.forms_common import get_town_field, SourceSelect @@ -77,7 +78,7 @@ class RecordFormSelection(forms.Form):              cr.operation.pk) -class FindForm(forms.Form): +class FindForm(ManageOldType, forms.Form):      file_upload = True      form_label = _("Find")      base_models = ['get_first_base_find', 'object_type', 'material_type', @@ -147,22 +148,28 @@ class FindForm(forms.Form):      def __init__(self, *args, **kwargs):          super(FindForm, self).__init__(*args, **kwargs)          self.fields['checked'].choices = models.CHECK_CHOICES -        self.fields['material_type'].choices = models.MaterialType.get_types()          self.fields['material_type'].help_text = models.MaterialType.get_help()          self.fields['conservatory_state'].choices = \ -            models.ConservatoryState.get_types() +            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) +            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) +            models.IntegrityType.get_types( +                empty_first=False, +                initial=self.init_data.get('integritie'))          self.fields['integritie'].help_text = \              models.IntegrityType.get_help()          self.fields['remarkabilitie'].choices = \ -            models.RemarkabilityType.get_types(empty_first=False) +            models.RemarkabilityType.get_types( +                empty_first=False, +                initial=self.init_data.get('remarkabilitie'))          self.fields['remarkabilitie'].help_text = \              models.RemarkabilityType.get_help()          self.fields['estimated_value'].label = u"{} ({})".format( @@ -170,7 +177,7 @@ class FindForm(forms.Form):              get_current_profile().currency) -class DateForm(forms.Form): +class DateForm(ManageOldType, forms.Form):      form_label = _("Dating")      base_model = 'dating'      associated_models = {'dating_type': DatingType, @@ -189,11 +196,14 @@ class DateForm(forms.Form):      def __init__(self, *args, **kwargs):          super(DateForm, self).__init__(*args, **kwargs) -        self.fields['dating_type'].choices = DatingType.get_types() +        self.fields['dating_type'].choices = DatingType.get_types( +            initial=self.init_data.get('dating_type'))          self.fields['dating_type'].help_text = DatingType.get_help() -        self.fields['period'].choices = Period.get_types() +        self.fields['period'].choices = Period.get_types( +            initial=self.init_data.get('period'))          self.fields['period'].help_text = Period.get_help() -        self.fields['quality'].choices = DatingQuality.get_types() +        self.fields['quality'].choices = DatingQuality.get_types( +            initial=self.init_data.get('quality'))          self.fields['quality'].help_text = DatingQuality.get_help() @@ -405,7 +415,7 @@ def check_treatment(form_name, type_key, type_list=[], not_type_list=[]):      return func -class ResultFindForm(forms.Form): +class ResultFindForm(ManageOldType, forms.Form):      form_label = _(u"Resulting find")      associated_models = {'material_type': models.MaterialType}      label = forms.CharField( @@ -420,7 +430,8 @@ class ResultFindForm(forms.Form):      def __init__(self, *args, **kwargs):          super(ResultFindForm, self).__init__(*args, **kwargs) -        self.fields['material_type'].choices = models.MaterialType.get_types() +        self.fields['material_type'].choices = models.MaterialType.get_types( +            initial=self.init_data.get('material_type'))          self.fields['material_type'].help_text = models.MaterialType.get_help()  ResultFindFormSet = formset_factory(ResultFindForm, can_delete=True, @@ -555,7 +566,7 @@ class FindBasketAddItemForm(forms.Form):          return basket -class BaseTreatmentForm(SelectFindBasketForm): +class BaseTreatmentForm(ManageOldType, SelectFindBasketForm):      form_label = _(u"Base treatment")      associated_models = {'treatment_type': models.TreatmentType,                           'person': Person, @@ -584,6 +595,7 @@ class BaseTreatmentForm(SelectFindBasketForm):      def __init__(self, *args, **kwargs):          super(BaseTreatmentForm, self).__init__(*args, **kwargs)          self.fields['treatment_type'].choices = models.TreatmentType.get_types( +            initial=self.init_data.get('treatment_type'),              exclude=['packaging'])          self.fields['treatment_type'].help_text = \              models.TreatmentType.get_help(exclude=['packaging']) | 
