Index: src/applications/project/controller/PhabricatorProjectBoardController.php =================================================================== --- src/applications/project/controller/PhabricatorProjectBoardController.php +++ src/applications/project/controller/PhabricatorProjectBoardController.php @@ -74,6 +74,15 @@ } $crumbs = $this->buildApplicationCrumbs(); + $crumbs->addTextCrumb( + $project->getName(), + $this->getApplicationURI('view/'.$project->getID().'/')); + $crumbs->addTextCrumb(pht('Board')); + + $can_edit = PhabricatorPolicyFilter::hasCapability( + $viewer, + $project, + PhabricatorPolicyCapability::CAN_EDIT); $actions = id(new PhabricatorActionListView()) ->setUser($viewer) @@ -81,7 +90,9 @@ id(new PhabricatorActionView()) ->setName(pht('Add Column/Milestone/Sprint')) ->setHref($this->getApplicationURI('board/'.$this->id.'/edit/')) - ->setIcon('create')); + ->setIcon('create') + ->setDisabled(!$can_edit) + ->setWorkflow(!$can_edit)); $plist = id(new PHUIPropertyListView()); // TODO: Need this to get actions to render. Index: src/applications/project/controller/PhabricatorProjectBoardEditController.php =================================================================== --- src/applications/project/controller/PhabricatorProjectBoardEditController.php +++ src/applications/project/controller/PhabricatorProjectBoardEditController.php @@ -112,6 +112,12 @@ ->addCancelButton($view_uri)); $crumbs = $this->buildApplicationCrumbs(); + $crumbs->addTextCrumb( + $project->getName(), + $this->getApplicationURI('view/'.$project->getID().'/')); + $crumbs->addTextCrumb( + pht('Board'), + $this->getApplicationURI('board/'.$project->getID().'/')); $crumbs->addTextCrumb($title); $form_box = id(new PHUIObjectBoxView()) Index: src/applications/project/controller/PhabricatorProjectController.php =================================================================== --- src/applications/project/controller/PhabricatorProjectController.php +++ src/applications/project/controller/PhabricatorProjectController.php @@ -21,21 +21,4 @@ return $nav; } - public function buildApplicationCrumbs() { - $crumbs = parent::buildApplicationCrumbs(); - - $can_create = $this->hasApplicationCapability( - ProjectCapabilityCreateProjects::CAPABILITY); - - $crumbs->addAction( - id(new PHUIListItemView()) - ->setName(pht('Create Project')) - ->setHref($this->getApplicationURI('create/')) - ->setIcon('create') - ->setWorkflow(!$can_create) - ->setDisabled(!$can_create)); - - return $crumbs; - } - } Index: src/applications/project/controller/PhabricatorProjectListController.php =================================================================== --- src/applications/project/controller/PhabricatorProjectListController.php +++ src/applications/project/controller/PhabricatorProjectListController.php @@ -51,4 +51,21 @@ return $list; } + public function buildApplicationCrumbs() { + $crumbs = parent::buildApplicationCrumbs(); + + $can_create = $this->hasApplicationCapability( + ProjectCapabilityCreateProjects::CAPABILITY); + + $crumbs->addAction( + id(new PHUIListItemView()) + ->setName(pht('Create Project')) + ->setHref($this->getApplicationURI('create/')) + ->setIcon('create') + ->setWorkflow(!$can_create) + ->setDisabled(!$can_create)); + + return $crumbs; + } + }