Defect #33521
closedUse issue path instead of bulk update issues path when using the context menu with only one issue selected
0%
Description
When changing the attributes of an issue from the context menu, the bulk update issues path is used even if only one issue is selected. Because of this, if the validation fails, the user is redirect to the bulk edit view to fill in the required fields. But if Description is one of those fields, the user won't have available the field because Description is not available in the bulk edit view.
The attach patch changes the behaviour in order to use issue path to update attributes when only one issue is selected. In this case, if the validation fails, the user is redirect to the issue edit page. The route change was necessary in order to allow Patch method for bulk routes as well.
Files
Updated by Marius BĂLTEANU over 4 years ago
All tests pass: https://gitlab.com/redmine-org/redmine/pipelines/150020738
Updated by Go MAEDA over 4 years ago
Would you tell me the steps to cause a validation error through the context menu? Since the context menu only shows valid options, I could not find a way to cause a validation error.
Updated by Marius BĂLTEANU over 4 years ago
Go MAEDA wrote:
Yes, please follow these steps using the default data:Would you tell me the steps to cause a validation error through the context menu? Since the context menu only shows valid options, I could not find a way to cause a validation error.
- Make "Description" field mandatory for "In progress" status
- Find an issue in status "New" without "Description" filled in
- Using the context menu, try to change the issue status to in "In progress"
- You should receive the validation error and you can observe that the Description field is not available in the page.
Updated by Go MAEDA over 4 years ago
Marius BALTEANU wrote:
Go MAEDA wrote:
Yes, please follow these steps using the default data:Would you tell me the steps to cause a validation error through the context menu? Since the context menu only shows valid options, I could not find a way to cause a validation error.
- Make "Description" field mandatory for "In progress" status
- Find an issue in status "New" without "Description" filled in
- Using the context menu, try to change the issue status to in "In progress"
- You should receive the validation error and you can observe that the Description field is not available in the page.
Thank you, confirmed the issue.
Updated by Marius BĂLTEANU about 4 years ago
- Target version changed from Candidate for next major release to 4.2.0
Updated by Marius BĂLTEANU over 3 years ago
- Tracker changed from Patch to Defect
- Status changed from New to Confirmed
- Target version changed from 4.2.0 to 5.0.0
Updated by Marius BĂLTEANU over 3 years ago
- File 0001-Use-issue-path-instead-of-bulk-update-issues-path-wh.patch 0001-Use-issue-path-instead-of-bulk-update-issues-path-wh.patch added
Updated the patch.
Updated by Marius BĂLTEANU over 3 years ago
- Status changed from Confirmed to Closed
- Resolution set to Fixed
Patch committed.
Updated by Go MAEDA about 3 years ago
- Status changed from Closed to Reopened
Due to r21089, you are no longer able to change the issue status via the context menu. The error is as follows:
Started POST "/issues/1?back_url=%2Fprojects%2Fecookbook%2Fissues&ids%5B%5D=1&issue%5Bstatus_id%5D=5" for 127.0.0.1 at 2021-08-02 09:55:03 +0900 ActionController::RoutingError (No route matches [POST] "/issues/1"):
Updated by Mizuki ISHIKAWA about 3 years ago
- File 0001-Fix-status-update-path-on-the-context-menu.patch 0001-Fix-status-update-path-on-the-context-menu.patch added
- File 0002-Change-custom-field-value-update-path-on-the-context.patch 0002-Change-custom-field-value-update-path-on-the-context.patch added
I have attached two patches.
- 0001-Fix-status-update-path-on-the-context-menu.patch
The cause of #33521#note-9 is that the data method of the link to update the status was still post instead of patch.
This is a patch that adds data-method fixes and tests.
- 0002-Change-custom-field-value-update-path-on-the-context.patch
Change ContextMenusHelper#bulk_update_custom_field_context_menu_link( https://www.redmine.org/projects/redmine/repository/revisions/20846/entry/trunk/app/helpers/context_menus_helper.rb#L37 ) in the same way as r21089.
Updated by Marius BĂLTEANU about 3 years ago
- Status changed from Reopened to Closed
- Assignee set to Marius BĂLTEANU
Both patches committed, thank you for working on this.
Updated by Mizuki ISHIKAWA about 3 years ago
I found another problem caused by the impact of this change.
When changing the category to none from the context menu:
[Expected result] "Category deleted (Printing)" is displayed in the issue history.
[Actual result] "Category changed from Printing to 0" is displayed in the issue history.
This can be reproduced with attributes other than category_id.
When I pass the parameter {category_id:'none'}, bulk_update converts it to {category_id:''} by the parse_params_for_bulk_update method, but update doesn't.
https://redmine.org/projects/redmine/repository/revisions/21012/entry/trunk/app/controllers/application_controller.rb#L416
Updated by Marius BĂLTEANU about 3 years ago
- Status changed from Closed to Reopened
Updated by Mizuki ISHIKAWA about 3 years ago
- File diff.patch diff.patch added
I have attached a patch to fix #33521#note-12.
Updated by Marius BĂLTEANU about 3 years ago
- Status changed from Reopened to Closed
Mizuki ISHIKAWA wrote:
I have attached a patch to fix #33521#note-12.
Patch committed with small changes, thank you for reporting and fixing the issue.
Updated by Mizuki ISHIKAWA about 3 years ago
Marius BALTEANU wrote:
Mizuki ISHIKAWA wrote:
I have attached a patch to fix #33521#note-12.
Patch committed with small changes, thank you for reporting and fixing the issue.
Thank you for reviewing and committing.