diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb
index b736e332b..495fcee97 100644
--- a/app/controllers/changeset_controller.rb
+++ b/app/controllers/changeset_controller.rb
@@ -276,6 +276,15 @@ class ChangesetController < ApplicationController
end
end
+ if params[:nearby]
+ if @user
+ changesets = changesets.where(:user_id => @user.nearby)
+ elsif request.format == :html
+ require_user
+ return
+ end
+ end
+
if params[:bbox]
bbox = BoundingBox.from_bbox_params(params)
elsif params[:minlon] and params[:minlat] and params[:maxlon] and params[:maxlat]
@@ -295,6 +304,10 @@ class ChangesetController < ApplicationController
@title = t 'changeset.list.title_friend'
@heading = t 'changeset.list.heading_friend'
@description = t 'changeset.list.description_friend'
+ elsif params[:nearby] and @user
+ @title = t 'changeset.list.title_nearby'
+ @heading = t 'changeset.list.heading_nearby'
+ @description = t 'changeset.list.description_nearby'
elsif user and bbox
@title = t 'changeset.list.title_user_bbox', :user => user.display_name, :bbox => bbox.to_s
@heading = t 'changeset.list.heading_user_bbox', :user => user.display_name, :bbox => bbox.to_s
diff --git a/app/controllers/diary_entry_controller.rb b/app/controllers/diary_entry_controller.rb
index 0444f5a89..5e4b68b73 100644
--- a/app/controllers/diary_entry_controller.rb
+++ b/app/controllers/diary_entry_controller.rb
@@ -98,6 +98,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.public,
+ :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,
diff --git a/app/views/user/view.html.erb b/app/views/user/view.html.erb
index c13a276f7..bd3a371aa 100644
--- a/app/views/user/view.html.erb
+++ b/app/views/user/view.html.erb
@@ -118,7 +118,8 @@
<% if friends.empty? %>
<%= t 'user.view.no friends' %>
<% else %>
- <%= link_to t('user.view.friends_changesets'), {:controller => 'browse', :action => 'friends'} %>
+ <%= link_to t('user.view.friends_changesets'), {:controller => 'browse', :action => 'friends'} %>
+ <%= link_to t('user.view.friends_diaries'), {:controller => 'diary', :action => 'friends'} %>