Changeset 3114 in products for quintagroup.plonecomments/trunk/quintagroup
- Timestamp:
- Apr 14, 2011 4:45:57 PM (13 years ago)
- Location:
- quintagroup.plonecomments/trunk/quintagroup/plonecomments
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.plonecomments/trunk/quintagroup/plonecomments/__init__.py
r822 r3114 3 3 # Feed our monkeys :-) 4 4 from quintagroup.plonecomments import patch 5 5 patch 6 6 allow_module('quintagroup.plonecomments.utils') -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/browser/comments.py
r2611 r3114 2 2 try: 3 3 import hashlib as md5 4 md5.md5 4 5 except ImportError: 5 6 import md5 … … 39 40 def getGravatar(self, reply): 40 41 purl = getToolByName(self.context, 'portal_url') 41 mtool = getToolByName(self.context, 'portal_membership') 42 mtool = getToolByName(self.context, 'portal_membership') 42 43 portrait_url = purl() + '/defaultUser.gif' 43 44 email = '' … … 63 64 'default':portrait_url, 'size':str(size)}) 64 65 return gravatar_url 65 66 66 67 67 def authenticated_report_abuse_enabled(self): -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/config.py
r832 r3114 2 2 3 3 LOGGER = 'quintagroup.plonecomments' 4 PRODUCTS = [] 4 5 5 PRODUCTS = []6 6 7 7 def warning(msg): -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/patch.py
r3112 r3114 2 2 try: 3 3 from App.class_init import InitializeClass 4 InitializeClass 4 5 except ImportError: 5 6 from Globals import InitializeClass … … 18 19 19 20 id = int(DateTime().timeTime()) 20 while self._container.get(str(id), None) is not None:21 while container.get(str(id), None) is not None: 21 22 id += 1 22 23 id = str(id) … … 30 31 item.creator = Creator 31 32 32 self._container[id] = item33 container[id] = item 33 34 item = item.__of__(self) 34 35 … … 45 46 if getProp(self, 'enable_moderation', marker=False): 46 47 roles = [role['name'] for role in self.acl_users.rolesOfPermission('Moderate Discussion') 47 if role['selected'] == 'SELECTED']48 if role['selected'] == 'SELECTED'] 48 49 roles.append('DiscussionManager') 49 50 item.manage_permission('Delete objects', roles, acquire=1) … … 57 58 return id 58 59 59 def getReplies( self):60 def getReplies(self): 60 61 """Return a sequence of the DiscussionResponse objects which are 61 62 associated with this Discussable. -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/setuphandlers.py
r3112 r3114 44 44 logger = context.getLogger(LOGGER) 45 45 46 portal_conf=getToolByName( context.getSite(),'portal_controlpanel')46 portal_conf=getToolByName(portal, 'portal_controlpanel') 47 47 portal_conf.unregisterConfiglet('prefs_comments_setup_form') 48 48 logger.info('Unregister configlet prefs_comments_setup_form. ') -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/tests/base.py
r3112 r3114 4 4 5 5 from Testing import ZopeTestCase as ztc 6 from AccessControl.SecurityManagement import newSecurityManager, \7 noSecurityManager8 9 6 from Products.PloneTestCase import PloneTestCase as ptc 10 from Products.PloneTestCase.layer import onsetup, PloneSiteLayer 11 from Products.CMFCore.utils import getToolByName 7 from Products.PloneTestCase.layer import onsetup 12 8 13 9 from quintagroup.plonecomments.tests.config import PRODUCT -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/tests/testQPloneCommentsCommenting.py
r3113 r3114 16 16 self.request = self.app.REQUEST 17 17 18 18 # VERY IMPORTANT to guarantee product skin's content visibility 19 19 self._refreshSkinData() 20 20 … … 23 23 for user_id in USERS.keys(): 24 24 self.membership.addMember(user_id, USERS[user_id]['passw'], 25 25 USERS[user_id]['roles'], []) 26 26 27 27 # Add users to Discussion Manager group 28 28 portal_groups = getToolByName(self.portal, 'portal_groups') 29 29 dm_group = portal_groups.getGroupById('DiscussionManager') 30 dm_users =[dm_group.addMember(u) for u in DM_USERS_IDS]30 [dm_group.addMember(u) for u in DM_USERS_IDS] 31 31 32 32 # Allow discussion for Document … … 71 71 replies_after = len(self.discussion.getDiscussionFor(doc_obj).getReplies()) 72 72 self.failUnless(replies_after-replies_before, 73 73 "Anonymous user CAN'T really add comment in terned ON *Anonymous commenting mode*.") 74 74 75 75 def testAddCommentToDocNotAnonymUsers(self): … … 119 119 self.login(u) 120 120 self.assertRaises(Unauthorized, doc_obj.discussion_reply, 121 121 "%s's reply" % u, "text of '%s' reply" % u) 122 122 self.login('dm_admin') 123 123 replies_after = self.discussion.getDiscussionFor(doc_obj).getReplies() … … 126 126 failed_users.append(u) 127 127 self.failIf(failed_users, 128 129 128 "%s user(s) CAN really add comment in terned OFF " 129 "*Anonymous commenting mode*." % failed_users) 130 130 131 131 … … 151 151 failed_users.append(u) 152 152 self.failIf(failed_users, 153 154 153 "%s - user(s) can not really add commentin terned OFF " 154 "*Anonymous commenting mode*." % failed_users) 155 155 156 156 … … 194 194 failed_users.append(u) 195 195 self.failIf(failed_users, 196 196 "%s - member(s) of DiscussionManager group CAN'T really ADD comment" % failed_users) 197 197 198 198 # This is actual only in terned OFF *Anonymous commenting mode* … … 210 210 failed_users.append(u) 211 211 self.failIf(failed_users, 212 213 212 "%s user(s) CAN really add comment in terned OFF " 213 "*Anonymous commenting mode*." % failed_users) 214 214 215 215 """ … … 263 263 failed_users.append(u) 264 264 self.failIf(failed_users, 265 265 "%s - user(s) can not really add comment to PUBLISHED reply." % failed_users) 266 266 267 267 # 3.Check adding reply to reply for illegal users … … 274 274 self.discussion.getDiscussionFor(reply) 275 275 self.assertRaises(Unauthorized, reply.discussion_reply, 276 276 "Reply %s" % u, "text of %s reply" % u) 277 277 278 278 … … 304 304 self.discussion.getDiscussionFor(doc_obj) 305 305 doc_obj.discussion_reply("A Reply to '%s'" % self.doc_moder_off_id, 306 306 "text of reply to '%s'" % self.doc_moder_off_id) 307 307 308 308 … … 330 330 failed_users.append(u) 331 331 self.failIf(failed_users , 332 333 332 "%s - member(s) CAN'T really ADD comment in terned off" 333 " comments Moderation mode." % failed_users) 334 334 335 335 … … 350 350 self.discussion.getDiscussionFor(reply_to_doc) 351 351 self.assertRaises(Unauthorized, reply_to_doc.discussion_reply, 352 352 "%s's reply" % u, "text of '%s' reply" % u) 353 353 354 354 -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/tests/testQPloneCommentsConfiglet.py
r3113 r3114 21 21 portal_groups = getToolByName(self.portal, 'portal_groups') 22 22 dm_group = portal_groups.getGroupById('DiscussionManager') 23 dm_users =[dm_group.addMember(u) for u in DM_USERS_IDS]23 [dm_group.addMember(u) for u in DM_USERS_IDS] 24 24 25 25 … … 61 61 62 62 # Add testing document to portal 63 my_doc =self.portal.invokeFactory('Document', id='my_doc')63 self.portal.invokeFactory('Document', id='my_doc') 64 64 self.my_doc = self.portal['my_doc'] 65 65 self.my_doc.edit(text_format='plain', text='hello world') 66 66 67 67 def testAnonymousCommenting(self): 68 getPortalReplyPerm = self.portal.rolesOfPermission69 68 def getReplyRoles(): 70 return [r['name'] for r in getPortalReplyPerm(ReplyToItem) if r['selected']=='SELECTED'] 69 return [r['name'] 70 for r in self.portal.rolesOfPermission(ReplyToItem) 71 if r['selected'] == 'SELECTED'] 71 72 # Simulate switching ON Anonymous Commenting 72 73 self.request.form['enable_anonymous_commenting'] = 'True' -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/tests/testQPloneCommentsModeration.py
r3112 r3114 204 204 for u in managers: 205 205 self.login(u) 206 auth = '%s:%s' % (u,USERS[u]['passw'])207 206 doc_id = "doc_%s" % u 208 207 doc_obj = getattr(self.portal, doc_id) -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/tests/testQPloneCommentsNotification.py
r3113 r3114 27 27 def afterSetUp(self): 28 28 self.portal._original_MailHost = self.portal.MailHost 29 self.portal.MailHost = mailhost =MockMailHost('MailHost')29 self.portal.MailHost = MockMailHost('MailHost') 30 30 31 31 self.loginAsPortalOwner() … … 62 62 63 63 # Add testing document to portal 64 my_doc =self.portal.invokeFactory('Document', id='my_doc', title='Doc')64 self.portal.invokeFactory('Document', id='my_doc', title='Doc') 65 65 self.my_doc = self.portal['my_doc'] 66 66 self.my_doc.edit(text_format='plain', text='hello world') … … 126 126 reply = self.discussion.getDiscussionFor(self.my_doc).getReplies()[0] 127 127 reply.discussion_reply('A Reply for comment' ,'text of reply for comment') 128 reply_for_comment =self.discussion.getDiscussionFor(self.my_doc).getReplies()[0]128 self.discussion.getDiscussionFor(self.my_doc).getReplies()[0] 129 129 self.failUnless(testMailExistance(self), 'Mail was not sended when enable_reply_user_notification.') 130 130 -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/tests/testQPloneCommentsNotificationRecipients.py
r3113 r3114 40 40 def afterSetUp(self): 41 41 self.portal._original_MailHost = self.portal.MailHost 42 self.portal.MailHost = mailhost =MockMailHost('MailHost')42 self.portal.MailHost = MockMailHost('MailHost') 43 43 44 44 self.loginAsPortalOwner() -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/tests/testQPloneCommentsReportAbuse.py
r3113 r3114 1 from Products.CMFCore.utils import getToolByName2 1 from quintagroup.plonecomments.tests.testQPloneCommentsCommenting import \ 3 2 TestCommBase 4 from zExceptions import Unauthorized5 3 6 4 -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/tests/tests.py
r965 r3114 1 1 import unittest 2 2 3 from zope.testing import doctestunit 4 from zope.component import testing 5 from Testing import ZopeTestCase as ztc 6 7 from base import getToolByName, TestCase 3 #from zope.testing import doctestunit 4 #from zope.component import testing 5 #from Testing import ZopeTestCase as ztc 6 #from base import TestCase 8 7 9 8 def test_suite(): -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/utils.py
r2754 r3114 1 1 import smtplib 2 from zope.i18n import translate3 2 from zope.i18nmessageid import MessageFactory 4 3 _ = MessageFactory("quintagroup.plonecomments") 5 4 from Products.CMFCore.utils import getToolByName 6 5 from Products.CMFPlone.utils import safe_unicode 7 from config import warning8 6 9 7 # Get apropriate property from (propery_sheeet) configlet … … 13 11 config_ps = getattr(pp, 'qPloneComments', None) 14 12 if config_ps: 15 result = 13 result = getattr(config_ps, prop_name, marker) 16 14 return result 17 15 … … 179 177 subject = translate(_(u"published_notification_subject", 180 178 default=u"[${organization_name}] New comment added", 181 mapping={u"organization_name" 179 mapping={u"organization_name": organization_name}), 182 180 context=context.REQUEST) 183 181 else: … … 194 192 subject = translate(_(u"approve_notification_subject", 195 193 default=u"[${organization_name}] New comment awaits moderation", 196 mapping={u"organization_name" 194 mapping={u"organization_name": organization_name}), 197 195 context=context.REQUEST) 198 196 else: … … 211 209 'mfrom': admin_email, 212 210 'obj': reply_parent, 213 'message': message,211 'message': message, 214 212 'organization_name': organization_name, 215 213 'name': creator_name, 216 'comment_id': comment_id,217 'comment_desc': comment.description,218 'comment_text': comment.text}214 'comment_id': comment_id, 215 'comment_desc': comment.description, 216 'comment_text': comment.text} 219 217 subject = translate(_(u"report_abuse_subject", 220 218 default=u"[${organization_name}] A comment on ${title} has " … … 233 231 host = context.plone_utils.getMailHost() 234 232 try: 235 host.secureSend(msg, user_email, admin_email, subject =subject,236 subtype = 'plain', debug = False, charset =charset)233 host.secureSend(msg, user_email, admin_email, subject=subject, 234 subtype='plain', debug=False, charset=charset) 237 235 except (smtplib.SMTPRecipientsRefused,smtplib.SMTPServerDisconnected): 238 236 setStatusMsg(None, context,
Note: See TracChangeset
for help on using the changeset viewer.