def notifyWorkflowCreated(self): self.test_wf_notified = 1 DiscussionItem.inheritedAttribute('notifyWorkflowCreated')(self)
def createReply( self, title, text, Creator=None ): """Create a reply in the proper place """ container = self._container id = int(DateTime().timeTime()) while self._container.get( str(id), None ) is not None: id = id + 1 id = str( id ) item = DiscussionItem( id, title=title, description=title ) item._edit( text_format='structured-text', text=text ) if Creator: item.creator = Creator item.__of__( self ).indexObject() item.setReplyTo( self._getDiscussable() ) item.__of__(self).notifyWorkflowCreated() # added with the patch - should be fixed in CMF 1.4.8+ self._container[ id ] = item return id
def createReply(self, title, text, Creator=None, email=''): """Create a reply in the proper place. """ container = self._container id = int(DateTime().timeTime()) while self._container.get(str(id), None) is not None: id += 1 id = str(id) item = DiscussionItem(id, title=title, description=title) if Creator: if getattr(item, 'addCreator', None) is not None: item.addCreator(Creator) else: item.creator = Creator self._container[id] = item item = item.__of__(self) item.setFormat('structured-text') item._edit(text) pm = getToolByName(self, 'portal_membership') if pm.isAnonymousUser(): item.manage_addProperty(id='email', value=email, type='string') item.review_state = 'private' # Control of performing moderation if getProp(self, 'enable_moderation', marker=False): roles = [role['name'] for role in self.acl_users.rolesOfPermission('Moderate Discussion') if role['selected']== 'SELECTED'] roles.append('DiscussionManager') item.manage_permission('Delete objects', roles, acquire=1) item.manage_permission('View', roles, acquire=0) else: item.review_state = 'published' item.setReplyTo(self._getDiscussable()) item.indexObject() return id
def createReply( self, title, text, Creator=None ): """ Create a reply in the proper place """ container = self._container id = int(DateTime().timeTime()) while self._container.get( str(id), None ) is not None: id = id + 1 id = str( id ) item = DiscussionItem( id, title=title, description=title ) item._edit( text_format='structured-text', text=text ) if Creator: if hasattr(item, 'addCreator'): item.addCreator(Creator) else: item.creator = Creator pm = getToolByName(self, 'portal_membership') value = 0 if pm.isAnonymousUser(): value = 1 if item.hasProperty('isAnon'): item.manage_changeProperties({'id':'isAnon','value':value}) else: item.manage_addProperty(id='isAnon', value=value, type='boolean') item.review_state="private" item.setReplyTo( self._getDiscussable() ) self._container[ id ] = item # Control of performing moderation ifModerate = getProp(self, "enable_moderation", marker=False) if ifModerate: roles = ['DiscussionManager'] item.manage_permission('Delete objects', roles, acquire=1) item.manage_permission('View', roles, acquire=0) else: item.review_state = "published" item.__of__( self ).indexObject() return id