Changeset View
Changeset View
Standalone View
Standalone View
src/applications/policy/filter/PhabricatorPolicyFilter.php
| Show First 20 Lines • Show All 169 Lines • ▼ Show 20 Lines | public function apply(array $objects) { | ||||
| $need_policies = array(); | $need_policies = array(); | ||||
| $need_objpolicies = array(); | $need_objpolicies = array(); | ||||
| foreach ($objects as $key => $object) { | foreach ($objects as $key => $object) { | ||||
| $object_capabilities = $object->getCapabilities(); | $object_capabilities = $object->getCapabilities(); | ||||
| foreach ($capabilities as $capability) { | foreach ($capabilities as $capability) { | ||||
| if (!in_array($capability, $object_capabilities)) { | if (!in_array($capability, $object_capabilities)) { | ||||
| throw new Exception( | throw new Exception( | ||||
| pht( | pht( | ||||
| "Testing for capability '%s' on an object which does ". | 'Testing for capability "%s" on an object ("%s") which does '. | ||||
| "not have that capability!", | 'not support that capability.', | ||||
| $capability)); | $capability, | ||||
| get_class($object))); | |||||
| } | } | ||||
epriestley: Just making this (almost always internal/debugging) exception easier to figure out since it… | |||||
| $policy = $this->getObjectPolicy($object, $capability); | $policy = $this->getObjectPolicy($object, $capability); | ||||
| if (PhabricatorPolicyQuery::isObjectPolicy($policy)) { | if (PhabricatorPolicyQuery::isObjectPolicy($policy)) { | ||||
| $need_objpolicies[$policy][] = $object; | $need_objpolicies[$policy][] = $object; | ||||
| continue; | continue; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 784 Lines • Show Last 20 Lines | |||||
Just making this (almost always internal/debugging) exception easier to figure out since it wasn't immediately obvious which object was complaining when I hit an issue in Fund.