Add some more social features
Add a view showing changesets by nearby users, and views showing diary entries by friends and nearby users.
This commit is contained in:
parent
f4307039dc
commit
d878db0a9b
5 changed files with 56 additions and 3 deletions
|
@ -276,6 +276,15 @@ class ChangesetController < ApplicationController
|
||||||
end
|
end
|
||||||
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]
|
if params[:bbox]
|
||||||
bbox = BoundingBox.from_bbox_params(params)
|
bbox = BoundingBox.from_bbox_params(params)
|
||||||
elsif params[:minlon] and params[:minlat] and params[:maxlon] and params[:maxlat]
|
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'
|
@title = t 'changeset.list.title_friend'
|
||||||
@heading = t 'changeset.list.heading_friend'
|
@heading = t 'changeset.list.heading_friend'
|
||||||
@description = t 'changeset.list.description_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
|
elsif user and bbox
|
||||||
@title = t 'changeset.list.title_user_bbox', :user => user.display_name, :bbox => bbox.to_s
|
@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
|
@heading = t 'changeset.list.heading_user_bbox', :user => user.display_name, :bbox => bbox.to_s
|
||||||
|
|
|
@ -98,6 +98,34 @@ class DiaryEntryController < ApplicationController
|
||||||
},
|
},
|
||||||
:order => 'created_at DESC',
|
:order => 'created_at DESC',
|
||||||
:per_page => 20)
|
: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
|
else
|
||||||
@title = t 'diary_entry.list.title'
|
@title = t 'diary_entry.list.title'
|
||||||
@entry_pages, @entries = paginate(:diary_entries, :include => :user,
|
@entry_pages, @entries = paginate(:diary_entries, :include => :user,
|
||||||
|
|
|
@ -118,7 +118,8 @@
|
||||||
<% if friends.empty? %>
|
<% if friends.empty? %>
|
||||||
<%= t 'user.view.no friends' %>
|
<%= t 'user.view.no friends' %>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= link_to t('user.view.friends_changesets'), {:controller => 'browse', :action => 'friends'} %><br/><br/>
|
<%= link_to t('user.view.friends_changesets'), {:controller => 'browse', :action => 'friends'} %><br/>
|
||||||
|
<%= link_to t('user.view.friends_diaries'), {:controller => 'diary', :action => 'friends'} %><br/><br/>
|
||||||
<table id="friends">
|
<table id="friends">
|
||||||
<%= render :partial => "contact", :collection => friends %>
|
<%= render :partial => "contact", :collection => friends %>
|
||||||
</table>
|
</table>
|
||||||
|
@ -129,6 +130,8 @@
|
||||||
<% if nearby.empty? %>
|
<% if nearby.empty? %>
|
||||||
<%= t 'user.view.no nearby users' %>
|
<%= t 'user.view.no nearby users' %>
|
||||||
<% else %>
|
<% else %>
|
||||||
|
<%= link_to t('user.view.nearby_changesets'), {:controller => 'browse', :action => 'nearby'} %><br/>
|
||||||
|
<%= link_to t('user.view.nearby_diaries'), {:controller => 'diary', :action => 'nearby'} %><br/><br/>
|
||||||
<table id="nearbyusers">
|
<table id="nearbyusers">
|
||||||
<%= render :partial => "contact", :collection => nearby %>
|
<%= render :partial => "contact", :collection => nearby %>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -308,18 +308,19 @@ en:
|
||||||
title_bbox: "Changesets within %{bbox}"
|
title_bbox: "Changesets within %{bbox}"
|
||||||
title_user_bbox: "Changesets by %{user} within %{bbox}"
|
title_user_bbox: "Changesets by %{user} within %{bbox}"
|
||||||
title_friend: "Changesets by your friends"
|
title_friend: "Changesets by your friends"
|
||||||
|
title_nearby: "Changesets by nearby users"
|
||||||
heading: "Changesets"
|
heading: "Changesets"
|
||||||
heading_user: "Changesets"
|
heading_user: "Changesets"
|
||||||
heading_bbox: "Changesets"
|
heading_bbox: "Changesets"
|
||||||
heading_user_bbox: "Changesets"
|
heading_user_bbox: "Changesets"
|
||||||
heading_friend: "Changesets"
|
heading_friend: "Changesets"
|
||||||
|
heading_nearby: "Changesets"
|
||||||
description: "Recent changes"
|
description: "Recent changes"
|
||||||
description_user: "Changesets by %{user}"
|
description_user: "Changesets by %{user}"
|
||||||
description_bbox: "Changesets within %{bbox}"
|
description_bbox: "Changesets within %{bbox}"
|
||||||
description_user_bbox: "Changesets by %{user} within %{bbox}"
|
description_user_bbox: "Changesets by %{user} within %{bbox}"
|
||||||
description_friend: "Changesets by your friends"
|
description_friend: "Changesets by your friends"
|
||||||
|
description_nearby: "Changesets by nearby users"
|
||||||
timeout:
|
timeout:
|
||||||
sorry: "Sorry, the list of changesets you requested took too long to retrieve."
|
sorry: "Sorry, the list of changesets you requested took too long to retrieve."
|
||||||
diary_entry:
|
diary_entry:
|
||||||
|
@ -327,6 +328,8 @@ en:
|
||||||
title: New Diary Entry
|
title: New Diary Entry
|
||||||
list:
|
list:
|
||||||
title: "Users' diaries"
|
title: "Users' diaries"
|
||||||
|
title_friends: "Friends' diaries"
|
||||||
|
title_nearby: "Nearby Users' diaries"
|
||||||
user_title: "%{user}'s diary"
|
user_title: "%{user}'s diary"
|
||||||
in_language_title: "Diary Entries in %{language}"
|
in_language_title: "Diary Entries in %{language}"
|
||||||
new: New Diary Entry
|
new: New Diary Entry
|
||||||
|
@ -1697,6 +1700,9 @@ en:
|
||||||
delete_user: "delete this user"
|
delete_user: "delete this user"
|
||||||
confirm: "Confirm"
|
confirm: "Confirm"
|
||||||
friends_changesets: "Browse all changesets by friends"
|
friends_changesets: "Browse all changesets by friends"
|
||||||
|
friends_diaries: "Browse all diary entries by friends"
|
||||||
|
nearby_changesets: "Browse all changesets by nearby users"
|
||||||
|
nearby_diaries: "Browse all diary entries by nearby users"
|
||||||
popup:
|
popup:
|
||||||
your location: "Your location"
|
your location: "Your location"
|
||||||
nearby mapper: "Nearby mapper"
|
nearby mapper: "Nearby mapper"
|
||||||
|
|
|
@ -87,6 +87,7 @@ OpenStreetMap::Application.routes.draw do
|
||||||
match '/user/:display_name/edits' => 'changeset#list'
|
match '/user/:display_name/edits' => 'changeset#list'
|
||||||
match '/user/:display_name/edits/feed' => 'changeset#feed', :format => :atom
|
match '/user/:display_name/edits/feed' => 'changeset#feed', :format => :atom
|
||||||
match '/browse/friends' => 'changeset#list', :friends => true
|
match '/browse/friends' => 'changeset#list', :friends => true
|
||||||
|
match '/browse/nearby' => 'changeset#list', :nearby => true
|
||||||
match '/browse/changesets' => 'changeset#list'
|
match '/browse/changesets' => 'changeset#list'
|
||||||
match '/browse/changesets/feed' => 'changeset#feed', :format => :atom
|
match '/browse/changesets/feed' => 'changeset#feed', :format => :atom
|
||||||
match '/browse' => 'changeset#list'
|
match '/browse' => 'changeset#list'
|
||||||
|
@ -154,6 +155,8 @@ OpenStreetMap::Application.routes.draw do
|
||||||
|
|
||||||
# diary pages
|
# diary pages
|
||||||
match '/diary/new' => 'diary_entry#new'
|
match '/diary/new' => 'diary_entry#new'
|
||||||
|
match '/diary/friends' => 'diary_entry#list', :friends => true
|
||||||
|
match '/diary/nearby' => 'diary_entry#list', :nearby => true
|
||||||
match '/user/:display_name/diary/rss' => 'diary_entry#rss', :format => :rss
|
match '/user/:display_name/diary/rss' => 'diary_entry#rss', :format => :rss
|
||||||
match '/diary/:language/rss' => 'diary_entry#rss', :format => :rss
|
match '/diary/:language/rss' => 'diary_entry#rss', :format => :rss
|
||||||
match '/diary/rss' => 'diary_entry#rss', :format => :rss
|
match '/diary/rss' => 'diary_entry#rss', :format => :rss
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue