[70805] branches/gsoc10-mpwa/mpwa

jrozner at macports.org jrozner at macports.org
Sat Aug 21 15:40:47 PDT 2010


Revision: 70805
          http://trac.macports.org/changeset/70805
Author:   jrozner at macports.org
Date:     2010-08-21 15:40:47 -0700 (Sat, 21 Aug 2010)
Log Message:
-----------
Fixed redirect for comments and cache expiring

Modified Paths:
--------------
    branches/gsoc10-mpwa/mpwa/app/controllers/categories_controller.rb
    branches/gsoc10-mpwa/mpwa/app/controllers/comments_controller.rb
    branches/gsoc10-mpwa/mpwa/app/controllers/ports_controller.rb
    branches/gsoc10-mpwa/mpwa/app/sweepers/category_sweeper.rb
    branches/gsoc10-mpwa/mpwa/app/sweepers/port_sweeper.rb
    branches/gsoc10-mpwa/mpwa/app/sweepers/ticket_sweeper.rb
    branches/gsoc10-mpwa/mpwa/app/views/ports/show.html.erb
    branches/gsoc10-mpwa/mpwa/config/routes.rb

Added Paths:
-----------
    branches/gsoc10-mpwa/mpwa/app/sweepers/comment_sweeper.rb

Modified: branches/gsoc10-mpwa/mpwa/app/controllers/categories_controller.rb
===================================================================
--- branches/gsoc10-mpwa/mpwa/app/controllers/categories_controller.rb	2010-08-21 22:32:44 UTC (rev 70804)
+++ branches/gsoc10-mpwa/mpwa/app/controllers/categories_controller.rb	2010-08-21 22:40:47 UTC (rev 70805)
@@ -1,5 +1,6 @@
 class CategoriesController < ApplicationController
   caches_page :index
+  cache_sweeper :category_sweeper, :only => [:create, :update, :destroy]
 
   def index
     @categories = Category.all(:order => 'name ASC')

Modified: branches/gsoc10-mpwa/mpwa/app/controllers/comments_controller.rb
===================================================================
--- branches/gsoc10-mpwa/mpwa/app/controllers/comments_controller.rb	2010-08-21 22:32:44 UTC (rev 70804)
+++ branches/gsoc10-mpwa/mpwa/app/controllers/comments_controller.rb	2010-08-21 22:40:47 UTC (rev 70805)
@@ -1,7 +1,5 @@
 class CommentsController < ApplicationController
-  def edit
-    @comment = Port.find(params[:port_id]).comments.find(params[:id])
-  end
+  cache_sweeper :comment_sweeper, :only => [:create]
 
   def create
     @comment = Port.find(params[:port_id]).comments.build(params[:comment])
@@ -9,27 +7,15 @@
     respond_to do |format|
       if verify_recaptcha
         if @comment.save
-          format.html { redirect_to @comment.port }
+          format.html { redirect_to category_port_path(@comment.port.category, @comment.port) }
         end
       else
         flash[:error] = "There was an error with the recaptcha code below. Please re-enter the code and click submit." 
-        format.html { redirect_to @comment.port }
+        format.html { redirect_to category_port_path(@comment.port.category, @comment.port) }
       end
     end
   end
 
-  def update
-    @comment = Port.find(params[:port_id]).comments.find(params[:id])
-
-    respond_to do |format|
-      if @comment.update_attributes(params[:comment])
-        format.html { redirect_to(@comment.port, :notice => 'Comment was successfully updated.') }
-      else
-        format.html { render :action => "edit" }
-      end
-    end
-  end
-
   def destroy
     @comment = Port.find(params[:port_id]).comments.find(params[:id])
     @comment.destroy

Modified: branches/gsoc10-mpwa/mpwa/app/controllers/ports_controller.rb
===================================================================
--- branches/gsoc10-mpwa/mpwa/app/controllers/ports_controller.rb	2010-08-21 22:32:44 UTC (rev 70804)
+++ branches/gsoc10-mpwa/mpwa/app/controllers/ports_controller.rb	2010-08-21 22:40:47 UTC (rev 70805)
@@ -1,5 +1,6 @@
 class PortsController < ApplicationController
   caches_page :index, :show
+  cache_sweeper :port_sweeper, :only => [:create, :update, :destroy]
 
   def index
     unless params[:category_id].nil?

Modified: branches/gsoc10-mpwa/mpwa/app/sweepers/category_sweeper.rb
===================================================================
--- branches/gsoc10-mpwa/mpwa/app/sweepers/category_sweeper.rb	2010-08-21 22:32:44 UTC (rev 70804)
+++ branches/gsoc10-mpwa/mpwa/app/sweepers/category_sweeper.rb	2010-08-21 22:40:47 UTC (rev 70805)
@@ -15,6 +15,7 @@
 
 private
   def expire_cache_for(category)
-    expire_page :action => :index
+    expire_page categories_path
+    expire_page category_path(category)
   end
 end
\ No newline at end of file

Added: branches/gsoc10-mpwa/mpwa/app/sweepers/comment_sweeper.rb
===================================================================
--- branches/gsoc10-mpwa/mpwa/app/sweepers/comment_sweeper.rb	                        (rev 0)
+++ branches/gsoc10-mpwa/mpwa/app/sweepers/comment_sweeper.rb	2010-08-21 22:40:47 UTC (rev 70805)
@@ -0,0 +1,12 @@
+class CommentSweeper < ActionController::Caching::Sweeper
+  observe Comment
+
+  def after_create(comment)
+    expire_cache_for comment
+  end
+
+private
+  def expire_cache_for(comment)
+    expire_page category_port_path(comment.port.category, comment.port)
+  end
+end
\ No newline at end of file

Modified: branches/gsoc10-mpwa/mpwa/app/sweepers/port_sweeper.rb
===================================================================
--- branches/gsoc10-mpwa/mpwa/app/sweepers/port_sweeper.rb	2010-08-21 22:32:44 UTC (rev 70804)
+++ branches/gsoc10-mpwa/mpwa/app/sweepers/port_sweeper.rb	2010-08-21 22:40:47 UTC (rev 70805)
@@ -15,7 +15,7 @@
 
 private
   def expire_cache_for(port)
-    expire_page :action => :index
-    expire_page :action => :show
+    expire_page category_ports_path(port.category)
+    expire_page category_port_path(port.category, port)
   end
 end
\ No newline at end of file

Modified: branches/gsoc10-mpwa/mpwa/app/sweepers/ticket_sweeper.rb
===================================================================
--- branches/gsoc10-mpwa/mpwa/app/sweepers/ticket_sweeper.rb	2010-08-21 22:32:44 UTC (rev 70804)
+++ branches/gsoc10-mpwa/mpwa/app/sweepers/ticket_sweeper.rb	2010-08-21 22:40:47 UTC (rev 70805)
@@ -2,20 +2,19 @@
   observe Ticket
 
   def after_create(ticket)
-    expire_cache_for ticket.port
+    expire_cache_for ticket
   end
 
   def after_update(ticket)
-    expire_cache_for ticket.port
+    expire_cache_for ticket
   end
 
   def after_destroy(ticket)
-    expire_cache_for ticket.port
+    expire_cache_for ticket
   end
 
 private
   def expire_cache_for(ticket)
-    expire_page :controller => :port, :action => :index
-    expire_page :controller => :port, :action => :show
+    expire_page category_port_path(ticket.port.category, ticket.port)
   end
 end
\ No newline at end of file

Modified: branches/gsoc10-mpwa/mpwa/app/views/ports/show.html.erb
===================================================================
--- branches/gsoc10-mpwa/mpwa/app/views/ports/show.html.erb	2010-08-21 22:32:44 UTC (rev 70804)
+++ branches/gsoc10-mpwa/mpwa/app/views/ports/show.html.erb	2010-08-21 22:40:47 UTC (rev 70805)
@@ -43,21 +43,6 @@
     <strong>Portfile:</strong> <%= link_to "#{@port.path}/Portfile", "#{$svn_url}/trunk/dports/#{@port.path}/Portfile" %>
   </p>
 
-  <% form_for([@port.category, @port, @comment]) do |f| %>
-    <%= f.error_messages %>
-
-    <p>
-      <%= f.label :body, "<strong>Comment</strong>" %><br />
-      <%= f.text_area :body, {:rows => 5, :cols => 80} %>
-    </p>
-    <p>
-      <%= recaptcha_tags :display => {:theme => 'clean'} %>
-    </p>
-    <p>
-      <%= f.submit 'Create' %>
-    </p>
-  <% end %>
-
   <div>
     <h3>Open Tickets</h3>
     <ul>
@@ -67,8 +52,26 @@
     </ul>
   </div>
 
-  <% @port.comments.each do |comment| %>
-    <div><%= h comment.body %></div>
-  <% end %>
+  <div>
+    <h3>Comments</h3>
+    <% form_for([@port.category, @port, @comment]) do |f| %>
+      <%= f.error_messages %>
 
-</div>
+      <p>
+        <%= f.label :body, "<strong>Comment</strong>" %><br />
+        <%= f.text_area :body, {:rows => 5, :cols => 80} %>
+      </p>
+      <p>
+        <%= recaptcha_tags :display => {:theme => 'clean'} %>
+      </p>
+      <p>
+        <%= f.submit 'Create' %>
+      </p>
+    <% end %>
+
+    <% @port.comments.each do |comment| %>
+      <div><%= h comment.body %></div>
+    <% end %>
+  </div>
+
+</div>
\ No newline at end of file

Modified: branches/gsoc10-mpwa/mpwa/config/routes.rb
===================================================================
--- branches/gsoc10-mpwa/mpwa/config/routes.rb	2010-08-21 22:32:44 UTC (rev 70804)
+++ branches/gsoc10-mpwa/mpwa/config/routes.rb	2010-08-21 22:40:47 UTC (rev 70805)
@@ -1,7 +1,7 @@
 ActionController::Routing::Routes.draw do |map|
   map.resources :categories, :only => [:index] do |category|
     category.resources :ports, :only => [:index, :show] do |port|
-      port.resources :comments, :except => [:index, :show, :new]
+      port.resources :comments, :only => [:new, :create]
     end
     category.connect '/ports/page/:page', :controller => :ports, :action => :index, :page => :page
   end
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100821/f5f16c5a/attachment.html>


More information about the macports-changes mailing list