Commit 769cdee7423cd6bcde5005d62c62ef3505a1c09f
Exists in
master
and in
1 other branch
Merge branch 'fix-sorting' of https://github.com/nashby/errbit
Conflicts: spec/controllers/errs_controller_spec.rb
Showing
2 changed files
with
9 additions
and
6 deletions
Show diff stats
app/controllers/errs_controller.rb
| ... | ... | @@ -4,14 +4,11 @@ class ErrsController < ApplicationController |
| 4 | 4 | before_filter :find_app, :except => [:index, :all, :destroy_several, :resolve_several, :unresolve_several, :merge_several, :unmerge_several] |
| 5 | 5 | before_filter :find_problem, :except => [:index, :all, :destroy_several, :resolve_several, :unresolve_several, :merge_several, :unmerge_several] |
| 6 | 6 | before_filter :find_selected_problems, :only => [:destroy_several, :resolve_several, :unresolve_several, :merge_several, :unmerge_several] |
| 7 | + before_filter :set_sorting_params, :only => [:index, :all] | |
| 7 | 8 | |
| 8 | 9 | def index |
| 9 | 10 | app_scope = current_user.admin? ? App.all : current_user.apps |
| 10 | 11 | |
| 11 | - @sort = params[:sort] | |
| 12 | - @sort = "last_notice_at" unless %w{app message last_notice_at last_deploy_at count}.member?(@sort) | |
| 13 | - @order = params[:order] || "desc" | |
| 14 | - | |
| 15 | 12 | @problems = Problem.for_apps(app_scope).in_env(params[:environment]).unresolved.ordered_by(@sort, @order) |
| 16 | 13 | @selected_problems = params[:problems] || [] |
| 17 | 14 | respond_to do |format| |
| ... | ... | @@ -24,7 +21,7 @@ class ErrsController < ApplicationController |
| 24 | 21 | |
| 25 | 22 | def all |
| 26 | 23 | app_scope = current_user.admin? ? App.all : current_user.apps |
| 27 | - @problems = Problem.for_apps(app_scope).ordered.page(params[:page]).per(current_user.per_page) | |
| 24 | + @problems = Problem.for_apps(app_scope).ordered_by(@sort, @order).page(params[:page]).per(current_user.per_page) | |
| 28 | 25 | @selected_problems = params[:problems] || [] |
| 29 | 26 | end |
| 30 | 27 | |
| ... | ... | @@ -157,5 +154,11 @@ class ErrsController < ApplicationController |
| 157 | 154 | @selected_problems = Array(Problem.find(err_ids)) |
| 158 | 155 | end |
| 159 | 156 | end |
| 157 | + | |
| 158 | + def set_sorting_params | |
| 159 | + @sort = params[:sort] | |
| 160 | + @sort = "last_notice_at" unless %w{app message last_notice_at last_deploy_at count}.member?(@sort) | |
| 161 | + @order = params[:order] || "desc" | |
| 162 | + end | |
| 160 | 163 | end |
| 161 | 164 | ... | ... |
spec/controllers/errs_controller_spec.rb
| ... | ... | @@ -114,7 +114,7 @@ describe ErrsController do |
| 114 | 114 | errs = Kaminari.paginate_array((1..30).to_a) |
| 115 | 115 | 3.times { errs << Fabricate(:err).problem } |
| 116 | 116 | 3.times { errs << Fabricate(:err, :problem => Fabricate(:problem, :resolved => true)).problem } |
| 117 | - Problem.should_receive(:ordered).and_return( | |
| 117 | + Problem.should_receive(:ordered_by).and_return( | |
| 118 | 118 | mock('proxy', :page => mock('other_proxy', :per => errs)) |
| 119 | 119 | ) |
| 120 | 120 | get :all | ... | ... |