summaryrefslogtreecommitdiff
path: root/archaeological_finds/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-09-01 18:49:14 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-09-01 18:49:14 +0200
commit80e315e2e69ecfe5e2a976d7a28ef46ec36aa885 (patch)
treecfcbb351671ea74fd6b9ab43ea4b61d3e4fc661a /archaeological_finds/forms.py
parent952bf485126d9f0e3c2357288a31c10d99c9966f (diff)
downloadIshtar-80e315e2e69ecfe5e2a976d7a28ef46ec36aa885.tar.bz2
Ishtar-80e315e2e69ecfe5e2a976d7a28ef46ec36aa885.zip
Non-available types display on old item modification (refs #3179)
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'])