Bug #59224
closedChanging the order of gridelements backend layouts destroys them
100%
Description
Changing the sorting for the gridelement backend alyouts using the list view in TYPO3 6.2.3 destroys something. I had about seven elements and after sorting them, the page which used some of them was totally messed up. Also the list of available grids was not showing some of them anymore.
I noticed that the alias field of the database entries gets filled when using the sorting in the list view. I cleared out all alias fields like they where before after adding a fresh object to the table via the backend, and availability changed back to normal.
Files
Updated by Jo Hasenau over 10 years ago
- Project changed from 1933 to 2513
- Status changed from New to Accepted
- Assignee set to Jo Hasenau
Can reproduce that bug, but have to check, if this a core or GE problem.
Updated by Jo Hasenau over 10 years ago
- Project changed from 2513 to TYPO3 Core
It seems that this behaviour is caused by
\TYPO3\CMS\Core\DataHandling\DataHandler::fixUniqueInPid
The field "alias" is set to evalulate as "uniqueInPid", but instead of taking care of actual values only, the method creates a new value for empty values as well.
This leads to values being assigned to both, the record which gets moved and the one it is moved "after".
So moving will create up to 2 new values for aliases, that have been empty before.
Updated by Markus Klein over 10 years ago
- Assignee deleted (
Jo Hasenau) - Is Regression set to No
What is the alias field good for?
how can it be uniqueInPid when there are multiple empty fields.
Updated by Jo Hasenau over 9 years ago
Values have to be unique in PID or not set at all.
So "empty" is not a value and therefor does not have to be unique.
Updated by Markus Klein over 9 years ago
I can confirm that this method really lacks a check for an empty value.
But on the other hand I don't understand why this didn't cause more troubles, since this method is called from moveRecord_raw().
It means that many pages should have an alias now.
Updated by Markus Klein over 9 years ago
Clear now for me. That code is never called for pages.
And uniqueInPid is only used for fe_user in Core, but username may never be empty ;-)
Updated by Gerrit Code Review over 9 years ago
- Status changed from Accepted to Under Review
Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/38413
Updated by Gerrit Code Review over 9 years ago
Patch set 1 for branch TYPO3_6-2 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/38421
Updated by Markus Klein over 9 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 9d6df092207fd944236cc78587577836c7817691.