def get_reviewed_for_groups(self, user, include_reviewed=False): from indico.modules.events.papers.models.reviews import PaperTypeProxy from indico.modules.events.papers.util import is_type_reviewing_possible cfp = self.paper.cfp reviewed_for = set() if include_reviewed: reviewed_for = {x.type for x in self.reviews if x.user == user and is_type_reviewing_possible(cfp, x.type)} if is_type_reviewing_possible(cfp, PaperReviewType.content) and user in self.paper.cfp.content_reviewers: reviewed_for.add(PaperReviewType.content) if is_type_reviewing_possible(cfp, PaperReviewType.layout) and user in self.paper.cfp.layout_reviewers: reviewed_for.add(PaperReviewType.layout) return set(map(PaperTypeProxy, reviewed_for))
def _can_edit_review(self, review): user = self.context.get('user') cfp = review.revision.paper.cfp return review.can_edit( user, check_state=True) and is_type_reviewing_possible( cfp, review.type)
def _check_access(self): RHPaperBase._check_access(self) if not is_type_reviewing_possible(self.event.cfp, self.review.type): raise Forbidden(_('Reviewing is currently not possible'))