Update user avatar in LDAP

This commit is contained in:
Râu Cao
2023-09-06 19:02:07 +02:00
parent 64d09cfb7f
commit 50c63d5c38
3 changed files with 27 additions and 4 deletions

View File

@@ -19,11 +19,17 @@ class SettingsController < ApplicationController
def update
@user.preferences.merge!(user_params[:preferences] || {})
@user.display_name = user_params[:display_name]
current_avatar_checksum = @user.avatar.attached? ? @user.avatar.blob.checksum : nil
@user.avatar = user_params[:avatar] if user_params[:avatar].present?
if @user.save
if @user.display_name && (@user.display_name != @user.ldap_entry[:display_name])
LdapManager::UpdateDisplayName.call(@user.dn, user_params[:display_name])
LdapManager::UpdateDisplayName.call(@user.dn, @user.display_name)
end
if @user.avatar.attached? &&
(@user.avatar.blob.checksum != current_avatar_checksum)
LdapManager::UpdateAvatar.call(@user.dn, @user.avatar_base64)
end
redirect_to setting_path(@settings_section), flash: {