fix the anonymous view for the comments viewlet.
refactor get_replies. svn path=/plone.app.discussion/trunk/; revision=27410
This commit is contained in:
parent
c318ecc6c5
commit
5300e33457
@ -102,7 +102,7 @@
|
|||||||
action=""
|
action=""
|
||||||
method="get"
|
method="get"
|
||||||
style="display: inline;"
|
style="display: inline;"
|
||||||
tal:repeat="action reply_dict/actions"
|
tal:repeat="action reply_dict/actions|nothing"
|
||||||
tal:attributes="action string:${reply/absolute_url}/content_status_modify;
|
tal:attributes="action string:${reply/absolute_url}/content_status_modify;
|
||||||
name action/id">
|
name action/id">
|
||||||
<input type="hidden" name="workflow_action" tal:attributes="value action/id" />
|
<input type="hidden" name="workflow_action" tal:attributes="value action/id" />
|
||||||
|
@ -62,30 +62,34 @@ class CommentsViewlet(ViewletBase):
|
|||||||
|
|
||||||
def get_replies(self, workflow_actions=False):
|
def get_replies(self, workflow_actions=False):
|
||||||
|
|
||||||
# Acquisition wrap the conversation
|
# Acquisition wrap the conversation
|
||||||
context = aq_inner(self.context)
|
context = aq_inner(self.context)
|
||||||
conversation = IConversation(context)
|
conversation = IConversation(context)
|
||||||
conversation = IConversation(context).__of__(context)
|
conversation = IConversation(context).__of__(context)
|
||||||
|
|
||||||
|
def replies_with_workflow_actions():
|
||||||
|
# Return dict with workflow actions
|
||||||
|
#context = aq_inner(self.context)
|
||||||
|
wf = getToolByName(context, 'portal_workflow')
|
||||||
|
|
||||||
|
for r in conversation.getThreads():
|
||||||
|
comment_obj = r['comment']
|
||||||
|
# list all possible workflow actions
|
||||||
|
actions = [a for a in wf.listActionInfos(object=comment_obj)
|
||||||
|
if a['category'] == 'workflow' and a['allowed']]
|
||||||
|
r = r.copy()
|
||||||
|
r['actions'] = actions
|
||||||
|
yield r
|
||||||
|
|
||||||
# Return all direct replies
|
# Return all direct replies
|
||||||
if conversation.total_comments > 0:
|
if conversation.total_comments > 0:
|
||||||
if workflow_actions:
|
if workflow_actions:
|
||||||
# Return dict with workflow actions
|
return replies_with_workflow_actions()
|
||||||
#context = aq_inner(self.context)
|
|
||||||
wf = getToolByName(context, 'portal_workflow')
|
|
||||||
|
|
||||||
for r in conversation.getThreads():
|
|
||||||
comment_obj = r['comment']
|
|
||||||
# list all possible workflow actions
|
|
||||||
actions = [a for a in wf.listActionInfos(object=comment_obj)
|
|
||||||
if a['category'] == 'workflow' and a['allowed']]
|
|
||||||
r = r.copy()
|
|
||||||
r['actions'] = actions
|
|
||||||
yield r
|
|
||||||
else:
|
else:
|
||||||
yield conversation.getThreads()
|
return conversation.getThreads()
|
||||||
else:
|
else:
|
||||||
yield []
|
return None
|
||||||
|
|
||||||
|
|
||||||
def get_commenter_home_url(self, username):
|
def get_commenter_home_url(self, username):
|
||||||
if username is None:
|
if username is None:
|
||||||
|
Loading…
Reference in New Issue
Block a user