예제 #1
0
 def notifyWorkflowCreated(self):
     self.test_wf_notified = 1
     DiscussionItem.inheritedAttribute('notifyWorkflowCreated')(self)
예제 #2
0
    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
예제 #3
0
 def notifyWorkflowCreated(self):
     self.test_wf_notified = 1
     DiscussionItem.inheritedAttribute('notifyWorkflowCreated')(self)
예제 #4
0
파일: patch.py 프로젝트: kroman0/products
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
예제 #5
0
파일: patch.py 프로젝트: kroman0/products
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