public function processRequest() { $request = $this->getRequest(); $user = $request->getUser(); $transaction = id(new ManiphestTransaction())->load($this->transactionID); if (!$transaction) { return new Aphront404Response(); } $transactions = array($transaction); $phids = array(); foreach ($transactions as $transaction) { foreach ($transaction->extractPHIDs() as $phid) { $phids[$phid] = $phid; } } $handles = id(new PhabricatorObjectHandleData($phids))->loadHandles(); $engine = PhabricatorMarkupEngine::newManiphestMarkupEngine(); $view = new ManiphestTransactionDetailView(); $view->setTransactionGroup($transactions); $view->setHandles($handles); $view->setUser($user); $view->setMarkupEngine($engine); $view->setRenderSummaryOnly(true); $view->setRenderFullSummary(true); return id(new AphrontAjaxResponse())->setContent($view->render()); }
public function processRequest() { $request = $this->getRequest(); $user = $request->getUser(); // this means we're using "show more" on a diff of a description and // should thus use the rendering reference to identify the transaction $ref = $request->getStr('ref'); if ($ref) { $this->setTransactionID($ref); } $transaction_id = $this->getTransactionID(); $transaction = id(new ManiphestTransaction())->load($transaction_id); if (!$transaction) { return new Aphront404Response(); } $transactions = array($transaction); $phids = array(); foreach ($transactions as $transaction) { foreach ($transaction->extractPHIDs() as $phid) { $phids[$phid] = $phid; } } $handles = id(new PhabricatorObjectHandleData($phids))->loadHandles(); $engine = PhabricatorMarkupEngine::newManiphestMarkupEngine(); $view = new ManiphestTransactionDetailView(); $view->setTransactionGroup($transactions); $view->setHandles($handles); $view->setUser($user); $view->setMarkupEngine($engine); $view->setRenderSummaryOnly(true); $view->setRenderFullSummary(true); $view->setRangeSpecification($request->getStr('range')); return id(new AphrontAjaxResponse())->setContent($view->render()); }
public function processRequest() { $request = $this->getRequest(); $user = $request->getUser(); $is_show_more = false; if (!$this->getTransactionID()) { $this->setTransactionID($this->getRequest()->getStr('ref')); $is_show_more = true; } $transaction_id = $this->getTransactionID(); $transaction = id(new ManiphestTransaction())->load($transaction_id); if (!$transaction) { return new Aphront404Response(); } $transactions = array($transaction); $phids = array(); foreach ($transactions as $xaction) { foreach ($xaction->extractPHIDs() as $phid) { $phids[$phid] = $phid; } } $handles = $this->loadViewerHandles($phids); $engine = new PhabricatorMarkupEngine(); $engine->setViewer($user); $engine->addObject($transaction, ManiphestTransaction::MARKUP_FIELD_BODY); $engine->process(); $view = new ManiphestTransactionDetailView(); $view->setTransactionGroup($transactions); $view->setHandles($handles); $view->setUser($user); $view->setMarkupEngine($engine); $view->setRenderSummaryOnly(true); $view->setRenderFullSummary(true); $view->setRangeSpecification($request->getStr('range')); if ($is_show_more) { return id(new PhabricatorChangesetResponse())->setRenderedChangeset($view->render()); } else { return id(new AphrontAjaxResponse())->setContent($view->render()); } }
public function render() { $views = array(); $last = null; $group = array(); $groups = array(); foreach ($this->transactions as $transaction) { if ($last === null) { $last = $transaction; $group[] = $transaction; continue; } else { if ($last->canGroupWith($transaction)) { $group[] = $transaction; if ($transaction->hasComments()) { $last = $transaction; } } else { $groups[] = $group; $last = $transaction; $group = array($transaction); } } } if ($group) { $groups[] = $group; } $sequence = 1; foreach ($groups as $group) { $view = new ManiphestTransactionDetailView(); $view->setUser($this->user); $view->setTransactionGroup($group); $view->setHandles($this->handles); $view->setMarkupEngine($this->markupEngine); $view->setPreview($this->preview); $view->setCommentNumber($sequence++); $views[] = $view->render(); } return '<div class="maniphest-transaction-list-view">' . implode("\n", $views) . '</div>'; }
public function render() { $views = array(); $last = null; $group = array(); $groups = array(); $has_description_transaction = false; foreach ($this->transactions as $transaction) { if ($transaction->getTransactionType() == ManiphestTransactionType::TYPE_DESCRIPTION) { $has_description_transaction = true; } if ($last === null) { $last = $transaction; $group[] = $transaction; continue; } else { if ($last->canGroupWith($transaction)) { $group[] = $transaction; if ($transaction->hasComments()) { $last = $transaction; } } else { $groups[] = $group; $last = $transaction; $group = array($transaction); } } } if ($group) { $groups[] = $group; } if ($has_description_transaction) { require_celerity_resource('differential-changeset-view-css'); require_celerity_resource('syntax-highlighting-css'); $whitespace_mode = DifferentialChangesetParser::WHITESPACE_SHOW_ALL; Javelin::initBehavior('differential-show-more', array('uri' => '/maniphest/task/descriptionchange/', 'whitespace' => $whitespace_mode)); } $sequence = 1; foreach ($groups as $group) { $view = new ManiphestTransactionDetailView(); $view->setUser($this->user); $view->setAuxiliaryFields($this->getAuxiliaryFields()); $view->setTransactionGroup($group); $view->setHandles($this->handles); $view->setMarkupEngine($this->markupEngine); $view->setPreview($this->preview); $view->setCommentNumber($sequence++); $views[] = $view->render(); } return '<div class="maniphest-transaction-list-view">' . implode("\n", $views) . '</div>'; }