end
end
+ ##
+ # Display a list of notes by a specified user
def mine
if params[:display_name]
- @user2 = User.find_by_display_name(params[:display_name], :conditions => { :status => ["active", "confirmed"] })
-
- if @user2
- if @user2.data_public? or @user2 == @user
- conditions = ['note_comments.author_id = ?', @user2.id]
- else
- conditions = ['false']
- end
- else #if request.format == :html
+ if @this_user = User.active.find_by_display_name(params[:display_name])
+ @title = t 'note.mine.title', :user => @this_user.display_name
+ @heading = t 'note.mine.heading', :user => @this_user.display_name
+ @description = t 'note.mine.description', :user => render_to_string(:partial => "user", :object => @this_user)
+ @page = (params[:page] || 1).to_i
+ @page_size = 10
+ @notes = @this_user.notes.order("updated_at DESC").offset((@page - 1) * @page_size).limit(@page_size).preload(:comments => :author)
+ else
@title = t 'user.no_such_user.title'
@not_found_user = params[:display_name]
+
render :template => 'user/no_such_user', :status => :not_found
- return
end
end
-
- if @user2
- user_link = render_to_string :partial => "user", :object => @user2
- end
-
- @title = t 'note.mine.title', :user => @user2.display_name
- @heading = t 'note.mine.heading', :user => @user2.display_name
- @description = t 'note.mine.description', :user => user_link
-
- @page = (params[:page] || 1).to_i
- @page_size = 10
-
- @notes = Note.find(:all,
- :include => [:comments, {:comments => :author}],
- :joins => :comments,
- :order => "updated_at DESC",
- :conditions => conditions,
- :offset => (@page - 1) * @page_size,
- :limit => @page_size).uniq
end
private
has_many :tokens, :class_name => "UserToken"
has_many :preferences, :class_name => "UserPreference"
has_many :changesets, :order => 'created_at DESC'
+ has_many :note_comments, :foreign_key => :author_id
+ has_many :notes, :through => :note_comments
has_many :client_applications
has_many :oauth_tokens, :class_name => "OauthToken", :order => "authorized_at desc", :include => [:client_application]
<h1><%= @heading %></h1>
-<p><%= @description %></p>
+<p><%= raw @description %></p>
<%= render :partial => 'notes_paging_nav' %>
<th><%= t'changeset.changesets.saved_at' %></th>
<th><%= t'note.mine.last_changed' %></th>
</tr>
-<% @notes.each do |note| %>
+<% @notes.each do |note| -%>
<tr<% if note.author != @user2 %> bgcolor="#EEEEEE"<% end %>>
<td>
<% if note.status == "closed" %>
<td><%= l note.created_at %></td>
<td><%= l note.updated_at %></td>
</tr>
-<% end %>
+<% end -%>
</table>
<%= render :partial => 'notes_paging_nav' %>