[BUGFIX] Do not re-sort IRRE children when sorting parent 23/57623/3
authorTymoteusz Motylewski <t.motylewski@gmail.com>
Mon, 25 Jun 2018 18:59:30 +0000 (20:59 +0200)
committerAndreas Wolf <andreas.wolf@typo3.org>
Thu, 26 Jul 2018 12:20:29 +0000 (14:20 +0200)
commit5ad1c75cf1933604fae25188e38513876dc8584a
treee2f80b3ed8e0b05bb21f4b41d8f81d0ffa6e3d5c
parent955a9765454472bfd555415c57b81be50349e0e7
[BUGFIX] Do not re-sort IRRE children when sorting parent

When PID of the parent record has not changed, child records should
not be moved/sorted.

Little background helping reviewing the patch:

The 2 important changes are made in DataHandler.php line 4603
and DataHandlerHook.php around line 346.
In both cases the condition is added checking if the destination PID
of the record is the same as current one.
In that case, processing of the IRRE children is skipped.

All the changes made in the .csv files are reflecting that.
To validate them one can compare the content of the csv files
with LiveDefaultElements.csv datasets.

For example, check that sorting values in file:
core/Tests/Functional/DataHandling/IRRE/CSV/Modify/DataSet/changeParentContentSorting.csv
are the same as in the:
core/Tests/Functional/DataHandling/IRRE/CSV/DataSet/LiveDefaultElements.csv

In the Workspaces related datasets, you will see that there
are no move placeholders for IRRE children any more
(and versioned records have 0 instead of 4 in the t3ver_state).

See e.g.:
workspaces/Tests/Functional/DataHandling/FAL/Modify/DataSet/changeContentSorting.csv
or
workspaces/Tests/Functional/DataHandling/IRRE/CSV/Modify/DataSet/changeParentContentSorting.csv

This patch also solves the issue that sorting of the LIVE records (IRRE children)
were modified, when sorting parent record in the Workspaces,
see e.g. record tx_irretutorial_1nff_hotel uid 2 and 5 in file:
workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/Modify/DataSet/changeParentContentSorting.csv

Releases: master, 8.7
Resolves: #85304
Change-Id: I44573b334873400af628066beae84705c5af0408
Reviewed-on: https://review.typo3.org/57623
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Wolf <andreas.wolf@typo3.org>
Tested-by: Andreas Wolf <andreas.wolf@typo3.org>
typo3/sysext/core/Classes/DataHandling/DataHandler.php
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/CSV/Modify/DataSet/changeParentContentSorting.csv
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/Modify/DataSet/changeParentContentSorting.csv
typo3/sysext/version/Classes/Hook/DataHandlerHook.php
typo3/sysext/workspaces/Tests/Functional/DataHandling/FAL/Modify/DataSet/changeContentSorting.csv
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/Modify/DataSet/changeParentContentSorting.csv
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/Publish/DataSet/changeParentContentSorting.csv
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/CSV/PublishAll/DataSet/changeParentContentSorting.csv
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/Modify/DataSet/changeParentContentSorting.csv
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/Publish/DataSet/changeParentContentSorting.csv
typo3/sysext/workspaces/Tests/Functional/DataHandling/IRRE/ForeignField/PublishAll/DataSet/changeParentContentSorting.csv