From aa50c33d8d4b5666cb6989a7012e456cef3afa3b Mon Sep 17 00:00:00 2001 From: Timo Stollenwerk Date: Thu, 28 May 2009 11:39:36 +0000 Subject: [PATCH] show login form instead of the commenting form to anonymous users. svn path=/plone.app.discussion/trunk/; revision=27194 --- plone/app/discussion/browser/comments.pt | 28 +++++++++++++++++++++++- plone/app/discussion/browser/comments.py | 15 ++++++------- 2 files changed, 34 insertions(+), 9 deletions(-) diff --git a/plone/app/discussion/browser/comments.pt b/plone/app/discussion/browser/comments.pt index fcff99c..0c400c8 100644 --- a/plone/app/discussion/browser/comments.pt +++ b/plone/app/discussion/browser/comments.pt @@ -5,6 +5,18 @@ errors options/state/getErrors|nothing;" i18n:domain="plone"> +
+
+ +
+
+
@@ -73,7 +85,21 @@
-
+
+
+ +
+
+ +
+
Add comment diff --git a/plone/app/discussion/browser/comments.py b/plone/app/discussion/browser/comments.py index 6285244..9498ada 100644 --- a/plone/app/discussion/browser/comments.py +++ b/plone/app/discussion/browser/comments.py @@ -1,5 +1,7 @@ from datetime import datetime +from urllib import quote as url_quote + from zope.interface import implements from zope.component import createObject @@ -16,6 +18,8 @@ from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile from Products.CMFCore.utils import getToolByName +from plone.app.layout.viewlets.common import ViewletBase + from plone.app.discussion.interfaces import IComment, IReplies from plone.app.discussion.conversation import conversationAdapterFactory @@ -32,7 +36,7 @@ class View(BrowserView): comment_id = aq_parent(self).id self.request.response.redirect(aq_parent(aq_parent(aq_parent(self))).absolute_url() + '#comment-' + comment_id) -class CommentsViewlet(BrowserView): +class CommentsViewlet(ViewletBase): """Discussion Viewlet """ @@ -40,13 +44,6 @@ class CommentsViewlet(BrowserView): template = ViewPageTemplateFile('comments.pt') - def __init__(self, context, request, view, manager): - super(CommentsViewlet, self).__init__(context, request) - self.__parent__ = view - self.view = view - self.manager = manager - self.portal_state = getMultiAdapter((context, self.request), name=u"plone_portal_state") - def update(self): super(CommentsViewlet, self).update() self.portal_discussion = getToolByName(self.context, 'portal_discussion', None) @@ -69,6 +66,8 @@ class CommentsViewlet(BrowserView): def is_anonymous(self): return self.portal_state.anonymous() + def login_action(self): + return '%s/login_form?came_from=%s' % (self.navigation_root_url, url_quote(self.request.get('URL', '')),) def format_time(self, time): # TODO: to localized time not working!!!