diff --git a/src/applications/drydock/controller/DrydockConsoleController.php b/src/applications/drydock/controller/DrydockConsoleController.php index c6a8e25fd6..1d79f52c14 100644 --- a/src/applications/drydock/controller/DrydockConsoleController.php +++ b/src/applications/drydock/controller/DrydockConsoleController.php @@ -1,80 +1,86 @@ <?php final class DrydockConsoleController extends DrydockController { public function shouldAllowPublic() { return true; } public function buildSideNavView() { $nav = new AphrontSideNavFilterView(); $nav->setBaseURI(new PhutilURI($this->getApplicationURI())); // These are only used on mobile. $nav->addFilter('blueprint', pht('Blueprints')); $nav->addFilter('resource', pht('Resources')); $nav->addFilter('lease', pht('Leases')); $nav->addFilter('operation', pht('Repository Operations')); $nav->selectFilter(null); return $nav; } public function handleRequest(AphrontRequest $request) { $viewer = $request->getViewer(); $menu = id(new PHUIObjectItemListView()) ->setUser($viewer); $menu->addItem( id(new PHUIObjectItemView()) ->setHeader(pht('Blueprints')) ->setIcon('fa-map-o') ->setHref($this->getApplicationURI('blueprint/')) ->addAttribute( pht( 'Configure blueprints so Drydock can build resources, like '. 'hosts and working copies.'))); $menu->addItem( id(new PHUIObjectItemView()) ->setHeader(pht('Resources')) ->setIcon('fa-map') ->setHref($this->getApplicationURI('resource/')) ->addAttribute( pht('View and manage resources Drydock has built, like hosts.'))); $menu->addItem( id(new PHUIObjectItemView()) ->setHeader(pht('Leases')) ->setIcon('fa-link') ->setHref($this->getApplicationURI('lease/')) ->addAttribute(pht('Manage leases on resources.'))); $menu->addItem( id(new PHUIObjectItemView()) ->setHeader(pht('Repository Operations')) ->setIcon('fa-fighter-jet') ->setHref($this->getApplicationURI('operation/')) ->addAttribute(pht('Review the repository operation queue.'))); $crumbs = $this->buildApplicationCrumbs(); $crumbs->addTextCrumb(pht('Console')); + $crumbs->setBorder(true); $box = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Drydock Console')) ->setObjectList($menu); - return $this->buildApplicationPage( - array( - $crumbs, - $box, - ), - array( - 'title' => pht('Drydock Console'), - )); + $title = pht('Drydock Console'); + + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setHeaderIcon('fa-truck'); + + $view = id(new PHUITwoColumnView()) + ->setHeader($header) + ->setFooter($box); + + return $this->newPage() + ->setTitle($title) + ->setCrumbs($crumbs) + ->appendChild($view); } } diff --git a/src/applications/drydock/controller/DrydockRepositoryOperationStatusController.php b/src/applications/drydock/controller/DrydockRepositoryOperationStatusController.php index c6d38791f3..5f35c91bb3 100644 --- a/src/applications/drydock/controller/DrydockRepositoryOperationStatusController.php +++ b/src/applications/drydock/controller/DrydockRepositoryOperationStatusController.php @@ -1,59 +1,52 @@ <?php final class DrydockRepositoryOperationStatusController extends DrydockRepositoryOperationController { public function shouldAllowPublic() { return true; } public function handleRequest(AphrontRequest $request) { $viewer = $request->getViewer(); $id = $request->getURIData('id'); $operation = id(new DrydockRepositoryOperationQuery()) ->setViewer($viewer) ->withIDs(array($id)) ->executeOne(); if (!$operation) { return new Aphront404Response(); } $id = $operation->getID(); $status_view = id(new DrydockRepositoryOperationStatusView()) ->setUser($viewer) ->setOperation($operation); if ($request->isAjax()) { $payload = array( 'markup' => $status_view->renderUnderwayState(), 'isUnderway' => $operation->isUnderway(), ); return id(new AphrontAjaxResponse()) ->setContent($payload); } $title = pht('Repository Operation %d', $id); $crumbs = $this->buildApplicationCrumbs(); $crumbs->addTextCrumb( pht('Operations'), $this->getApplicationURI('operation/')); $crumbs->addTextCrumb($title); - return $this->buildApplicationPage( - array( - $crumbs, - $status_view, - ), - array( - 'title' => array( - $title, - pht('Status'), - ), - )); + return $this->newPage() + ->setTitle(pht('Status')) + ->setCrumbs($crumbs) + ->appendChild($status_view); } }