private function displayTrackerSwitcher(PFUser $current_user)
 {
     $project = null;
     if ($this->source_artifact) {
         $project = $this->source_artifact->getTracker()->getProject();
         $GLOBALS['Response']->addFeedback('warning', $GLOBALS['Language']->getText('plugin_tracker', 'linked_to', array($this->source_artifact->fetchDirectLinkToArtifact(), $this->tracker_switcher->fetchTrackerSwitcher($current_user, ' ', $project, $this->tracker))), CODENDI_PURIFIER_DISABLED);
     } else {
         $GLOBALS['Response']->addFeedback('error', 'Error the artifact to link doesn\'t exist');
     }
     $GLOBALS['Response']->displayFeedback();
 }
Ejemplo n.º 2
0
 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);
         }
     }
 }
Ejemplo n.º 3
0
 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);
     }
 }