本文整理汇总了PHP中Tracker_Artifact::createNewChangeset方法的典型用法代码示例。如果您正苦于以下问题:PHP Tracker_Artifact::createNewChangeset方法的具体用法?PHP Tracker_Artifact::createNewChangeset怎么用?PHP Tracker_Artifact::createNewChangeset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tracker_Artifact
的用法示例。
在下文中一共展示了Tracker_Artifact::createNewChangeset方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process
public function process(Tracker_IDisplayTrackerLayout $layout, Codendi_Request $request, PFUser $current_user)
{
//TODO : check permissions on this action?
$comment_format = $this->artifact->validateCommentFormat($request, 'comment_formatnew');
$this->artifact->setUseArtifactPermissions($request->get('use_artifact_permissions') ? 1 : 0);
$fields_data = $request->get('artifact');
$fields_data['request_method_called'] = 'artifact-update';
$this->artifact->getTracker()->augmentDataFromRequest($fields_data);
unset($fields_data['request_method_called']);
try {
if ($current_user->isAnonymous()) {
$current_user->setEmail($request->get('email'));
}
$this->artifact->createNewChangeset($fields_data, $request->get('artifact_followup_comment'), $current_user, true, $comment_format);
$art_link = $this->artifact->fetchDirectLinkToArtifact();
$GLOBALS['Response']->addFeedback('info', $GLOBALS['Language']->getText('plugin_tracker_index', 'update_success', array($art_link)), CODENDI_PURIFIER_LIGHT);
$redirect = $this->getRedirectUrlAfterArtifactUpdate($request);
$this->artifact->summonArtifactRedirectors($request, $redirect);
if ($request->isAjax()) {
$this->sendAjaxCardsUpdateInfo($current_user, $this->artifact, $this->form_element_factory);
} elseif ($request->existAndNonEmpty('from_overlay')) {
echo '<script>window.parent.tuleap.cardwall.cardsEditInPlace.validateEdition(' . $this->artifact->getId() . ')</script>';
return;
} else {
$GLOBALS['Response']->redirect($redirect->toUrl());
}
} catch (Tracker_NoChangeException $e) {
if ($request->isAjax()) {
$this->sendAjaxCardsUpdateInfo($current_user, $this->artifact, $this->form_element_factory);
} else {
$GLOBALS['Response']->addFeedback('info', $e->getMessage(), CODENDI_PURIFIER_LIGHT);
$render = new Tracker_Artifact_ReadOnlyRenderer($this->event_manager, $this->artifact, $this->form_element_factory, $layout);
$render->display($request, $current_user);
}
} catch (Tracker_Exception $e) {
if ($request->isAjax()) {
$this->sendAjaxCardsUpdateInfo($current_user, $this->artifact, $this->form_element_factory);
} else {
$GLOBALS['Response']->addFeedback('error', $e->getMessage());
$render = new Tracker_Artifact_ReadOnlyRenderer($this->event_manager, $this->artifact, $this->form_element_factory, $layout);
$render->display($request, $current_user);
}
}
}
示例2: updateArtifact
public function updateArtifact(Codendi_Request $request, PFUser $current_user)
{
$comment_format = $this->artifact->validateCommentFormat($request, 'comment_formatnew');
$fields_data = $this->getAugmentedDataFromRequest($request);
try {
$this->artifact->createNewChangeset($fields_data, $request->get('artifact_followup_comment'), $current_user, true, $comment_format);
} catch (Tracker_NoChangeException $e) {
} catch (Tracker_Exception $e) {
$this->sendErrorsAsJson($e->getMessage());
}
}
示例3: updateParent
private function updateParent(Tracker_Artifact $parent, Tracker_Artifact $child, Tracker_Workflow_Trigger_TriggerRule $rule)
{
$target = $rule->getTarget();
try {
$comment = '<p>' . $GLOBALS['Language']->getText('workflow_trigger_rules_processor', 'parent_update', array('art #' . $child->getId(), $child->getLastChangeset()->getUri())) . '</p>';
$comment .= '<p>' . $rule->getAsChangesetComment() . '</p>';
$parent->createNewChangeset($target->getFieldData(), $comment, $this->workflow_user, true, Tracker_Artifact_Changeset_Comment::HTML_COMMENT);
$this->logger->debug('Parent successfully updated.');
} catch (Tracker_Exception $e) {
$this->logger->debug('Error while updating the parent artifact: ' . $e->getMessage());
$GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('plugin_tracker_common_artifact', 'error_processor_update', array($parent->fetchDirectLinkToArtifact(), $e->getMessage())), CODENDI_PURIFIER_DISABLED);
}
}
示例4: addFollowUp
/** @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);
}
示例5: createLinksBetweenArtifacts
private function createLinksBetweenArtifacts(PFUser $user, Tracker_XML_Importer_ArtifactImportedMapping $artifacts_imported_mapping, Tracker_Artifact $root_artifact)
{
$comment_message = '';
$send_notifications = false;
$original_id = $artifacts_imported_mapping->getOriginal($root_artifact->getId());
$children = $this->children_collector->getChildrenForParent($original_id);
if (!$children) {
return;
}
foreach ($children as $key => $original_child_id) {
$children[$key] = $artifacts_imported_mapping->get($original_child_id);
}
$field_id = $root_artifact->getAnArtifactLinkField($user)->getId();
$fields_data = array($field_id => array(Tracker_FormElement_Field_ArtifactLink::NEW_VALUES_KEY => implode(',', $children)));
$root_artifact->createNewChangeset($fields_data, $comment_message, $user, $send_notifications, Tracker_Artifact_Changeset_Comment::TEXT_COMMENT);
foreach ($children as $child_id) {
$artifact = $this->artifact_factory->getArtifactById($child_id);
$this->createLinksBetweenArtifacts($user, $artifacts_imported_mapping, $artifact);
}
}
示例6: addSummaryCommentChangeset
private function addSummaryCommentChangeset(Tracker_Artifact $artifact, PFUser $user, Tracker_Artifact_Changeset $from_changeset)
{
$original_artifact = $from_changeset->getArtifact();
$comment = $this->logger->getAllLogs();
$comment[] = $GLOBALS['Language']->getText('plugin_tracker_artifact', 'copy_artifact_finished', array($original_artifact->getTracker()->getItemName(), $original_artifact->getId()));
$artifact->createNewChangeset(array(), implode("\n", $comment), $user, true, Tracker_Artifact_Changeset_Comment::TEXT_COMMENT);
}