Esempio n. 1
0
 def _checkParams(self, params):
     RHConferenceModifBase._checkParams(self, params)
     from MaKaC.webinterface.rh.reviewingModif import RCPaperReviewManager, RCReferee
     self._isPRM = RCPaperReviewManager.hasRights(self)
     self._isReferee = RCReferee.hasRights(self)
     self._requests_manager = is_request_manager(session.user)
     self._plugin_urls = values_from_signal(signals.event_management.management_url.send(self.event_new),
                                            single_value=True)
 def _checkProtection(self):
     if self._target.hasEnabledSection("paperReviewing"):
         if not RCPaperReviewManager.hasRights(
                 self) and not RCReferee.hasRights(self):
             RHConferenceModifBase._checkProtection(self)
     else:
         raise MaKaCError(
             _("Paper Reviewing is not active for this conference"))
Esempio n. 3
0
    def _handleGet(self):
        contributions = self._conf.getContributionList()

        filter = {}

        # filtering if the active user is a referee: he can only see his own contribs
        isOnlyReferee = (
            RCReferee.hasRights(self)
            and not RCPaperReviewManager.hasRights(self)
            and not self._conf.canModify(self.getAW())
        )
        if isOnlyReferee:
            filter["referee"] = self._getUser()
        elif self._showWithReferee:
            filter["referee"] = "any"
        else:
            filter["referee"] = None

        if self._showWithEditor:
            filter["editor"] = "any"
        else:
            filter["editor"] = None
        if self._showWithReviewer:
            filter["reviewer"] = "any"
        else:
            filter["reviewer"] = None

        # note by David: I added "if self._selTypes..." and the other ifs after this line,
        # in order to make the recording request load contributions work
        # but, it may break the paper reviewing module -> assign contributions filter
        if self._selTypes:
            filter["type"] = self._selTypes
        if self._selTracks:
            filter["track"] = self._selTracks
        if self._selSessions:
            filter["session"] = self._selSessions
        if self._poster:
            filter["poster"] = self._poster

        filterCrit = ContributionsReviewingFilterCrit(self._conf, filter)
        sortingCrit = contribFilters.SortingCriteria(["number"])

        if self._selTypes:
            filterCrit.getField("type").setShowNoValue(self._typeShowNoValue)
        if self._selTracks:
            filterCrit.getField("track").setShowNoValue(self._trackShowNoValue)
        if self._selSessions:
            filterCrit.getField("session").setShowNoValue(self._sessionShowNoValue)
        if self._poster:
            filterCrit.getField("poster").setShowNoValue(self._posterShowNoValue)

        filterCrit.getField("referee").setShowNoValue(not isOnlyReferee)

        f = filters.SimpleFilter(filterCrit, sortingCrit)
        contributions = f.apply(contributions)

        return DictPickler.pickle(contributions)
Esempio n. 4
0
 def _checkParams(self, params):
     RHConferenceModifBase._checkParams(self, params)
     from MaKaC.webinterface.rh.reviewingModif import RCPaperReviewManager, RCReferee
     self._isPRM = RCPaperReviewManager.hasRights(self)
     self._isReferee = RCReferee.hasRights(self)
     self._requests_manager = is_request_manager(session.user)
     self._plugin_urls = values_from_signal(
         signals.event_management.management_url.send(self.event_new),
         single_value=True)
Esempio n. 5
0
    def _handleGet(self):
        contributions = self._conf.getContributionList()

        filter = {}

        #filtering if the active user is a referee: he can only see his own contribs
        isOnlyReferee = RCReferee.hasRights(self) \
                        and not RCPaperReviewManager.hasRights(self) \
                        and not self._conf.canModify(self.getAW())
        if isOnlyReferee:
            filter["referee"] = self._getUser()
        elif self._showWithReferee:
            filter["referee"] = "any"
        else:
            filter["referee"] = None

        if self._showWithEditor:
            filter["editor"] = "any"
        else:
            filter["editor"] = None
        if self._showWithReviewer:
            filter["reviewer"] = "any"
        else:
            filter["reviewer"] = None

        #note by David: I added "if self._selTypes..." and the other ifs after this line,
        #in order to make the recording request load contributions work
        #but, it may break the paper reviewing module -> assign contributions filter
        if self._selTypes:
            filter["type"] = self._selTypes
        if self._selTracks:
            filter["track"] = self._selTracks
        if self._selSessions:
            filter["session"] = self._selSessions
        if self._poster:
            filter["poster"] = self._poster

        filterCrit = ContributionsReviewingFilterCrit(self._conf, filter)
        sortingCrit = contribFilters.SortingCriteria(["number"])

        if self._selTypes:
            filterCrit.getField("type").setShowNoValue(self._typeShowNoValue)
        if self._selTracks:
            filterCrit.getField("track").setShowNoValue(self._trackShowNoValue)
        if self._selSessions:
            filterCrit.getField("session").setShowNoValue(
                self._sessionShowNoValue)
        if self._poster:
            filterCrit.getField("poster").setShowNoValue(
                self._posterShowNoValue)

        filterCrit.getField("referee").setShowNoValue(not isOnlyReferee)

        f = filters.SimpleFilter(filterCrit, sortingCrit)
        contributions = f.apply(contributions)

        return DictPickler.pickle(contributions)
Esempio n. 6
0
    def _checkProtection(self):
        hasRights = False;
        if RCPaperReviewManager.hasRights(self):
            hasRights = True
        elif RCReferee.hasRights(self):
            isRefereeOfAllContributions = True
            for contribution in self._contributions:
                if not contribution.getReviewManager().isReferee(self.getAW().getUser()):
                    isRefereeOfAllContributions = False
                    break
            hasRights = isRefereeOfAllContributions

        if not hasRights:
            ProtectedModificationService._checkProtection(self)
Esempio n. 7
0
    def _checkProtection(self):
        hasRights = False;
        if RCPaperReviewManager.hasRights(self):
            hasRights = True
        elif RCReferee.hasRights(self):
            isRefereeOfAllContributions = True
            for contribution in self._contributions:
                if not contribution.getReviewManager().isReferee(self.getAW().getUser()):
                    isRefereeOfAllContributions = False
                    break
            hasRights = isRefereeOfAllContributions

        if not hasRights:
            ProtectedModificationService._checkProtection(self)
Esempio n. 8
0
    def _handleGet(self):
        contributions = (Contribution.find(
            event_new=self._conf.as_event,
            is_deleted=False).options(joinedload('timetable_entry'),
                                      joinedload('paper_reviewing_roles')))

        filter = {}

        #filtering if the active user is a referee: he can only see his own contribs
        isOnlyReferee = RCReferee.hasRights(self) \
            and not RCPaperReviewManager.hasRights(self) \
            and not self._conf.canModify(self.getAW())

        # We want to make an 'or', not an 'and' of the reviewing assign status

        filter["reviewing"] = {}
        if isOnlyReferee:
            filter["reviewing"]["referee"] = self._getUser()
        elif self._showWithReferee:
            filter["reviewing"]["referee"] = "any"
        if self._showWithEditor:
            filter["reviewing"]["editor"] = "any"
        if self._showWithReviewer:
            filter["reviewing"]["reviewer"] = "any"

        filter["type"] = self._selTypes
        filter["track"] = self._selTracks
        filter["session"] = self._selSessions

        filter["materialsubmitted"] = self._showWithMaterial

        filterCrit = ContributionsReviewingFilterCrit(self._conf, filter)
        sortingCrit = contribFilters.SortingCriteria(["number"])

        filterCrit.getField("type").setShowNoValue(self._typeShowNoValue)
        filterCrit.getField("track").setShowNoValue(self._trackShowNoValue)
        filterCrit.getField("session").setShowNoValue(self._sessionShowNoValue)

        filterCrit.getField("reviewing").setShowNoValue(self._showWithoutTeam)
        filterCrit.getField("materialsubmitted").setShowNoValue(
            self._showWithoutMaterial)

        f = filters.SimpleFilter(filterCrit, sortingCrit)
        contributions = f.apply(contributions)

        return [_serialize_contribution(contrib) for contrib in contributions]
Esempio n. 9
0
    def _handleGet(self):
        contributions = Contribution.find(event_new=self._conf.as_event, is_deleted=False).options(
            joinedload("timetable_entry"), joinedload("paper_reviewing_roles")
        )

        filter = {}

        # filtering if the active user is a referee: he can only see his own contribs
        isOnlyReferee = (
            RCReferee.hasRights(self)
            and not RCPaperReviewManager.hasRights(self)
            and not self._conf.canModify(self.getAW())
        )

        # We want to make an 'or', not an 'and' of the reviewing assign status

        filter["reviewing"] = {}
        if isOnlyReferee:
            filter["reviewing"]["referee"] = self._getUser()
        elif self._showWithReferee:
            filter["reviewing"]["referee"] = "any"
        if self._showWithEditor:
            filter["reviewing"]["editor"] = "any"
        if self._showWithReviewer:
            filter["reviewing"]["reviewer"] = "any"

        filter["type"] = self._selTypes
        filter["track"] = self._selTracks
        filter["session"] = self._selSessions

        filter["materialsubmitted"] = self._showWithMaterial

        filterCrit = ContributionsReviewingFilterCrit(self._conf, filter)
        sortingCrit = contribFilters.SortingCriteria(["number"])

        filterCrit.getField("type").setShowNoValue(self._typeShowNoValue)
        filterCrit.getField("track").setShowNoValue(self._trackShowNoValue)
        filterCrit.getField("session").setShowNoValue(self._sessionShowNoValue)

        filterCrit.getField("reviewing").setShowNoValue(self._showWithoutTeam)
        filterCrit.getField("materialsubmitted").setShowNoValue(self._showWithoutMaterial)

        f = filters.SimpleFilter(filterCrit, sortingCrit)
        contributions = f.apply(contributions)

        return [_serialize_contribution(contrib) for contrib in contributions]
Esempio n. 10
0
    def _handleGet(self):
        contributions = self._conf.getContributionList()

        filter = {}

        #filtering if the active user is a referee: he can only see his own contribs
        isOnlyReferee = RCReferee.hasRights(self) \
            and not RCPaperReviewManager.hasRights(self) \
            and not self._conf.canModify(self.getAW())

        # We want to make an 'or', not an 'and' of the reviewing assign status

        filter["reviewing"] = {}
        if isOnlyReferee:
            filter["reviewing"]["referee"] = self._getUser()
        elif self._showWithReferee:
            filter["reviewing"]["referee"] = "any"
        if self._showWithEditor:
            filter["reviewing"]["editor"] = "any"
        if self._showWithReviewer:
            filter["reviewing"]["reviewer"] = "any"

        filter["type"] = self._selTypes
        filter["track"] = self._selTracks
        filter["session"] = self._selSessions

        filter["materialsubmitted"] = self._showWithMaterial

        filterCrit = ContributionsReviewingFilterCrit(self._conf, filter)
        sortingCrit = contribFilters.SortingCriteria(["number"])

        filterCrit.getField("type").setShowNoValue(self._typeShowNoValue)
        filterCrit.getField("track").setShowNoValue(self._trackShowNoValue)
        filterCrit.getField("session").setShowNoValue(self._sessionShowNoValue)

        filterCrit.getField("reviewing").setShowNoValue(self._showWithoutTeam)
        filterCrit.getField("materialsubmitted").setShowNoValue(self._showWithoutMaterial)

        f = filters.SimpleFilter(filterCrit, sortingCrit)
        contributions = f.apply(contributions)

        return fossilize(contributions, IContributionFossil)
 def _checkProtection(self):
     if not RCPaperReviewManager.hasRights(self) and not RCReferee.hasRights(self):
         RHConferenceModifBase._checkProtection(self)
 def _checkProtection(self):
     if self._target.hasEnabledSection("paperReviewing"):
         if not RCPaperReviewManager.hasRights(self) and not RCReferee.hasRights(self):
             RHConferenceModifBase._checkProtection(self);
     else:
         raise MaKaCError(_("Paper Reviewing is not active for this conference"))
Esempio n. 13
0
 def _checkProtection(self):
     if not RCPaperReviewManager.hasRights(
             self) and not RCReferee.hasRights(self):
         ProtectedModificationService._checkProtection(self)
Esempio n. 14
0
 def _checkProtection(self):
     if not RCPaperReviewManager.hasRights(self) and not RCReferee.hasRights(self):
         ProtectedModificationService._checkProtection(self)
Esempio n. 15
0
 def _checkProtection(self):
     if not RCPaperReviewManager.hasRights(
             self) and not RCReferee.hasRights(self):
         ConferenceReviewingBase._checkProtection(self)