diff --git a/news/+icon.bugfix b/news/+icon.bugfix new file mode 100644 index 00000000..13375649 --- /dev/null +++ b/news/+icon.bugfix @@ -0,0 +1 @@ +Use icon class name @erral diff --git a/src/plone/app/discussion/profiles/default/actions.xml b/src/plone/app/discussion/profiles/default/actions.xml index 395f5e5e..995f443e 100644 --- a/src/plone/app/discussion/profiles/default/actions.xml +++ b/src/plone/app/discussion/profiles/default/actions.xml @@ -17,7 +17,7 @@ i18n:translate="" /> string:${globals_view/navigationRootUrl}/@@moderate-comments - string:${globals_view/navigationRootUrl}/discussionitem_icon.png + string:chat portal/@@moderate-comments-enabled|nothing diff --git a/src/plone/app/discussion/profiles/default/metadata.xml b/src/plone/app/discussion/profiles/default/metadata.xml index 15f3d34a..a610db26 100644 --- a/src/plone/app/discussion/profiles/default/metadata.xml +++ b/src/plone/app/discussion/profiles/default/metadata.xml @@ -1,6 +1,6 @@ - 3000 + 3001 profile-plone.resource:default profile-plone.app.registry:default diff --git a/src/plone/app/discussion/upgrades.py b/src/plone/app/discussion/upgrades.py index a60ef577..432e45f3 100644 --- a/src/plone/app/discussion/upgrades.py +++ b/src/plone/app/discussion/upgrades.py @@ -119,3 +119,33 @@ def set_timezone_on_dates(context): def set_discussion_behavior(context): """Add the discussion behavior to all default types, if they exist.""" add_discussion_behavior_to_default_types(context) + + +def manage_comments_icon(context): + """if plone.app.discussion is installed, set the manage-comments action icon + expression from its default to the bootstrap based new-style icons + """ + + portal_actions = getToolByName(context, "portal_actions") + user_actions = getattr(portal_actions, "user", None) + if user_actions is None: + logger.info("There are no user actions. Nothing is done.") + return + + review_comments_action = getattr(user_actions, "review-comments", None) + if review_comments_action is None: + logger.info("There is no manage comments action. Nothing is done.") + return + + # Check whether the action keeps its original state + if ( + review_comments_action.icon_expr + != "string:${globals_view/navigationRootUrl}/discussionitem_icon.png" + ): + logger.info( + "Manage comments action icon was modified by the user. Nothing is done." + ) + return + + review_comments_action.icon_expr = "string:chat" + logger.info("Manage comments action icon modified") diff --git a/src/plone/app/discussion/upgrades.zcml b/src/plone/app/discussion/upgrades.zcml index 129b73ee..801e64a7 100644 --- a/src/plone/app/discussion/upgrades.zcml +++ b/src/plone/app/discussion/upgrades.zcml @@ -132,4 +132,18 @@ /> + + + + + + +