Esempio n. 1
0
    def _checkProtection(self):

        if self._material:  #target is a material
            if isinstance(self._material.getOwner(), conference.Contribution) and \
                self._material.getOwner().canUserSubmit(self._aw.getUser()) and \
                self._material.getReviewingState() < 3:
                return
            elif self._material.getSession() != None and \
                   self._material.getSession().canCoordinate(self._aw, "modifContribs"):
                # Session coordiantors have access
                return
        elif isinstance(self._target,
                        conference.Contribution):  #target is a contribution
            if self._target.canUserSubmit(self._aw.getUser()):
                return

        try:
            ProtectedModificationService._checkProtection(self)
        except ModificationError:
            raise ServiceError(
                "ERR-M2",
                _("you are not authorised to manage material for this contribution"
                  ))
        except Exception, e:
            raise e
Esempio n. 2
0
 def _checkProtection(self):
     if self._session.isClosed():
         raise ServiceAccessError(
             _(""""The modification of the session "%s" is not allowed because it is closed""")
             % self._session.getTitle()
         )
     ProtectedModificationService._checkProtection(self)
Esempio n. 3
0
 def _checkParams(self):
     ContributionModifBase._checkParams(self)
     
     subcId = self._params.get('subContribution',None)
     
     self._subCont = self._target.getSubContributionById(subcId) 
         
     ProtectedModificationService._checkProtection(self)
Esempio n. 4
0
    def _checkProtection(self):
        owner = self._material.getOwner()

        # Conference submitters have access
        if isinstance(owner, conference.Conference
                      ) and owner.getAccessController().canUserSubmit(
                          self._aw.getUser()):
            return

        # There are two exceptions to the normal permission scheme:
        # (sub-)contribution submitters and session coordinators

        # in case the owner is a (sub-)contribution, we should
        # allow submitters
        if isinstance(owner, conference.Contribution) or \
           isinstance(owner, conference.SubContribution):

            reviewingState = self._material.getReviewingState()

            if (reviewingState < 3
                    and  # it means the papers has not been submitted yet (or not reviewing material)
                    owner.canUserSubmit(self._aw.getUser())):
                # Submitters have access
                return
            # status = 3 means the paper is under review (submitted but not reviewed)
            # status = 2 means that the author has not yet submitted the material
            elif isinstance(
                    owner, conference.Contribution
            ) and RCContributionPaperReviewingStaff.hasRights(
                    self, contribution=owner,
                    includingContentReviewer=False) and reviewingState in [
                        2, 3
                    ]:
                return
            elif owner.getSession() and \
                     owner.getSession().canCoordinate(self._aw, "modifContribs"):
                # Coordinators of the parent session have access
                return

        # if it's associated with a session, coordinators
        # should be allowed
        elif self._material.getSession() != None and \
            self._material.getSession().canCoordinate(self._aw):
            # Session coordinators have access
            return

        try:
            ProtectedModificationService._checkProtection(self)
        except ModificationError:
            raise ServiceAccessError(
                _("you are not authorised to manage material "
                  "for this contribution"))
Esempio n. 5
0
    def _checkProtection(self):
        if self._target.getConference().hasEnabledSection("paperReviewing"):
            hasRights = False
            if self._current == 'refereeJudgement':
                hasRights =  RCContributionReferee.hasRights(self)
            elif self._current == 'editorJudgement':
                hasRights =  RCContributionEditor.hasRights(self)
            elif self._current == 'reviewerJudgement':
                hasRights = RCContributionReviewer.hasRights(self)

            if not hasRights and not RCPaperReviewManager.hasRights(self):
                ProtectedModificationService._checkProtection(self)
        else:
            raise ServiceError("ERR-REV1b",_("Paper Reviewing is not active for this conference"))
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):
        if self._target.getConference().hasEnabledSection("paperReviewing"):
            hasRights = False
            if self._current == 'refereeJudgement':
                hasRights =  RCContributionReferee.hasRights(self)
            elif self._current == 'editorJudgement':
                hasRights =  RCContributionEditor.hasRights(self)
            elif self._current == 'reviewerJudgement':
                hasRights = RCContributionReviewer.hasRights(self)

            if not hasRights and not RCPaperReviewManager.hasRights(self):
                ProtectedModificationService._checkProtection(self)
        else:
            raise ServiceError("ERR-REV1b",_("Paper Reviewing is not active for this conference"))
Esempio n. 8
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. 9
0
    def _checkProtection(self):
        owner = self._material.getOwner()

        # Conference submitters have access
        if isinstance(owner, conference.Conference) and owner.getAccessController().canUserSubmit(self._aw.getUser()):
            return

        # There are two exceptions to the normal permission scheme:
        # (sub-)contribution submitters and session coordinators

        # in case the owner is a (sub-)contribution, we should
        # allow submitters
        if isinstance(owner, conference.Contribution) or isinstance(owner, conference.SubContribution):

            reviewingState = self._material.getReviewingState()

            if (
                reviewingState < 3
                and owner.canUserSubmit(  # it means the papers has not been submitted yet (or not reviewing material)
                    self._aw.getUser()
                )
            ):
                # Submitters have access
                return
            # status = 3 means the paper is under review (submitted but not reviewed)
            # status = 2 means that the author has not yet submitted the material
            elif (
                isinstance(owner, conference.Contribution)
                and RCContributionPaperReviewingStaff.hasRights(
                    self, contribution=owner, includingContentReviewer=False
                )
                and reviewingState in [2, 3]
            ):
                return
            elif owner.getSession() and owner.getSession().canCoordinate(self._aw, "modifContribs"):
                # Coordinators of the parent session have access
                return

        # if it's associated with a session, coordinators
        # should be allowed
        elif self._material.getSession() != None and self._material.getSession().canCoordinate(self._aw):
            # Session coordinators have access
            return

        try:
            ProtectedModificationService._checkProtection(self)
        except ModificationError:
            raise ServiceAccessError(_("you are not authorised to manage material " "for this contribution"))
Esempio n. 10
0
    def _checkParams(self):
        ProtectedModificationService._checkParams(self)

        pm = ParameterManager(self._params)

        l = locators.WebLocator()

        # TODO: This chain could (should) be repalced by a more generic
        # locator, something like:
        # l.setParams(self._params)
        # l.getObject() # retrieves whatever object has been extracted

        # will check cotnribution and session as well, as fallback cases
        l.setSubContribution(self._params, 0)
        # will check if it is compiling minutes
        self._compile = self._params.get("compile", False)

        self._target = l.getObject()

        # TODO: change str to some kind of html sanitization
        self._text = pm.extract("value", pType=str, allowEmpty=True)
Esempio n. 11
0
    def _checkParams(self):
        ProtectedModificationService._checkParams(self)

        pm = ParameterManager(self._params)

        l = locators.WebLocator()

        # TODO: This chain could (should) be repalced by a more generic
        # locator, something like:
        # l.setParams(self._params)
        # l.getObject() # retrieves whatever object has been extracted

        # will check cotnribution and session as well, as fallback cases
        l.setSubContribution(self._params, 0)
        # will check if it is compiling minutes
        self._compile = self._params.get("compile", False)

        self._target = l.getObject()

        # TODO: change str to some kind of html sanitization
        self._text = pm.extract("value", pType=str, allowEmpty=True)
Esempio n. 12
0
    def _checkProtection(self):

        if self._material: #target is a material
            if isinstance(self._material.getOwner(), conference.Contribution) and \
                self._material.getOwner().canUserSubmit(self._aw.getUser()) and \
                self._material.getReviewingState() < 3:
                return
            elif self._material.getSession() != None and \
                   self._material.getSession().canCoordinate(self._aw, "modifContribs"):
                # Session coordiantors have access
                return
        elif isinstance(self._target, conference.Contribution): #target is a contribution
            if self._target.canUserSubmit(self._aw.getUser()):
                return

        try:
            ProtectedModificationService._checkProtection(self)
        except ModificationError:
            raise ServiceError("ERR-M2", _("you are not authorised to manage material for this contribution"))
        except Exception, e:
            raise e
Esempio n. 13
0
 def _checkProtection(self):
     if self._target.getSession() != None:
         if self._target.getSession().canCoordinate(self.getAW(), "modifContribs"):
             return
     ProtectedModificationService._checkProtection(self)
Esempio n. 14
0
 def _checkParams(self):
     ContributionBase._checkParams(self)
     ProtectedModificationService._checkParams(self)
Esempio n. 15
0
 def _checkProtection(self):
     if not RCPaperReviewManager.hasRights(
             self) and not RCReferee.hasRights(self):
         ProtectedModificationService._checkProtection(self)
Esempio n. 16
0
 def _checkParams(self):
     ConferenceBase._checkParams(self)
     ProtectedModificationService._checkParams(self)
Esempio n. 17
0
 def _checkParams(self):
     ConferenceBase._checkParams(self)
     ProtectedModificationService._checkParams(self)
Esempio n. 18
0
 def _checkProtection(self):
     ProtectedModificationService._checkProtection(self)
Esempio n. 19
0
 def _checkParams(self):
     CategoryBase._checkParams(self)
     ProtectedModificationService._checkParams(self)
Esempio n. 20
0
 def _checkParams(self):
     MaterialBase._checkParams(self)
     ProtectedModificationService._checkParams(self)
Esempio n. 21
0
 def __init__(self, params, session, req):
     ProtectedModificationService.__init__(self, params, session, req)
Esempio n. 22
0
 def _checkProtection(self):
     if self._target.getSession() != None:
         if self._target.getSession().canCoordinate(self.getAW(),
                                                    "modifContribs"):
             return
     ProtectedModificationService._checkProtection(self)
Esempio n. 23
0
 def __init__(self, params):
     ProtectedModificationService.__init__(self, params)
Esempio n. 24
0
 def _checkProtection(self):
     if self._session.isClosed():
         raise ServiceAccessError(
             _(""""The modification of the session "%s" is not allowed because it is closed"""
               ) % self._session.getTitle())
     ProtectedModificationService._checkProtection(self)
Esempio n. 25
0
 def __init__(self, params, session, req):
     ProtectedModificationService.__init__(self, params, session, req)
Esempio n. 26
0
 def _checkParams(self):
     CategoryBase._checkParams(self)
     ProtectedModificationService._checkParams(self)
Esempio n. 27
0
 def _checkProtection(self):
     if (type(self._target) == conference.Session and \
            not self._target.canCoordinate(self.getAW())) or \
            (type(self._target) == conference.Contribution and \
             not self._target.canUserSubmit(self._getUser())):
         ProtectedModificationService._checkProtection(self)
Esempio n. 28
0
 def _checkParams(self):
     MaterialBase._checkParams(self)
     ProtectedModificationService._checkParams(self)
Esempio n. 29
0
 def _checkProtection(self):
     if (type(self._target) == conference.Session and not self._target.canCoordinate(self.getAW())) or (
         type(self._target) == conference.Contribution and not self._target.canUserSubmit(self._getUser())
     ):
         ProtectedModificationService._checkProtection(self)
Esempio n. 30
0
 def _checkProtection(self):
     ProtectedModificationService._checkProtection(self)
Esempio n. 31
0
 def __init__(self, params):
     ProtectedModificationService.__init__(self, params)
Esempio n. 32
0
 def _checkProtection(self):
     if not RCPaperReviewManager.hasRights(self):
         ProtectedModificationService._checkProtection(self)
Esempio n. 33
0
 def _checkParams(self):
     ContributionBase._checkParams(self)
     ProtectedModificationService._checkParams(self)