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']) |