@page_size = 10
@bugs = MapBug.find(:all,
- :include => [:comments, {:comments => :user}],
+ :include => [:comments, {:comments => :author}],
:joins => :comments,
:order => "updated_at DESC",
:conditions => conditions,
sent_to = Set.new
bug.comments.each do | cmt |
- if cmt.user
- unless sent_to.include?(cmt.user)
- Notifier.deliver_bug_comment_notification(bug_comment, cmt.user) unless cmt.user == @user
- sent_to.add(cmt.user)
+ if cmt.author
+ unless sent_to.include?(cmt.author)
+ Notifier.deliver_bug_comment_notification(bug_comment, cmt.author) unless cmt.author == @user
+ sent_to.add(cmt.author)
end
end
end
def visible
return status != "hidden"
end
+
+ def author
+ self.comments.first.author
+ end
+
+ def author_ip
+ self.comments.first.author_ip
+ end
+
+ def author_id
+ self.comments.first.author_id
+ end
+
+ def author_name
+ self.comments.first.author_name
+ end
end
class MapBugComment < ActiveRecord::Base
set_table_name 'map_bug_comment'
- belongs_to :map_bug, :foreign_key => 'bug_id'
- belongs_to :user, :foreign_key => 'author_id'
+ belongs_to :map_bug, :foreign_key => :bug_id
+ belongs_to :author, :class_name => "User", :foreign_key => :author_id
validates_inclusion_of :event, :in => [ "opened", "closed", "reopened", "commented", "hidden" ]
validates_presence_of :id, :on => :update
if self.author_id.nil?
self.read_attribute(:author_name)
else
- self.user.display_name
+ self.author.display_name
end
end
end
def bug_comment_notification(bug_comment, recipient)
common_headers recipient
- owner = (recipient == bug_comment.map_bug.comments.first.user);
+ owner = (recipient == bug_comment.map_bug.author);
subject I18n.t('notifier.map_bug_plain.subject_own', :commenter => bug_comment.author_name) if owner
subject I18n.t('notifier.map_bug_plain.subject_other', :commenter => bug_comment.author_name) unless owner
<% end %>
<tr>
<th><%= t 'browse.bug.opened_by' %></th>
- <% if @bug.comments.first.user.nil? %>
- <td> <%= @bug.comments.first.author_name %> </td>
+ <% if @bug.author.nil? %>
+ <td> <%= @bug.author_name %> </td>
<% else %>
- <td><%= link_to h(@bug.comments.first.user.display_name), :controller => "user", :action => "view", :display_name => @bug.comments.first.user.display_name %></td>
+ <td><%= link_to h(@bug.author_name), :controller => "user", :action => "view", :display_name => @bug.author_name %></td>
<% end %>
</tr>
<tr>
<th><%= t'bugs.user.last_changed' %></th>
</tr>
<% @bugs.each do |bug| %>
- <tr<% if bug.comments.first.user != @user2 %> bgcolor="#EEEEEE"<% end %>>
+ <tr<% if bug.author != @user2 %> bgcolor="#EEEEEE"<% end %>>
<td>
<% if bug.status == "closed" %>
<%= image_tag("closed_bug_marker.png", :alt => 'closed') %>
<% end %>
</td>
<td><%= link_to bug.id.to_s, :controller => "browse", :action => "bug", :id => bug.id %></td>
- <% if bug.comments.first.user.nil? %>
- <td> <%= bug.comments.first.author_name %> </td>
+ <% if bug.author.nil? %>
+ <td> <%= bug.author_name %> </td>
<% else %>
- <td><%= link_to h(bug.comments.first.user.display_name), :controller => "user", :action => "view", :display_name => bug.comments.first.user.display_name %></td>
+ <td><%= link_to h(bug.author_name), :controller => "user", :action => "view", :display_name => bug.author_name %></td>
<% end %>
<td> <%= htmlize bug.comments.first.body %> </td>
<td><%= l bug.created_at %></td>