X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ff3686b372cd598ee990acd990af2b04daf91ada..f8991d36180bf9c2c261dee519b0c878306a35d5:/services/api/app/controllers/arvados/v1/users_controller.rb diff --git a/services/api/app/controllers/arvados/v1/users_controller.rb b/services/api/app/controllers/arvados/v1/users_controller.rb index 781bd882e7..50ee3b0547 100644 --- a/services/api/app/controllers/arvados/v1/users_controller.rb +++ b/services/api/app/controllers/arvados/v1/users_controller.rb @@ -1,4 +1,6 @@ class Arvados::V1::UsersController < ApplicationController + accept_attribute_as_json :prefs, Hash + skip_before_filter :find_object_by_uuid, only: [:activate, :current, :system, :setup] skip_before_filter :render_404_if_no_object, only: @@ -116,8 +118,36 @@ class Arvados::V1::UsersController < ApplicationController def self._setup_requires_parameters { - send_notification_email: { type: 'boolean', required: true }, + user: { + type: 'object', required: false + }, + openid_prefix: { + type: 'string', required: false + }, + repo_name: { + type: 'string', required: false + }, + vm_uuid: { + type: 'string', required: false + }, + send_notification_email: { + type: 'boolean', required: false, default: false + }, } end + def apply_filters + 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 + else + @select = safe_attrs + end + @filters += [['is_active', '=', true]] + end + super + end end