Differential D14896 Diff 36004 src/applications/project/application/PhabricatorProjectApplication.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/project/application/PhabricatorProjectApplication.php
| Show All 37 Lines | public function getEventListeners() { | ||||
| ); | ); | ||||
| } | } | ||||
| public function getRoutes() { | public function getRoutes() { | ||||
| return array( | return array( | ||||
| '/project/' => array( | '/project/' => array( | ||||
| '(?:query/(?P<queryKey>[^/]+)/)?' => 'PhabricatorProjectListController', | '(?:query/(?P<queryKey>[^/]+)/)?' => 'PhabricatorProjectListController', | ||||
| 'filter/(?P<filter>[^/]+)/' => 'PhabricatorProjectListController', | 'filter/(?P<filter>[^/]+)/' => 'PhabricatorProjectListController', | ||||
| 'details/(?P<id>[1-9]\d*)/' | |||||
| => 'PhabricatorProjectEditDetailsController', | |||||
| 'archive/(?P<id>[1-9]\d*)/' | 'archive/(?P<id>[1-9]\d*)/' | ||||
| => 'PhabricatorProjectArchiveController', | => 'PhabricatorProjectArchiveController', | ||||
| 'lock/(?P<id>[1-9]\d*)/' | 'lock/(?P<id>[1-9]\d*)/' | ||||
| => 'PhabricatorProjectLockController', | => 'PhabricatorProjectLockController', | ||||
| 'members/(?P<id>[1-9]\d*)/' | 'members/(?P<id>[1-9]\d*)/' | ||||
| => 'PhabricatorProjectMembersEditController', | => 'PhabricatorProjectMembersEditController', | ||||
| 'members/(?P<id>[1-9]\d*)/remove/' | 'members/(?P<id>[1-9]\d*)/remove/' | ||||
| => 'PhabricatorProjectMembersRemoveController', | => 'PhabricatorProjectMembersRemoveController', | ||||
| 'profile/(?P<id>[1-9]\d*)/' | 'profile/(?P<id>[1-9]\d*)/' | ||||
| => 'PhabricatorProjectProfileController', | => 'PhabricatorProjectProfileController', | ||||
| 'feed/(?P<id>[1-9]\d*)/' | 'feed/(?P<id>[1-9]\d*)/' | ||||
| => 'PhabricatorProjectFeedController', | => 'PhabricatorProjectFeedController', | ||||
| 'view/(?P<id>[1-9]\d*)/' | 'view/(?P<id>[1-9]\d*)/' | ||||
| => 'PhabricatorProjectViewController', | => 'PhabricatorProjectViewController', | ||||
| 'picture/(?P<id>[1-9]\d*)/' | 'picture/(?P<id>[1-9]\d*)/' | ||||
| => 'PhabricatorProjectEditPictureController', | => 'PhabricatorProjectEditPictureController', | ||||
| 'create/' => 'PhabricatorProjectEditDetailsController', | $this->getEditRoutePattern('edit/') | ||||
| => 'PhabricatorProjectEditController', | |||||
| 'subprojects/(?P<id>[1-9]\d*)/' | 'subprojects/(?P<id>[1-9]\d*)/' | ||||
| => 'PhabricatorProjectSubprojectsController', | => 'PhabricatorProjectSubprojectsController', | ||||
| 'milestones/(?P<id>[1-9]\d*)/' | 'milestones/(?P<id>[1-9]\d*)/' | ||||
| => 'PhabricatorProjectMilestonesController', | => 'PhabricatorProjectMilestonesController', | ||||
| 'board/(?P<id>[1-9]\d*)/'. | 'board/(?P<id>[1-9]\d*)/'. | ||||
| '(?P<filter>filter/)?'. | '(?P<filter>filter/)?'. | ||||
| '(?:query/(?P<queryKey>[^/]+)/)?' | '(?:query/(?P<queryKey>[^/]+)/)?' | ||||
| => 'PhabricatorProjectBoardViewController', | => 'PhabricatorProjectBoardViewController', | ||||
| Show All 19 Lines | return array( | ||||
| '/tag/' => array( | '/tag/' => array( | ||||
| '(?P<slug>[^/]+)/' => 'PhabricatorProjectViewController', | '(?P<slug>[^/]+)/' => 'PhabricatorProjectViewController', | ||||
| '(?P<slug>[^/]+)/board/' => 'PhabricatorProjectBoardViewController', | '(?P<slug>[^/]+)/board/' => 'PhabricatorProjectBoardViewController', | ||||
| ), | ), | ||||
| ); | ); | ||||
| } | } | ||||
| public function getQuickCreateItems(PhabricatorUser $viewer) { | public function getQuickCreateItems(PhabricatorUser $viewer) { | ||||
| $can_create = PhabricatorPolicyFilter::hasCapability( | return id(new PhabricatorProjectEditEngine()) | ||||
| $viewer, | ->setViewer($viewer) | ||||
| $this, | ->loadQuickCreateItems(); | ||||
| ProjectCreateProjectsCapability::CAPABILITY); | |||||
| $items = array(); | |||||
| if ($can_create) { | |||||
| $item = id(new PHUIListItemView()) | |||||
| ->setName(pht('Project')) | |||||
| ->setIcon('fa-briefcase') | |||||
| ->setHref($this->getBaseURI().'create/'); | |||||
| $items[] = $item; | |||||
| } | |||||
| return $items; | |||||
| } | } | ||||
| protected function getCustomCapabilities() { | protected function getCustomCapabilities() { | ||||
| return array( | return array( | ||||
| ProjectCreateProjectsCapability::CAPABILITY => array(), | ProjectCreateProjectsCapability::CAPABILITY => array(), | ||||
| ProjectCanLockProjectsCapability::CAPABILITY => array( | ProjectCanLockProjectsCapability::CAPABILITY => array( | ||||
| 'default' => PhabricatorPolicies::POLICY_ADMIN, | 'default' => PhabricatorPolicies::POLICY_ADMIN, | ||||
| ), | ), | ||||
| Show All 25 Lines | |||||