summaryrefslogtreecommitdiff
path: root/archaeological_finds/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds/forms.py')
-rw-r--r--archaeological_finds/forms.py40
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'])