X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/c3f73a80287b35a43ca15d83c9cb2b70606ce7c5..4dfe43c956833e11e1ae0169b6312577b1d6a80c:/app/controllers/diary_entry_controller.rb diff --git a/app/controllers/diary_entry_controller.rb b/app/controllers/diary_entry_controller.rb index 2fd239a06..f87b02ef9 100644 --- a/app/controllers/diary_entry_controller.rb +++ b/app/controllers/diary_entry_controller.rb @@ -8,8 +8,9 @@ class DiaryEntryController < ApplicationController before_filter :check_database_writable, :only => [:new, :edit] before_filter :require_administrator, :only => [:hide, :hidecomment] - caches_action :list, :view, :layout => false + caches_action :list, :layout => false, :unless => :user_specific_list? caches_action :rss, :layout => true + caches_action :view, :layout => false cache_sweeper :diary_sweeper, :only => [:new, :edit, :comment, :hide, :hidecomment] def new @@ -194,6 +195,22 @@ class DiaryEntryController < ApplicationController comment.update_attributes(:visible => false) redirect_to :action => "view", :display_name => comment.diary_entry.user.display_name, :id => comment.diary_entry.id end + + def comments + @this_user = User.active.find_by_display_name(params[:display_name]) + + if @this_user + @comment_pages, @comments = paginate(:diary_comments, + :conditions => { :user_id => @this_user }, + :order => 'created_at DESC', + :per_page => 20) + @page = (params[:page] || 1).to_i + else + @title = t'diary_entry.no_such_user.title' + @not_found_user = params[:display_name] + render :action => 'no_such_user', :status => :not_found + end + end private ## # require that the user is a administrator, or fill out a helpful error message @@ -204,4 +221,10 @@ private redirect_to :controller => 'diary_entry', :action => 'view', :display_name => params[:id] end end + + ## + # is this list user specific? + def user_specific_list? + params[:friends] or params[:nearby] + end end