diff options
| author | Zog | 2018-03-14 09:21:03 +0100 |
|---|---|---|
| committer | Luc Donnet | 2018-03-23 17:16:43 +0100 |
| commit | 6a7105d5660418cdbad2eb78776a0a80500b09d0 (patch) | |
| tree | e973253cc01db1062b9793e0a6885c79d9cf9498 | |
| parent | 0c4ebd0dbf0d8f513b6fbbd6e2808fa012771850 (diff) | |
| download | chouette-core-6a7105d5660418cdbad2eb78776a0a80500b09d0.tar.bz2 | |
Refs #6146; Fix "activated/deactivated" filter
| -rw-r--r-- | app/controllers/lines_controller.rb | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/app/controllers/lines_controller.rb b/app/controllers/lines_controller.rb index 6b002e4f6..ae8c9ed0c 100644 --- a/app/controllers/lines_controller.rb +++ b/app/controllers/lines_controller.rb @@ -83,20 +83,23 @@ class LinesController < ChouetteController end def collection - %w(network_id company_id group_of_lines_id comment_id transport_mode).each do |filter| - if params[:q] && params[:q]["#{filter}_eq"] == '-1' - params[:q]["#{filter}_eq"] = '' - params[:q]["#{filter}_blank"] = '1' + @lines ||= begin + %w(network_id company_id group_of_lines_id comment_id transport_mode).each do |filter| + if params[:q] && params[:q]["#{filter}_eq"] == '-1' + params[:q]["#{filter}_eq"] = '' + params[:q]["#{filter}_blank"] = '1' + end end - end - scope = ransack_status line_referential.lines - @q = scope.search(params[:q]) + scope = ransack_status line_referential.lines + @q = scope.search(params[:q]) - if sort_column && sort_direction - @lines ||= @q.result(:distinct => true).order(sort_column + ' ' + sort_direction).paginate(:page => params[:page]).includes([:network, :company]) - else - @lines ||= @q.result(:distinct => true).order(:number).paginate(:page => params[:page]).includes([:network, :company]) + if sort_column && sort_direction + lines ||= @q.result(:distinct => true).order(sort_column + ' ' + sort_direction).paginate(:page => params[:page]).includes([:network, :company]) + else + lines ||= @q.result(:distinct => true).order(:number).paginate(:page => params[:page]).includes([:network, :company]) + end + lines end end @@ -157,10 +160,7 @@ class LinesController < ChouetteController deactivated: params[:q][:status]['deactivated'] == 'true', } - scope = Chouette::Line.where(deactivated: @status[@status.key(true)]) - - params[:q].delete :status - scope + scope.where(deactivated: @status[:deactivated]) end end |
