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

Reply via email to