From f0846308daf0997d1f54aa4933fb78b302bba978 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A2u=20Cao?= Date: Sat, 17 May 2025 17:55:14 +0400 Subject: [PATCH] Only update other avatars in one place Prevent future mistakes --- app/controllers/settings_controller.rb | 3 +-- app/services/user_manager/import_remote_avatar.rb | 3 +-- app/services/user_manager/update_avatar.rb | 15 +++++++++++++++ 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 app/services/user_manager/update_avatar.rb 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