Path: blob/master/src/applications/maniphest/controller/ManiphestController.php
12256 views
<?php12abstract class ManiphestController extends PhabricatorController {34public function buildApplicationMenu() {5return $this->buildSideNavView()->getMenu();6}78public function buildSideNavView() {9$viewer = $this->getViewer();1011$nav = new AphrontSideNavFilterView();12$nav->setBaseURI(new PhutilURI($this->getApplicationURI()));1314id(new ManiphestTaskSearchEngine())15->setViewer($viewer)16->addNavigationItems($nav->getMenu());1718if ($viewer->isLoggedIn()) {19// For now, don't give logged-out users access to reports.20$nav->addLabel(pht('Reports'));21$nav->addFilter('report', pht('Reports'));22}2324$nav->selectFilter(null);2526return $nav;27}2829protected function buildApplicationCrumbs() {30$crumbs = parent::buildApplicationCrumbs();3132id(new ManiphestEditEngine())33->setViewer($this->getViewer())34->addActionToCrumbs($crumbs);3536return $crumbs;37}3839final protected function newTaskGraphDropdownMenu(40ManiphestTask $task,41$has_parents,42$has_subtasks,43$include_standalone) {44$viewer = $this->getViewer();4546$parents_uri = urisprintf(47'/?subtaskIDs=%d#R',48$task->getID());49$parents_uri = $this->getApplicationURI($parents_uri);5051$subtasks_uri = urisprintf(52'/?parentIDs=%d#R',53$task->getID());54$subtasks_uri = $this->getApplicationURI($subtasks_uri);5556$dropdown_menu = id(new PhabricatorActionListView())57->setViewer($viewer)58->addAction(59id(new PhabricatorActionView())60->setHref($parents_uri)61->setName(pht('Search Parent Tasks'))62->setDisabled(!$has_parents)63->setIcon('fa-chevron-circle-up'))64->addAction(65id(new PhabricatorActionView())66->setHref($subtasks_uri)67->setName(pht('Search Subtasks'))68->setDisabled(!$has_subtasks)69->setIcon('fa-chevron-circle-down'));7071if ($include_standalone) {72$standalone_uri = urisprintf('/graph/%d/', $task->getID());73$standalone_uri = $this->getApplicationURI($standalone_uri);7475$dropdown_menu->addAction(76id(new PhabricatorActionView())77->setHref($standalone_uri)78->setName(pht('View Standalone Graph'))79->setIcon('fa-code-fork'));80}8182$graph_menu = id(new PHUIButtonView())83->setTag('a')84->setIcon('fa-search')85->setText(pht('Search...'))86->setDropdownMenu($dropdown_menu);8788return $graph_menu;89}9091final protected function newTaskGraphOverflowView(92ManiphestTask $task,93$overflow_message,94$include_standalone) {9596$id = $task->getID();9798if ($include_standalone) {99$standalone_uri = $this->getApplicationURI("graph/{$id}/");100101$standalone_link = id(new PHUIButtonView())102->setTag('a')103->setHref($standalone_uri)104->setColor(PHUIButtonView::GREY)105->setIcon('fa-code-fork')106->setText(pht('View Standalone Graph'));107} else {108$standalone_link = null;109}110111$standalone_icon = id(new PHUIIconView())112->setIcon('fa-exclamation-triangle', 'yellow')113->addClass('object-graph-header-icon');114115$standalone_view = phutil_tag(116'div',117array(118'class' => 'object-graph-header',119),120array(121$standalone_link,122$standalone_icon,123phutil_tag(124'div',125array(126'class' => 'object-graph-header-message',127),128array(129$overflow_message,130)),131));132133return $standalone_view;134}135136137}138139140