openstreetmap-website/app/views/user/api_read.builder
2012-10-18 18:59:38 +01:00

46 lines
1.8 KiB
Ruby

xml.instruct! :xml, :version => "1.0"
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
else
xml.tag! "contributor-terms", :agreed => !!@this_user.terms_agreed
end
if @this_user.image.file? or @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|
xml.tag! role.role
end
end
xml.tag! "changesets", :count => @this_user.changesets.size
xml.tag! "traces", :count => @this_user.traces.size
xml.tag! "blocks" do
xml.tag! "received", :count => @this_user.blocks.size,
:active => @this_user.blocks.active.size
if @this_user.moderator?
xml.tag! "issued", :count => @this_user.blocks_created.size,
:active => @this_user.blocks_created.active.size
end
end
if @user && @user == @this_user
if @this_user.home_lat and @this_user.home_lon
xml.tag! "home", :lat => @this_user.home_lat,
:lon => @this_user.home_lon,
:zoom => @this_user.home_zoom
end
if @this_user.languages
xml.tag! "languages" do
@this_user.languages.split(",") { |lang| xml.tag! "lang", lang }
end
end
end
end
end