summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit08e5ccfd174c4faf8c590bd4bd4e3663de40799f (patch)
treeabaca305ec98735dc8dd295b8527dd98242ae1d6
parent8a7205614d9899b758515479a383df2919088c40 (diff)
downloadIshtar-08e5ccfd174c4faf8c590bd4bd4e3663de40799f.tar.bz2
Ishtar-08e5ccfd174c4faf8c590bd4bd4e3663de40799f.zip
Correct town display (closes #524)
-rw-r--r--ishtar/ishtar_base/forms.py5
-rw-r--r--ishtar/ishtar_base/forms_common.py6
-rw-r--r--ishtar/ishtar_base/forms_files.py6
-rw-r--r--ishtar/ishtar_base/forms_operations.py26
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),