Path: blob/master/src/applications/drydock/controller/DrydockConsoleController.php
12262 views
<?php12final class DrydockConsoleController extends DrydockController {34public function shouldAllowPublic() {5return true;6}78public function buildSideNavView() {9$nav = new AphrontSideNavFilterView();10$nav->setBaseURI(new PhutilURI($this->getApplicationURI()));1112// These are only used on mobile.1314$nav->addFilter('blueprint', pht('Blueprints'));15$nav->addFilter('resource', pht('Resources'));16$nav->addFilter('lease', pht('Leases'));17$nav->addFilter('operation', pht('Repository Operations'));1819$nav->selectFilter(null);2021return $nav;22}2324public function handleRequest(AphrontRequest $request) {25$viewer = $request->getViewer();2627$menu = id(new PHUIObjectItemListView())28->setUser($viewer)29->setBig(true);3031$menu->addItem(32id(new PHUIObjectItemView())33->setHeader(pht('Blueprints'))34->setImageIcon('fa-map-o')35->setHref($this->getApplicationURI('blueprint/'))36->setClickable(true)37->addAttribute(38pht(39'Configure blueprints so Drydock can build resources, like '.40'hosts and working copies.')));4142$menu->addItem(43id(new PHUIObjectItemView())44->setHeader(pht('Resources'))45->setImageIcon('fa-map')46->setHref($this->getApplicationURI('resource/'))47->setClickable(true)48->addAttribute(49pht('View and manage resources Drydock has built, like hosts.')));5051$menu->addItem(52id(new PHUIObjectItemView())53->setHeader(pht('Leases'))54->setImageIcon('fa-link')55->setHref($this->getApplicationURI('lease/'))56->setClickable(true)57->addAttribute(pht('Manage leases on resources.')));5859$menu->addItem(60id(new PHUIObjectItemView())61->setHeader(pht('Repository Operations'))62->setImageIcon('fa-fighter-jet')63->setHref($this->getApplicationURI('operation/'))64->setClickable(true)65->addAttribute(pht('Review the repository operation queue.')));6667$crumbs = $this->buildApplicationCrumbs();68$crumbs->addTextCrumb(pht('Console'));69$crumbs->setBorder(true);7071$title = pht('Drydock Console');7273$box = id(new PHUIObjectBoxView())74->setHeaderText($title)75->setBackground(PHUIObjectBoxView::WHITE_CONFIG)76->setObjectList($menu);7778$launcher_view = id(new PHUILauncherView())79->appendChild($box);8081$view = id(new PHUITwoColumnView())82->setFooter($launcher_view);8384return $this->newPage()85->setTitle($title)86->setCrumbs($crumbs)87->appendChild($view);88}8990}919293