Changeset 368
- Timestamp:
- 07/04/06 09:42:36
- Files:
-
- qPloneComments/tags/2.0/__init__.py (modified) (2 diffs)
- qPloneComments/tags/2.0/patch.py (modified) (6 diffs)
- qPloneComments/tags/2.0/skins/qplonecomments/2.1/viewThreadsAtBottom.pt (modified) (1 diff)
- qPloneComments/tags/2.0/utils.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
qPloneComments/tags/2.0/__init__.py
r367 r368 1 1 from Products.CMFCore.DirectoryView import registerDirectory 2 from AccessControl import allow_module 2 from AccessControl import allow_module, Permission 3 3 4 4 from config import * … … 10 10 allow_module('Products.qPloneComments.utils') 11 11 12 Permission.registerPermissions((('Moderate Discussion', (), ('Manager',)),)) qPloneComments/tags/2.0/patch.py
r367 r368 3 3 from DateTime import DateTime 4 4 from Products.CMFCore.utils import getToolByName 5 from AccessControl import ClassSecurityInfo 6 from Globals import InitializeClass 5 7 6 8 from utils import * … … 45 47 ifModerate = getProp(self, "enable_moderation", marker=False) 46 48 if ifModerate: 47 roles = ['DiscussionManager'] 49 roles = [role['name'] for role in self.acl_users.rolesOfPermission('Moderate Discussion') 50 if role['selected']== 'SELECTED'] 48 51 item.manage_permission('Delete objects', roles, acquire=1) 49 52 item.manage_permission('View', roles, acquire=0) … … 51 54 item.review_state = "published" 52 55 53 item.__of__( self ).indexObject() 56 item.__of__( self ).indexObject() 54 57 return id 55 56 58 57 59 def getReplies( self ): … … 60 62 associated with this Discussable 61 63 """ 64 62 65 objects = [] 63 66 a = objects.append … … 66 69 result_ids = self._getReplyResults() 67 70 for id in result_ids: 68 object = self._container.get( id ).__of__( self ) 71 object = self._container.get( id ).__of__( self ) 69 72 try: 70 73 if validate(self, self, id, object): … … 74 77 return objects 75 78 79 s = repr(DiscussionItemContainer.__ac_permissions__) 80 perms = DiscussionItemContainer.__ac_permissions__ 81 new_perms = [] 82 for item in perms: 83 perm_name = item[0] 84 funcs = item[1] 85 if 'deleteReply' in funcs: 86 new_perms.append( (perm_name, [f for f in funcs if f != 'deleteReply']) ) 87 new_perms.append( ('Moderate Discussion', ('deleteReply', )) ) 88 else: 89 new_perms.append(item) 90 DiscussionItemContainer.__ac_permissions__ = new_perms 91 #raise s + '\n' + repr(DiscussionItemContainer.__ac_permissions__) 92 93 InitializeClass(DiscussionItemContainer) 76 94 77 95 DiscussionItemContainer.createReply = createReply qPloneComments/tags/2.0/skins/qplonecomments/2.1/viewThreadsAtBottom.pt
r367 r368 88 88 method="post" 89 89 style="display: inline;" 90 tal:condition="python:checkPermission('M anage portal', here)"90 tal:condition="python:checkPermission('Moderate Discussion', here)" 91 91 tal:attributes="action string:${reply/absolute_url}/deleteDiscussion"> 92 92 <input class="destructive" qPloneComments/tags/2.0/utils.py
r367 r368 66 66 return 1 67 67 68 68 69 69 def publishDiscussion(self): 70 70 roles = ['Anonymous']
