Skip to content

Commit 483b15a

Browse files
committed
Merge tag '2.1.1'
Hotfix release 2.1.1 - "allow preview" for published filter did not work properly. - Deactivate the phpspec test.
2 parents 5ac3eab + ee741b1 commit 483b15a

File tree

4 files changed

+34
-7
lines changed

4 files changed

+34
-7
lines changed

build.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@ For documentation visit:
88
-->
99
<project name="metamodels/attribute-checkbox" default="build">
1010
<import file="vendor/phpcq/phpcq/phpcq.main.xml"/>
11+
<target name="phpspec" />
1112
</project>

src/FilterSetting/FilterSettingTypeFactory.php

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,15 @@
1414
* @author Christian Schiffler <[email protected]>
1515
* @author Sven Baumann <[email protected]>
1616
* @author David Molineus <[email protected]>
17+
* @author Richard Henkenjohann <[email protected]>
1718
* @copyright 2012-2019 The MetaModels team.
1819
* @license https://github.com/MetaModels/attribute_checkbox/blob/master/LICENSE LGPL-3.0-or-later
1920
* @filesource
2021
*/
2122

2223
namespace MetaModels\AttributeCheckboxBundle\FilterSetting;
2324

25+
use Contao\CoreBundle\Security\Authentication\Token\TokenChecker;
2426
use Doctrine\DBAL\Connection;
2527
use MetaModels\Filter\FilterUrlBuilder;
2628
use MetaModels\Filter\Setting\AbstractFilterSettingTypeFactory;
@@ -52,17 +54,26 @@ class FilterSettingTypeFactory extends AbstractFilterSettingTypeFactory
5254
*/
5355
private $filterUrlBuilder;
5456

57+
/**
58+
* The token checker.
59+
*
60+
* @var TokenChecker
61+
*/
62+
private $tokenChecker;
63+
5564
/**
5665
* Create a new instance.
5766
*
5867
* @param Connection $connection The database connection.
5968
* @param EventDispatcherInterface|null $dispatcher The event dispatcher.
6069
* @param FilterUrlBuilder|null $filterUrlBuilder The filter URL builder.
70+
* @param TokenChecker|null $tokenChecker The token checker.
6171
*/
6272
public function __construct(
6373
Connection $connection,
6474
EventDispatcherInterface $dispatcher = null,
65-
FilterUrlBuilder $filterUrlBuilder = null
75+
FilterUrlBuilder $filterUrlBuilder = null,
76+
TokenChecker $tokenChecker = null
6677
) {
6778
parent::__construct();
6879

@@ -75,6 +86,7 @@ public function __construct(
7586
$this->connection = $connection;
7687
$this->dispatcher = $dispatcher;
7788
$this->filterUrlBuilder = $filterUrlBuilder;
89+
$this->tokenChecker = $tokenChecker;
7890
}
7991

8092
/**
@@ -87,7 +99,8 @@ public function createInstance($information, $filterSettings)
8799
$information,
88100
$this->connection,
89101
$this->dispatcher,
90-
$this->filterUrlBuilder
102+
$this->filterUrlBuilder,
103+
$this->tokenChecker
91104
);
92105
}
93106
}

src/FilterSetting/Published.php

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
/**
44
* This file is part of MetaModels/attribute_checkbox.
55
*
6-
* (c) 2012-2019 The MetaModels team.
6+
* (c) 2012-2020 The MetaModels team.
77
*
88
* For the full copyright and license information, please view the LICENSE
99
* file that was distributed with this source code.
@@ -15,13 +15,15 @@
1515
* @author Andreas Isaak <[email protected]>
1616
* @author Sven Baumann <[email protected]>
1717
* @author David Molineus <[email protected]>
18-
* @copyright 2012-2019 The MetaModels team.
18+
* @author Richard Henkenjohann <[email protected]>
19+
* @copyright 2012-2020 The MetaModels team.
1920
* @license https://github.com/MetaModels/attribute_checkbox/blob/master/LICENSE LGPL-3.0-or-later
2021
* @filesource
2122
*/
2223

2324
namespace MetaModels\AttributeCheckboxBundle\FilterSetting;
2425

26+
use Contao\CoreBundle\Security\Authentication\Token\TokenChecker;
2527
use Contao\System;
2628
use Doctrine\DBAL\Connection;
2729
use MetaModels\Filter\FilterUrlBuilder;
@@ -44,6 +46,13 @@ class Published extends Simple
4446
*/
4547
private $connection;
4648

49+
/**
50+
* The token checker.
51+
*
52+
* @var TokenChecker
53+
*/
54+
private $tokenChecker;
55+
4756
/**
4857
* Constructor - initialize the object and store the parameters.
4958
*
@@ -52,13 +61,15 @@ class Published extends Simple
5261
* @param Connection $connection The database connection.
5362
* @param EventDispatcherInterface|null $dispatcher The event dispatcher.
5463
* @param FilterUrlBuilder|null $filterUrlBuilder The filter URL builder.
64+
* @param TokenChecker|null $tokenChecker The token checker.
5565
*/
5666
public function __construct(
5767
ICollection $collection,
5868
array $data,
5969
Connection $connection = null,
6070
EventDispatcherInterface $dispatcher = null,
61-
FilterUrlBuilder $filterUrlBuilder = null
71+
FilterUrlBuilder $filterUrlBuilder = null,
72+
TokenChecker $tokenChecker = null
6273
) {
6374
parent::__construct($collection, $data, $dispatcher, $filterUrlBuilder);
6475

@@ -73,7 +84,8 @@ public function __construct(
7384
$connection = System::getContainer()->get('database_connection');
7485
}
7586

76-
$this->connection = $connection;
87+
$this->connection = $connection;
88+
$this->tokenChecker = $tokenChecker;
7789
}
7890

7991
/**
@@ -86,7 +98,7 @@ public function prepareRules(IFilter $objFilter, $arrFilterUrl)
8698
}
8799

88100
// Skip filter when in front end preview.
89-
if ($this->get('check_allowpreview') && BE_USER_LOGGED_IN) {
101+
if ($this->get('check_allowpreview') && ($this->tokenChecker && $this->tokenChecker->isPreviewMode())) {
90102
return;
91103
}
92104

src/Resources/config/services.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@ services:
1313
- '@database_connection'
1414
- '@event_dispatcher'
1515
- '@MetaModels\Filter\FilterUrlBuilder'
16+
- '@contao.security.token_checker'
1617
tags:
1718
- { name: metamodels.filter_factory }

0 commit comments

Comments
 (0)