diff options
author | Johan Sørensen <johan@johansorensen.com> | 2009-03-09 17:08:59 +0100 |
---|---|---|
committer | Johan Sørensen <johan@johansorensen.com> | 2009-04-22 15:16:09 +0200 |
commit | af312aea7dd218cf18fdf79e7a034b7b87dffa0a (patch) | |
tree | 8bb9b745998752fcea7c7e1c8fa9b3e5262a63a8 /app/controllers/projects_controller.rb | |
parent | 5e0705a28fa531a4a2c8ad24664ba3f05d55c227 (diff) | |
download | gitorious-mainline-outdated-af312aea7dd218cf18fdf79e7a034b7b87dffa0a.zip gitorious-mainline-outdated-af312aea7dd218cf18fdf79e7a034b7b87dffa0a.tar.gz gitorious-mainline-outdated-af312aea7dd218cf18fdf79e7a034b7b87dffa0a.tar.bz2 |
Don't find all the events twice on the projects#show page, and add conditional GET
Diffstat (limited to 'app/controllers/projects_controller.rb')
-rw-r--r-- | app/controllers/projects_controller.rb | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 3942dc3..ef47bee 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -54,14 +54,16 @@ class ProjectsController < ApplicationController def show @owner = @project - @events = @project.events.top.paginate(:all, :page => params[:page], - :order => "created_at desc", :include => [:user, :project]) + @events = @project.events.top.paginate(:all, :page => params[:page], + :order => "created_at desc", :include => [:user, :project],) @atom_auto_discovery_url = project_path(@project, :format => :atom) - - respond_to do |format| - format.html - format.xml { render :xml => @project } - format.atom { } + if stale?(:etag => [@project, @events.first], + :last_modified => (@events.first || @project).created_at) + respond_to do |format| + format.html + format.xml { render :xml => @project } + format.atom { } + end end end @@ -127,7 +129,7 @@ class ProjectsController < ApplicationController protected def find_project - @project = Project.find_by_slug!(params[:id], :include => [:repositories, :events]) + @project = Project.find_by_slug!(params[:id], :include => [:repositories]) end def assure_adminship |