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))
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
    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'))