From c39b10aa7a56015bcc6017c983eea5a7eecbd537 Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 9 Oct 2013 16:23:36 -0700 Subject: [PATCH] Fix non-public capabilities in Application edit Summary: Ref T603. I nuked this check by accident and neglected to test the negative case. Test Plan: Saved a non-public policy (Herald Global) and a public policy (Maniphest View). Reviewers: asherkin, btrahan Reviewed By: asherkin CC: aran Maniphest Tasks: T603 Differential Revision: https://secure.phabricator.com/D7278 --- .../PhabricatorApplicationEditController.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/applications/meta/controller/PhabricatorApplicationEditController.php b/src/applications/meta/controller/PhabricatorApplicationEditController.php index 635d6d299b..6241a56f2f 100644 --- a/src/applications/meta/controller/PhabricatorApplicationEditController.php +++ b/src/applications/meta/controller/PhabricatorApplicationEditController.php @@ -51,10 +51,13 @@ final class PhabricatorApplicationEditController continue; } - $capobj = PhabricatorPolicyCapability::getCapabilityByKey($capability); - if (!$capobj || !$capobj->shouldAllowPublicPolicySetting()) { - // Can't set non-public policies to public. - continue; + if ($new == PhabricatorPolicies::POLICY_PUBLIC) { + $capobj = PhabricatorPolicyCapability::getCapabilityByKey( + $capability); + if (!$capobj || !$capobj->shouldAllowPublicPolicySetting()) { + // Can't set non-public policies to public. + continue; + } } $result[$capability] = $new;