From 72528a62fcac73457a55f54d189264eb077d87d3 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Wed, 8 Oct 2014 20:50:56 +0200 Subject: [PATCH] provide index-based access to fields in field group --- composer/schema/grid/field.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/composer/schema/grid/field.py b/composer/schema/grid/field.py index a02f651..1c4d272 100644 --- a/composer/schema/grid/field.py +++ b/composer/schema/grid/field.py @@ -52,19 +52,22 @@ class GridFieldInstance(ListFieldInstance): def columnTypesForLayout(self): result = [] groups = {} - for f in self.columnTypes: + for idx, f in enumerate(self.columnTypes): group = getattr(f.baseField, 'group', None) if group is None: - result.append(dict(name=f.name, - label=(f.description or f.title), fields=[f])) + result.append(dict(name=f.name, + label=(f.description or f.title), + fields=[f], indexes=[idx])) else: g = groups.get(group.name) if g is None: - g = dict(name=group.name, label=group.label, fields=[f]) + g = dict(name=group.name, label=group.label, + fields=[f], indexes=[idx]) groups[group.name] = g result.append(g) else: g['fields'].append(f) + g['indexes'].append(idx) return result @Lazy