[FEATURE] Handle enable fields and deleted records settings granulary
authorJochen Rau <jochen.rau@typoplanet.de>
Mon, 30 Jan 2012 15:57:49 +0000 (16:57 +0100)
committerChristian Kuhn <lolli@schwarzbu.ch>
Tue, 14 Aug 2012 20:03:16 +0000 (22:03 +0200)
commitc4b37ce95ece95ea95a588cdb32b04a8990cb790
tree555d93221894a2e2eed75244f4d9a9c8760dd376
parent432d72b14b7930872098e1825145652df7b57f8f
[FEATURE] Handle enable fields and deleted records settings granulary

At the moment it's only possible to select either only visible
(non-hidden, matching start-/stop-time) or all (even deleted)
records.

To ensure a consistent handling in sync with TYPO3 Core behavior, it's
necessary to select disabled but not deleted records in the
backend.

This also effects findByUid() via the Typo3QuerySettings and
allows to write to disabled records in BE context.

* deprecates respectEnableFields in QuerySettingsInterface
* introduces ignoreEnableFields in QuerySettingsInterface
* introduces enableFieldsToBeIgnored in QuerySettingsInterface
* introduces includeDeleted in QuerySettingsInterface
* introduces feature flag ignoreAllEnableFieldsInBe to control default behavior
* select disabled but not deleted records in BE context

Fixes: #29501
Fixes: #8483
Change-Id: I11beb3b83589ad91d72d05116488408fff8d9e75
Releases: 6.0
Reviewed-on: http://review.typo3.org/8773
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
typo3/sysext/extbase/Classes/Persistence/Generic/Exception/InconsistentQuerySettings.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/Generic/QuerySettingsInterface.php
typo3/sysext/extbase/Classes/Persistence/Generic/Storage/Typo3DbBackend.php
typo3/sysext/extbase/Classes/Persistence/Generic/Typo3QuerySettings.php
typo3/sysext/extbase/Tests/Unit/Persistence/Storage/Typo3DbBackendTest.php
typo3/sysext/extbase/ext_typoscript_setup.txt