]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/changeset_controller.rb
Add support for viewing a list of your friends' changesets
[rails.git] / app / controllers / changeset_controller.rb
index 9fc2bc320315ce06e2c31bffbc80f2c929c075aa..033d89e4e45302f08e2e5c782798f5b36447b66a 100644 (file)
@@ -266,6 +266,27 @@ class ChangesetController < ApplicationController
           return
         end
       end
+      
+      if params[:friends]
+        user = @user
+        if user
+          friend_ids = []
+                     user.friends.each do |friend|
+                       friend_user = User.find(friend.friend_user_id)
+                       if friend_user.data_public?
+                               friend_ids << friend.friend_user_id
+                               end
+                     end
+                     if friend_ids.length > 0
+                       conditions = cond_merge conditions, ['user_id in (?)', friend_ids]
+               else
+            conditions = cond_merge conditions, ['false']
+               end
+        elsif request.format == :html
+          @title = t 'user.no_such_user.title'
+          render :template => 'user/no_such_user', :status => :not_found
+        end
+      end
 
       if params[:bbox]
         bbox = BoundingBox.from_bbox_params(params)
@@ -282,7 +303,11 @@ class ChangesetController < ApplicationController
         user_link = render_to_string :partial => "user", :object => user
       end
       
-      if user and bbox
+      if params[:friends] and user
+        @title =  t 'changeset.list.title_friend'
+        @heading =  t 'changeset.list.heading_friend'
+        @description = t 'changeset.list.description_friend'
+      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
         @description = t 'changeset.list.description_user_bbox', :user => user_link, :bbox => bbox_link