本文整理匯總了PHP中Tracker_ArtifactFactory::createArtifact方法的典型用法代碼示例。如果您正苦於以下問題:PHP Tracker_ArtifactFactory::createArtifact方法的具體用法?PHP Tracker_ArtifactFactory::createArtifact怎麽用?PHP Tracker_ArtifactFactory::createArtifact使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Tracker_ArtifactFactory
的用法示例。
在下文中一共展示了Tracker_ArtifactFactory::createArtifact方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: createWithValuesIndexedByFieldName
/**
*
* @param PFUser $user
* @param Tuleap\Tracker\REST\TrackerReference $tracker_reference
* @param array $values
* @return Tuleap\Tracker\REST\Artifact\ArtifactReference
* @throws \Luracast\Restler\RestException
*/
public function createWithValuesIndexedByFieldName(PFUser $user, Tuleap\Tracker\REST\TrackerReference $tracker_reference, array $values)
{
$tracker = $this->getTracker($tracker_reference);
$fields_data = $this->artifact_validator->getFieldsDataOnCreateFromValuesByField($values, $tracker);
$fields_data = $this->artifact_validator->getUsedFieldsWithDefaultValue($tracker, $fields_data, $user);
$this->checkUserCanSubmit($user, $tracker);
return $this->returnReferenceOrError($this->artifact_factory->createArtifact($tracker, $fields_data, $user, ''), 'by_field');
}
示例2: createArtifact
private function createArtifact(PFUser $current_user)
{
$email = null;
if ($current_user->isAnonymous()) {
$email = $this->request->get('email');
}
$fields_data = $this->request->get('artifact');
$this->tracker->augmentDataFromRequest($fields_data);
return $this->tracker_artifact_factory->createArtifact($this->tracker, $fields_data, $current_user, $email);
}
示例3: createUserStory
private function createUserStory(PFUser $user, $field_i_want_to_value, $field_status_value) {
$fields_data = array(
$this->tracker_formelement_factory->getFormElementByName(self::USER_STORIES_TRACKER_ID, 'i_want_to')->getId() => $field_i_want_to_value,
$this->tracker_formelement_factory->getFormElementByName(self::USER_STORIES_TRACKER_ID, 'status')->getId() => $field_status_value
);
$this->tracker_artifact_factory->createArtifact(
$this->tracker_factory->getTrackerById(self::USER_STORIES_TRACKER_ID),
$fields_data,
$user,
'',
false
);
}
示例4: 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, '');
}
示例5: addArtifact
/**
* addArtifact - add an artifact in tracker $tracker_id of the project $group_id with given values
*
* @param string $session_key the session hash associated with the session opened by the person who calls the service
* @param int $group_id the ID of the group we want to add the artifact
* @param int $tracker_id the ID of the tracker we want to add the artifact
* @param array $value The fields values of the artifact (array of {SOAPArtifactFieldValue})
*
* @return int the ID of the new created artifact,
* or a soap fault if :
* - group_id does not match with a valid project,
* - tracker_name does not match with a valid tracker,
* - the user does not have the permissions to submit an artifact
* - the given values are breaking a field dependency rule
* - the artifact creation failed.
*/
public function addArtifact($session_key, $group_id, $tracker_id, $value)
{
try {
$user = $this->soap_request_validator->continueSession($session_key);
$tracker = $this->getTrackerById($group_id, $tracker_id, 'addArtifact');
$this->checkUserCanCreateArtifact($tracker, $user);
$fields_data = $this->getArtifactDataFromSoapRequest($tracker, $value);
$fields_data = $this->formelement_factory->getUsedFieldsWithDefaultValue($tracker, $fields_data, $user);
if ($artifact = $this->artifact_factory->createArtifact($tracker, $fields_data, $user, null)) {
return $artifact->getId();
} else {
if ($GLOBALS['Response']->feedbackHasErrors()) {
return new SoapFault(update_artifact_fault, $GLOBALS['Response']->getRawFeedback(), 'addArtifact');
} else {
return new SoapFault(update_artifact_fault, 'Unknown error', 'addArtifact');
}
}
} catch (Exception $e) {
return new SoapFault((string) $e->getCode(), $e->getMessage());
}
}