Problem/Motivation
The release filter on the translation page links to 'Missing strings?', the Drupal 7 way to start over with a release whose parsing went wrong: a confirm form for users with start over packages that deletes the files, lines and parsing errors of the release, keeps the source strings and translations, and marks the release unparsed so it is parsed again. On 3.0.x the route renders a controller stub that prints its method name.
Steps to reproduce
Proposed resolution
Port the Drupal 7 form: a confirm form with the D7 question and description, the same permission handling (users without start over packages are sent back to the translation page with the D7 message), and a startOver() method on the release storage that drops the parsed data of the release, resets its counters and marks it unparsed, so the queue picks it up again. The same method serves the release management pages of #3570140.
Tests: new Drupal 7 test testResetRelease() (link on the release filter, denial without the permission, confirm, data deleted, strings kept, release unparsed) and its port L10nResetReleaseTest, which also checks the release is queued again. The Drupal 7 test found the denial path fatal on PHP 8: drupal_goto() was called with a string as its options argument; fixed.
Remaining tasks
User interface changes
API changes
Data model changes
LLM disclosure
LLM was used to find, diagnose explain and fix this issue. With human review.
Comments
Comment #2
gábor hojtsyComment #5
gábor hojtsy