Problem
1. Enable picture module.
2. Add a picture mapping (details don't matter).
3. On the listing page, click the edit operation.
4. Get a "Page not found".
Why?
Entity list controllers now generate the edit operation link to be the root URL of the config entity, so that is without the edit component in the path. By making the list use the edit-less URL (as has been applied elsewhere), it works flawlessly. Edit should be/is the default tab anyway on this route.
This is the relevant code from the entity list controller:
<?php
// Ensure the edit operation exists since it is access controlled.
if (isset($operations['edit'])) {
// For configuration entities edit path is the MENU_DEFAULT_LOCAL_TASK and
// therefore should be accessed by the short route.
$operations['edit']['href'] = $uri['path'];
}
?>
Proposal
Make the edit operation work on the base path. Update tests to also test on the base path to avoid such issues in the future.
This is a blocker for #2044387: Add remaining configuration entity or page into configuration translation module which is a blocker for #1952394: Add configuration translation user interface module in core.
Attachment | Size | Status | Test result | Operations |
---|---|---|---|---|
picture-edit-broken-test-only.patch | 1.42 KB | Idle | FAILED: [[SimpleTest]]: [MySQL] 57,282 pass(es), 21 fail(s), and 0 exception(s). | View details | Re-test |
picture-edit-broken.patch | 2.52 KB | Idle | FAILED: [[SimpleTest]]: [MySQL] 57,291 pass(es), 1 fail(s), and 0 exception(s). | View details | Re-test |