/** * Add ACL check to API get list query criteria * * @param GetListBefore $event */ public function onGetListBefore(GetListBefore $event) { $acl = $this->securityFacade->getRequestAcl($this->request, true); if ($acl && $event->getClassName() === $acl->getClass()) { $event->setCriteria($this->aclHelper->applyAclToCriteria($event->getClassName(), $event->getCriteria(), $acl->getPermission())); } }
public function testEventClass() { $criteria = new Criteria(); $testClassName = 'Oro\\TestBundle\\TestClass'; $event = new GetListBefore($criteria, $testClassName); $this->assertSame($criteria, $event->getCriteria()); $anotherCriteria = new Criteria(); $event->setCriteria($anotherCriteria); $this->assertSame($anotherCriteria, $event->getCriteria()); $this->assertEquals($testClassName, $event->getClassName()); }