diff -r 563e611a329f -r 7dd8d5c7e206 src/pyams_portal/zmi/widget.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/pyams_portal/zmi/widget.py Thu Jun 14 17:33:55 2018 +0200 @@ -0,0 +1,38 @@ +# +# Copyright (c) 2008-2018 Thierry Florac +# All Rights Reserved. +# +# This software is subject to the provisions of the Zope Public License, +# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED +# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS +# FOR A PARTICULAR PURPOSE. +# + +__docformat__ = 'restructuredtext' + + +# import standard library + +# import interfaces +from pyams_form.interfaces import IFormLayer +from z3c.form.interfaces import INPUT_MODE + +# import packages +from pyams_form.widget import widgettemplate_config, Select2Widget +from z3c.form.widget import FieldWidget + + +@widgettemplate_config(mode=INPUT_MODE, template='templates/renderer-input.pt', layer=IFormLayer) +class PortletRendererWidget(Select2Widget): + """Portlet renderer selection widget""" + + @property + def show_renderer_properties(self): + renderer = self.context.get_renderer(self.request) + return (renderer is not None) and (renderer.settings_interface is not None) + + +def PortletRendererFieldWidget(field, request): + return FieldWidget(field, PortletRendererWidget(request))