X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7407f41105f8000bb3908d41a31daaf3a30d9440..bd855b0c92549d5cdcabc7a312166e4a6b556697:/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 867b9a6e6a..f4d42edf6c 100644 --- a/services/api/app/controllers/arvados/v1/users_controller.rb +++ b/services/api/app/controllers/arvados/v1/users_controller.rb @@ -22,7 +22,15 @@ class Arvados::V1::UsersController < ApplicationController rescue ActiveRecord::RecordNotUnique retry end - u.update_attributes!(nullify_attrs(attrs)) + needupdate = {} + nullify_attrs(attrs).each do |k,v| + if !v.nil? && u.send(k) != v + needupdate[k] = v + end + end + if needupdate.length > 0 + u.update_attributes!(needupdate) + end @objects << u end @offset = 0 @@ -124,16 +132,8 @@ class Arvados::V1::UsersController < ApplicationController end @response = @object.setup(repo_name: full_repo_name, - vm_uuid: params[:vm_uuid]) - - # setup succeeded. send email to user - if params[:send_notification_email] - begin - UserNotifier.account_is_setup(@object).deliver_now - rescue => e - logger.warn "Failed to send email to #{@object.email}: #{e}" - end - end + vm_uuid: params[:vm_uuid], + send_notification_email: params[:send_notification_email]) send_json kind: "arvados#HashList", items: @response.as_api_response(nil) end @@ -222,7 +222,7 @@ class Arvados::V1::UsersController < ApplicationController type: 'string', required: false, }, redirect_to_new_user: { - type: 'boolean', required: false, + type: 'boolean', required: false, default: false, }, old_user_uuid: { type: 'string', required: false, @@ -236,19 +236,19 @@ class Arvados::V1::UsersController < ApplicationController def self._setup_requires_parameters { uuid: { - type: 'string', required: false + type: 'string', required: false, }, user: { - type: 'object', required: false + type: 'object', required: false, }, repo_name: { - type: 'string', required: false + type: 'string', required: false, }, vm_uuid: { - type: 'string', required: false + type: 'string', required: false, }, send_notification_email: { - type: 'boolean', required: false, default: false + type: 'boolean', required: false, default: false, }, } end @@ -256,7 +256,7 @@ class Arvados::V1::UsersController < ApplicationController def self._update_requires_parameters super.merge({ bypass_federation: { - type: 'boolean', required: false, + type: 'boolean', required: false, default: false, }, }) end