comparison 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
comparison
equal deleted inserted replaced
122:7c628fc7e91d 123:605adf7e1735
40 helper :queries 40 helper :queries
41 include QueriesHelper 41 include QueriesHelper
42 helper :repositories 42 helper :repositories
43 include RepositoriesHelper 43 include RepositoriesHelper
44 include ProjectsHelper 44 include ProjectsHelper
45 45
46 # Lists visible projects 46 # Lists visible projects
47 def index 47 def index
48 respond_to do |format| 48 respond_to do |format|
49 format.html { 49 format.html {
50 @projects = Project.visible.find(:all, :order => 'lft') 50 @limit = per_page_option
51 @project_count = Project.visible.count
52 @project_pages = Paginator.new self, @project_count, @limit, params['page']
53 @offset ||= @project_pages.current.offset
54 @projects = Project.visible.all(:offset => @offset, :limit => @limit, :order => 'lft')
55 if User.current.logged?
56 @user_projects = User.current.projects
57 end
58 render :template => 'projects/index.rhtml', :layout => !request.xhr?
51 } 59 }
52 format.api { 60 format.api {
53 @offset, @limit = api_offset_and_limit 61 @offset, @limit = api_offset_and_limit
54 @project_count = Project.visible.count 62 @project_count = Project.visible.count
55 @projects = Project.visible.all(:offset => @offset, :limit => @limit, :order => 'lft') 63 @projects = Project.visible.all(:offset => @offset, :limit => @limit, :order => 'lft')