diff --git a/app/controllers/apps_controller.rb b/app/controllers/apps_controller.rb index 8861123..ce05a73 100644 --- a/app/controllers/apps_controller.rb +++ b/app/controllers/apps_controller.rb @@ -15,7 +15,7 @@ class AppsController < InheritedResources::Base @problems = resource.problems @problems = @problems.unresolved unless @all_errs - @problems = @problems.in_env(params[:environment]).ordered_by(@sort, @order).paginate(:page => params[:page], :per_page => current_user.per_page) + @problems = @problems.in_env(params[:environment]).ordered_by(@sort, @order).page(params[:page]).per(current_user.per_page) @selected_problems = params[:problems] || [] @deploys = @app.deploys.order_by(:created_at.desc).limit(5) diff --git a/app/controllers/errs_controller.rb b/app/controllers/errs_controller.rb index 8f02493..13c5cad 100644 --- a/app/controllers/errs_controller.rb +++ b/app/controllers/errs_controller.rb @@ -16,7 +16,7 @@ class ErrsController < ApplicationController @selected_problems = params[:problems] || [] respond_to do |format| format.html do - @problems = @problems.paginate(:page => params[:page], :per_page => current_user.per_page) + @problems = @problems.page(params[:page]).per(current_user.per_page) end format.atom end @@ -24,7 +24,7 @@ class ErrsController < ApplicationController def all app_scope = current_user.admin? ? App.all : current_user.apps - @problems = Problem.for_apps(app_scope).ordered.paginate(:page => params[:page], :per_page => current_user.per_page) + @problems = Problem.for_apps(app_scope).ordered.page(params[:page]).per(current_user.per_page) @selected_problems = params[:problems] || [] end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index e547d78..a7d437b 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -6,7 +6,7 @@ class UsersController < ApplicationController before_filter :require_user_edit_priviledges, :only => [:edit, :update] def index - @users = User.all.paginate(:page => params[:page], :per_page => current_user.per_page) + @users = User.all.page(params[:page]).per(current_user.per_page) end def show diff --git a/app/views/errs/_table.html.haml b/app/views/errs/_table.html.haml index 7cbee28..d6dbb55 100644 --- a/app/views/errs/_table.html.haml +++ b/app/views/errs/_table.html.haml @@ -44,7 +44,7 @@ %tr %td{:colspan => (@app ? 5 : 6)} %em No errs here - = will_paginate @problems, :previous_label => '« Previous', :next_label => 'Next »' + = paginate errs .tab-bar %ul %li= submit_tag 'Merge', :id => 'merge_errs', :class => 'button', 'data-action' => merge_several_errs_path diff --git a/app/views/kaminari/_first_page.html.haml b/app/views/kaminari/_first_page.html.haml new file mode 100644 index 0000000..fee8112 --- /dev/null +++ b/app/views/kaminari/_first_page.html.haml @@ -0,0 +1,9 @@ +-# Link to the "First" page +-# available local variables +-# url: url to the first page +-# current_page: a page object for the currently displayed page +-# num_pages: total number of pages +-# per_page: number of items to fetch per page +-# remote: data-remote +%span.first + = link_to_unless current_page.first?, raw(t 'views.pagination.first'), url, :remote => remote diff --git a/app/views/kaminari/_gap.html.haml b/app/views/kaminari/_gap.html.haml new file mode 100644 index 0000000..f82f185 --- /dev/null +++ b/app/views/kaminari/_gap.html.haml @@ -0,0 +1,8 @@ +-# Non-link tag that stands for skipped pages... +-# available local variables +-# current_page: a page object for the currently displayed page +-# num_pages: total number of pages +-# per_page: number of items to fetch per page +-# remote: data-remote +%span.page.gap + = raw(t 'views.pagination.truncate') diff --git a/app/views/kaminari/_last_page.html.haml b/app/views/kaminari/_last_page.html.haml new file mode 100644 index 0000000..6e41d23 --- /dev/null +++ b/app/views/kaminari/_last_page.html.haml @@ -0,0 +1,9 @@ +-# Link to the "Last" page +-# available local variables +-# url: url to the last page +-# current_page: a page object for the currently displayed page +-# num_pages: total number of pages +-# per_page: number of items to fetch per page +-# remote: data-remote +%span.last + = link_to_unless current_page.last?, raw(t 'views.pagination.last'), url, {:remote => remote} diff --git a/app/views/kaminari/_next_page.html.haml b/app/views/kaminari/_next_page.html.haml new file mode 100644 index 0000000..cc64f68 --- /dev/null +++ b/app/views/kaminari/_next_page.html.haml @@ -0,0 +1,9 @@ +-# Link to the "Next" page +-# available local variables +-# url: url to the next page +-# current_page: a page object for the currently displayed page +-# num_pages: total number of pages +-# per_page: number of items to fetch per page +-# remote: data-remote +%span.next + = link_to_unless current_page.last?, raw('Next »'), url, :rel => 'next' diff --git a/app/views/kaminari/_page.html.haml b/app/views/kaminari/_page.html.haml new file mode 100644 index 0000000..528bba8 --- /dev/null +++ b/app/views/kaminari/_page.html.haml @@ -0,0 +1,10 @@ +-# Link showing page number +-# available local variables +-# page: a page object for "this" page +-# url: url to this page +-# current_page: a page object for the currently displayed page +-# num_pages: total number of pages +-# per_page: number of items to fetch per page +-# remote: data-remote +%span{:class => "page#{' current' if page.current?}"} + = link_to_unless page.current?, page, url, {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil} diff --git a/app/views/kaminari/_paginator.html.haml b/app/views/kaminari/_paginator.html.haml new file mode 100644 index 0000000..f89aa2a --- /dev/null +++ b/app/views/kaminari/_paginator.html.haml @@ -0,0 +1,16 @@ +-# The container tag +-# available local variables +-# current_page: a page object for the currently displayed page +-# num_pages: total number of pages +-# per_page: number of items to fetch per page +-# remote: data-remote +-# paginator: the paginator that renders the pagination tags inside += paginator.render do + %nav.pagination + = prev_page_tag + - each_page do |page| + - if page.left_outer? || page.right_outer? || page.inside_window? + = page_tag page + - elsif !page.was_truncated? + = gap_tag + = next_page_tag diff --git a/app/views/kaminari/_prev_page.html.haml b/app/views/kaminari/_prev_page.html.haml new file mode 100644 index 0000000..6433b11 --- /dev/null +++ b/app/views/kaminari/_prev_page.html.haml @@ -0,0 +1,9 @@ +-# Link to the "Previous" page +-# available local variables +-# url: url to the previous page +-# current_page: a page object for the currently displayed page +-# num_pages: total number of pages +-# per_page: number of items to fetch per page +-# remote: data-remote +%span.prev + = link_to_unless current_page.first?, raw('« Previous'), url, :rel => 'prev' diff --git a/app/views/users/index.html.haml b/app/views/users/index.html.haml index a8059d3..8f123f4 100644 --- a/app/views/users/index.html.haml +++ b/app/views/users/index.html.haml @@ -18,5 +18,5 @@ %td= user.username %td= user.email %td= user.admin? ? 'Y' : 'N' -= will_paginate @users, :previous_label => '« Previous', :next_label => 'Next »' += paginate @users diff --git a/spec/controllers/apps_controller_spec.rb b/spec/controllers/apps_controller_spec.rb index 2690945..cbce72d 100644 --- a/spec/controllers/apps_controller_spec.rb +++ b/spec/controllers/apps_controller_spec.rb @@ -65,13 +65,13 @@ describe AppsController do it "should have default per_page value for user" do get :show, :id => @app.id - assigns(:problems).size.should == User::PER_PAGE + assigns(:problems).to_a.size.should == User::PER_PAGE end it "should be able to override default per_page value" do @user.update_attribute :per_page, 10 get :show, :id => @app.id - assigns(:problems).size.should == 10 + assigns(:problems).to_a.size.should == 10 end end diff --git a/spec/controllers/errs_controller_spec.rb b/spec/controllers/errs_controller_spec.rb index 46fec57..1dc3936 100644 --- a/spec/controllers/errs_controller_spec.rb +++ b/spec/controllers/errs_controller_spec.rb @@ -39,13 +39,13 @@ describe ErrsController do it "should have default per_page value for user" do get :index - assigns(:problems).size.should == User::PER_PAGE + assigns(:problems).to_a.size.should == User::PER_PAGE end it "should be able to override default per_page value" do @user.update_attribute :per_page, 10 get :index - assigns(:problems).size.should == 10 + assigns(:problems).to_a.size.should == 10 end end @@ -111,11 +111,11 @@ describe ErrsController do context 'when logged in as an admin' do it "gets a paginated list of all errs" do sign_in Factory(:admin) - errs = WillPaginate::Collection.new(1,30) + 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( - mock('proxy', :paginate => errs) + mock('proxy', :page => mock('other_proxy', :per => errs)) ) get :all assigns(:problems).should == errs diff --git a/spec/controllers/users_controller_spec.rb b/spec/controllers/users_controller_spec.rb index 0c42106..00665e9 100644 --- a/spec/controllers/users_controller_spec.rb +++ b/spec/controllers/users_controller_spec.rb @@ -100,7 +100,7 @@ describe UsersController do @user.update_attribute :per_page, 2 users = 3.times { Factory(:user) } get :index - assigns(:users).size.should == 2 + assigns(:users).to_a.size.should == 2 end end -- libgit2 0.21.2