summaryrefslogtreecommitdiff
path: root/archaeological_context_records/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
commitcaebc92f6e7f0a3e8445d054edd5587c58920c76 (patch)
treecfcbb351671ea74fd6b9ab43ea4b61d3e4fc661a /archaeological_context_records/forms.py
parentf0901e79cd11ead1d5ac2543ac4affcf23a5f05f (diff)
downloadIshtar-caebc92f6e7f0a3e8445d054edd5587c58920c76.tar.bz2
Ishtar-caebc92f6e7f0a3e8445d054edd5587c58920c76.zip
Non-available types display on old item modification (refs #3179)
Diffstat (limited to 'archaeological_context_records/forms.py')
-rw-r--r--archaeological_context_records/forms.py29
1 files changed, 18 insertions, 11 deletions
diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py
index f3bbb1b65..4f10014de 100644
--- a/archaeological_context_records/forms.py
+++ b/archaeological_context_records/forms.py
@@ -36,7 +36,7 @@ import models
from ishtar_common import widgets
from archaeological_operations.widgets import OAWidget
from ishtar_common.forms import FinalForm, FormSet, \
- reverse_lazy, get_form_selection, TableSelect
+ reverse_lazy, get_form_selection, TableSelect, ManageOldType
from ishtar_common.forms_common import get_town_field, SourceSelect
from archaeological_operations.forms import OperationSelect, ParcelField,\
RecordRelationsForm as OpeRecordRelationsForm
@@ -114,7 +114,7 @@ class RecordFormSelection(forms.Form):
return cleaned_data
-class RecordFormGeneral(forms.Form):
+class RecordFormGeneral(ManageOldType, forms.Form):
form_label = _("General")
associated_models = {'parcel': Parcel, 'unit': models.Unit}
pk = forms.IntegerField(required=False, widget=forms.HiddenInput)
@@ -162,7 +162,8 @@ class RecordFormGeneral(forms.Form):
(" - ".join([k for k in key if k]),
[(parcel.pk, parcel.short_label) for parcel in gparcels])
)
- self.fields['unit'].choices = models.Unit.get_types()
+ self.fields['unit'].choices = models.Unit.get_types(
+ initial=self.init_data.get('unit'))
self.fields['unit'].help_text = models.Unit.get_help()
def clean(self):
@@ -180,7 +181,7 @@ class RecordFormGeneral(forms.Form):
return cleaned_data
-class DatingForm(forms.Form):
+class DatingForm(ManageOldType, forms.Form):
form_label = _("Dating")
base_model = 'dating'
associated_models = {'dating_type': models.DatingType,
@@ -195,11 +196,14 @@ class DatingForm(forms.Form):
def __init__(self, *args, **kwargs):
super(DatingForm, self).__init__(*args, **kwargs)
- self.fields['dating_type'].choices = models.DatingType.get_types()
+ self.fields['dating_type'].choices = models.DatingType.get_types(
+ initial=self.init_data.get('dating_type'))
self.fields['dating_type'].help_text = models.DatingType.get_help()
- self.fields['quality'].choices = models.DatingQuality.get_types()
+ self.fields['quality'].choices = models.DatingQuality.get_types(
+ initial=self.init_data.get('quality'))
self.fields['quality'].help_text = models.DatingQuality.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()
@@ -229,7 +233,8 @@ class RecordRelationsForm(OpeRecordRelationsForm):
kwargs.pop('files')
super(RecordRelationsForm, self).__init__(*args, **kwargs)
self.fields['relation_type'].choices = \
- models.RelationType.get_types()
+ models.RelationType.get_types(
+ initial=self.init_data.get('relation_type'))
if crs:
self.fields['right_record'].choices = [('', '-' * 2)] + crs
@@ -237,7 +242,7 @@ RecordRelationsFormSet = formset_factory(RecordRelationsForm, can_delete=True)
RecordRelationsFormSet.form_label = _(u"Relations")
-class RecordFormInterpretation(forms.Form):
+class RecordFormInterpretation(ManageOldType, forms.Form):
form_label = _("Interpretation")
associated_models = {'activity': models.ActivityType,
'identification': models.IdentificationType}
@@ -263,10 +268,12 @@ class RecordFormInterpretation(forms.Form):
def __init__(self, *args, **kwargs):
super(RecordFormInterpretation, self).__init__(*args, **kwargs)
- self.fields['activity'].choices = models.ActivityType.get_types()
+ self.fields['activity'].choices = models.ActivityType.get_types(
+ initial=self.init_data.get('activity'))
self.fields['activity'].help_text = models.ActivityType.get_help()
self.fields['identification'].choices = \
- models.IdentificationType.get_types()
+ models.IdentificationType.get_types(
+ initial=self.init_data.get('identification'))
self.fields['identification'].help_text = \
models.IdentificationType.get_help()