public function testAclCondition() { $condition = new AclCondition('testClass', 'id', array(1)); $this->assertEquals('testClass', $condition->getEntityAlias()); $this->assertEquals('id', $condition->getEntityField()); $this->assertEquals(array(1), $condition->getValue()); $condition->setEntityAlias('anotherClass'); $condition->setEntityField('owner'); $condition->setValue(array(2)); $this->assertEquals('anotherClass', $condition->getEntityAlias()); $this->assertEquals('owner', $condition->getEntityField()); $this->assertEquals(array(2), $condition->getValue()); }
public function testAclCondition() { $condition = new AclCondition('testClass', 'id', array(1)); $this->assertEquals('testClass', $condition->getEntityAlias()); $this->assertEquals('id', $condition->getEntityField()); $this->assertEquals(array(1), $condition->getValue()); $condition->setEntityAlias('anotherClass'); $condition->setEntityField('owner'); $condition->setValue(array(2)); $this->assertEquals('anotherClass', $condition->getEntityAlias()); $this->assertEquals('owner', $condition->getEntityField()); $this->assertEquals(array(2), $condition->getValue()); $this->assertEquals(PathExpression::TYPE_SINGLE_VALUED_ASSOCIATION, $condition->getPathExpressionType()); $condition->setPathExpressionType(PathExpression::TYPE_COLLECTION_VALUED_ASSOCIATION); $this->assertEquals(PathExpression::TYPE_COLLECTION_VALUED_ASSOCIATION, $condition->getPathExpressionType()); }
/** * Get acl access level condition * * @param AclCondition $condition * * @return ConditionalPrimary */ protected function getConditionalFactor(AclCondition $condition) { if ($condition->isIgnoreOwner()) { return null; } if ($condition->getValue() === null && $condition->getEntityField() === null) { $expression = $this->getAccessDeniedExpression(); } else { $expression = $this->getInExpression($condition); } $resultCondition = new ConditionalPrimary(); $resultCondition->simpleConditionalExpression = $expression; return $resultCondition; }
/** * Get array with literal from acl condition value array * * @param AclCondition $whereCondition * @return array */ protected function getLiterals(AclCondition $whereCondition) { $literals = []; if (!is_array($whereCondition->getValue())) { $whereCondition->setValue(array($whereCondition->getValue())); } foreach ($whereCondition->getValue() as $value) { $literals[] = new Literal(Literal::NUMERIC, $value); } return $literals; }