transactionID = $transaction_id; return $this; } public function getTransactionID() { return $this->transactionID; } public function willProcessRequest(array $data) { $this->setTransactionID($data['id']); } 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()); } }