X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/d878db0a9bca47afb7f7b0bc5bf6e9917718f05b..58d889436fc05c1a3c32cf6aa28cc751badf99ad:/app/controllers/diary_entry_controller.rb diff --git a/app/controllers/diary_entry_controller.rb b/app/controllers/diary_entry_controller.rb index 5e4b68b73..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 @@ -103,7 +104,7 @@ class DiaryEntryController < ApplicationController @title = t 'diary_entry.list.title_friends' @entry_pages, @entries = paginate(:diary_entries, :include => :user, :conditions => { - :user_id => @user.friend_users.public, + :user_id => @user.friend_users, :visible => true }, :order => 'created_at DESC', @@ -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