private function checkArtifact(PFUser $user, Tracker_Artifact $artifact)
 {
     if (!$artifact) {
         throw new \Luracast\Restler\RestException(404, 'Artifact not found');
     }
     if (!$artifact->userCanUpdate($user)) {
         throw new \Luracast\Restler\RestException(403, 'You have not the permission to update this card');
     }
     if ($this->clientWantsToUpdateLatestVersion() && !$this->isUpdatingLatestVersion($artifact)) {
         throw new \Luracast\Restler\RestException(412, 'Artifact has been modified since you last requested it. Please edit the latest version');
     }
 }
示例#2
0
 /** @return Tracker_Artifact_Changeset */
 private function addFollowUp(PFUser $user, Tracker_Artifact $artifact, $body)
 {
     $this->logger->debug("Receiving new follow-up comment from " . $user->getUserName());
     if (!$artifact->userCanUpdate($user)) {
         $this->logger->info("User " . $user->getUnixName() . " has no right to update the artifact #" . $artifact->getId());
         $this->notifier->sendErrorMailInsufficientPermissionUpdate($user->getEmail(), $artifact->getId());
         return;
     }
     return $artifact->createNewChangeset(array(), $body, $user, true, Tracker_Artifact_Changeset_Comment::TEXT_COMMENT);
 }