Exemple #1
0
def is_listen_featurelet_installed(f, mship_obj, action):
    team = mship_obj.aq_inner.aq_parent
    proj_id = team.getId()
    portal = getToolByName(mship_obj, 'portal_url').getPortalObject()
    try:
        project = portal.projects[proj_id]
    except KeyError:
        # cannot find project with same name as team (unit test only?)
        return
    for flet in get_featurelets(project):
        if flet['name'] == 'listen':
            break
    else:
        # no mailing lists on project
        return
    f(mship_obj, action)
Exemple #2
0
def project_contains_blog(f, obj, event):
    """decorator to verify that the project has a blog before
       sending the event to wordpress"""
    if IProject.providedBy(obj):
        proj_id = obj.getId()
        project = obj
    else:
        # it's a membership object
        team = obj.aq_inner.aq_parent
        proj_id = team.getId()
        portal = getToolByName(obj, 'portal_url').getPortalObject()
        try:
            project = portal.projects._getOb(proj_id)
        except KeyError:
            # cannot find project with same name as team (unit test only?)
            return
    for flet in get_featurelets(project):
        if flet['name'] == 'blog':
            break
    else:
        # no blog on project
        return
    f(obj, event)
Exemple #3
0
 def _get_featurelet(self, flet_id):
     flets = get_featurelets(self.context)
     for flet in flets:
         if flet['name'] == flet_id:
             return flet
     return None
 def featurelets(self):
     flets = []
     if self.project is not None:
         flets = get_featurelets(self.project)
     return flets