diff --git a/gen/__init__.py b/gen/__init__.py index 02b954c..00a5eaa 100644 --- a/gen/__init__.py +++ b/gen/__init__.py @@ -2278,10 +2278,13 @@ class List(Type): def getStorableValue(self, value): '''Gets p_value in a form that can be stored in the database.''' + res = [] for v in value: + sv = Object() for name, field in self.fields: - setattr(v, name, field.getStorableValue(getattr(v, name))) - return value + setattr(sv, name, field.getStorableValue(getattr(v, name))) + res.append(sv) + return res def getInnerValue(self, outerValue, name, i): '''Returns the value of inner field named p_name in row number p_i diff --git a/gen/plone25/skin/widgets/list.pt b/gen/plone25/skin/widgets/list.pt index 3b167ba..c8a7b94 100644 --- a/gen/plone25/skin/widgets/list.pt +++ b/gen/plone25/skin/widgets/list.pt @@ -23,9 +23,9 @@ tal:condition="python: isEdit or value" tal:attributes="id python: 'list_%s' % name"> Header - + + tal:content="structure python: _(fieldInfo[1]['labelId'])"> Icon for adding a new row. diff --git a/gen/plone25/skin/widgets/show.pt b/gen/plone25/skin/widgets/show.pt index 971a7a0..3da2dfd 100644 --- a/gen/plone25/skin/widgets/show.pt +++ b/gen/plone25/skin/widgets/show.pt @@ -23,7 +23,7 @@ cellspacing layout/cellspacing; width layout/width; align layout/align; - class python: tagCss and ('%s %s' % (tagCss, layoutCss)) or layoutCss; + class python: tagCss and ('%s %s' % (tagCss, layoutCss)).strip() or layoutCss; style layout/style; id tagId; name tagId;"> @@ -69,7 +69,8 @@ isMultiple python: (widget['multiplicity'][1] == None) or (widget['multiplicity'][1] > 1); masterCss python: widget['slaves'] and ('master_%s' % name) or ''; slaveCss python: widget['master'] and ('slave_%s_%s' % (widget['masterName'], '_'.join(widget['masterValue']))) or ''; - tagCss tagCss | slaveCss; + tagCss tagCss | python:''; + tagCss python: ('%s %s' % (slaveCss, tagCss)).strip(); tagId python: widget['master'] and 'slave' or ''">