Merge branch 'master' of git://github.com/plone/plone.app.discussion
This commit is contained in:
commit
1b822af699
@ -20,6 +20,10 @@ Changelog
|
||||
- Read mail settings from new (Plone 5) registry.
|
||||
[timo]
|
||||
|
||||
- Remove @property from Conversation.total_comments as @property and
|
||||
Acquisition don't play well together.
|
||||
[gforcada]
|
||||
|
||||
|
||||
2.3.3 (2014-10-23)
|
||||
------------------
|
||||
|
@ -33,7 +33,7 @@ def total_comments(object):
|
||||
if object.meta_type != 'Discussion Item':
|
||||
try:
|
||||
conversation = IConversation(object)
|
||||
return conversation.total_comments
|
||||
return conversation.total_comments()
|
||||
except TypeError: # pragma: no cover
|
||||
# The item is contentish but nobody
|
||||
# implemented an adapter for it
|
||||
|
@ -77,10 +77,9 @@ class Conversation(Traversable, Persistent, Explicit):
|
||||
parent = aq_inner(self.__parent__)
|
||||
return parent.restrictedTraverse('@@conversation_view').enabled()
|
||||
|
||||
@property
|
||||
def total_comments(self):
|
||||
public_comments = [
|
||||
x for x in self._comments.values()
|
||||
x for x in self.values()
|
||||
if user_nobody.has_permission('View', x)
|
||||
]
|
||||
return len(public_comments)
|
||||
|
@ -433,7 +433,7 @@ class RepliesTest(unittest.TestCase):
|
||||
self.assertEqual(len(replies), 0)
|
||||
|
||||
# Make sure the first comment is still in the conversation
|
||||
self.assertEqual(conversation.total_comments, 1)
|
||||
self.assertEqual(conversation.total_comments(), 1)
|
||||
|
||||
def test_traversal(self):
|
||||
# Create a nested structure of comment replies and check the traversal
|
||||
|
@ -78,7 +78,7 @@ class ConversationTest(unittest.TestCase):
|
||||
self.assertEqual(new_id, comment.comment_id)
|
||||
self.assertEqual(len(list(conversation.getComments())), 1)
|
||||
self.assertEqual(len(tuple(conversation.getThreads())), 1)
|
||||
self.assertEqual(conversation.total_comments, 1)
|
||||
self.assertEqual(conversation.total_comments(), 1)
|
||||
self.assertTrue(
|
||||
conversation.last_comment_date - datetime.utcnow() <
|
||||
timedelta(seconds=1)
|
||||
@ -91,7 +91,7 @@ class ConversationTest(unittest.TestCase):
|
||||
comment.author_username = "nobody"
|
||||
conversation.addComment(comment)
|
||||
comment.manage_permission("View", roles=tuple())
|
||||
self.assertEqual(0, conversation.total_comments)
|
||||
self.assertEqual(0, conversation.total_comments())
|
||||
self.assertEqual(None, conversation.last_comment_date)
|
||||
self.assertEqual(["nobody"], list(conversation.commentators))
|
||||
self.assertEqual([], list(conversation.public_commentators))
|
||||
@ -112,7 +112,7 @@ class ConversationTest(unittest.TestCase):
|
||||
# make sure the comment has been added
|
||||
self.assertEqual(len(list(conversation.getComments())), 1)
|
||||
self.assertEqual(len(tuple(conversation.getThreads())), 1)
|
||||
self.assertEqual(conversation.total_comments, 1)
|
||||
self.assertEqual(conversation.total_comments(), 1)
|
||||
|
||||
# delete the comment we just created
|
||||
del conversation[new_id]
|
||||
@ -120,7 +120,7 @@ class ConversationTest(unittest.TestCase):
|
||||
# make sure there is no comment left in the conversation
|
||||
self.assertEqual(len(list(conversation.getComments())), 0)
|
||||
self.assertEqual(len(tuple(conversation.getThreads())), 0)
|
||||
self.assertEqual(conversation.total_comments, 0)
|
||||
self.assertEqual(conversation.total_comments(), 0)
|
||||
|
||||
def test_delete_recursive(self):
|
||||
# Create a conversation. In this case we doesn't assign it to an
|
||||
@ -195,7 +195,7 @@ class ConversationTest(unittest.TestCase):
|
||||
# Make sure the comment has been deleted as well
|
||||
self.assertEqual(len(list(conversation.getComments())), 0)
|
||||
self.assertEqual(len(tuple(conversation.getThreads())), 0)
|
||||
self.assertEqual(conversation.total_comments, 0)
|
||||
self.assertEqual(conversation.total_comments(), 0)
|
||||
|
||||
def test_comments_enabled_on_doc_in_subfolder(self):
|
||||
typetool = self.portal.portal_types
|
||||
@ -422,7 +422,7 @@ class ConversationTest(unittest.TestCase):
|
||||
conversation.addComment(comment2)
|
||||
conversation.addComment(comment3)
|
||||
|
||||
self.assertEqual(conversation.total_comments, 3)
|
||||
self.assertEqual(conversation.total_comments(), 3)
|
||||
|
||||
def test_commentators(self):
|
||||
# add and remove a few comments to make sure the commentators
|
||||
@ -432,7 +432,7 @@ class ConversationTest(unittest.TestCase):
|
||||
# object, as we just want to check the Conversation object API.
|
||||
conversation = IConversation(self.portal.doc1)
|
||||
|
||||
self.assertEqual(conversation.total_comments, 0)
|
||||
self.assertEqual(conversation.total_comments(), 0)
|
||||
|
||||
# Add a four comments from three different users
|
||||
# Note: in real life, we always create
|
||||
@ -459,7 +459,7 @@ class ConversationTest(unittest.TestCase):
|
||||
new_comment4_id = conversation.addComment(comment4)
|
||||
|
||||
# check if all commentators are in the commentators list
|
||||
self.assertEqual(conversation.total_comments, 4)
|
||||
self.assertEqual(conversation.total_comments(), 4)
|
||||
self.assertTrue('Jim' in conversation.commentators)
|
||||
self.assertTrue('Joe' in conversation.commentators)
|
||||
self.assertTrue('Jack' in conversation.commentators)
|
||||
@ -472,7 +472,7 @@ class ConversationTest(unittest.TestCase):
|
||||
self.assertTrue('Jim' in conversation.commentators)
|
||||
self.assertTrue('Joe' in conversation.commentators)
|
||||
self.assertTrue('Jack' in conversation.commentators)
|
||||
self.assertEqual(conversation.total_comments, 3)
|
||||
self.assertEqual(conversation.total_comments(), 3)
|
||||
|
||||
# remove the second comment from Jack
|
||||
del conversation[new_comment4_id]
|
||||
@ -481,7 +481,7 @@ class ConversationTest(unittest.TestCase):
|
||||
self.assertTrue('Jim' in conversation.commentators)
|
||||
self.assertTrue('Joe' in conversation.commentators)
|
||||
self.assertFalse('Jack' in conversation.commentators)
|
||||
self.assertEqual(conversation.total_comments, 2)
|
||||
self.assertEqual(conversation.total_comments(), 2)
|
||||
|
||||
def test_last_comment_date(self):
|
||||
# add and remove some comments and check if last_comment_date
|
||||
@ -868,7 +868,7 @@ class RepliesTest(unittest.TestCase):
|
||||
|
||||
# check that replies only contain the direct comments
|
||||
# and no comments deeper than 1
|
||||
self.assertEqual(conversation.total_comments, 6)
|
||||
self.assertEqual(conversation.total_comments(), 6)
|
||||
self.assertEqual(len(replies), 2)
|
||||
self.assertEqual(len(replies_to_comment1), 2)
|
||||
self.assertEqual(len(replies_to_comment1_1), 1)
|
||||
|
Loading…
Reference in New Issue
Block a user