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
Hosting: Nuxeo: Zope service provider