Ejemplo n.º 1
0
 /**
  * Constructor for criteria. Takes a collection of fields and a search string.
  *
  * @param Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection $fields
  * @param string $searchString
  * @param array $searchParameter
  */
 public function __construct(Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection $fields, $searchString, array $searchParameter = array())
 {
     Tx_PtExtbase_Assertions_Assert::isPositiveInteger($fields->count(), array('message' => 'No field given to search in! 1313532571'));
     Tx_PtExtbase_Assertions_Assert::isNotEmptyString($searchString, array('message' => 'SearchString must not be empty! 1313532596'));
     $this->fields = $fields;
     $this->searchString = $searchString;
     $this->searchParameter = $searchParameter;
 }
Ejemplo n.º 2
0
 /**
  * @test
  */
 public function getAliasedSelectPartByFieldConfigCollection()
 {
     $fieldConfig1 = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig($this->configurationBuilderMock, 'test1', array('field' => 'field', 'table' => 'table'));
     $fieldConfig2 = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig($this->configurationBuilderMock, 'test2', array('field' => 'field', 'table' => 'table', 'special' => 'special'));
     $fieldConfigCollection = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection();
     $fieldConfigCollection->addFieldConfig($fieldConfig1);
     $fieldConfigCollection->addFieldConfig($fieldConfig2);
     $return = Tx_PtExtlist_Utility_DbUtils::getSelectPartByFieldConfigCollection($fieldConfigCollection);
     $this->assertEquals('table.field, (special)', $return);
 }
 /**
  * Builds a collection of field config objects for a given settings array
  *
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @param array $fieldSettingsArray
  * @return Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection
  */
 protected static function buildFieldConfigCollection(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, array $fieldSettingsArray = null)
 {
     $fieldConfigCollection = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection();
     foreach ($fieldSettingsArray as $fieldIdentifier => $fieldSettings) {
         $fieldConfig = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig($configurationBuilder, $fieldIdentifier, $fieldSettings);
         //$fieldConfigCollection->addItem($fieldConfig, $fieldConfig->getIdentifier());
         $fieldConfigCollection->addFieldConfig($fieldConfig);
     }
     return $fieldConfigCollection;
 }
Ejemplo n.º 4
0
 public function setup()
 {
     $this->initDefaultConfigurationBuilderMock();
     $fieldConfig1 = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig($this->configurationBuilderMock, 'test1', array('field' => 'field', 'table' => 'table'));
     $fieldConfig2 = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig($this->configurationBuilderMock, 'test2', array('field' => 'field', 'table' => 'table', 'special' => 'special'));
     $this->fieldConfigCollection = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection();
     $this->fieldConfigCollection->addFieldConfig($fieldConfig1);
     $this->fieldConfigCollection->addFieldConfig($fieldConfig2);
     $this->fullTextCriteria = new Tx_PtExtlist_Domain_QueryObject_FullTextCriteria($this->fieldConfigCollection, 'searchString');
 }
Ejemplo n.º 5
0
 /**
  * get part of the collection with entrys selected by the array
  *
  * @param array $fieldIdentifierList
  * @return Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection;
  */
 public function extractCollectionByIdentifierList(array $fieldIdentifierList)
 {
     if (current($fieldIdentifierList) == '*') {
         return $this;
     }
     $collection = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection();
     foreach ($fieldIdentifierList as $fieldIdentifier) {
         $collection->addFieldConfig($this->getFieldConfigByIdentifier($fieldIdentifier));
     }
     return $collection;
 }
 public function testGetInstanceByFieldConfigurationMulti()
 {
     $fieldConfigCollection = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection();
     $fieldConfigCollection->addFieldConfig(new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig($this->configurationBuilderMock, 'name', array('special' => 'test')));
     $fieldConfigCollection->addFieldConfig(new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig($this->configurationBuilderMock, 'company', array('special' => 'test')));
     $sortingCollection = Tx_PtExtlist_Domain_Configuration_Columns_SortingConfigCollectionFactory::getInstanceByFieldConfiguration($fieldConfigCollection);
     $this->assertEquals($sortingCollection->count(), 2);
     // Test Object name
     $sortingConfigNameObject = $sortingCollection->getItemById('name');
     $this->assertTrue(is_a($sortingConfigNameObject, 'Tx_PtExtlist_Domain_Configuration_Columns_SortingConfig'));
     $this->assertEquals($sortingConfigNameObject->getField(), 'name');
     $this->assertEquals($sortingConfigNameObject->getDirection(), Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_ASC);
     $this->assertEquals($sortingConfigNameObject->getForceDirection(), false, 'ForceDirection');
     // Test Object company
     $sortingConfigNameObject = $sortingCollection->getItemById('company');
     $this->assertTrue(is_a($sortingConfigNameObject, 'Tx_PtExtlist_Domain_Configuration_Columns_SortingConfig'));
     $this->assertEquals($sortingConfigNameObject->getField(), 'company');
     $this->assertEquals($sortingConfigNameObject->getDirection(), Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_ASC);
     $this->assertEquals($sortingConfigNameObject->getForceDirection(), false, 'ForceDirection');
 }
 public function testExtractCollectionByIdentifierListExtractAll()
 {
     $fieldConfigCollection = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection();
     $fieldConfigCollection->addFieldConfig(new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig($this->configurationBuilderMock, 'field1', $this->aggregateSettings['field1']));
     $fieldConfigCollection->addFieldConfig(new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig($this->configurationBuilderMock, 'field2', $this->aggregateSettings['field2']));
     $fieldConfigCollection->addFieldConfig(new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig($this->configurationBuilderMock, 'field3', $this->aggregateSettings['field3']));
     $extractFieldConfigCollection = $fieldConfigCollection->extractCollectionByIdentifierList(array('*'));
     $this->assertEquals(count($extractFieldConfigCollection), 3);
     $this->assertTrue(is_a($extractFieldConfigCollection->getFieldConfigByIdentifier('field1'), 'Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig'));
     $this->assertTrue(is_a($extractFieldConfigCollection->getFieldConfigByIdentifier('field2'), 'Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig'));
     $this->assertTrue(is_a($extractFieldConfigCollection->getFieldConfigByIdentifier('field3'), 'Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig'));
 }
Ejemplo n.º 8
0
 protected function createMapperConfiguration()
 {
     $mapperConfiguration = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection();
     $field1Configuration = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig($this->configurationBuilderMock, 'field1', array('table' => '__self__', 'field' => 'title'));
     $field2Configuration = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig($this->configurationBuilderMock, 'field2', array('table' => '__self__', 'field' => 'title'));
     $mapperConfiguration->addFieldConfig($field1Configuration);
     $mapperConfiguration->addFieldConfig($field2Configuration);
     return $mapperConfiguration;
 }
 /** @test */
 public function translateFullTextCriteriaInBooleanModeWrappedWithStars()
 {
     $fieldConfig1 = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig($this->configurationBuilderMock, 'test1', array('field' => 'field', 'table' => 'table'));
     $fieldConfigCollection = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection();
     $fieldConfigCollection->addFieldConfig($fieldConfig1);
     $searchParameter['booleanMode'] = true;
     $searchParameter['booleanModeWrapWithStars'] = true;
     $fullTextCriteria = new Tx_PtExtlist_Domain_QueryObject_FullTextCriteria($fieldConfigCollection, 'searchString', $searchParameter);
     $translatedCriteria = Tx_PtExtlist_Domain_DataBackend_MySqlDataBackend_MySqlInterpreter_FullTextCriteriaTranslator::translateCriteria($fullTextCriteria);
     $this->assertEquals("MATCH (table.field) AGAINST ('*searchString*' IN BOOLEAN MODE)", $translatedCriteria);
 }
Ejemplo n.º 10
0
 /** @test */
 public function buildSelectPartWithSpecialStringReturnsExpectedString()
 {
     $pagerCollectionMock = $this->getMock('Tx_PtExtlist_Domain_Model_Pager_PagerCollection', array('setItemCount'), array(), '', false, false);
     $dataBackend = new Tx_PtExtlist_Domain_DataBackend_MySqlDataBackend_MySqlDataBackend($this->configurationBuilder);
     $dataBackend->_injectPagerCollection($pagerCollectionMock);
     $dataBackend->_injectQueryInterpreter(new Tx_PtExtlist_Domain_DataBackend_MySqlDataBackend_MySqlInterpreter_MySqlInterpreter());
     $fieldConfigurationCollection = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection();
     $fieldConfigurationCollection->addItem($this->getFieldConfigMockForSpecialAndIdentifier('specialString', 'testFieldIdentifier'));
     $dataBackend->_injectFieldConfigurationCollection($fieldConfigurationCollection);
     $selectPartForFieldConfigurationCollection = $dataBackend->buildSelectPart();
     $expectedSelectPart = '(specialString) AS testFieldIdentifier';
     $this->assertTrue($selectPartForFieldConfigurationCollection == $expectedSelectPart, 'Select part for field configuration collection should be "' . $expectedSelectPart . '" but was ' . $selectPartForFieldConfigurationCollection);
 }
Ejemplo n.º 11
0
 public function testColumnAndFieldDifferentGroupsDeniedCausedByOnlyOneGroup()
 {
     $fieldConfigCollection = new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection();
     $fieldConfigCollection->addFieldConfig(new Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig($this->configurationBuilderMock, 'field1', array('special' => 'test', 'accessGroups' => 'foo, bar')));
     $columnConfigMock = $this->getMock('Tx_PtExtlist_Domain_Configuration_Columns_ColumnConfig', array('getFieldIdentifier', 'getAccessGroups'), array(), '', FALSE);
     $columnConfigMock->expects($this->once())->method('getFieldIdentifier')->will($this->returnValue($fieldConfigCollection));
     $columnConfigMock->expects($this->never())->method('getAccessGroups');
     $this->securityMock->_set('userGroups', 'foobar');
     $access = $this->securityMock->isAccessableColumn($columnConfigMock, $this->configurationBuilderMock);
     $this->assertFalse($access);
 }