]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/user/api_read.builder
Make sure we show errors correctly when resetting a password
[rails.git] / app / views / user / api_read.builder
index db7bcc2b7bf98953f2326d9f810db6f5a552ee1a..0e8bfa5eff34f1e5358fb75ceab8c6e36cf16558 100644 (file)
@@ -3,17 +3,15 @@ xml.osm("version" => API_VERSION, "generator" => GENERATOR) do
   xml.tag! "user", :id => @this_user.id,
                    :display_name => @this_user.display_name,
                    :account_created => @this_user.creation_time.xmlschema do
-    if @this_user.description
-      xml.tag! "description", @this_user.description
-    end
-    if @user && @user == @this_user
-      xml.tag! "contributor-terms", :agreed => !!@this_user.terms_agreed,
-                                    :pd => !!@this_user.consider_pd
+    xml.tag! "description", @this_user.description if @this_user.description
+    if current_user && current_user == @this_user
+      xml.tag! "contributor-terms", :agreed => @this_user.terms_agreed.present?,
+                                    :pd => @this_user.consider_pd
     else
-      xml.tag! "contributor-terms", :agreed => !!@this_user.terms_agreed
+      xml.tag! "contributor-terms", :agreed => @this_user.terms_agreed.present?
     end
-    if @this_user.image.file?
-      xml.tag! "img", :href => "http://#{SERVER_URL}#{@this_user.image.url}"
+    if @this_user.image.file? || @this_user.image_use_gravatar
+      xml.tag! "img", :href => user_image_url(@this_user, :size => 256)
     end
     xml.tag! "roles" do
       @this_user.roles.each do |role|
@@ -30,17 +28,22 @@ xml.osm("version" => API_VERSION, "generator" => GENERATOR) do
                            :active => @this_user.blocks_created.active.size
       end
     end
-    if @user && @user == @this_user
-      if @this_user.home_lat and @this_user.home_lon
+    if current_user && current_user == @this_user
+      if @this_user.home_lat && @this_user.home_lon
         xml.tag! "home", :lat => @this_user.home_lat,
                          :lon => @this_user.home_lon,
                          :zoom => @this_user.home_zoom
-      end    
+      end
       if @this_user.languages
         xml.tag! "languages" do
           @this_user.languages.split(",") { |lang| xml.tag! "lang", lang }
         end
       end
+      xml.tag! "messages" do
+        xml.tag! "received", :count => @this_user.messages.size,
+                             :unread => @this_user.new_messages.size
+        xml.tag! "sent", :count => @this_user.sent_messages.size
+      end
     end
   end
 end