diff --git a/app/controllers/settings_controller.rb b/app/controllers/settings_controller.rb index 3bf05ae..57691ad 100644 --- a/app/controllers/settings_controller.rb +++ b/app/controllers/settings_controller.rb @@ -35,8 +35,7 @@ class SettingsController < ApplicationController if @user.avatar_new.present? if store_user_avatar - LdapManager::UpdateAvatar.call(user: @user) - XmppSetAvatarJob.perform_later(user: @user) if Setting.ejabberd_enabled? + UserManager::UpdateAvatar.call(user: @user) else @validation_errors = @user.errors render :show, status: :unprocessable_entity and return diff --git a/app/services/user_manager/import_remote_avatar.rb b/app/services/user_manager/import_remote_avatar.rb index 64ca436..eb6e744 100644 --- a/app/services/user_manager/import_remote_avatar.rb +++ b/app/services/user_manager/import_remote_avatar.rb @@ -7,8 +7,7 @@ module UserManager def call if import_remote_avatar - LdapManager::UpdateAvatar.call(user: @user) - XmppSetAvatarJob.perform_later(user: @user) if Setting.ejabberd_enabled? + UserManager::UpdateAvatar.call(user: @user) end end diff --git a/app/services/user_manager/update_avatar.rb b/app/services/user_manager/update_avatar.rb new file mode 100644 index 0000000..d03f37b --- /dev/null +++ b/app/services/user_manager/update_avatar.rb @@ -0,0 +1,15 @@ +module UserManager + class UpdateAvatar < UserManagerService + def initialize(user:) + @user = user + end + + def call + LdapManager::UpdateAvatar.call(user: @user) + + if Setting.ejabberd_enabled? + XmppSetAvatarJob.perform_later(user: @user) + end + end + end +end