X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/3227f401935e809edc91d360339220a89567db7a..bcd3805f22767a02cb9e3490a11de562fcb7bda5:/app/controllers/diary_entry_controller.rb diff --git a/app/controllers/diary_entry_controller.rb b/app/controllers/diary_entry_controller.rb index 0444f5a89..ff1976a82 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 @@ -98,6 +99,34 @@ class DiaryEntryController < ApplicationController }, :order => 'created_at DESC', :per_page => 20) + elsif params[:friends] + if @user + @title = t 'diary_entry.list.title_friends' + @entry_pages, @entries = paginate(:diary_entries, :include => :user, + :conditions => { + :user_id => @user.friend_users, + :visible => true + }, + :order => 'created_at DESC', + :per_page => 20) + else + require_user + return + end + elsif params[:nearby] + if @user + @title = t 'diary_entry.list.title_nearby' + @entry_pages, @entries = paginate(:diary_entries, :include => :user, + :conditions => { + :user_id => @user.nearby, + :visible => true + }, + :order => 'created_at DESC', + :per_page => 20) + else + require_user + return + end else @title = t 'diary_entry.list.title' @entry_pages, @entries = paginate(:diary_entries, :include => :user, @@ -176,4 +205,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