From c9be5fef2783336e38628e67a4a4c7823c0b7802 Mon Sep 17 00:00:00 2001 From: epriestley Date: Tue, 16 Jun 2015 08:53:28 -0700 Subject: [PATCH] Show spaces in policy explanation dialogs Summary: Ref T8449. When an object is in a space, explain that clearly in the policy description dialog. Test Plan: {F496126} Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T8449 Differential Revision: https://secure.phabricator.com/D13264 --- .../PhabricatorPolicyExplainController.php | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/applications/policy/controller/PhabricatorPolicyExplainController.php b/src/applications/policy/controller/PhabricatorPolicyExplainController.php index 09fd69242a..4224319d9c 100644 --- a/src/applications/policy/controller/PhabricatorPolicyExplainController.php +++ b/src/applications/policy/controller/PhabricatorPolicyExplainController.php @@ -69,7 +69,27 @@ final class PhabricatorPolicyExplainController $capability_name = $capobj->getCapabilityName(); } + $space_info = null; + if ($object instanceof PhabricatorSpacesInterface) { + if (PhabricatorSpacesNamespaceQuery::getViewerSpacesExist($viewer)) { + $space_phid = PhabricatorSpacesNamespaceQuery::getObjectSpacePHID( + $object); + + $handles = $viewer->loadHandles(array($space_phid)); + + $space_info = array( + pht( + 'This object is in %s, and can only be seen by users with '. + 'access to that space.', + $handles[$space_phid]->renderLink()), + phutil_tag('br'), + phutil_tag('br'), + ); + } + } + $content = array( + $space_info, pht('Users with the "%s" capability:', $capability_name), $auto_info, );