@@ -62,12 +62,32 @@ def show
6262 user = User . find_by! ( id : params [ :id ] ) unless params [ :id ] == 'current'
6363 authorize! :read , user
6464
65- present (
65+ data = {
6666 id : user . id ,
6767 username : user . login ,
6868 email : user . email ,
6969 administrator : user . administrator
70- )
70+ }
71+
72+ if params [ :show_user_fields ]
73+ user_field = { }
74+ UserField . all . select { |f | f . visible_to? ( current_user ) } . each do |field |
75+ value_record = @user . field_value_record ( field )
76+ value = value_record . ruby_value
77+ user_field [ field ] = value
78+ end
79+ data [ :user_field ] = user_field
80+ end
81+
82+ if params [ :extra_fields ]
83+ extra_fields = { }
84+ namespace = params [ :extra_fields ]
85+ UserAppDatum . where ( namespace : namespace , user : user ) . each do |datum |
86+ extra_fields [ datum . field_name ] = datum . value
87+ end
88+ data [ :extra_fields ] = extra_fields
89+ end
90+ render json : data
7191 end
7292
7393 def create
@@ -91,7 +111,7 @@ def create
91111 }
92112 else
93113 errors = @user . errors
94- errors [ :username ] = errors . delete ( :login ) if errors . has_key ?( :login )
114+ errors [ :username ] = errors . delete ( :login ) if errors . key ?( :login )
95115 render json : {
96116 success : false ,
97117 errors : @user . errors
@@ -104,7 +124,7 @@ def create
104124 def set_email
105125 user_params = params [ :user ]
106126
107- return if ! @user . new_record?
127+ return unless @user . new_record?
108128
109129 if user_params [ :email ] . blank?
110130 @user . errors . add ( :email , 'needed' )
@@ -141,7 +161,7 @@ def set_extra_data
141161 extra_fields = params [ 'user' ] [ 'extra_fields' ]
142162 return if extra_fields . nil?
143163 namespace = extra_fields [ 'namespace' ]
144- raise " Namespace not defined" unless namespace
164+ raise ' Namespace not defined' unless namespace
145165 extra_fields [ 'data' ] . each do |key , value |
146166 @user . user_app_data . new ( namespace : namespace , field_name : key , value : value )
147167 end
0 commit comments