diff --git a/app/controllers/errs_controller.rb b/app/controllers/errs_controller.rb index 13c5cad..43dc068 100644 --- a/app/controllers/errs_controller.rb +++ b/app/controllers/errs_controller.rb @@ -4,14 +4,11 @@ class ErrsController < ApplicationController before_filter :find_app, :except => [:index, :all, :destroy_several, :resolve_several, :unresolve_several, :merge_several, :unmerge_several] before_filter :find_problem, :except => [:index, :all, :destroy_several, :resolve_several, :unresolve_several, :merge_several, :unmerge_several] before_filter :find_selected_problems, :only => [:destroy_several, :resolve_several, :unresolve_several, :merge_several, :unmerge_several] + before_filter :set_sorting_params, :only => [:index, :all] def index app_scope = current_user.admin? ? App.all : current_user.apps - @sort = params[:sort] - @sort = "last_notice_at" unless %w{app message last_notice_at last_deploy_at count}.member?(@sort) - @order = params[:order] || "desc" - @problems = Problem.for_apps(app_scope).in_env(params[:environment]).unresolved.ordered_by(@sort, @order) @selected_problems = params[:problems] || [] respond_to do |format| @@ -24,7 +21,7 @@ class ErrsController < ApplicationController def all app_scope = current_user.admin? ? App.all : current_user.apps - @problems = Problem.for_apps(app_scope).ordered.page(params[:page]).per(current_user.per_page) + @problems = Problem.for_apps(app_scope).ordered_by(@sort, @order).page(params[:page]).per(current_user.per_page) @selected_problems = params[:problems] || [] end @@ -159,5 +156,11 @@ class ErrsController < ApplicationController @selected_problems = Array(Problem.find(err_ids)) end end + + def set_sorting_params + @sort = params[:sort] + @sort = "last_notice_at" unless %w{app message last_notice_at last_deploy_at count}.member?(@sort) + @order = params[:order] || "desc" + end end diff --git a/spec/controllers/errs_controller_spec.rb b/spec/controllers/errs_controller_spec.rb index 1dc3936..818182e 100644 --- a/spec/controllers/errs_controller_spec.rb +++ b/spec/controllers/errs_controller_spec.rb @@ -114,7 +114,7 @@ describe ErrsController do errs = Kaminari.paginate_array((1..30).to_a) 3.times { errs << Factory(:err).problem } 3.times { errs << Factory(:err, :problem => Factory(:problem, :resolved => true)).problem } - Problem.should_receive(:ordered).and_return( + Problem.should_receive(:ordered_by).and_return( mock('proxy', :page => mock('other_proxy', :per => errs)) ) get :all -- libgit2 0.21.2