本文整理汇总了PHP中Tracker::userCanSubmitArtifact方法的典型用法代码示例。如果您正苦于以下问题:PHP Tracker::userCanSubmitArtifact方法的具体用法?PHP Tracker::userCanSubmitArtifact怎么用?PHP Tracker::userCanSubmitArtifact使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tracker
的用法示例。
在下文中一共展示了Tracker::userCanSubmitArtifact方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process
public function process(Tracker_IDisplayTrackerLayout $layout, Codendi_Request $request, PFUser $current_user)
{
if (!$this->tracker->userCanSubmitArtifact($current_user)) {
$this->logsErrorAndRedirectToTracker('plugin_tracker_admin', 'access_denied');
return;
}
$from_artifact = $this->artifact_factory->getArtifactByIdUserCanView($current_user, $request->get('from_artifact_id'));
if (!$from_artifact || $from_artifact->getTracker() !== $this->tracker) {
$this->logsErrorAndRedirectToTracker('plugin_tracker_include_type', 'error_missing_param');
return;
}
$from_changeset = $from_artifact->getChangeset($request->get('from_changeset_id'));
if (!$from_changeset) {
$this->logsErrorAndRedirectToTracker('plugin_tracker_include_type', 'error_missing_param');
return;
}
$submitted_values = $request->get('artifact');
if (!is_array($submitted_values)) {
$this->logsErrorAndRedirectToTracker('plugin_tracker_include_type', 'error_missing_param');
return;
}
try {
$this->processCopy($from_changeset, $current_user, $submitted_values);
} catch (Tracker_XML_Exporter_TooManyChildrenException $exception) {
$GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('plugin_tracker_artifact', 'copy_too_many_children', array(Tracker_XML_ChildrenCollector::MAX)));
$this->redirectToArtifact($from_artifact);
}
}
示例2: checkUserCanSubmit
public function checkUserCanSubmit(PFUser $user, Tracker $tracker)
{
if (!$tracker->userCanSubmitArtifact($user)) {
throw new \Luracast\Restler\RestException(403, $GLOBALS['Language']->getText('plugin_tracker', 'submit_at_least_one_field'));
}
}
示例3: createArtifact
/** @return Tracker_Artifact */
private function createArtifact(PFUser $user, Tracker $tracker, $title, $body)
{
$this->logger->debug("Receiving new artifact from " . $user->getUserName());
if (!$tracker->userCanSubmitArtifact($user)) {
$this->logger->info("User " . $user->getUnixName() . " has no right to create an artifact in tracker #" . $tracker->getId());
$this->notifier->sendErrorMailInsufficientPermissionCreation($user->getEmail(), $title);
return;
}
$title_field = $tracker->getTitleField();
$description_field = $tracker->getDescriptionField();
if (!$title_field || !$description_field) {
throw new Tracker_Artifact_MailGateway_TrackerMissingSemanticException();
}
$field_data = array($title_field->getId() => $title, $description_field->getId() => $body);
UserManager::instance()->setCurrentUser($user);
return $this->artifact_factory->createArtifact($tracker, $field_data, $user, '');
}