protected function buildOpenRevisions() { $drequest = $this->getDiffusionRequest(); $repository = $drequest->getRepository(); $path = $drequest->getPath(); $path_map = id(new DiffusionPathIDQuery(array($path)))->loadPathIDs(); $path_id = idx($path_map, $path); if (!$path_id) { return null; } $revisions = id(new DifferentialRevisionQuery())->withPath($repository->getID(), $path_id)->withStatus(DifferentialRevisionQuery::STATUS_OPEN)->setOrder(DifferentialRevisionQuery::ORDER_PATH_MODIFIED)->setLimit(10)->needRelationships(true)->execute(); if (!$revisions) { return null; } $view = id(new DifferentialRevisionListView())->setRevisions($revisions)->setFields(DifferentialRevisionListView::getDefaultFields())->setUser($this->getRequest()->getUser())->loadAssets(); $phids = $view->getRequiredHandlePHIDs(); $handles = $this->loadViewerHandles($phids); $view->setHandles($handles); $panel = new AphrontPanelView(); $panel->setId('pending-differential-revisions'); $panel->setHeader('Pending Differential Revisions'); $panel->appendChild($view); return $panel; }