Defect #26836
Filtering issues via context menu should not reset selected columns
Status: | Closed | Start date: | ||
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | % Done: | 0% | ||
Category: | Issues list | |||
Target version: | 4.0.3 | |||
Resolution: | Fixed | Affected version: | 4.0.2 |
Description
If we use the context menu to filter issues, selected columns are reset to default.
Steps to reproduce this bug:
- On /issues, change selected column and apply
- Check several issues
- Apply "filter" in context menu
- The query is applied: issues are well selected, but we lose our selected columns
Associated revisions
Filtering issues via context menu should not reset selected columns (#26836).
Patch by Vincent Robert.
Send columns as a param to context menu instead of parsing back_url (#26836).
History
#1
Updated by Marius BALTEANU about 4 years ago
- Status changed from New to Confirmed
#2
Updated by Vincent Robert over 3 years ago
- Target version set to 4.0.3
- Affected version changed from 3.4.2 to 4.0.2
#3
Updated by Vincent Robert over 3 years ago
Here is a basic implementation to fix this bug:
diff --git a/app/controllers/context_menus_controller.rb b/app/controllers/context_menus_controller.rb
index bd6977503..bef2826a4 100644
--- a/app/controllers/context_menus_controller.rb
+++ b/app/controllers/context_menus_controller.rb
@@ -43,6 +43,9 @@ class ContextMenusController < ApplicationController
@priorities = IssuePriority.active.reverse
@back = back_url
+ params = CGI.parse(@back)
+ @columns = params["c[]"]
+
@options_by_custom_field = {}
if @can[:edit]
custom_fields = @issues.map(&:editable_custom_fields).reduce(:x%x%).reject(&:multiple?).select {|field| field.format.bulk_edit_supported}
diff --git a/app/views/context_menus/issues.html.erb b/app/views/context_menus/issues.html.erb
index 7919472af..f979cd0e2 100644
--- a/app/views/context_menus/issues.html.erb
+++ b/app/views/context_menus/issues.html.erb
@@ -134,7 +134,7 @@
<% end %>
<% unless @issue %>
- <li><%= context_menu_link l(:button_filter), _project_issues_path(@project, :set_filter => 1, :status_id => "*", :issue_id => @issue_ids.join(",")),
+ <li><%= context_menu_link l(:button_filter), _project_issues_path(@project, :set_filter => 1, :status_id => "*", :issue_id => @issue_ids.join(","), :c => @columns),
:class => 'icon icon-list' %></li>
<% end %>
#4
Updated by Jean-Philippe Lang over 3 years ago
- Status changed from Confirmed to Closed
- Assignee set to Jean-Philippe Lang
- Resolution set to Fixed
Patch committed, thanks. I made a slight change after that in order not to manually parse the back_url.