json.extract! observed_user, :id, :nickname, :show_realname json.phone observed_user.hidden_phone json.mail observed_user.hidden_mail json.avatar_url url_to_avatar(observed_user) user = ActiveDecorator::Decorator.instance.decorate(observed_user) json.name user.name json.authentication user.authentication_status json.professional_certification user.professional_certification_status extension = observed_user.user_extension json.gender extension&.gender json.location extension&.location json.location_city extension&.location_city json.identity extension&.identity json.technical_title extension&.technical_title json.student_id extension&.student_id json.school_id extension&.school_id json.school_name extension&.school&.name json.department_id extension&.department_id json.department_name extension&.department&.name json.base_info_completed user.profile_completed? json.all_certified user.all_certified? json.has_password user.hashed_password.present? json.open_users do json.array! user.open_users do |open_user| json.extract! open_user, :id, :en_type, :nickname end end