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

Add "Visible To" property fields for diffs and revisions

Summary: Ref T603. Show object visibility in the UI. This isn't editable or mutable yet, but will be after T2222.

Test Plan: {F48689} {F48690}

Reviewers: chad, btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T603

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

+56
+4
src/__phutil_library_map__.php
··· 349 349 'DifferentialDiffTableOfContentsView' => 'applications/differential/view/DifferentialDiffTableOfContentsView.php', 350 350 'DifferentialDiffTestCase' => 'applications/differential/storage/__tests__/DifferentialDiffTestCase.php', 351 351 'DifferentialDiffViewController' => 'applications/differential/controller/DifferentialDiffViewController.php', 352 + 'DifferentialDiffViewPolicyFieldSpecification' => 'applications/differential/field/specification/DifferentialDiffViewPolicyFieldSpecification.php', 352 353 'DifferentialException' => 'applications/differential/exception/DifferentialException.php', 353 354 'DifferentialExceptionMail' => 'applications/differential/mail/DifferentialExceptionMail.php', 354 355 'DifferentialExportPatchFieldSpecification' => 'applications/differential/field/specification/DifferentialExportPatchFieldSpecification.php', ··· 424 425 'DifferentialUnitFieldSpecification' => 'applications/differential/field/specification/DifferentialUnitFieldSpecification.php', 425 426 'DifferentialUnitStatus' => 'applications/differential/constants/DifferentialUnitStatus.php', 426 427 'DifferentialUnitTestResult' => 'applications/differential/constants/DifferentialUnitTestResult.php', 428 + 'DifferentialViewPolicyFieldSpecification' => 'applications/differential/field/specification/DifferentialViewPolicyFieldSpecification.php', 427 429 'DiffusionBranchInformation' => 'applications/diffusion/data/DiffusionBranchInformation.php', 428 430 'DiffusionBranchTableController' => 'applications/diffusion/controller/DiffusionBranchTableController.php', 429 431 'DiffusionBranchTableView' => 'applications/diffusion/view/DiffusionBranchTableView.php', ··· 2279 2281 'DifferentialDiffTableOfContentsView' => 'AphrontView', 2280 2282 'DifferentialDiffTestCase' => 'ArcanistPhutilTestCase', 2281 2283 'DifferentialDiffViewController' => 'DifferentialController', 2284 + 'DifferentialDiffViewPolicyFieldSpecification' => 'DifferentialFieldSpecification', 2282 2285 'DifferentialException' => 'Exception', 2283 2286 'DifferentialExceptionMail' => 'DifferentialMail', 2284 2287 'DifferentialExportPatchFieldSpecification' => 'DifferentialFieldSpecification', ··· 2357 2360 'DifferentialTransaction' => 'PhabricatorApplicationTransaction', 2358 2361 'DifferentialTransactionComment' => 'PhabricatorApplicationTransactionComment', 2359 2362 'DifferentialUnitFieldSpecification' => 'DifferentialFieldSpecification', 2363 + 'DifferentialViewPolicyFieldSpecification' => 'DifferentialFieldSpecification', 2360 2364 'DiffusionBranchTableController' => 'DiffusionController', 2361 2365 'DiffusionBranchTableView' => 'DiffusionView', 2362 2366 'DiffusionBrowseController' => 'DiffusionController',
+2
src/applications/differential/field/selector/DifferentialDefaultFieldSelector.php
··· 13 13 new DifferentialReviewersFieldSpecification(), 14 14 new DifferentialReviewedByFieldSpecification(), 15 15 new DifferentialCCsFieldSpecification(), 16 + new DifferentialViewPolicyFieldSpecification(), 16 17 new DifferentialLintFieldSpecification(), 17 18 new DifferentialUnitFieldSpecification(), 18 19 new DifferentialCommitsFieldSpecification(), ··· 30 31 new DifferentialDateModifiedFieldSpecification(), 31 32 new DifferentialDateCreatedFieldSpecification(), 32 33 new DifferentialAuditorsFieldSpecification(), 34 + new DifferentialDiffViewPolicyFieldSpecification(), 33 35 ); 34 36 35 37 return $fields;
+25
src/applications/differential/field/specification/DifferentialDiffViewPolicyFieldSpecification.php
··· 1 + <?php 2 + 3 + final class DifferentialDiffViewPolicyFieldSpecification 4 + extends DifferentialFieldSpecification { 5 + 6 + public function shouldAppearOnDiffView() { 7 + return true; 8 + } 9 + 10 + public function renderLabelForDiffView() { 11 + return pht('Visible To'); 12 + } 13 + 14 + public function renderValueForDiffView() { 15 + $user = $this->getUser(); 16 + $diff = $this->getDiff(); 17 + 18 + $descriptions = PhabricatorPolicyQuery::renderPolicyDescriptions( 19 + $user, 20 + $diff); 21 + 22 + return idx($descriptions, PhabricatorPolicyCapability::CAN_VIEW); 23 + } 24 + 25 + }
+25
src/applications/differential/field/specification/DifferentialViewPolicyFieldSpecification.php
··· 1 + <?php 2 + 3 + final class DifferentialViewPolicyFieldSpecification 4 + extends DifferentialFieldSpecification { 5 + 6 + public function shouldAppearOnRevisionView() { 7 + return true; 8 + } 9 + 10 + public function renderLabelForRevisionView() { 11 + return pht('Visible To'); 12 + } 13 + 14 + public function renderValueForRevisionView() { 15 + $user = $this->getUser(); 16 + $revision = $this->getRevision(); 17 + 18 + $descriptions = PhabricatorPolicyQuery::renderPolicyDescriptions( 19 + $user, 20 + $revision); 21 + 22 + return idx($descriptions, PhabricatorPolicyCapability::CAN_VIEW); 23 + } 24 + 25 + }