@@ -62,12 +62,32 @@ def show
62
62
user = User . find_by! ( id : params [ :id ] ) unless params [ :id ] == 'current'
63
63
authorize! :read , user
64
64
65
- present (
65
+ data = {
66
66
id : user . id ,
67
67
username : user . login ,
68
68
email : user . email ,
69
69
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
71
91
end
72
92
73
93
def create
@@ -91,7 +111,7 @@ def create
91
111
}
92
112
else
93
113
errors = @user . errors
94
- errors [ :username ] = errors . delete ( :login ) if errors . has_key ?( :login )
114
+ errors [ :username ] = errors . delete ( :login ) if errors . key ?( :login )
95
115
render json : {
96
116
success : false ,
97
117
errors : @user . errors
@@ -104,7 +124,7 @@ def create
104
124
def set_email
105
125
user_params = params [ :user ]
106
126
107
- return if ! @user . new_record?
127
+ return unless @user . new_record?
108
128
109
129
if user_params [ :email ] . blank?
110
130
@user . errors . add ( :email , 'needed' )
@@ -141,7 +161,7 @@ def set_extra_data
141
161
extra_fields = params [ 'user' ] [ 'extra_fields' ]
142
162
return if extra_fields . nil?
143
163
namespace = extra_fields [ 'namespace' ]
144
- raise " Namespace not defined" unless namespace
164
+ raise ' Namespace not defined' unless namespace
145
165
extra_fields [ 'data' ] . each do |key , value |
146
166
@user . user_app_data . new ( namespace : namespace , field_name : key , value : value )
147
167
end
0 commit comments