diff app/controllers/projects_controller.rb @ 123:605adf7e1735 cannam

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 af80e5618e9b
children bc91f2025d05
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
@@ -42,12 +42,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.api  {
         @offset, @limit = api_offset_and_limit