[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