Bug #88046
closed
RelationHandler does not respect deleted elements
Added by Robert Vock over 5 years ago.
Updated over 4 years ago.
Category:
DataHandler aka TCEmain
Description
The Database RelationHandler does not respect deleted elements, because it removes all QueryRestrictions:
RelationHandler.php:493
RelationHandler.php:528
RelationHandler.php:652
In one of our installations, this leads to an error in workspace. We have Delete-Placeholders which are deleted (??), so t3ver_state=2 and deleted=1 but those records still do not appear at some places. Our example is an image which was deleted in the workspace and somehow restored (the DELETE-Placeholder has deleted=1). But the image still does not appear as a Thumbnail in the Backend Page View.
This might be fixed with #88144
I need to check if I can reproduce this bug, when I am back at work.
- Status changed from New to Needs Feedback
Setting status to "needs feedback" until you checked.
- Category set to DataHandler aka TCEmain
Can you please describe in which scenario this appears? RelationHandler is used in multiple different places used to retrieve (basically) live elements in correct sorting order:
- DataHandler processing (needs view on live elements and versioned elements)
- FormEngine used to visualize current versioning state (having to take care of delete placeholders in FormEngine currently - works in v8, regression in v9 currently)
- Frontend via "whatever" (TypoScript, Extbase, PageRepository, ...)
PlainDataResolver
is created in RelationHandler
like this
protected function getResolver($tableName, array $ids, array $sortingStatement = null)
{
/** @var PlainDataResolver $resolver */
$resolver = GeneralUtility::makeInstance(
PlainDataResolver::class,
$tableName,
$ids,
$sortingStatement
);
$resolver->setWorkspaceId($this->getWorkspaceId());
$resolver->setKeepDeletePlaceholder(true);
$resolver->setKeepLiveIds($this->useLiveReferenceIds);
return $resolver;
}
Setting setKeepDeletePlaceholder
might be context specific (setting it to true
won't remove delete placeholders - required for some of the scenarios mentioned above)
- Related to Bug #88503: Delete placeholders are not considered in FormEngine TcaInline view anymore added
- Related to Bug #88144: TcaGroup does not respect deleted elements in a workspace added
- Status changed from Needs Feedback to Closed
See explanation above, no feedback for months now - I'm going to close the issue here, please report if this pops up again.
Also available in: Atom
PDF