Bug #89672
closedMissing l10n_parent field permission breaks page translation process
100%
Description
If an editor has no write access to the l10n_parent field of pages, creating a page translation fails and ends up with a broken entry in the pages table which even admins can't access anymore.
How to reproduce:
- create a website language record on page id=0
- create site config for new language
- create backend user group with these rights:
- Module: Web>Page and Web>List
- Tables (modify) => Page, Page Content
- Page types => Standard
- Allowed excludefields
- Page => select all but l10n_parent
- Page Content => select all
- set DB Mount
- grant access in module Access
- create backend user and add user group from above
- switch to user
- try to make a new translation of a page
Result:
The throbber stays forever, nothing happens (see attached screencast).
If you try to translate the same page again, you get this error message:
Localization failed: there already are localizations (6) for language 1 of the "pages" record 4!
Even an admin user gets the same error message. The new page translation record isn't visible in the list module.
Only solution to fix such a broken page is to set the l10n_parent manually in the database.
Suggested solution:
Remove exclude option from pages TCA for l10n_parent field.
Or throw exception, if an editor has no access rights for l10n_parent and tries to translate a page.
Files
Updated by Gerrit Code Review almost 5 years ago
- Status changed from New to Under Review
Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/62632
Updated by Benni Mack almost 5 years ago
- Related to Bug #40112: Show warning on translation by user without access to "l18n_parent" added
Updated by Gerrit Code Review almost 5 years ago
Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/62632
Updated by Gerrit Code Review almost 5 years ago
Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/62632
Updated by Oliver Bartsch almost 5 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset fe67d9a536b618e4de2ea0531c8f1ace0fc4ca16.
Updated by Georg Ringer over 4 years ago
- Related to Bug #90541: page can't be translated if pages:l10n_parent is not set for an editor added
Updated by Georg Ringer over 4 years ago
- Related to Bug #89369: Page translations faulty when editor has no permissions for "l10n_parent" added
Updated by Sybille Peters over 4 years ago
It looks like this has been fixed in 10, but not in 9.
I would like to check if my site is affected by this (I am getting strange error messages when trying to delete a page tree with translated pages as admin with datahandler. This might be related).
creating a page translation fails and ends up with a broken entry in the pages table which even admins can't access anymore.
What does the broken entry look like? How can we search for these? Can we (safely) clean up these faulty translated pages?
Updated by Sascha Egerer over 4 years ago
Sybille Peters wrote:
It looks like this has been fixed in 10, but not in 9.
I would like to check if my site is affected by this (I am getting strange error messages when trying to delete a page tree with translated pages as admin with datahandler. This might be related).
creating a page translation fails and ends up with a broken entry in the pages table which even admins can't access anymore.
What does the broken entry look like? How can we search for these? Can we (safely) clean up these faulty translated pages?
I think
select * from pages where sys_language_uid > 0 and l10n_parent = 0 and deleted = 0should help to find those broken translations.