json.user do json.id user.id json.display_name user.display_name json.account_created user.creation_time.xmlschema json.description user.description if user.description if current_user && current_user == user json.contributor_terms do json.agreed user.terms_agreed.present? json.pd user.consider_pd end else json.contributor_terms do json.agreed user.terms_agreed.present? end end json.img do json.href user_image_url(user) if user.avatar.attached? || user.image_use_gravatar end json.roles do json.array! user.roles.map(&:role) end json.changesets do json.count user.changesets.size end json.traces do json.count user.traces.size end json.blocks do json.received do json.count user.blocks.size json.active user.blocks.active.size end if user.moderator? json.issued do json.count user.blocks_created.size json.active user.blocks_created.active.size end end end if current_user && current_user == user if user.home_lat && user.home_lon json.home do json.lat user.home_lat json.lon user.home_lon json.zoom user.home_zoom end end if user.languages json.languages do json.array! user.languages.split(",") end end json.messages do json.received do json.count user.messages.size json.unread user.new_messages.size end json.sent do json.count user.sent_messages.size end end end end