array( '(?:query/(?P[^/]+)/)?' => 'PhabricatorProjectListController', 'filter/(?P[^/]+)/' => 'PhabricatorProjectListController', 'archive/(?P[1-9]\d*)/' => 'PhabricatorProjectArchiveController', 'lock/(?P[1-9]\d*)/' => 'PhabricatorProjectLockController', 'members/(?P[1-9]\d*)/' => 'PhabricatorProjectMembersViewController', 'members/(?P[1-9]\d*)/add/' => 'PhabricatorProjectMembersAddController', '(?Pmembers|watchers)/(?P[1-9]\d*)/remove/' => 'PhabricatorProjectMembersRemoveController', 'profile/(?P[1-9]\d*)/' => 'PhabricatorProjectProfileController', 'view/(?P[1-9]\d*)/' => 'PhabricatorProjectViewController', 'picture/(?P[1-9]\d*)/' => 'PhabricatorProjectEditPictureController', $this->getEditRoutePattern('edit/') => 'PhabricatorProjectEditController', '(?P[1-9]\d*)/item/' => $this->getProfileMenuRouting( 'PhabricatorProjectMenuItemController'), 'subprojects/(?P[1-9]\d*)/' => 'PhabricatorProjectSubprojectsController', 'board/(?P[1-9]\d*)/'. '(?Pfilter/)?'. '(?:query/(?P[^/]+)/)?' => 'PhabricatorProjectBoardViewController', 'move/(?P[1-9]\d*)/' => 'PhabricatorProjectMoveController', 'cover/' => 'PhabricatorProjectCoverController', 'board/(?P[1-9]\d*)/' => array( 'edit/(?:(?P\d+)/)?' => 'PhabricatorProjectColumnEditController', 'hide/(?:(?P\d+)/)?' => 'PhabricatorProjectColumnHideController', 'column/(?:(?P\d+)/)?' => 'PhabricatorProjectColumnDetailController', 'import/' => 'PhabricatorProjectBoardImportController', 'reorder/' => 'PhabricatorProjectBoardReorderController', 'disable/' => 'PhabricatorProjectBoardDisableController', 'manage/' => 'PhabricatorProjectBoardManageController', 'background/' => 'PhabricatorProjectBoardBackgroundController', ), 'trigger/' => array( $this->getQueryRoutePattern() => 'PhabricatorProjectTriggerListController', '(?P[1-9]\d*)/' => 'PhabricatorProjectTriggerViewController', $this->getEditRoutePattern('edit/') => 'PhabricatorProjectTriggerEditController', ), 'update/(?P[1-9]\d*)/(?P[^/]+)/' => 'PhabricatorProjectUpdateController', 'manage/(?P[1-9]\d*)/' => 'PhabricatorProjectManageController', '(?Pwatch|unwatch)/(?P[1-9]\d*)/' => 'PhabricatorProjectWatchController', 'silence/(?P[1-9]\d*)/' => 'PhabricatorProjectSilenceController', 'warning/(?P[1-9]\d*)/' => 'PhabricatorProjectSubprojectWarningController', 'default/(?P[1-9]\d*)/(?P[^/]+)/' => 'PhabricatorProjectDefaultController', ), '/tag/' => array( '(?P[^/]+)/' => 'PhabricatorProjectViewController', '(?P[^/]+)/board/' => 'PhabricatorProjectBoardViewController', ), ); } protected function getCustomCapabilities() { return array( ProjectCreateProjectsCapability::CAPABILITY => array(), ProjectCanLockProjectsCapability::CAPABILITY => array( 'default' => PhabricatorPolicies::POLICY_ADMIN, ), ProjectDefaultViewCapability::CAPABILITY => array( 'caption' => pht('Default view policy for newly created projects.'), 'template' => PhabricatorProjectProjectPHIDType::TYPECONST, 'capability' => PhabricatorPolicyCapability::CAN_VIEW, ), ProjectDefaultEditCapability::CAPABILITY => array( 'caption' => pht('Default edit policy for newly created projects.'), 'template' => PhabricatorProjectProjectPHIDType::TYPECONST, 'capability' => PhabricatorPolicyCapability::CAN_EDIT, ), ProjectDefaultJoinCapability::CAPABILITY => array( 'caption' => pht('Default join policy for newly created projects.'), 'template' => PhabricatorProjectProjectPHIDType::TYPECONST, 'capability' => PhabricatorPolicyCapability::CAN_JOIN, ), ); } public function getApplicationSearchDocumentTypes() { return array( PhabricatorProjectProjectPHIDType::TYPECONST, ); } public function getApplicationOrder() { return 0.150; } public function getHelpDocumentationArticles(PhabricatorUser $viewer) { return array( array( 'name' => pht('Projects User Guide'), 'href' => PhabricatorEnv::getDoclink('Projects User Guide'), ), ); } }