JoseLuis de la Rosa Triviño a écrit :
Hello,
CPS 3.4 returns an error like this when there's no field specified in
the "Fields" property of a widget.
######################################################################
File
"/root/instances/zope2.9/innovaDes/Products/CPSSchemas/BasicWidgets.py",
line 1133, in prepare
datastructure[self.getWidgetId()] = bool(datamodel[self.fields[0]])
IndexError: tuple index out of range
/root/instances/zope2.9/innovaDes/Products/CPSSchemas/BasicWidgets.py(1133)prepare()
-> datastructure[self.getWidgetId()] = bool(datamodel[self.fields[0]])
######################################################################
I propose to control the exception and raise a message, the method (for
CPSBooleanWidget) would be:
######################################################################
def prepare(self, datastructure, **kw):
"""Prepare datastructure from datamodel."""
datamodel = datastructure.getDataModel()
if len(self.fields) > 0:
datastructure[self.getWidgetId()] =
bool(datamodel[self.fields[0]])
else:
raise RuntimeError("You should specify at least one field
for the widget %s" % self.getWidgetId())
######################################################################
Could you please open a ticket for such feature requests?
--
Olivier
_______________________________________________
cps-devel mailing list
http://lists.nuxeo.com/mailman/listinfo/cps-devel