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; | ||||
} | } | ||||
} | } |