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 | ... | ... |