1 # frozen_string_literal: true
3 xml.tag! "user", :id => user.id,
4 :display_name => user.display_name,
5 :account_created => user.created_at.xmlschema do
6 xml.tag! "description", user.description if user.description
7 xml.tag! "company", user.company if user.company
9 xml.tag! "social-links" do
10 user.social_links.each do |link|
12 xml.tag! "link", details[:url], :platform => details[:platform]
16 if current_user && current_user == user && can?(:details, User)
17 xml.tag! "contributor-terms", :agreed => user.terms_agreed.present?,
18 :pd => user.consider_pd
20 xml.tag! "contributor-terms", :agreed => user.terms_agreed.present?
22 xml.tag! "img", :href => user_image_url(user) if user.avatar.attached? || user.image_use_gravatar
24 user.roles.each do |role|
28 xml.tag! "changesets", :count => user.changesets.size
29 xml.tag! "traces", :count => user.traces.size
31 xml.tag! "received", :count => user.blocks.size,
32 :active => user.blocks.active.size
34 xml.tag! "issued", :count => user.blocks_created.size,
35 :active => user.blocks_created.active.size
38 if current_user && current_user == user && can?(:details, User)
39 if user.home_location?
40 xml.tag! "home", :lat => user.home_lat,
41 :lon => user.home_lon,
42 :zoom => user.home_zoom
45 xml.tag! "languages" do
46 user.languages.split(",") { |lang| xml.tag! "lang", lang }
49 xml.tag! "messages" do
50 xml.tag! "received", :count => user.messages.size,
51 :unread => user.new_messages.size
52 xml.tag! "sent", :count => user.sent_messages.size
54 xml.tag! "email", user.email if scope_enabled?(:read_email)