Пример #1
0
 def GetProjectById(cls, company, user, id):
     company = CompaniesController.GetCompanyById(company.id)
     for project in company.projects:
         if project.project_id == id:
             if user_is_company_admin(user, company) or user.id in project.members:
                 return project
     return None
Пример #2
0
 def GetAndFormatCompanyWideActivity(cls, user, company, count=10):
     activity_level = 0 if user_is_company_admin(user, company) else 1
     activity_records = ActivityRecord.objects.filter(company_id=company.id)
     activity_records = [a for a in activity_records if a.activity_level > activity_level]
     activity_records = sorted(activity_records, key=lambda a: a.date, reverse=True)
     formatted_activity_records = [cls._FormatActivityRecord(a) for a in activity_records]
     return formatted_activity_records
Пример #3
0
 def GetCompanyProjectsForUser(cls, company, user, only_active=True):
     projects = company.projects
     if only_active:
         projects = [p for p in projects if p.active == True]
     if not user_is_company_admin(user, company):
         projects = [p for p in projects if user.id in p.members]
     projects = sorted(projects, key=lambda p: p.created, reverse=True)
     return projects
Пример #4
0
def is_company_admin(user, company):
    return user_is_company_admin(user, company)
Пример #5
0
 def GetAndFormatProjectWideActivity(cls, user, company, project_id, count=10):
     activity_level = 0 if user_is_company_admin(user, company) else 1
     activity_records = ActivityRecord.objects.filter(project_id=project_id).filter(activity_level__gte=activity_level)
     activity_records = sorted(activity_records, key=lambda a: a.date, reverse=True)
     formatted_activity_records = [cls._FormatActivityRecord(a) for a in activity_records[:count]]
     return formatted_activity_records