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'); } }
/** @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); }