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 |