From 29470252a6a8f67c545f347909cc49373cb95488 Mon Sep 17 00:00:00 2001 From: Thibault Dockx <thibault.dockx@fusiondirectory.org> Date: Tue, 5 Dec 2023 16:12:59 +0000 Subject: [PATCH] :sparkles: Feat(userManagement) - adds a refresh of plugins Adds a refresh of plugins on user lock. Allowing zimbra to directly update its account status. Adds BCC --- plugins/admin/users/class_userManagement.inc | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/plugins/admin/users/class_userManagement.inc b/plugins/admin/users/class_userManagement.inc index 041dc47ae..872358618 100644 --- a/plugins/admin/users/class_userManagement.inc +++ b/plugins/admin/users/class_userManagement.inc @@ -27,11 +27,11 @@ class userManagement extends management public static $columns = [ ['ObjectTypeColumn', []], - ['LinkColumn', ['attributes' => 'sn', 'label' => 'Last name']], - ['LinkColumn', ['attributes' => 'givenName', 'label' => 'First name']], - ['Column', ['attributes' => 'uid', 'label' => 'Login']], + ['LinkColumn', ['attributes' => 'sn', 'label' => 'Last name']], + ['LinkColumn', ['attributes' => 'givenName', 'label' => 'First name']], + ['Column', ['attributes' => 'uid', 'label' => 'Login']], ['PropertiesColumn', ['label' => 'Properties']], - ['ActionsColumn', ['label' => 'Actions']], + ['ActionsColumn', ['label' => 'Actions']], ]; static function plInfo (): array @@ -93,6 +93,10 @@ class userManagement extends management // Detect the password method and try to lock/unlock. static::lockUser($action['subaction'], ($entry['userPassword'][0] ?? ''), $dn); + + // Small procedure in order to re-open the user in order to trigger plugins to update accordingly. + $userObject = objects::open($dn, 'user'); + $userObject->save(); } } @@ -105,7 +109,7 @@ class userManagement extends management static function lockUser (string $action, string $pwd, string $dn) { $method = passwordMethod::get_method($pwd, $dn); - if ($method instanceOf passwordMethod) { + if ($method instanceof passwordMethod) { if (!$method->is_lockable()) { $hn = $method->get_hash_name(); if (is_array($hn)) { -- GitLab