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