Revert "[BUGFIX] Set constraints in `FrontendRestrictionContainer` depending on works... 38/58838/2
authorFrank Naegler <frank.naegler@typo3.org>
Sat, 3 Nov 2018 14:51:33 +0000 (16:51 +0200)
committerFrank Naegler <frank.naegler@typo3.org>
Sat, 3 Nov 2018 15:54:04 +0000 (16:54 +0100)
This reverts commit c3e7779c61cc567b9a1cbf5fec747748e5059464.

Change-Id: Ic2d68767d463b94ab42814848396b8f019e8cb15
Releases: master
Resolves: #86845
Reverts: #85742
Reviewed-on: https://review.typo3.org/58838
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
typo3/sysext/core/Classes/Database/Query/Restriction/FrontendRestrictionContainer.php
typo3/sysext/core/Tests/Unit/Database/Query/Restriction/FrontendRestrictionContainerTest.php

index e7f0cc2..bcfbeda 100644 (file)
@@ -72,11 +72,7 @@ class FrontendRestrictionContainer extends AbstractRestrictionContainer
         foreach ($this->restrictions as $restriction) {
             foreach ($queriedTables as $tableAlias => $tableName) {
                 $disableRestriction = false;
-                if ($this->context->getPropertyFromAspect('workspace', 'id', 0) > 0) {
-                    $disableRestriction = !$restriction instanceof DeletedRestriction && !$restriction instanceof FrontendWorkspaceRestriction;
-                }
-
-                if (!$disableRestriction && $restriction instanceof HiddenRestriction) {
+                if ($restriction instanceof HiddenRestriction) {
                     /** @var VisibilityAspect $visibilityAspect */
                     $visibilityAspect = $this->context->getAspect('visibility');
                     // If display of hidden records is requested, we must disable the hidden restriction.
index d854a89..933c134 100644 (file)
@@ -55,7 +55,7 @@ class FrontendRestrictionContainerTest extends AbstractRestrictionTestCase
                 'hiddenPagePreview' => false,
                 'hiddenRecordPreview' => false,
                 'frontendUserGroups' => [0, -1],
-                'expectedSQL' => '("aTable"."deleted" = 0) AND ((("aTable"."t3ver_wsid" = 0) OR ("aTable"."t3ver_wsid" = 1)) AND ("aTable"."pid" <> -1))'
+                'expectedSQL' => '("aTable"."deleted" = 0) AND ((("aTable"."t3ver_wsid" = 0) OR ("aTable"."t3ver_wsid" = 1)) AND ("aTable"."pid" <> -1)) AND ("aTable"."myHiddenField" = 0) AND ("aTable"."myStartTimeField" <= 42) AND (("aTable"."myEndTimeField" = 0) OR ("aTable"."myEndTimeField" > 42)) AND (("aTable"."myGroupField" IS NULL) OR ("aTable"."myGroupField" = \'\') OR ("aTable"."myGroupField" = \'0\') OR (FIND_IN_SET(\'0\', "aTable"."myGroupField")) OR (FIND_IN_SET(\'-1\', "aTable"."myGroupField")))'
             ],
             'Workspace, with WS preview and hidden record preview' => [
                 'tableName' => 'aTable',
@@ -64,7 +64,7 @@ class FrontendRestrictionContainerTest extends AbstractRestrictionTestCase
                 'hiddenPagePreview' => true,
                 'hiddenRecordPreview' => true,
                 'frontendUserGroups' => [0, -1],
-                'expectedSQL' => '("aTable"."deleted" = 0) AND ((("aTable"."t3ver_wsid" = 0) OR ("aTable"."t3ver_wsid" = 1)) AND ("aTable"."pid" <> -1))'
+                'expectedSQL' => '("aTable"."deleted" = 0) AND ((("aTable"."t3ver_wsid" = 0) OR ("aTable"."t3ver_wsid" = 1)) AND ("aTable"."pid" <> -1)) AND ("aTable"."myStartTimeField" <= 42) AND (("aTable"."myEndTimeField" = 0) OR ("aTable"."myEndTimeField" > 42)) AND (("aTable"."myGroupField" IS NULL) OR ("aTable"."myGroupField" = \'\') OR ("aTable"."myGroupField" = \'0\') OR (FIND_IN_SET(\'0\', "aTable"."myGroupField")) OR (FIND_IN_SET(\'-1\', "aTable"."myGroupField")))'
             ],
             'Live page, no preview' => [
                 'tableName' => 'pages',
@@ -91,7 +91,7 @@ class FrontendRestrictionContainerTest extends AbstractRestrictionTestCase
                 'hiddenPagePreview' => false,
                 'hiddenRecordPreview' => false,
                 'frontendUserGroups' => [0, -1],
-                'expectedSQL' => '("pages"."deleted" = 0) AND ("pages"."pid" <> -1)'
+                'expectedSQL' => '("pages"."deleted" = 0) AND ("pages"."pid" <> -1) AND ("pages"."hidden" = 0) AND ("pages"."starttime" <= 42) AND (("pages"."endtime" = 0) OR ("pages"."endtime" > 42)) AND (("pages"."fe_group" IS NULL) OR ("pages"."fe_group" = \'\') OR ("pages"."fe_group" = \'0\') OR (FIND_IN_SET(\'0\', "pages"."fe_group")) OR (FIND_IN_SET(\'-1\', "pages"."fe_group")))'
             ],
             'Workspace page, with WS preview and hidden pages preview' => [
                 'tableName' => 'pages',
@@ -100,7 +100,7 @@ class FrontendRestrictionContainerTest extends AbstractRestrictionTestCase
                 'hiddenPagePreview' => true,
                 'hiddenRecordPreview' => true,
                 'frontendUserGroups' => [0, -1],
-                'expectedSQL' => '("pages"."deleted" = 0) AND ("pages"."pid" <> -1)'
+                'expectedSQL' => '("pages"."deleted" = 0) AND ("pages"."pid" <> -1) AND ("pages"."starttime" <= 42) AND (("pages"."endtime" = 0) OR ("pages"."endtime" > 42)) AND (("pages"."fe_group" IS NULL) OR ("pages"."fe_group" = \'\') OR ("pages"."fe_group" = \'0\') OR (FIND_IN_SET(\'0\', "pages"."fe_group")) OR (FIND_IN_SET(\'-1\', "pages"."fe_group")))'
             ],
             'Live, no preview with alias' => [
                 'tableName' => 'aTable',