diff --git a/apps/workflowengine/lib/Manager.php b/apps/workflowengine/lib/Manager.php index 2818238081..1829bee300 100644 --- a/apps/workflowengine/lib/Manager.php +++ b/apps/workflowengine/lib/Manager.php @@ -163,6 +163,10 @@ class Manager implements IManager { return $operations; } + /** + * @param string $operationClass + * @return ScopeContext[] + */ public function getAllConfiguredScopesForOperation(string $operationClass): array { static $scopesByOperation = []; if (isset($scopesByOperation[$operationClass])) { diff --git a/apps/workflowengine/lib/Service/RuleMatcher.php b/apps/workflowengine/lib/Service/RuleMatcher.php index 99a5db8a9d..70c40e1251 100644 --- a/apps/workflowengine/lib/Service/RuleMatcher.php +++ b/apps/workflowengine/lib/Service/RuleMatcher.php @@ -134,9 +134,9 @@ class RuleMatcher implements IRuleMatcher { } if($this->entity instanceof IEntity) { + /** @var ScopeContext[] $additionalScopes */ $additionalScopes = $this->manager->getAllConfiguredScopesForOperation($class); foreach ($additionalScopes as $hash => $scopeCandidate) { - /** @var ScopeContext $scopeCandidate */ if ($scopeCandidate->getScope() !== IManager::SCOPE_USER || in_array($scopeCandidate, $scopes)) { continue; }