コード例 #1
0
ファイル: report.py プロジェクト: timur-glushan/tt
 def listActiveReports(cls, start_date=None, end_date=None, accounts=None, components=None):
   from models.account import Account
   from models.project import Project, Component
   from models.report import Report
   
   query = Report.query\
     .filter(~Report.status.in_(Report._r(Report.STATUS_DELETED)))\
     .join(Report.account)\
     .filter(~Account.status.in_(Account._r(Account.STATUS_DELETED)))\
     .join(Report.component, aliased=True)\
     .filter(~Component.status.in_(Component._r(Component.STATUS_DELETED)))\
     .join(Report.project, aliased=True)\
     .filter(~Project.status.in_(Project._r(Project.STATUS_DELETED)))
   
   if start_date:
     query = query.filter(Report.due_date>=start_date)
   if end_date:
     query = query.filter(Report.due_date<=end_date)
   if accounts:
     query = query.filter(Report.account_id.in_(accounts))
   if components:
     query = query.filter(Report.component_id.in_(components))
   
   query = query.order_by(Account.first_name, Account.last_name, Account.alias, Report.due_date, Report.created)
   
   return query.all()
コード例 #2
0
ファイル: project.py プロジェクト: timur-glushan/tt
 def listActiveComponents(cls, project):
   from models.project import Project, Component
   
   project = cls.__parseProjectArgument(project)
   
   return Component.query\
     .filter(Component.project_id==project.id, ~Component.status.in_(Component._r(Component.STATUS_DELETED)))\
     .order_by(Component.alias)\
     .all()
コード例 #3
0
ファイル: project.py プロジェクト: timur-glushan/tt
 def listAllActiveComponents(cls):
   from models.project import Project, Component, Label
   
   return Component.query\
     .join(Component.project)\
     .join(Project.labels)\
     .join(Project.members, aliased=True)\
     .filter(~Component.status.in_(Component._r(Component.STATUS_DELETED)))\
     .filter(~Project.status.in_(Project._r(Project.STATUS_DELETED)))\
     .order_by(Label.title, Project.alias, Component.alias)\
     .all()
コード例 #4
0
ファイル: project.py プロジェクト: timur-glushan/tt
 def listAllComponentsForActiveMember(cls, account):
   from models.project import Project, Component, Membership
   
   account = cls.__parseAccountArgument(account)
   
   return Component.query\
     .filter(~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() + cls.listGeneralComponents()