Jose Jiménez López a écrit :
Hello,
When i try to show the result of a Method Vocabulary in a Generic
MultiSelect Widget in 'view' mode, it returns an error. The last lines
of the traceback are these:
Module Products.PageTemplates.ZRPythonExpr, line 47, in __call__
__traceback_info__: dir.renderEntryDetailed(id)
Module Python expression "dir.renderEntryDetailed(id)", line 1, in
<expression>
Module Products.CPSDirectory.BaseDirectory, line 562, in
renderEntryDetailed
Module Products.CPSDirectory.BaseDirectory, line 932, in _renderLayout
Module Products.CPSSchemas.Layout, line 391, in renderLayoutStructure
Module Products.CPSSchemas.ExtendedWidgets, line 1172, in render
Module cgi, line 1039, in escape
AttributeError: 'list' object has no attribute 'replace'
My Method Vocabulary returns some like this:
[('Member', u'Member'), ('Administrator', u'Administrator')]
In 'edit' mode the widget shows correctly, but in 'view' mode it crashes.
I saw the code in ExtendedWidgets.py and i read this "# XXX customize
view mode, lots of displays are possible" at line 1167. Does it mean
that i have to customize a new mode for my application?
Thanks
Hi,
I suspect the problem comes from your method vocabulary: it is supposed
to return a label (e.g. not a list, that would explain the traceback) if
the parameter named 'key' is not None.
I'm just quoting the MethodVocabulary docstring:
Define a dynamic vocabulary using a method
the method have to return a list of tuples like this
(('foo', "Foo"), ('bar', "Bar"))
the method should handle a 'key' argument
if the key is not None then the method must return the value.
The method should also handle the 'is_i18n' boolean argument
if it's not False and return msgid corresponsding to the passed
'key' argument
You may ignore the is_i18n boolean argument as the widget should be able
to handle it.
Regards,
--
Anahide Tchertchian, Nuxeo
Mail: [EMAIL PROTECTED] - Tel: +33 (0)1 40 33 71 60
http://www.nuxeo.com - http://www.cps-project.org
_______________________________________________
cps-devel mailing list
http://lists.nuxeo.com/mailman/listinfo/cps-devel