/** * @param BaseEntityFilterService $entityFilter * @return $this */ public function add(BaseEntityFilterService $entityFilter) { $this->activeFilters[] = $entityFilter; // Get the relationship definition for the filter $relatedRelationships = $entityFilter->getSqlSpec()->getRelationships(); $relatedTable = $entityFilter->getTableName(); if (array_key_exists($this->getBaseTable(), $relatedRelationships)) { $currentRelationships = $this->getRelationships(); $currentRelationships[$relatedTable] = $relatedRelationships[$this->getBaseTable()]; $this->setRelationships($currentRelationships); } return $this; }
public function testInputFilterValidates() { $baddata = '1234'; $gooddata = '12345'; $tableName = 'sometable'; $service = new AggregateEntityFilterService(); $service->setBaseTable($tableName); $entityFilter = new BaseEntityFilterService(); $entityFilter->setTableName($tableName); $input = new Input(); $input->setName('name')->setAllowEmpty(FALSE)->getValidatorChain()->attach(new StringLength(5)); $inputFilter = new InputFilter(); $inputFilter->add($input); $entityFilter->setInputFilter($inputFilter); $entityFilter->setData(array('name' => $baddata)); $service->add($entityFilter); $this->assertFalse($service->isValid(), 'Should have failed filter input validator'); $service = new AggregateEntityFilterService(); $service->setBaseTable($tableName); $entityFilter->setData(array('name' => $gooddata)); $service->add($entityFilter); $this->assertTrue($service->isValid(), 'Should have passed filter input validator'); }