From 7e9c479f7de77702622631cff2628a9c8dcbc627 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 19 Nov 2020 08:27:35 +0000 Subject: Add latest changes from gitlab-org/gitlab@13-6-stable-ee --- app/services/users/approve_service.rb | 8 ++++++++ app/services/users/set_status_service.rb | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'app/services/users') diff --git a/app/services/users/approve_service.rb b/app/services/users/approve_service.rb index 228cfbd6947..27668e9430e 100644 --- a/app/services/users/approve_service.rb +++ b/app/services/users/approve_service.rb @@ -15,7 +15,9 @@ module Users # Please see Devise's implementation of `resend_confirmation_instructions` for detail. user.resend_confirmation_instructions user.accept_pending_invitations! if user.active_for_authentication? + DeviseMailer.user_admin_approval(user).deliver_later + after_approve_hook(user) success else error(user.errors.full_messages.uniq.join('. ')) @@ -26,6 +28,10 @@ module Users attr_reader :current_user + def after_approve_hook(user) + # overridden by EE module + end + def allowed? can?(current_user, :approve_user) end @@ -35,3 +41,5 @@ module Users end end end + +Users::ApproveService.prepend_if_ee('EE::Users::ApproveService') diff --git a/app/services/users/set_status_service.rb b/app/services/users/set_status_service.rb index 89008368d5f..356c8782af1 100644 --- a/app/services/users/set_status_service.rb +++ b/app/services/users/set_status_service.rb @@ -14,7 +14,7 @@ module Users def execute return false unless can?(current_user, :update_user_status, target_user) - if params[:emoji].present? || params[:message].present? + if params[:emoji].present? || params[:message].present? || params[:availability].present? set_status else remove_status @@ -25,6 +25,9 @@ module Users def set_status params[:emoji] = UserStatus::DEFAULT_EMOJI if params[:emoji].blank? + params.delete(:availability) if params[:availability].blank? + return false if params[:availability].present? && UserStatus.availabilities.keys.exclude?(params[:availability]) + user_status.update(params) end -- cgit v1.2.1