Changeset View
Changeset View
Standalone View
Standalone View
src/applications/policy/config/PolicyLockOptionType.php
| <?php | <?php | ||||
| final class PolicyLockOptionType | final class PolicyLockOptionType | ||||
| extends PhabricatorConfigJSONOptionType { | extends PhabricatorConfigJSONOptionType { | ||||
| public function validateOption(PhabricatorConfigOption $option, $value) { | public function validateOption(PhabricatorConfigOption $option, $value) { | ||||
| $capabilities = id(new PhutilSymbolLoader()) | $capabilities = id(new PhutilClassMapQuery()) | ||||
| ->setAncestorClass('PhabricatorPolicyCapability') | ->setAncestorClass('PhabricatorPolicyCapability') | ||||
| ->loadObjects(); | ->setUniqueMethod('getCapabilityKey') | ||||
| $capabilities = mpull($capabilities, null, 'getCapabilityKey'); | ->execute(); | ||||
| $policy_phids = array(); | $policy_phids = array(); | ||||
| foreach ($value as $capability_key => $policy) { | foreach ($value as $capability_key => $policy) { | ||||
| $capability = idx($capabilities, $capability_key); | $capability = idx($capabilities, $capability_key); | ||||
| if (!$capability) { | if (!$capability) { | ||||
| throw new Exception( | throw new Exception( | ||||
| pht( | pht( | ||||
| 'Capability "%s" does not exist.', | 'Capability "%s" does not exist.', | ||||
| ▲ Show 20 Lines • Show All 50 Lines • Show Last 20 Lines | |||||