aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/workbenches_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/workbenches_controller.rb')
-rw-r--r--app/controllers/workbenches_controller.rb16
1 files changed, 11 insertions, 5 deletions
diff --git a/app/controllers/workbenches_controller.rb b/app/controllers/workbenches_controller.rb
index ccd55965b..83762d83f 100644
--- a/app/controllers/workbenches_controller.rb
+++ b/app/controllers/workbenches_controller.rb
@@ -11,11 +11,18 @@ class WorkbenchesController < BreadcrumbController
scope = ransack_status(scope)
# Ignore archived_at_not_null/archived_at_null managed by ransack_status scope
- q_for_result =
- scope.ransack(params[:q].merge(archived_at_not_null: nil, archived_at_null: nil))
- @wbench_refs = sort_result(q_for_result.result).paginate(page: params[:page], per_page: 30)
+ # We clone params[:q] so we can delete fake ransack filter arguments before calling search method,
+ # which will allow us to preserve params[:q] for sorting
+ ransack_params = params[:q].merge(archived_at_not_null: nil, archived_at_null: nil).clone
+ ransack_params.delete('associated_lines_id_eq')
+
+ @q = scope.ransack(ransack_params)
+ @wbench_refs = sort_result(@q.result).paginate(page: params[:page], per_page: 30)
+ @wbench_refs = ModelDecorator.decorate(
+ @wbench_refs,
+ with: ReferentialDecorator
+ )
- @q = scope.ransack(params[:q])
show! do
build_breadcrumb :show
end
@@ -59,7 +66,6 @@ class WorkbenchesController < BreadcrumbController
def ransack_associated_lines scope
if params[:q] && params[:q]['associated_lines_id_eq']
scope = scope.include_metadatas_lines([params[:q]['associated_lines_id_eq']])
- params[:q].delete('associated_lines_id_eq')
end
scope
end