Bug #89672
closed
Missing l10n_parent field permission breaks page translation process
Added by Peter Kraume about 5 years ago.
Updated over 4 years ago.
Category:
FormEngine aka TCEforms
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
- Status changed from New to Under Review
- Related to Bug #40112: Show warning on translation by user without access to "l18n_parent" added
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
- Related to Bug #90541: page can't be translated if pages:l10n_parent is not set for an editor added
- Related to Bug #89369: Page translations faulty when editor has no permissions for "l10n_parent" added
- Status changed from Resolved to Closed
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?
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