Fetch context for the comment view with "context = aq_inner(self.context)". This fixes a failing Plone 3 test.
svn path=/plone.app.discussion/trunk/; revision=39678
This commit is contained in:
parent
abdab3c12e
commit
0358a03d5b
@ -1,16 +1,27 @@
|
||||
from Acquisition import aq_parent
|
||||
from Acquisition import aq_inner, aq_parent
|
||||
|
||||
from Products.Five.browser import BrowserView
|
||||
|
||||
class View(BrowserView):
|
||||
"""Comment View.
|
||||
|
||||
Redirect from /path/to/object/++conversation++default/123456789
|
||||
to /path/to/object#comment-123456789.
|
||||
When the view of a comment object is called directly, redirect to the
|
||||
the page (content object) and the location (HTML-anchor) where the comment
|
||||
has been posted.
|
||||
|
||||
Redirect from the comment object URL
|
||||
"/path/to/object/++conversation++default/123456789" to the content object
|
||||
where the comment has been posted appended by an HTML anchor that points to
|
||||
the comment "/path/to/object#comment-123456789".
|
||||
|
||||
Context is the comment object. The parent of the comment object is the
|
||||
conversation. The parent of the conversation is the content object where
|
||||
the comment has been posted.
|
||||
"""
|
||||
|
||||
def __call__(self):
|
||||
comment_id = aq_parent(self).id
|
||||
context = aq_inner(self.context)
|
||||
self.request.response.redirect(
|
||||
aq_parent(aq_parent(aq_parent(self))).absolute_url() +
|
||||
'#' + str(comment_id))
|
||||
aq_parent(aq_parent(context)).absolute_url() +
|
||||
'#' + str(context.id)
|
||||
)
|
Loading…
Reference in New Issue
Block a user