Open thomasmassmann opened 3 years ago
We already patched the enumConfiglets
method in PloneControlpanel
to use the correct expression context. The patch including tests can be found at https://github.com/cusyio/cusy.patches.cmfplone/blob/main/src/cusy/patches/cmfplone/controlpanel.py and https://github.com/cusyio/cusy.patches.cmfplone/blob/main/src/cusy/patches/cmfplone/tests/test_controlpanel.py.
Todo:
Optional backports (will there be any new releases for 5.0.x or 5.1.x?):
PROBLEM REPORT
The
PloneControlpanel
uses the standard expression context provided byProducts.CMFCore.Expression.createExprContext
. The available keys are:This is limiting the available actions and conditions in situations where a different navigation root other than the Plone site is used (e.g. multi-lingual sites, sub sites using lineage).
The
PloneBaseTool
already extends the expression context with new keys:plone_portal_state
plone_context_state
plone_tools
checkPermission
context
Other tools, such as the
ActionsTool
, use the extended expression context.What I did:
Change the “Action” for the site control panel configlet from
string:${portal_url}/@@site-controlpanel
tostring:${plone_portal_state/navigation_root_url}/@@site-controlpanel
What I expect to happen:
The
@@overview-controlpanel
view renders the site configlet with the portal url.What actually happened:
A traceback with:
What version of Plone/ Addons I am using:
Plone 5.2.4 without any add-ons.