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 @@
/>
+
+
+
+
+
+
+