summaryrefslogtreecommitdiffstats
path: root/app/controllers/projects_controller.rb
diff options
context:
space:
mode:
authorJohan Sørensen <johan@johansorensen.com>2009-03-09 17:08:59 +0100
committerJohan Sørensen <johan@johansorensen.com>2009-04-22 15:16:09 +0200
commitaf312aea7dd218cf18fdf79e7a034b7b87dffa0a (patch)
tree8bb9b745998752fcea7c7e1c8fa9b3e5262a63a8 /app/controllers/projects_controller.rb
parent5e0705a28fa531a4a2c8ad24664ba3f05d55c227 (diff)
downloadgitorious-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.rb18
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