def get_users_to_review(user): if not user.is_authenticated: return User.objects.none() if is_at_phase(Phase.MANAGER_REVIEW): qs = User.objects.filter(round=get_active_round()) return filter_query_set_for_manager_review(user, qs) if is_at_phase(Phase.PEER_REVIEW): return User.objects.filter( projectreview__reviewers=user, projectreview__round=get_active_round()).distinct() return User.objects.none()
def get_or_create_project_review(project, reviewee): if not can_review_project(reviewee, project): return None project_review, created = ProjectReview.objects.get_or_create( round=get_active_round(), project=project, reviewee=reviewee) return project_review
def get_all_manager_person_reviews(user): if not user.is_authenticated: return ManagerPersonReview.objects.none() if is_at_phase(Phase.MANAGER_REVIEW): qs = ManagerPersonReview.objects.filter(round=get_active_round()) return filter_query_set_for_manager_review(user, qs, 'reviewee') return ManagerPersonReview.objects.none()
def get_all_project_reviews(user): if not user.is_authenticated: return ProjectReview.objects.none() if is_at_phase(Phase.SELF_REVIEW): return ProjectReview.objects.filter(round=get_active_round(), reviewee=user) if is_at_phase(Phase.PEER_REVIEW): return ProjectReview.objects.filter(round=get_active_round(), reviewers=user) if is_at_phase(Phase.MANAGER_REVIEW): qs = ProjectReview.objects.filter(round=get_active_round()) return filter_query_set_for_manager_review(user, qs, 'reviewee') if is_at_phase(Phase.RESULTS): return ProjectReview.objects.filter(round=get_active_round(), reviewee=user) return ProjectReview.objects.none()
def get_or_create_person_review(*, reviewee, reviewer): if not can_review_person(reviewer, reviewee): return None person_review, created = PersonReview.objects.get_or_create( round=get_active_round(), reviewee=reviewee, reviewer=reviewer) return person_review
def get_or_create_manager_person_review(*, reviewee, manager): if not can_view_manager_person_review(manager, reviewee): return None manager_person_review, _ = ManagerPersonReview.objects.get_or_create( round=get_active_round(), reviewee=reviewee, ) return manager_person_review
def get_all_manager_project_comments(user): if not user.is_authenticated: return ManagerProjectComment.objects.none() if is_at_phase(Phase.MANAGER_REVIEW): qs = ManagerProjectComment.objects.filter( project_review__round=get_active_round()) return filter_query_set_for_manager_review(user, qs, 'project_review__reviewee') return ManagerProjectComment.objects.none()
def resolve_active_round(self, info): return get_active_round()
def get_all_projects(user): if not user.is_authenticated: return Project.objects.none() return Project.objects.filter(round=get_active_round())