Changeset View
Changeset View
Standalone View
Standalone View
src/applications/project/controller/PhabricatorProjectController.php
| Show First 20 Lines • Show All 93 Lines • ▼ Show 20 Lines | public function buildSideNavView($for_app = false) { | ||||
| $id = null; | $id = null; | ||||
| if ($for_app) { | if ($for_app) { | ||||
| if ($project) { | if ($project) { | ||||
| $id = $project->getID(); | $id = $project->getID(); | ||||
| $nav->addFilter("profile/{$id}/", pht('Profile')); | $nav->addFilter("profile/{$id}/", pht('Profile')); | ||||
| $nav->addFilter("board/{$id}/", pht('Workboard')); | $nav->addFilter("board/{$id}/", pht('Workboard')); | ||||
| $nav->addFilter("members/{$id}/", pht('Members')); | $nav->addFilter("members/{$id}/", pht('Members')); | ||||
| $nav->addFilter("feed/{$id}/", pht('Feed')); | $nav->addFilter("feed/{$id}/", pht('Feed')); | ||||
| $nav->addFilter("details/{$id}/", pht('Edit Details')); | |||||
| } | } | ||||
| $nav->addFilter('create', pht('Create Project')); | $nav->addFilter('create', pht('Create Project')); | ||||
| } | } | ||||
| if (!$id) { | if (!$id) { | ||||
| id(new PhabricatorProjectSearchEngine()) | id(new PhabricatorProjectSearchEngine()) | ||||
| ->setViewer($viewer) | ->setViewer($viewer) | ||||
| ->addNavigationItems($nav->getMenu()); | ->addNavigationItems($nav->getMenu()); | ||||
| Show All 33 Lines | if (PhabricatorApplication::isClassInstalledForViewer($class, $viewer)) { | ||||
| $query_uri = urisprintf( | $query_uri = urisprintf( | ||||
| '/maniphest/?statuses=open()&projects=%s#R', | '/maniphest/?statuses=open()&projects=%s#R', | ||||
| $phid); | $phid); | ||||
| $nav->addIcon(null, pht('Open Tasks'), 'fa-anchor', null, $query_uri); | $nav->addIcon(null, pht('Open Tasks'), 'fa-anchor', null, $query_uri); | ||||
| } | } | ||||
| $nav->addIcon("feed/{$id}/", pht('Feed'), 'fa-newspaper-o'); | $nav->addIcon("feed/{$id}/", pht('Feed'), 'fa-newspaper-o'); | ||||
| $nav->addIcon("members/{$id}/", pht('Members'), 'fa-group'); | $nav->addIcon("members/{$id}/", pht('Members'), 'fa-group'); | ||||
| $nav->addIcon("details/{$id}/", pht('Edit Details'), 'fa-pencil'); | |||||
| if (PhabricatorEnv::getEnvConfig('phabricator.show-prototypes')) { | if (PhabricatorEnv::getEnvConfig('phabricator.show-prototypes')) { | ||||
| $nav->addIcon("subprojects/{$id}/", pht('Subprojects'), 'fa-sitemap'); | if ($project->supportsSubprojects()) { | ||||
| $nav->addIcon("milestones/{$id}/", pht('Milestones'), 'fa-map-marker'); | $subprojects_icon = 'fa-sitemap'; | ||||
| } else { | |||||
| $subprojects_icon = 'fa-sitemap grey'; | |||||
| } | |||||
| if ($project->supportsMilestones()) { | |||||
| $milestones_icon = 'fa-map-marker'; | |||||
| } else { | |||||
| $milestones_icon = 'fa-map-marker grey'; | |||||
| } | |||||
| $nav->addIcon( | |||||
| "subprojects/{$id}/", | |||||
| pht('Subprojects'), | |||||
| $subprojects_icon); | |||||
| $nav->addIcon( | |||||
| "milestones/{$id}/", | |||||
| pht('Milestones'), | |||||
| $milestones_icon); | |||||
| } | } | ||||
| return $nav; | return $nav; | ||||
| } | } | ||||
| protected function buildApplicationCrumbs() { | protected function buildApplicationCrumbs() { | ||||
| $crumbs = parent::buildApplicationCrumbs(); | $crumbs = parent::buildApplicationCrumbs(); | ||||
| $project = $this->getProject(); | $project = $this->getProject(); | ||||
| if ($project) { | if ($project) { | ||||
| $ancestors = $project->getAncestorProjects(); | $ancestors = $project->getAncestorProjects(); | ||||
| $ancestors = array_reverse($ancestors); | $ancestors = array_reverse($ancestors); | ||||
| $ancestors[] = $project; | $ancestors[] = $project; | ||||
| foreach ($ancestors as $ancestor) { | foreach ($ancestors as $ancestor) { | ||||
| $crumbs->addTextCrumb( | $crumbs->addTextCrumb( | ||||
| $project->getName(), | $ancestor->getName(), | ||||
| $project->getURI()); | $ancestor->getURI()); | ||||
| } | } | ||||
| } | } | ||||
| return $crumbs; | return $crumbs; | ||||
| } | } | ||||
| } | } | ||||