Additional (optional) workflow: "Comment Multiple State Review Workflow"
Moderator is not forced to delete a comment or to let it pending: Workflow has two more states "rejected" and "spam" to existing review workflow. Moderation view extended showing all states. Filter by state.
This commit is contained in:
@@ -112,7 +112,7 @@ Administrators can see all posts and comment actions
|
||||
>>> 'form.button.DeleteComment' in browser.contents
|
||||
True
|
||||
|
||||
>>> 'form.button.PublishComment' in browser.contents
|
||||
>>> 'form.button.TransmitComment' in browser.contents
|
||||
True
|
||||
|
||||
Anonymous user can not see any posts or comment actions
|
||||
@@ -128,7 +128,7 @@ Anonymous user can not see any posts or comment actions
|
||||
>>> 'form.button.DeleteComment' in unprivileged_browser.contents
|
||||
False
|
||||
|
||||
>>> 'form.button.PublishComment' in unprivileged_browser.contents
|
||||
>>> 'form.button.TransmitComment' in unprivileged_browser.contents
|
||||
False
|
||||
|
||||
The catalog does not list the comments yet:
|
||||
@@ -156,7 +156,7 @@ actions.
|
||||
>>> 'form.button.DeleteComment' in browser.contents
|
||||
True
|
||||
|
||||
>>> 'form.button.PublishComment' in browser.contents
|
||||
>>> 'form.button.TransmitComment' in browser.contents
|
||||
True
|
||||
|
||||
|
||||
|
||||
@@ -326,19 +326,19 @@ Deleting existing comments | 'Delete comments' permission
|
||||
Anonymous cannot delete comments
|
||||
|
||||
>>> unprivileged_browser.open(urldoc1)
|
||||
>>> 'form.button.Delete' in unprivileged_browser.contents
|
||||
>>> 'form.button.DeleteComment' in unprivileged_browser.contents
|
||||
False
|
||||
|
||||
A member cannot delete his own comments if he can't review or he isn't a Site Administrator
|
||||
|
||||
>>> browser_member.open(urldoc1)
|
||||
>>> 'form.button.Delete' in browser_member.contents
|
||||
>>> 'form.button.DeleteComment' in browser_member.contents
|
||||
False
|
||||
|
||||
Admin can delete comments
|
||||
|
||||
>>> browser.open(urldoc1)
|
||||
>>> 'form.button.Delete' in browser.contents
|
||||
>>> 'form.button.DeleteComment' in browser.contents
|
||||
True
|
||||
|
||||
Extract the delete comment url from the first "delete comment" button
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from plone.app.discussion.browser.moderation import BulkActionsView
|
||||
from plone.app.discussion.browser.moderation import DeleteComment
|
||||
from plone.app.discussion.browser.moderation import PublishComment
|
||||
from plone.app.discussion.browser.moderation import CommentTransition
|
||||
from plone.app.discussion.browser.moderation import View
|
||||
from plone.app.discussion.interfaces import IConversation
|
||||
from plone.app.discussion.interfaces import IDiscussionSettings
|
||||
@@ -195,14 +195,14 @@ class RedirectionTest(unittest.TestCase):
|
||||
def test_regression(self):
|
||||
page_url = self.page.absolute_url()
|
||||
self.request['HTTP_REFERER'] = page_url
|
||||
for Klass in (DeleteComment, PublishComment):
|
||||
for Klass in (DeleteComment, CommentTransition):
|
||||
view = Klass(self.comment, self.request)
|
||||
view.__parent__ = self.comment
|
||||
self.assertEqual(page_url, view())
|
||||
|
||||
def test_valid_next_url(self):
|
||||
self.request['HTTP_REFERER'] = 'http://attacker.com'
|
||||
for Klass in (DeleteComment, PublishComment):
|
||||
for Klass in (DeleteComment, CommentTransition):
|
||||
view = Klass(self.comment, self.request)
|
||||
view.__parent__ = self.comment
|
||||
self.assertNotEqual('http://attacker.com', view())
|
||||
|
||||
@@ -272,7 +272,7 @@ class CommentReviewWorkflowTest(unittest.TestCase):
|
||||
'review_state',
|
||||
),
|
||||
)
|
||||
view = self.comment.restrictedTraverse('@@moderate-publish-comment')
|
||||
view = self.comment.restrictedTraverse('@@transmit-comment')
|
||||
view()
|
||||
self.assertEqual(
|
||||
'published',
|
||||
@@ -295,7 +295,7 @@ class CommentReviewWorkflowTest(unittest.TestCase):
|
||||
self.assertRaises(
|
||||
Unauthorized,
|
||||
self.comment.restrictedTraverse,
|
||||
'@@moderate-publish-comment',
|
||||
'@@transmit-comment',
|
||||
)
|
||||
self.assertEqual(
|
||||
'pending',
|
||||
|
||||
Reference in New Issue
Block a user