summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2010-12-23 13:34:44 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2010-12-23 13:34:44 +0000
commit283d25d82334c00f2cf70770f50ae5649e6d791f (patch)
tree6937dd491bf2cbf505438404adfd52199951bb05 /app
parentd076c1982227af8af1c7505db131367ee6e40b99 (diff)
downloadredmine-283d25d82334c00f2cf70770f50ae5649e6d791f.tar.gz
redmine-283d25d82334c00f2cf70770f50ae5649e6d791f.zip
Makes /projects API accept same pagination parameters as other API collection resources.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4572 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r--app/controllers/projects_controller.rb4
-rw-r--r--app/views/projects/index.api.rsb2
2 files changed, 4 insertions, 2 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 7a4c71217..2547d6166 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -53,7 +53,9 @@ class ProjectsController < ApplicationController
@projects = Project.visible.find(:all, :order => 'lft')
}
format.api {
- @projects = Project.visible.find(:all, :order => 'lft')
+ @offset, @limit = api_offset_and_limit
+ @project_count = Project.visible.count
+ @projects = Project.visible.all(:offset => @offset, :limit => @limit, :order => 'lft')
}
format.atom {
projects = Project.visible.find(:all, :order => 'created_on DESC',
diff --git a/app/views/projects/index.api.rsb b/app/views/projects/index.api.rsb
index 4ffee934f..121300c12 100644
--- a/app/views/projects/index.api.rsb
+++ b/app/views/projects/index.api.rsb
@@ -1,4 +1,4 @@
-api.array :projects do
+api.array :projects, api_meta(:total_count => @project_count, :offset => @offset, :limit => @limit) do
@projects.each do |project|
api.project do
api.id project.id