diff app/controllers/projects_controller.rb @ 131:513e61d1b4da cannam-pre-20110113-merge

Start work on paginating and refining project list layout
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Mon, 17 Jan 2011 17:22:39 +0000
parents 94944d00e43c
children ab611b7c7ecc
line wrap: on
line diff
--- a/app/controllers/projects_controller.rb	Mon Jan 17 14:47:09 2011 +0000
+++ b/app/controllers/projects_controller.rb	Mon Jan 17 17:22:39 2011 +0000
@@ -45,12 +45,20 @@
   helper :repositories
   include RepositoriesHelper
   include ProjectsHelper
-  
+
   # Lists visible projects
   def index
     respond_to do |format|
       format.html { 
-        @projects = Project.visible.find(:all, :order => 'lft') 
+        @limit = per_page_option
+        @project_count = Project.visible.count
+        @project_pages = Paginator.new self, @project_count, @limit, params['page']
+        @offset ||= @project_pages.current.offset
+        @projects = Project.visible.all(:offset => @offset, :limit => @limit, :order => 'lft') 
+        if User.current.logged?
+          @user_projects = User.current.projects
+        end
+        render :template => 'projects/index.rhtml', :layout => !request.xhr?
       }
       format.xml  {
         @projects = Project.visible.find(:all, :order => 'lft')