2659: Fix crashes when current_user is nil.
[arvados.git] / services / api / app / controllers / arvados / v1 / users_controller.rb
index 0afb4e506c765a884c086cd41bb9450452fcb2ff..224dd291561ebf02496e13136a1603347d7fa7e9 100644 (file)
@@ -104,7 +104,7 @@ class Arvados::V1::UsersController < ApplicationController
       UserNotifier.account_is_setup(@object).deliver
     end
 
-    render json: { kind: "arvados#HashList", items: @response.as_api_response(nil) }
+    send_json kind: "arvados#HashList", items: @response.as_api_response(nil)
   end
 
   # delete user agreements, vm, repository, login links; set state to inactive
@@ -137,8 +137,9 @@ class Arvados::V1::UsersController < ApplicationController
   end
 
   def apply_filters
-    if (action_name == "index") and (not @read_users.any? { |u| u.is_admin })
-      # Non-admin index returns very basic information about readable users.
+    return super if @read_users.any? &:is_admin
+    if params[:uuid] != current_user.andand.uuid
+      # Non-admin index/show returns very basic information about readable users.
       safe_attrs = ["uuid", "is_active", "email", "first_name", "last_name"]
       if @select
         @select = @select & safe_attrs