Changeset 3117 in products
- Timestamp:
- Apr 14, 2011 5:49:27 PM (13 years ago)
- Location:
- quintagroup.plonecomments/trunk/quintagroup/plonecomments
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.plonecomments/trunk/quintagroup/plonecomments/browser/comments.py
r3116 r3117 28 28 portal_properties = getToolByName(self.context, 'portal_properties') 29 29 try: 30 return portal_properties.qPloneComments.getProperty('enable_moderation', None) 30 return portal_properties.qPloneComments.getProperty( 31 'enable_moderation', None) 31 32 except AttributeError: 32 33 return False 33 34 34 35 def can_moderate(self): 35 """ Returns a boolean indicating whether the user has the 'Moderate Discussion'36 permission36 """ Returns a boolean indicating whether the user has 37 the 'Moderate Discussion' permission 37 38 """ 38 return getSecurityManager().checkPermission('Moderate Discussion', aq_inner(self.context)) 39 return getSecurityManager().checkPermission('Moderate Discussion', 40 aq_inner(self.context)) 39 41 40 42 def getGravatar(self, reply): … … 45 47 46 48 creator = reply.Creator() 47 if creator and not creator =='Anonymous User':49 if creator and not creator == 'Anonymous User': 48 50 mtool = getToolByName(self.context, "portal_membership") 49 51 member = mtool.getMemberById(creator) 50 email = member and member.getProperty('email', '') or ''51 mem_id = getattr(member, 'getId',lambda:'Anonymous User')()52 email = member and member.getProperty('email', '') or '' 53 mem_id = getattr(member, 'getId', lambda: 'Anonymous User')() 52 54 portrait = mtool.getPersonalPortrait(mem_id) 53 55 portrait_url = portrait.absolute_url() 54 56 else: 55 email = reply.getProperty('email', d='')57 email = reply.getProperty('email', d='') 56 58 57 59 if not email or not 'defaultUser.gif' in portrait_url: … … 61 63 gravatar_url = "http://www.gravatar.com/avatar.php?" 62 64 # construct the url 63 gravatar_url += urllib.urlencode({'gravatar_id':md5.md5(email).hexdigest(), 64 'default':portrait_url, 'size':str(size)}) 65 gravatar_url += urllib.urlencode({ 66 'gravatar_id': md5.md5(email).hexdigest(), 67 'default': portrait_url, 68 'size': str(size)}) 65 69 return gravatar_url 66 70 … … 69 73 portal_properties = getToolByName(self.context, 'portal_properties') 70 74 prop_sheet = portal_properties['qPloneComments'] 71 value = prop_sheet.getProperty('enable_authenticated_report_abuse', False) 75 value = prop_sheet.getProperty('enable_authenticated_report_abuse', 76 False) 72 77 return value 73 78 … … 107 112 108 113 def submit_abuse_report(self): 109 """ Send an email with the abuse report message and hide abuse report form. 114 """ Send an email with the abuse report message and 115 hide abuse report form. 110 116 """ 111 117 errors = {} … … 123 129 # get the form controller 124 130 controller = portal.portal_form_controller 125 # send the validate script to the form controller with the dummy state object 126 controller_state = controller.validate(dummy_controller_state, request, ['captcha_validator',]) 131 # send the validate script to the form controller 132 # with the dummy state object 133 controller_state = controller.validate(dummy_controller_state, 134 request, ['captcha_validator', ]) 127 135 errors.update(controller_state.errors) 128 136 … … 141 149 member=member, 142 150 **request.form) 143 node = ksscore.getHtmlIdSelector('span-reply-form-holder-%s' % comment_id) 151 node = ksscore.getHtmlIdSelector('span-reply-form-holder-%s' % \ 152 comment_id) 144 153 ksscore.replaceInnerHTML(node, html) 145 154 return self.render() … … 151 160 member=member, 152 161 **request.form) 153 node = ksscore.getHtmlIdSelector('span-reply-form-holder-%s' % comment_id) 154 html = '<br/><span style="color:red">You have reported this comment for abuse.</span>' 162 node = ksscore.getHtmlIdSelector('span-reply-form-holder-%s' % \ 163 comment_id) 164 html = '<br/><span style="color:red">' \ 165 'You have reported this comment for abuse.</span>' 155 166 self.commands.addCommand('remove_abuse_report_form', 156 167 node, -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/patch.py
r3116 r3117 59 59 return id 60 60 61 61 62 def getReplies(self): 62 63 """Return a sequence of the DiscussionResponse objects which are … … 76 77 return objects 77 78 79 78 80 perms = DiscussionItemContainer.__ac_permissions__ 79 81 new_perms = [] -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/skins/quintagroup_plonecomments/deleteDiscussion.py
r822 r3117 22 22 23 23 # remove the discussion item 24 talkback.deleteReply( obj.getId())24 talkback.deleteReply(obj.getId()) 25 25 manage_mails(obj, context, 'deleting') 26 26 … … 31 31 context.plone_utils.addPortalMessage(PloneMessageFactory(u'Reply deleted.')) 32 32 33 context.REQUEST['RESPONSE'].redirect( redirect_target.absolute_url() + '/%s' % view ) 33 context.REQUEST['RESPONSE'].redirect(redirect_target.absolute_url() + \ 34 '/%s' % view ) -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/tests/testQPloneCommentsConfiglet.py
r3116 r3117 16 16 self.membership = getToolByName(self.portal, 'portal_membership', None) 17 17 for user_id in USERS.keys(): 18 self.membership.addMember(user_id, USERS[user_id]['passw'] 18 self.membership.addMember(user_id, USERS[user_id]['passw'], USERS[user_id]['roles'], []) 19 19 20 20 # Add users to Discussion Manager group -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/tests/testQPloneCommentsReportAbuse.py
r3114 r3117 22 22 except: 23 23 raise "Anonymous user CAN'T report abuse in turned ON *Anonymous report abuse mode*." 24 25 24 26 25 def testAuthenticatedReportAbuse(self): -
quintagroup.plonecomments/trunk/quintagroup/plonecomments/utils.py
r3116 r3117 42 42 43 43 prop_sheet = context.portal_properties['qPloneComments'] 44 props = filter(lambda x: prop_sheet.getProperty(x), prop_sheet.propertyIds()) 44 props = filter(lambda x: prop_sheet.getProperty(x), \ 45 prop_sheet.propertyIds()) 45 46 46 47 actions = { … … 86 87 [obj.Creator(), ] 87 88 userid = creators and creators[0] or "" 88 creator = getToolByName(context, 'portal_membership').getMemberById(userid) 89 portal_membership = getToolByName(context, 'portal_membership') 90 creator = portal_membership.getMemberById(userid) 89 91 if creator and allowEmail(context, reply, state, creator): 90 92 return creator.getProperty('email', '') … … 105 107 def getParentOwnerEmail(reply, context): 106 108 creator_id = getParent(reply).getOwnerTuple()[1] 107 creator = getToolByName(context, 'portal_membership').getMemberById(creator_id) 109 portal_membership = getToolByName(context, 'portal_membership') 110 creator = portal_membership.getMemberById(creator_id) 108 111 if creator and allowEmail(context, reply, state, creator): 109 112 return creator.getProperty('email', '') … … 117 120 organization_name = getProp(context, 'email_subject_prefix', '') 118 121 creator_name = reply.getOwnerTuple()[1] 119 admin_email = context.portal_url.getPortalObject().getProperty('email_from_address') 122 portal = getToolByName(context, 'portal_url').getPortalObject() 123 admin_email = portal.getProperty('email_from_address') 120 124 translate = getToolByName(context, 'translation_service').translate 121 125 subject = '' … … 123 127 subject = translate(_(u"approve_user_notification_subject", 124 128 default=u"Your comment on ${title} is now published", 125 mapping={u"title": safe_unicode(getParent(context).title_or_id())}), 129 mapping={u"title": 130 safe_unicode(getParent(context).title_or_id())}), 126 131 context=context.REQUEST) 127 132 if user_email: … … 138 143 subject = translate(_(u"rejected_user_notification_subject", 139 144 default=u"Your comment on ${title} was not approved", 140 mapping={u"title": safe_unicode(getParent(context).title_or_id())}), 145 mapping={u"title": 146 safe_unicode(getParent(context).title_or_id())}), 141 147 context=context.REQUEST) 142 148 if user_email: … … 154 160 subject = translate(_(u"reply_user_notification_subject", 155 161 default=u"Someone replied to your comment on ${title}", 156 mapping={u"title": safe_unicode(getParent(context).title_or_id())}), 162 mapping={u"title": 163 safe_unicode(getParent(context).title_or_id())}), 157 164 context=context.REQUEST) 158 165 di_parrent = getDIParent(reply) … … 200 207 args = {} 201 208 202 elif state in ('enable_authenticated_report_abuse', 'enable_anonymous_report_abuse'): 209 elif state in ('enable_authenticated_report_abuse', 210 'enable_anonymous_report_abuse'): 203 211 template = 'report_abuse_template' 204 212 user_email = getProp(context, "email_discussion_manager", None) … … 230 238 if args: 231 239 msg = getMsg(context, template, args) 232 charset = context.portal_properties.site_properties.getProperty('default_charset', 'utf-8') 240 site_properties = context.portal_properties.site_properties 241 charset = site_properties.getProperty('default_charset', 'utf-8') 233 242 msg = msg.encode(charset) 234 243 host = context.plone_utils.getMailHost() … … 236 245 host.secureSend(msg, user_email, admin_email, subject=subject, 237 246 subtype='plain', debug=False, charset=charset) 238 except (smtplib.SMTPRecipientsRefused, smtplib.SMTPServerDisconnected):247 except (smtplib.SMTPRecipientsRefused, smtplib.SMTPServerDisconnected): 239 248 setStatusMsg(None, context, 240 249 _('Could not send the email notification. Have you configured an email server for Plone?'))
Note: See TracChangeset
for help on using the changeset viewer.