示例#1
0
 def listProjectsForActiveMember(cls, account):
   from models.project import Project, Membership
   
   account = cls.__parseAccountArgument(account)
   
   return Project.query\
     .filter(~Project.status.in_(Project._r(Project.STATUS_DELETED)))\
     .join(Project.members, aliased=True)\
     .filter(Membership.account==account, ~Membership.status.in_(Membership._r(Membership.STATUS_DELETED)))\
     .order_by(Project.alias)\
     .all() + cls.listGeneralProjects()
示例#2
0
 def listComponentsForActiveMember(cls, project, account):
   from models.project import Project, Component, Membership
   
   project = cls.__parseProjectArgument(project)
   account = cls.__parseAccountArgument(account)
   
   return Component.query\
     .filter(Component.project_id==project.id, ~Component.status.in_(Component._r(Component.STATUS_DELETED)))\
     .join(Component.project)\
     .filter(~Project.status.in_(Project._r(Project.STATUS_DELETED)))\
     .join(Project.members, aliased=True)\
     .filter(Membership.account==account, ~Membership.status.in_(Membership._r(Membership.STATUS_DELETED)))\
     .order_by(Project.alias, Component.alias)\
     .all()