provide index-based access to fields in field group

This commit is contained in:
Helmut Merz 2014-10-08 20:50:56 +02:00
parent 6e1333076b
commit 72528a62fc

View file

@ -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]))
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