Commit 769cdee7423cd6bcde5005d62c62ef3505a1c09f

Authored by Nathan Broadbent
2 parents f471cc67 98f359a4
Exists in master and in 1 other branch production

Merge branch 'fix-sorting' of https://github.com/nashby/errbit

Conflicts:
	spec/controllers/errs_controller_spec.rb
app/controllers/errs_controller.rb
@@ -4,14 +4,11 @@ class ErrsController < ApplicationController @@ -4,14 +4,11 @@ class ErrsController < ApplicationController
4 before_filter :find_app, :except => [:index, :all, :destroy_several, :resolve_several, :unresolve_several, :merge_several, :unmerge_several] 4 before_filter :find_app, :except => [:index, :all, :destroy_several, :resolve_several, :unresolve_several, :merge_several, :unmerge_several]
5 before_filter :find_problem, :except => [:index, :all, :destroy_several, :resolve_several, :unresolve_several, :merge_several, :unmerge_several] 5 before_filter :find_problem, :except => [:index, :all, :destroy_several, :resolve_several, :unresolve_several, :merge_several, :unmerge_several]
6 before_filter :find_selected_problems, :only => [:destroy_several, :resolve_several, :unresolve_several, :merge_several, :unmerge_several] 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 def index 9 def index
9 app_scope = current_user.admin? ? App.all : current_user.apps 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 @problems = Problem.for_apps(app_scope).in_env(params[:environment]).unresolved.ordered_by(@sort, @order) 12 @problems = Problem.for_apps(app_scope).in_env(params[:environment]).unresolved.ordered_by(@sort, @order)
16 @selected_problems = params[:problems] || [] 13 @selected_problems = params[:problems] || []
17 respond_to do |format| 14 respond_to do |format|
@@ -24,7 +21,7 @@ class ErrsController < ApplicationController @@ -24,7 +21,7 @@ class ErrsController < ApplicationController
24 21
25 def all 22 def all
26 app_scope = current_user.admin? ? App.all : current_user.apps 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 @selected_problems = params[:problems] || [] 25 @selected_problems = params[:problems] || []
29 end 26 end
30 27
@@ -157,5 +154,11 @@ class ErrsController < ApplicationController @@ -157,5 +154,11 @@ class ErrsController < ApplicationController
157 @selected_problems = Array(Problem.find(err_ids)) 154 @selected_problems = Array(Problem.find(err_ids))
158 end 155 end
159 end 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 end 163 end
161 164
spec/controllers/errs_controller_spec.rb
@@ -114,7 +114,7 @@ describe ErrsController do @@ -114,7 +114,7 @@ describe ErrsController do
114 errs = Kaminari.paginate_array((1..30).to_a) 114 errs = Kaminari.paginate_array((1..30).to_a)
115 3.times { errs << Fabricate(:err).problem } 115 3.times { errs << Fabricate(:err).problem }
116 3.times { errs << Fabricate(:err, :problem => Fabricate(:problem, :resolved => true)).problem } 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 mock('proxy', :page => mock('other_proxy', :per => errs)) 118 mock('proxy', :page => mock('other_proxy', :per => errs))
119 ) 119 )
120 get :all 120 get :all