[25860] users/jberry/mpwa

source_changes at macosforge.org source_changes at macosforge.org
Sun Jun 3 17:49:00 PDT 2007


Revision: 25860
          http://trac.macosforge.org/projects/macports/changeset/25860
Author:   jberry at macports.org
Date:     2007-06-03 17:49:00 -0700 (Sun, 03 Jun 2007)

Log Message:
-----------
mpwa: add ability to add comments to ports and portpkgs

Modified Paths:
--------------
    users/jberry/mpwa/app/controllers/port_controller.rb
    users/jberry/mpwa/app/controllers/port_pkg_controller.rb
    users/jberry/mpwa/app/models/port.rb
    users/jberry/mpwa/app/models/port_pkg.rb
    users/jberry/mpwa/app/models/tag.rb
    users/jberry/mpwa/app/views/port/show.rhtml
    users/jberry/mpwa/app/views/port_pkg/show.rhtml

Added Paths:
-----------
    users/jberry/mpwa/app/models/comment.rb
    users/jberry/mpwa/test/fixtures/comments.yml
    users/jberry/mpwa/test/unit/comment_test.rb

Modified: users/jberry/mpwa/app/controllers/port_controller.rb
===================================================================
--- users/jberry/mpwa/app/controllers/port_controller.rb	2007-06-03 20:27:05 UTC (rev 25859)
+++ users/jberry/mpwa/app/controllers/port_controller.rb	2007-06-04 00:49:00 UTC (rev 25860)
@@ -71,8 +71,20 @@
       end
     end
     redirect_to :action => 'show', :id => port
-   end
+  end
   
+  def add_comment
+    port = Port.find(params[:id])
+    text = params[:text]
+    
+    if text
+      # TODO: Figure out the real maintainer
+      port.comments << Comment.create(:commenter => port.maintainers.first, :comment => text)
+    end
+    
+    redirect_to :action => 'show', :id => port
+  end
+
   private :create, :edit, :update, :destroy
   
 end

Modified: users/jberry/mpwa/app/controllers/port_pkg_controller.rb
===================================================================
--- users/jberry/mpwa/app/controllers/port_pkg_controller.rb	2007-06-03 20:27:05 UTC (rev 25859)
+++ users/jberry/mpwa/app/controllers/port_pkg_controller.rb	2007-06-04 00:49:00 UTC (rev 25860)
@@ -95,7 +95,19 @@
       end
     end
     redirect_to :action => 'show', :id => port_pkg
-   end
+  end
   
+  def add_comment
+    port_pkg = PortPkg.find(params[:id])
+    text = params[:text]
+    
+    if text
+      # TODO: Figure out the real maintainer
+      port_pkg.comments << Comment.create(:commenter => port_pkg.submitter, :comment => text)
+    end
+    
+    redirect_to :action => 'show', :id => port_pkg
+  end
+  
   private :create, :edit, :update, :destroy
 end

Added: users/jberry/mpwa/app/models/comment.rb
===================================================================
--- users/jberry/mpwa/app/models/comment.rb	                        (rev 0)
+++ users/jberry/mpwa/app/models/comment.rb	2007-06-04 00:49:00 UTC (rev 25860)
@@ -0,0 +1,13 @@
+require 'person'
+require 'port'
+require 'port_pkg'
+
+class Comment < ActiveRecord::Base
+  belongs_to :commenter, :class_name => 'Person', :foreign_key => 'commenter_id'
+  has_and_belongs_to_many :ports
+  has_and_belongs_to_many :port_pkgs
+
+  def <=>(other)
+    self.comment_at <=> other.comment_at
+  end
+end

Modified: users/jberry/mpwa/app/models/port.rb
===================================================================
--- users/jberry/mpwa/app/models/port.rb	2007-06-03 20:27:05 UTC (rev 25859)
+++ users/jberry/mpwa/app/models/port.rb	2007-06-04 00:49:00 UTC (rev 25860)
@@ -1,3 +1,4 @@
+require 'comment'
 require 'person'
 require 'port_pkg'
 require 'tag'
@@ -6,6 +7,7 @@
     has_many :port_pkgs, :dependent => :destroy
     has_and_belongs_to_many :tags
     has_and_belongs_to_many :maintainers, :class_name => 'Person', :join_table => 'maintainers_ports' 
+    has_and_belongs_to_many :comments
     
     def Port.ensure_port(name, meta)
         port = Port.find_by_name(name)

Modified: users/jberry/mpwa/app/models/port_pkg.rb
===================================================================
--- users/jberry/mpwa/app/models/port_pkg.rb	2007-06-03 20:27:05 UTC (rev 25859)
+++ users/jberry/mpwa/app/models/port_pkg.rb	2007-06-04 00:49:00 UTC (rev 25860)
@@ -28,6 +28,7 @@
     has_many :file_infos, :through => :file_refs
     has_many :variants, :dependent => :destroy
     has_and_belongs_to_many :tags
+    has_and_belongs_to_many :comments
     
     def PortPkg.create_from_file(file)
         portpkg = PortPkg.new

Modified: users/jberry/mpwa/app/models/tag.rb
===================================================================
--- users/jberry/mpwa/app/models/tag.rb	2007-06-03 20:27:05 UTC (rev 25859)
+++ users/jberry/mpwa/app/models/tag.rb	2007-06-04 00:49:00 UTC (rev 25860)
@@ -1,3 +1,6 @@
+require 'port'
+require 'port_pkg'
+
 class Tag < ActiveRecord::Base
     has_and_belongs_to_many :ports
     has_and_belongs_to_many :port_pkgs

Modified: users/jberry/mpwa/app/views/port/show.rhtml
===================================================================
--- users/jberry/mpwa/app/views/port/show.rhtml	2007-06-03 20:27:05 UTC (rev 25859)
+++ users/jberry/mpwa/app/views/port/show.rhtml	2007-06-04 00:49:00 UTC (rev 25860)
@@ -56,3 +56,26 @@
 		</tr>
 	<% end %>
 </table>
+
+<!--
+-->
+<h4>Comments</h4>
+<p>
+	<% for comment in @port.comments.sort %>
+	  <div class='comment'>
+	    <div class='comment_header'>
+	      <span class='commenter'><%=h comment.commenter.user_name %><span>
+  	    <span class='comment_date'><%= comment.comment_at.to_formatted_s(:long) %><span>
+	    </div>
+  	  <%= simple_format(comment.comment) %>
+	  </div>
+	<% end %>
+</p>
+
+<form action='/port/add_comment' method='post'>
+  <input type='hidden' name='id' value='<%=h @port.id %>'>
+  <textarea rows='8' cols='80' name='text'></textarea><br />
+  <input type='submit' name='add_comment' value='Add Comment'></input>
+</form>
+<!--
+-->

Modified: users/jberry/mpwa/app/views/port_pkg/show.rhtml
===================================================================
--- users/jberry/mpwa/app/views/port_pkg/show.rhtml	2007-06-03 20:27:05 UTC (rev 25859)
+++ users/jberry/mpwa/app/views/port_pkg/show.rhtml	2007-06-04 00:49:00 UTC (rev 25860)
@@ -63,7 +63,7 @@
 	<% end %>
 </p>
 
-<h4>Files:</h4>
+<h4>Files</h4>
 <table>
   <tr>
     <th>Path</th>
@@ -91,3 +91,27 @@
 	<% end %>
 </table>
 
+<!--
+-->
+<h4>Comments</h4>
+<p>
+	<% for comment in @port_pkg.comments.sort %>
+	  <div class='comment'>
+	    <div class='comment_header'>
+	      <span class='commenter'><%=h comment.commenter.user_name %><span>
+  	    <span class='comment_date'><%= comment.comment_at.to_formatted_s(:long) %><span>
+	    </div>
+  	  <%= simple_format(comment.comment) %>
+	  </div>
+	<% end %>
+</p>
+
+<form action='/port_pkg/add_comment' method='post'>
+  <input type='hidden' name='id' value='<%=h @port_pkg.id %>'>
+  <textarea rows='8' cols='80' name='text'></textarea><br />
+  <input type='submit' name='add_comment' value='Add Comment'></input>
+</form>
+<!--
+-->
+
+

Added: users/jberry/mpwa/test/fixtures/comments.yml
===================================================================
--- users/jberry/mpwa/test/fixtures/comments.yml	                        (rev 0)
+++ users/jberry/mpwa/test/fixtures/comments.yml	2007-06-04 00:49:00 UTC (rev 25860)
@@ -0,0 +1,5 @@
+# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
+one:
+  id: 1
+two:
+  id: 2

Added: users/jberry/mpwa/test/unit/comment_test.rb
===================================================================
--- users/jberry/mpwa/test/unit/comment_test.rb	                        (rev 0)
+++ users/jberry/mpwa/test/unit/comment_test.rb	2007-06-04 00:49:00 UTC (rev 25860)
@@ -0,0 +1,10 @@
+require File.dirname(__FILE__) + '/../test_helper'
+
+class CommentTest < Test::Unit::TestCase
+  fixtures :comments
+
+  # Replace this with your real tests.
+  def test_truth
+    assert true
+  end
+end

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070603/980c8dbe/attachment.html


More information about the macports-changes mailing list