From eeef60a67867beeedd2c3144b52f4e637e9e694a Mon Sep 17 00:00:00 2001 From: epriestley Date: Tue, 11 Apr 2017 14:53:20 -0700 Subject: [PATCH] Update "bin/policy show" to use PolicyCodex Summary: Fixes T12541. `describeAutomaticCapability()` is no longer required to implement `PolicyInterface`. Use PolicyCodex instead. Test Plan: {F4889642} Reviewers: chad Reviewed By: chad Maniphest Tasks: T12541 Differential Revision: https://secure.phabricator.com/D17658 --- ...habricatorPolicyManagementShowWorkflow.php | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/applications/policy/management/PhabricatorPolicyManagementShowWorkflow.php b/src/applications/policy/management/PhabricatorPolicyManagementShowWorkflow.php index 1529d4904c..208f1ae964 100644 --- a/src/applications/policy/management/PhabricatorPolicyManagementShowWorkflow.php +++ b/src/applications/policy/management/PhabricatorPolicyManagementShowWorkflow.php @@ -65,16 +65,20 @@ final class PhabricatorPolicyManagementShowWorkflow $console->writeOut(" %s\n", PhabricatorPolicy::getPolicyExplanation($viewer, $policy->getPHID())); $console->writeOut("\n"); - - $more = (array)$object->describeAutomaticCapability($capability); - if ($more) { - foreach ($more as $line) { - $console->writeOut(" %s\n", $line); - } - $console->writeOut("\n"); - } } + if ($object instanceof PhabricatorPolicyCodexInterface) { + $codex = PhabricatorPolicyCodex::newFromObject($object, $viewer); + + $rules = $codex->getPolicySpecialRuleDescriptions(); + foreach ($rules as $rule) { + echo tsprintf( + " - %s\n", + $rule->getDescription()); + } + + echo "\n"; + } } }