From 86741878c6fa957f7374172cf94f29e60776e817 Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Wed, 4 Jun 2008 16:21:25 -0700 Subject: [PATCH] Added pagination --- app/controllers/deliverables_controller.rb | 19 +++++++++++++------ app/views/deliverables/index.html.erb | 2 +- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/controllers/deliverables_controller.rb b/app/controllers/deliverables_controller.rb index 5a4a9fd..9eb637b 100644 --- a/app/controllers/deliverables_controller.rb +++ b/app/controllers/deliverables_controller.rb @@ -10,8 +10,15 @@ class DeliverablesController < ApplicationController sort_init "#{Deliverable.table_name}.id", "desc" sort_update - # TODO: pagination - @deliverables = Deliverable.find(:all, { :conditions => { :project_id => @project.id} }.merge(sort_stuff)) + @deliverable_count = Deliverable.count(:conditions => { :project_id => @project.id}) + @deliverable_pages = Paginator.new self, @deliverable_count, per_page_option, params['page'] + @deliverables = Deliverable.find(:all, + { + :conditions => { :project_id => @project.id}, + :limit => per_page_option, + :offset => @deliverable_pages.current.offset + }.merge(sort_order) + ) @deliverables = sort_if_needed @deliverables @@ -112,12 +119,12 @@ class DeliverablesController < ApplicationController @settings = Setting.plugin_budget_plugin end - # Sorting limits - def sort_stuff + # Sorting orders + def sort_order if %w(score spent progress).include?(session[@sort_name][:key]) - return { } + return { } else - return { :limit => per_page_option, :order => sort_clause } + return { :order => sort_clause } end end diff --git a/app/views/deliverables/index.html.erb b/app/views/deliverables/index.html.erb index 89d32cf..3beed0a 100644 --- a/app/views/deliverables/index.html.erb +++ b/app/views/deliverables/index.html.erb @@ -65,7 +65,7 @@

<%= l(:label_no_data) %>

<% else %> <%= render :partial => 'list', :locals => { :deliverables => @deliverables} %> -

<%# TODO: pagination_links_full @issue_pages, @issue_count %>

+

<%= pagination_links_full @deliverable_pages, @deliverable_count %>

<% end %>