Bug #89672

Missing l10n_parent field permission breaks page translation process

Added by Peter Kraume almost 2 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
FormEngine aka TCEforms
Target version:
-
Start date:
2019-11-13
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
9
PHP Version:
7.2
Tags:
Complexity:
Is Regression:
Sprint Focus:

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

l10n_parent.mov (1.05 MB) l10n_parent.mov Peter Kraume, 2019-11-13 16:36

Related issues

Related to TYPO3 Core - Bug #40112: Show warning on translation by user without access to "l18n_parent"Closed2012-08-24

Actions
Related to TYPO3 Core - Bug #90541: page can't be translated if pages:l10n_parent is not set for an editorClosed2020-02-26

Actions
Related to TYPO3 Core - Bug #89369: Page translations faulty when editor has no permissions for "l10n_parent"Closed2019-10-08

Actions
#1

Updated by Gerrit Code Review almost 2 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

#2

Updated by Benni Mack over 1 year ago

  • Related to Bug #40112: Show warning on translation by user without access to "l18n_parent" added
#3

Updated by Gerrit Code Review over 1 year 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

#4

Updated by Gerrit Code Review over 1 year 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

#5

Updated by Oliver Bartsch over 1 year ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100
#6

Updated by Georg Ringer over 1 year ago

  • Related to Bug #90541: page can't be translated if pages:l10n_parent is not set for an editor added
#7

Updated by Georg Ringer over 1 year ago

  • Related to Bug #89369: Page translations faulty when editor has no permissions for "l10n_parent" added
#8

Updated by Benni Mack over 1 year ago

  • Status changed from Resolved to Closed
#9

Updated by Sybille Peters over 1 year 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?

#10

Updated by Sascha Egerer over 1 year 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 = 0
should help to find those broken translations.

Also available in: Atom PDF