WIP Store avatars as ActiveStorage attachments
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing

Also push to LDAP as jpegPhoto
This commit is contained in:
2025-05-11 18:43:21 +04:00
parent 9e2210c45b
commit 17ffbde03a
8 changed files with 80 additions and 42 deletions
+6 -3
View File
@@ -25,7 +25,7 @@ class SettingsController < ApplicationController
def update
@user.preferences.merge!(user_params[:preferences] || {})
@user.display_name = user_params[:display_name]
@user.avatar_new = user_params[:avatar]
@user.avatar_new = user_params[:avatar_new]
@user.pgp_pubkey = user_params[:pgp_pubkey]
if @user.save
@@ -34,7 +34,10 @@ class SettingsController < ApplicationController
end
if @user.avatar_new.present?
LdapManager::UpdateAvatar.call(dn: @user.dn, file: @user.avatar_new)
@user.avatar.attach(@user.avatar_new)
@user.avatar.blob.update(filename: @user.avatar_filename)
@user.save!
LdapManager::UpdateAvatar.call(user: @user)
end
if @user.pgp_pubkey && (@user.pgp_pubkey != @user.ldap_entry[:pgp_key])
@@ -162,7 +165,7 @@ class SettingsController < ApplicationController
def user_params
params.require(:user).permit(
:display_name, :avatar, :pgp_pubkey,
:display_name, :avatar_new, :pgp_pubkey,
preferences: UserPreferences.pref_keys
)
end