Changeset View
Changeset View
Standalone View
Standalone View
src/applications/herald/controller/HeraldTestConsoleController.php
| Show All 32 Lines | public function handleRequest(AphrontRequest $request) { | ||||
| $response = $this->loadAdapter($request); | $response = $this->loadAdapter($request); | ||||
| if ($response) { | if ($response) { | ||||
| return $response; | return $response; | ||||
| } | } | ||||
| $object = $this->getTestObject(); | $object = $this->getTestObject(); | ||||
| $adapter = $this->getTestAdapter(); | $adapter = $this->getTestAdapter(); | ||||
| $source = $this->newContentSource($object); | |||||
| $adapter | $adapter | ||||
| ->setContentSource($source) | |||||
| ->setIsNewObject(false) | ->setIsNewObject(false) | ||||
| ->setActingAsPHID($viewer->getPHID()) | ->setActingAsPHID($viewer->getPHID()) | ||||
| ->setViewer($viewer); | ->setViewer($viewer); | ||||
| $rules = id(new HeraldRuleQuery()) | $rules = id(new HeraldRuleQuery()) | ||||
| ->setViewer($viewer) | ->setViewer($viewer) | ||||
| ->withContentTypes(array($adapter->getAdapterContentType())) | ->withContentTypes(array($adapter->getAdapterContentType())) | ||||
| ->withDisabled(false) | ->withDisabled(false) | ||||
| ▲ Show 20 Lines • Show All 162 Lines • ▼ Show 20 Lines | $view = id(new PHUITwoColumnView()) | ||||
| ->setFooter($box); | ->setFooter($box); | ||||
| return $this->newPage() | return $this->newPage() | ||||
| ->setTitle($title) | ->setTitle($title) | ||||
| ->setCrumbs($crumbs) | ->setCrumbs($crumbs) | ||||
| ->appendChild($view); | ->appendChild($view); | ||||
| } | } | ||||
| private function newContentSource($object) { | |||||
| $viewer = $this->getViewer(); | |||||
| // Try using the content source associated with the most recent transaction | |||||
| // on the object. | |||||
| $query = PhabricatorApplicationTransactionQuery::newQueryForObject($object); | |||||
| $xaction = $query | |||||
| ->setViewer($viewer) | |||||
| ->withObjectPHIDs(array($object->getPHID())) | |||||
| ->setLimit(1) | |||||
| ->setOrder('newest') | |||||
| ->executeOne(); | |||||
| if ($xaction) { | |||||
| return $xaction->getContentSource(); | |||||
| } | |||||
| // If we couldn't find a transaction (which should be rare), fall back to | |||||
| // building a new content source from the test console request itself. | |||||
| $request = $this->getRequest(); | |||||
| return PhabricatorContentSource::newFromRequest($request); | |||||
| } | |||||
| } | } | ||||