diff options
Diffstat (limited to 'ishtar_common')
| -rw-r--r-- | ishtar_common/forms.py | 18 | 
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):  | 
