@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.

Projects - display "members" link in disabled style if user can't edit project

Summary: Fixes T6862.

Test Plan: viewed a project list and saw disabled-style "Members" links as appropos

Reviewers: epriestley, chad

Reviewed By: chad

Subscribers: Korvin, epriestley

Maniphest Tasks: T6862

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

+15 -2
+15 -2
src/applications/project/query/PhabricatorProjectSearchEngine.php
··· 212 212 213 213 $list = new PHUIObjectItemListView(); 214 214 $list->setUser($viewer); 215 - foreach ($projects as $project) { 215 + $can_edit_projects = id(new PhabricatorPolicyFilter()) 216 + ->setViewer($viewer) 217 + ->requireCapabilities(array(PhabricatorPolicyCapability::CAN_EDIT)) 218 + ->apply($projects); 219 + 220 + foreach ($projects as $key => $project) { 216 221 $id = $project->getID(); 217 222 $workboards_uri = $this->getApplicationURI("board/{$id}/"); 218 223 $members_uri = $this->getApplicationURI("members/{$id}/"); ··· 223 228 ), 224 229 pht('Workboard')); 225 230 226 - $members_url = phutil_tag( 231 + $members_class = null; 232 + $members_sigil = null; 233 + if (!isset($can_edit_projects[$key])) { 234 + $members_class = 'disabled'; 235 + $members_sigil = 'workflow'; 236 + } 237 + $members_url = javelin_tag( 227 238 'a', 228 239 array( 229 240 'href' => $members_uri, 241 + 'class' => $members_class, 242 + 'sigil' => $members_sigil, 230 243 ), 231 244 pht('Members')); 232 245