diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-07-10 17:15:08 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-07-10 17:15:08 +0200 |
commit | 08e5ccfd174c4faf8c590bd4bd4e3663de40799f (patch) | |
tree | abaca305ec98735dc8dd295b8527dd98242ae1d6 | |
parent | 8a7205614d9899b758515479a383df2919088c40 (diff) | |
download | Ishtar-08e5ccfd174c4faf8c590bd4bd4e3663de40799f.tar.bz2 Ishtar-08e5ccfd174c4faf8c590bd4bd4e3663de40799f.zip |
Correct town display (closes #524)
-rw-r--r-- | ishtar/ishtar_base/forms.py | 5 | ||||
-rw-r--r-- | ishtar/ishtar_base/forms_common.py | 6 | ||||
-rw-r--r-- | ishtar/ishtar_base/forms_files.py | 6 | ||||
-rw-r--r-- | ishtar/ishtar_base/forms_operations.py | 26 |
4 files changed, 23 insertions, 20 deletions
diff --git a/ishtar/ishtar_base/forms.py b/ishtar/ishtar_base/forms.py index 0bed1b28d..1021caee5 100644 --- a/ishtar/ishtar_base/forms.py +++ b/ishtar/ishtar_base/forms.py @@ -620,7 +620,10 @@ class Wizard(NamedUrlSessionFormWizard): initial[base_field] = unicode(value) elif hasattr(c_form, 'management_form'): initial = [] - key = current_step.split('-')[0] + if hasattr(c_form.form, 'base_model'): + key = c_form.form.base_model + 's' + else: + key = current_step.split('-')[0] if not hasattr(obj, key): return initial keys = c_form.form.base_fields.keys() diff --git a/ishtar/ishtar_base/forms_common.py b/ishtar/ishtar_base/forms_common.py index 739f3953e..1bbdba3fc 100644 --- a/ishtar/ishtar_base/forms_common.py +++ b/ishtar/ishtar_base/forms_common.py @@ -352,6 +352,7 @@ account_management_wizard = AccountWizard([ class TownForm(forms.Form): form_label = _("Towns") + base_model = 'town' associated_models = {'town':models.Town} town = get_town_field(required=False) @@ -361,8 +362,8 @@ class TownFormSet(FormSet): return self.check_duplicate(('town',), _("There are identical towns.")) -TownFormSet = formset_factory(TownForm, can_delete=True, formset=TownFormSet) -TownFormSet.form_label = _("Towns") +TownFormset = formset_factory(TownForm, can_delete=True, formset=TownFormSet) +TownFormset.form_label = _("Towns") class ParcelForm(forms.Form): form_label = _("Parcels") @@ -488,6 +489,7 @@ class AuthorForm(forms.Form): class AuthorFormSelection(forms.Form): form_label = _(u"Author selection") + base_model = 'author' associated_models = {'author':models.Author} author = forms.IntegerField( widget=widgets.JQueryAutoComplete("/" + settings.URL_PATH + \ diff --git a/ishtar/ishtar_base/forms_files.py b/ishtar/ishtar_base/forms_files.py index 22c052908..04949a43d 100644 --- a/ishtar/ishtar_base/forms_files.py +++ b/ishtar/ishtar_base/forms_files.py @@ -36,7 +36,7 @@ import models import widgets from forms import Wizard, FinalForm, FormSet, ClosingWizard, SearchWizard, \ formset_factory, get_now, reverse_lazy -from forms_common import TownFormSet, ParcelFormSet, \ +from forms_common import TownFormset, ParcelFormSet, \ get_town_field, get_person_field from forms_operations import OperationAdministrativeActWizard, \ AdministrativeActOpeForm, AdministrativeActOpeFormSelection, \ @@ -248,7 +248,7 @@ file_search_wizard = SearchWizard([('general-file_search', FileFormSelection)], file_creation_wizard = FileWizard([ ('general-file_creation', FileFormGeneral), ('address-file_creation', FileFormAddress), - ('towns-file_creation', TownFormSet), + ('towns-file_creation', TownFormset), ('parcels-file_creation', ParcelFormSet), ('preventive-file_creation', FileFormPreventive), ('final-file_creation', FinalForm)], @@ -262,7 +262,7 @@ file_modification_wizard = FileWizard([ ('selec-file_modification', FileFormSelection), ('general-file_modification', FileFormGeneralRO), ('adress-file_modification', FileFormAddress), - ('towns-file_modification', TownFormSet), + ('towns-file_modification', TownFormset), ('parcels-file_modification', ParcelFormSet), ('preventive-file_modification', FileFormPreventive), ('final-file_modification', FinalForm)], diff --git a/ishtar/ishtar_base/forms_operations.py b/ishtar/ishtar_base/forms_operations.py index 1df0b16bb..6e6cdc03e 100644 --- a/ishtar/ishtar_base/forms_operations.py +++ b/ishtar/ishtar_base/forms_operations.py @@ -36,9 +36,9 @@ import models import widgets from forms import Wizard, FinalForm, FormSet, SearchWizard, ClosingWizard, \ DeletionWizard, formset_factory, get_now, reverse_lazy, get_form_selection -from forms_common import TownForm, TownFormSet, ParcelFormSet, ParcelForm,\ - AuthorFormset, SourceForm, SourceWizard, SourceSelect, SourceDeletionForm,\ - get_town_field +from forms_common import TownForm, TownFormSet, TownFormset, ParcelFormSet, \ + ParcelForm, AuthorFormset, SourceForm, SourceWizard, SourceSelect, \ + SourceDeletionForm, get_town_field def is_preventive(form_name, model, type_key='operation_type', key=''): def func(self, request, storage): @@ -119,7 +119,7 @@ class OperationWizard(Wizard): [general_form_key][general_form_key+"-year"]) data[prefix+'-hidden_year'] = year # manage the dynamic choice of towns - if step.startswith('towns') and hasattr(form, 'management_form'): + if step.startswith('towns-') and hasattr(form, 'management_form'): data['TOWNS'] = self.get_towns(request, storage) elif step.startswith('parcels') and hasattr(form, 'management_form'): file_id = self.session_get_value(request, storage, general_form_key, @@ -319,13 +319,9 @@ class SelectedTownForm(forms.Form): if towns and towns != -1: self.fields['town'].choices = [('', '--')] + towns -SelectedTownFormSet = formset_factory(SelectedTownForm, can_delete=True, +SelectedTownFormset = formset_factory(SelectedTownForm, can_delete=True, formset=TownFormSet) -SelectedTownFormSet.form_label = _("Towns") - -SelectedTownGeneralFormSet = formset_factory(TownForm, can_delete=True, - formset=TownFormSet) -SelectedTownGeneralFormSet.form_label = _("Towns") +SelectedTownFormset.form_label = _(u"Towns") class SelectedParcelForm(forms.Form): form_label = _("Parcels") @@ -357,6 +353,7 @@ SelectedParcelGeneralFormSet.form_label = _("Parcels") class RemainForm(forms.Form): form_label = _("Remain types") + base_model = 'remain' associated_models = {'remain':models.RemainType} remain = forms.ChoiceField(label=_("Remain type"), required=False, choices=models.RemainType.get_types()) @@ -373,6 +370,7 @@ RemainFormset.form_label = _("Remain types") class PeriodForm(forms.Form): form_label = _("Periods") + base_model = 'period' associated_models = {'period':models.Period} period = forms.ChoiceField(label=_("Period"), required=False, choices=models.Period.get_types()) @@ -412,8 +410,8 @@ operation_creation_wizard = OperationWizard([ ('refs-operation_creation', OperationFormReference), ('preventive-operation_creation', OperationFormPreventive), ('preventivediag-operation_creation', OperationFormPreventiveDiag), - ('townsgeneral-operation_creation', SelectedTownGeneralFormSet), - ('towns-operation_creation', SelectedTownFormSet), + ('townsgeneral-operation_creation', TownFormset), + ('towns-operation_creation', SelectedTownFormset), ('parcelsgeneral-operation_creation', SelectedParcelGeneralFormSet), ('parcels-operation_creation', SelectedParcelFormSet), ('remains-operation_creation', RemainFormset), @@ -439,8 +437,8 @@ operation_modification_wizard = OperationWizard([ ('refs-operation_modification', OperationFormReference), ('preventive-operation_modification', OperationFormPreventive), ('preventivediag-operation_modification', OperationFormPreventiveDiag), - ('towns-operation_modification', SelectedTownFormSet), - ('townsgeneral-operation_modification', SelectedTownGeneralFormSet), + ('towns-operation_modification', SelectedTownFormset), + ('townsgeneral-operation_modification', TownFormset), ('parcels-operation_modification', SelectedParcelFormSet), ('parcelsgeneral-operation_modification', SelectedParcelGeneralFormSet), ('remains-operation_modification', RemainFormset), |