Path: blob/master/src/applications/drydock/application/PhabricatorDrydockApplication.php
12256 views
<?php12final class PhabricatorDrydockApplication extends PhabricatorApplication {34public function getBaseURI() {5return '/drydock/';6}78public function getName() {9return pht('Drydock');10}1112public function getShortDescription() {13return pht('Allocate Software Resources');14}1516public function getIcon() {17return 'fa-truck';18}1920public function getTitleGlyph() {21return "\xE2\x98\x82";22}2324public function getFlavorText() {25return pht('A nautical adventure.');26}2728public function getApplicationGroup() {29return self::GROUP_UTILITIES;30}3132public function getHelpDocumentationArticles(PhabricatorUser $viewer) {33return array(34array(35'name' => pht('Drydock User Guide'),36'href' => PhabricatorEnv::getDoclink('Drydock User Guide'),37),38);39}4041public function getRoutes() {42return array(43'/drydock/' => array(44'' => 'DrydockConsoleController',45'(?P<type>blueprint)/' => array(46'(?:query/(?P<queryKey>[^/]+)/)?' => 'DrydockBlueprintListController',47'(?P<id>[1-9]\d*)/' => array(48'' => 'DrydockBlueprintViewController',49'(?P<action>disable|enable)/' =>50'DrydockBlueprintDisableController',51'resources/(?:query/(?P<queryKey>[^/]+)/)?' =>52'DrydockResourceListController',53'logs/(?:query/(?P<queryKey>[^/]+)/)?' =>54'DrydockLogListController',55'authorizations/(?:query/(?P<queryKey>[^/]+)/)?' =>56'DrydockAuthorizationListController',57),58$this->getEditRoutePattern('edit/')59=> 'DrydockBlueprintEditController',60),61'(?P<type>resource)/' => array(62'(?:query/(?P<queryKey>[^/]+)/)?' => 'DrydockResourceListController',63'(?P<id>[1-9]\d*)/' => array(64'' => 'DrydockResourceViewController',65'release/' => 'DrydockResourceReleaseController',66'leases/(?:query/(?P<queryKey>[^/]+)/)?' =>67'DrydockLeaseListController',68'logs/(?:query/(?P<queryKey>[^/]+)/)?' =>69'DrydockLogListController',70),71),72'(?P<type>lease)/' => array(73'(?:query/(?P<queryKey>[^/]+)/)?' => 'DrydockLeaseListController',74'(?P<id>[1-9]\d*)/' => array(75'' => 'DrydockLeaseViewController',76'release/' => 'DrydockLeaseReleaseController',77'logs/(?:query/(?P<queryKey>[^/]+)/)?' =>78'DrydockLogListController',79),80),81'(?P<type>authorization)/' => array(82'(?P<id>[1-9]\d*)/' => array(83'' => 'DrydockAuthorizationViewController',84'(?P<action>authorize|decline)/' =>85'DrydockAuthorizationAuthorizeController',86),87),88'(?P<type>operation)/' => array(89'(?:query/(?P<queryKey>[^/]+)/)?'90=> 'DrydockRepositoryOperationListController',91'(?P<id>[1-9]\d*)/' => array(92'' => 'DrydockRepositoryOperationViewController',93'status/' => 'DrydockRepositoryOperationStatusController',94'dismiss/' => 'DrydockRepositoryOperationDismissController',95'logs/(?:query/(?P<queryKey>[^/]+)/)?' =>96'DrydockLogListController',97),98),99),100);101}102103protected function getCustomCapabilities() {104return array(105DrydockDefaultViewCapability::CAPABILITY => array(106'template' => DrydockBlueprintPHIDType::TYPECONST,107'capability' => PhabricatorPolicyCapability::CAN_VIEW,108),109DrydockDefaultEditCapability::CAPABILITY => array(110'default' => PhabricatorPolicies::POLICY_ADMIN,111'template' => DrydockBlueprintPHIDType::TYPECONST,112'capability' => PhabricatorPolicyCapability::CAN_EDIT,113),114DrydockCreateBlueprintsCapability::CAPABILITY => array(115'default' => PhabricatorPolicies::POLICY_ADMIN,116),117);118}119120}121122123