diff options
Diffstat (limited to 'archaeological_operations/forms.py')
-rw-r--r-- | archaeological_operations/forms.py | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index d524fdbc5..247dcc20a 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -45,7 +45,8 @@ from widgets import ParcelWidget, SelectParcelWidget, OAWidget from ishtar_common import widgets from ishtar_common.forms import FinalForm, FormSet, get_now, \ - reverse_lazy, get_form_selection, TableSelect, get_data_from_formset + reverse_lazy, get_form_selection, TableSelect, get_data_from_formset, \ + ManageOldType from ishtar_common.forms_common import TownFormSet, SourceForm, SourceSelect, \ get_town_field @@ -368,7 +369,7 @@ ParcelFormSet = formset_factory(ParcelForm, can_delete=True, ParcelFormSet.form_label = _(u"Parcels") -class RecordRelationsForm(forms.Form): +class RecordRelationsForm(ManageOldType, forms.Form): base_model = 'right_relation' current_model = models.RelationType current_related_model = models.Operation @@ -386,7 +387,8 @@ class RecordRelationsForm(forms.Form): def __init__(self, *args, **kwargs): 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')) @classmethod def _format_lst(cls, current): @@ -709,7 +711,7 @@ class DashboardForm(forms.Form): return fltr -class OperationFormGeneral(forms.Form): +class OperationFormGeneral(ManageOldType, forms.Form): form_label = _(u"General") base_model = 'archaeological_site' associated_models = {'scientist': Person, @@ -804,11 +806,13 @@ class OperationFormGeneral(forms.Form): def __init__(self, *args, **kwargs): super(OperationFormGeneral, self).__init__(*args, **kwargs) self.fields['operation_type'].choices = \ - models.OperationType.get_types() + models.OperationType.get_types( + initial=self.init_data.get('operation_type')) self.fields['operation_type'].help_text = \ models.OperationType.get_help() self.fields['report_processing'].choices = \ - models.ReportState.get_types() + models.ReportState.get_types( + initial=self.init_data.get('report_processing')) self.fields['report_processing'].help_text = \ models.ReportState.get_help() self.fields['record_quality'].choices = \ @@ -1003,7 +1007,7 @@ class SelectedParcelFormSet(forms.Form): """ -class RemainForm(forms.Form): +class RemainForm(ManageOldType, forms.Form): form_label = _("Remain types") base_model = 'remain' associated_models = {'remain': models.RemainType} @@ -1014,11 +1018,12 @@ class RemainForm(forms.Form): def __init__(self, *args, **kwargs): super(RemainForm, self).__init__(*args, **kwargs) self.fields['remain'].choices = models.RemainType.get_types( + initial=self.init_data.get('remain'), empty_first=False) self.fields['remain'].help_text = models.RemainType.get_help() -class PeriodForm(forms.Form): +class PeriodForm(ManageOldType, forms.Form): form_label = _("Periods") base_model = 'period' associated_models = {'period': models.Period} @@ -1029,11 +1034,12 @@ class PeriodForm(forms.Form): def __init__(self, *args, **kwargs): super(PeriodForm, self).__init__(*args, **kwargs) self.fields['period'].choices = models.Period.get_types( + initial=self.init_data.get('period'), empty_first=False) self.fields['period'].help_text = models.Period.get_help() -class ArchaeologicalSiteForm(forms.Form): +class ArchaeologicalSiteForm(ManageOldType, forms.Form): reference = forms.CharField(label=_(u"Reference"), max_length=20) name = forms.CharField(label=_(u"Name"), max_length=200, required=False) periods = forms.MultipleChoiceField( @@ -1049,10 +1055,14 @@ class ArchaeologicalSiteForm(forms.Form): kwargs.pop('limits') super(ArchaeologicalSiteForm, self).__init__(*args, **kwargs) self.fields['periods'].choices = \ - models.Period.get_types(empty_first=False) + models.Period.get_types( + empty_first=False, + initial=self.init_data.get('periods')) self.fields['periods'].help_text = models.Period.get_help() self.fields['remains'].choices = \ - models.RemainType.get_types(empty_first=False) + models.RemainType.get_types( + initial=self.init_data.get('remains'), + empty_first=False) self.fields['remains'].help_text = models.RemainType.get_help() def clean_reference(self): @@ -1260,7 +1270,7 @@ class AdministrativeActOpeFormSelection(forms.Form): return cleaned_data -class AdministrativeActOpeForm(forms.Form): +class AdministrativeActOpeForm(ManageOldType, forms.Form): form_label = _("General") associated_models = {'act_type': models.ActType, } # 'signatory':Person} @@ -1280,6 +1290,7 @@ class AdministrativeActOpeForm(forms.Form): def __init__(self, *args, **kwargs): super(AdministrativeActOpeForm, self).__init__(*args, **kwargs) self.fields['act_type'].choices = models.ActType.get_types( + initial=self.init_data.get('act_type'), dct={'intented_to': 'O'}) self.fields['act_type'].help_text = models.ActType.get_help( dct={'intented_to': 'O'}) |