/** @test */
 public function containedFiltersHaveCorrectAccessRights()
 {
     $filterBoxConfig = $this->configurationBuilderMock->getFilterboxConfigurationByFilterboxIdentifier('testfilterbox');
     $filterbox = $this->filterboxFactory->createInstance($filterBoxConfig);
     $accessableFilterBox = $this->filterboxFactory->createAccessableInstance($filterbox);
     // AccessGroups are configured for filter2 -> should not be allowed to access.
     $this->assertTrue($accessableFilterBox->hasItem('filter1'));
     $this->assertFalse($accessableFilterBox->hasItem('filter2'));
 }
 /**
  * Factory method for creating filterbox collection for a given configuration builder
  *
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @param boolean $resetFilterBoxCollection
  * @return Tx_PtExtlist_Domain_Model_Filter_FilterboxCollection
  */
 public function createInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, $resetFilterBoxCollection)
 {
     if ($this->instances[$configurationBuilder->getListIdentifier()] === null || $resetFilterBoxCollection === true) {
         $filterboxConfigCollection = $configurationBuilder->buildFilterConfiguration();
         $filterboxCollection = $this->objectManager->get('Tx_PtExtlist_Domain_Model_Filter_FilterboxCollection', $configurationBuilder);
         /* @var $filterboxCollection Tx_PtExtlist_Domain_Model_Filter_FilterboxCollection */
         foreach ($filterboxConfigCollection as $filterboxConfiguration) {
             /* @var $filterboxConfiguration Tx_PtExtlist_Domain_Configuration_Filters_FilterboxConfig */
             $filterbox = $this->filterboxFactory->createInstance($filterboxConfiguration);
             $filterboxCollection->addFilterBox($filterbox, $filterbox->getfilterboxIdentifier());
         }
         $this->instances[$configurationBuilder->getListIdentifier()] = $filterboxCollection;
     }
     return $this->instances[$configurationBuilder->getListIdentifier()];
 }
Example #3
0
 /**
  * Returns a new filterbox with accessable filters only.
  *
  * @return Tx_PtExtlist_Domain_Model_Filter_Filterbox
  */
 public function getAccessableFilterbox()
 {
     return $this->filterboxFactory->createAccessableInstance($this);
 }