Bug #84955
openEpic #86307: Extbase allows to fetch deleted/hidden records (respects ignoreEnableFields)
Extbase persistence layer ignores query settings
0%
Description
Description:
\TYPO3\CMS\Extbase\Persistence\Generic\Backend::getObjectByIdentifier()
ignores any settings made to the defaultQuerySettings made for any repository. Since some repository methods internally use getObjectByIdentifier()
, this method also must respect the default query settings. Currently there is no way of retrieving a hidden or deleted entity using Extbase. (Besides overwriting the core classes…)
Expected behavior:
When I disable the test for "enableFields", this setting should be used in any methods, that pull data from the persistence layer.
For example in a repository inside a initializeObject() method:
/** @var $defaultQuerySettings QuerySettingsInterface */
$defaultQuerySettings = $this->objectManager->get(QuerySettingsInterface::class);
$defaultQuerySettings->setIgnoreEnableFields(true);
Actual behavior:
Hidden and deleted entities are excluded by default without any possibility to include them e.g. in controller actions (where the entities are being resolved before the action is executed).