diff --git a/src/applications/project/controller/PhabricatorProjectBoardViewController.php b/src/applications/project/controller/PhabricatorProjectBoardViewController.php --- a/src/applications/project/controller/PhabricatorProjectBoardViewController.php +++ b/src/applications/project/controller/PhabricatorProjectBoardViewController.php @@ -281,6 +281,13 @@ ->setSubHeader($column->getDisplayType()) ->addSigil('workpanel'); + $proxy = $column->getProxy(); + if ($proxy) { + $proxy_id = $proxy->getID(); + $href = $this->getApplicationURI("view/{$proxy_id}/"); + $panel->setHref($href); + } + $header_icon = $column->getHeaderIcon(); if ($header_icon) { $panel->setHeaderIcon($header_icon); diff --git a/src/view/phui/PHUIWorkpanelView.php b/src/view/phui/PHUIWorkpanelView.php --- a/src/view/phui/PHUIWorkpanelView.php +++ b/src/view/phui/PHUIWorkpanelView.php @@ -9,6 +9,7 @@ private $headerActions = array(); private $headerTag; private $headerIcon; + private $href; public function setHeaderIcon($icon) { $this->headerIcon = $icon; @@ -49,6 +50,15 @@ return $this; } + public function setHref($href) { + $this->href = $href; + return $this; + } + + public function getHref() { + return $this->href; + } + protected function getTagAttributes() { return array( 'class' => 'phui-workpanel-view', @@ -69,8 +79,19 @@ $footer_tag); } + $header_content = $this->header; + $href = $this->getHref(); + if ($href) { + $header_content = phutil_tag( + 'a', + array( + 'href' => $href, + ), + $header_content); + } + $header = id(new PHUIHeaderView()) - ->setHeader($this->header) + ->setHeader($header_content) ->setSubheader($this->subheader); if ($this->headerIcon) {