@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Link proxy column headers on workboards to proxied projects

Summary: Ref T10010. Allows you to click "Milestone 99" to jump directly to that project.

Test Plan:
- Clicked milestone header, went to milestone.
- Clicked normal column header, nothing happened. Wow!

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10010

Differential Revision: https://secure.phabricator.com/D15204

+46 -1
+7
src/applications/project/controller/PhabricatorProjectBoardViewController.php
··· 281 281 ->setSubHeader($column->getDisplayType()) 282 282 ->addSigil('workpanel'); 283 283 284 + $proxy = $column->getProxy(); 285 + if ($proxy) { 286 + $proxy_id = $proxy->getID(); 287 + $href = $this->getApplicationURI("view/{$proxy_id}/"); 288 + $panel->setHref($href); 289 + } 290 + 284 291 $header_icon = $column->getHeaderIcon(); 285 292 if ($header_icon) { 286 293 $panel->setHeaderIcon($header_icon);
+24 -1
src/view/phui/PHUIHeaderView.php
··· 22 22 private $epoch; 23 23 private $actionIcons = array(); 24 24 private $badges = array(); 25 + private $href; 25 26 26 27 public function setHeader($header) { 27 28 $this->header = $header; ··· 145 146 146 147 $this->setStatus('fa-clock-o bluegrey', null, pht('Updated %s', $when)); 147 148 return $this; 149 + } 150 + 151 + public function setHref($href) { 152 + $this->href = $href; 153 + return $this; 154 + } 155 + 156 + public function getHref() { 157 + return $this->href; 148 158 } 149 159 150 160 protected function getTagName() { ··· 290 300 ->setIcon($this->headerIcon); 291 301 $left[] = $icon; 292 302 } 303 + 304 + $header_content = $this->header; 305 + 306 + $href = $this->getHref(); 307 + if ($href !== null) { 308 + $header_content = phutil_tag( 309 + 'a', 310 + array( 311 + 'href' => $href, 312 + ), 313 + $header_content); 314 + } 315 + 293 316 $left[] = phutil_tag( 294 317 'span', 295 318 array( 296 319 'class' => 'phui-header-header', 297 320 ), 298 - $this->header); 321 + $header_content); 299 322 300 323 if ($this->subheader || $this->badges) { 301 324 $badges = null;
+15
src/view/phui/PHUIWorkpanelView.php
··· 9 9 private $headerActions = array(); 10 10 private $headerTag; 11 11 private $headerIcon; 12 + private $href; 12 13 13 14 public function setHeaderIcon($icon) { 14 15 $this->headerIcon = $icon; ··· 49 50 return $this; 50 51 } 51 52 53 + public function setHref($href) { 54 + $this->href = $href; 55 + return $this; 56 + } 57 + 58 + public function getHref() { 59 + return $this->href; 60 + } 61 + 52 62 protected function getTagAttributes() { 53 63 return array( 54 64 'class' => 'phui-workpanel-view', ··· 83 93 84 94 foreach ($this->headerActions as $action) { 85 95 $header->addActionIcon($action); 96 + } 97 + 98 + $href = $this->getHref(); 99 + if ($href !== null) { 100 + $header->setHref($href); 86 101 } 87 102 88 103 $body = phutil_tag(