summaryrefslogtreecommitdiff
path: root/ishtar_common/wizards.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-08-17 13:52:44 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-08-17 13:53:44 +0200
commitc3bb366cb00fd1eaf7d1487a7c8e46b14659d081 (patch)
tree8c0b91b41ceb45dcfc72bb3ac8d55bc1b945089c /ishtar_common/wizards.py
parent6f78867c8dfa8adb58f8d072d71ee8e52dd660fa (diff)
downloadIshtar-c3bb366cb00fd1eaf7d1487a7c8e46b14659d081.tar.bz2
Ishtar-c3bb366cb00fd1eaf7d1487a7c8e46b14659d081.zip
Parcels: add public domain field - better management of parcel formsets (refs #2284)
Diffstat (limited to 'ishtar_common/wizards.py')
-rw-r--r--ishtar_common/wizards.py28
1 files changed, 16 insertions, 12 deletions
diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py
index f028c15d8..1ac28d640 100644
--- a/ishtar_common/wizards.py
+++ b/ishtar_common/wizards.py
@@ -662,19 +662,23 @@ class Wizard(NamedUrlWizardView):
frm = form.form
if callable(frm):
frm = frm()
- required_fields = [ki for ki in frm.fields
- if frm.fields[ki].required]
- base_key = None
- if required_fields:
- base_key = required_fields[-1]
- elif frm.fields.keys():
- base_key = frm.fields.keys()[-1]
- init = self.get_form_initial(step, data=data)
+
total_field = 0
- if base_key:
- total_field = len([key for key in data.keys()
- if base_key in key.split('-')
- and data[key]])
+ if hasattr(frm, 'count_valid_fields'):
+ total_field = frm.count_valid_fields(data)
+ else:
+ required_fields = [ki for ki in frm.fields
+ if frm.fields[ki].required]
+ base_key = None
+ if required_fields:
+ base_key = required_fields[-1]
+ elif frm.fields.keys():
+ base_key = frm.fields.keys()[-1]
+ if base_key:
+ total_field = len([key for key in data.keys()
+ if base_key in key.split('-')
+ and data[key]])
+ init = self.get_form_initial(step, data=data)
if init and not to_delete and (
not hasattr(self, 'form_initialized') or
not self.form_initialized):