summaryrefslogtreecommitdiff
path: root/ishtar_common/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/forms.py')
-rw-r--r--ishtar_common/forms.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py
index c1e699ab5..fe8dbb82b 100644
--- a/ishtar_common/forms.py
+++ b/ishtar_common/forms.py
@@ -154,12 +154,22 @@ class CustomForm(object):
# re-order for json fields
fields = OrderedDict()
- for idx, field in enumerate(self.fields.items()):
+ field_items = [
+ (key, field) for key, field in self.fields.items()
+ if not getattr(field.widget, 'is_hidden', None)
+ ]
+ for idx, field in enumerate(field_items):
+ idx = (idx + 1) * 10
key, c_field = field
- if idx + 1 in new_fields:
- alt_key, alt_field = new_fields[idx + 1]
- fields[alt_key] = alt_field
+ for k in sorted(new_fields.keys()):
+ if idx - 10 <= k < idx:
+ alt_key, alt_field = new_fields.pop(k)
+ fields[alt_key] = alt_field
fields[key] = c_field
+ for k in sorted(new_fields.keys()):
+ alt_key, alt_field = new_fields.pop(k)
+ fields[alt_key] = alt_field
+
self.fields = fields
def are_available(self, keys):