From 4410ce324e82510a8df84149a8a12f32a0f157df Mon Sep 17 00:00:00 2001
From: Thibault Dockx <thibault.dockx@fusiondirectory.org>
Date: Mon, 3 Feb 2025 09:52:49 +0000
Subject: [PATCH] :sparkles: Feat(supannAccount) lock mechanism on non template

Removes locking verification on template logic
---
 .../personal/supann/class_supannAccountStatus.inc | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/supann/personal/supann/class_supannAccountStatus.inc b/supann/personal/supann/class_supannAccountStatus.inc
index 453db502fe..096273e352 100644
--- a/supann/personal/supann/class_supannAccountStatus.inc
+++ b/supann/personal/supann/class_supannAccountStatus.inc
@@ -224,12 +224,15 @@ class supannAccountStatus extends simplePlugin implements UserTabLockingAction
    */
   protected function processAccountState (string $state): void
   {
-    if ($state === 'A') {
-      // Unlock account
-      userManagement::lockUser('unlock', $this->parent->getBaseObject()->userPassword, $this->dn);
-    } elseif (in_array($state, ['S', 'I'], TRUE)) {
-      // Lock account
-      userManagement::lockUser('lock', $this->parent->getBaseObject()->userPassword, $this->dn, FALSE);
+    // This should only be verified under non templating logic
+    if (!$this->is_template) {
+      if ($state === 'A') {
+        // Unlock account
+        userManagement::lockUser('unlock', $this->parent->getBaseObject()->userPassword, $this->dn);
+      } elseif (in_array($state, ['S', 'I'], TRUE)) {
+        // Lock account
+        userManagement::lockUser('lock', $this->parent->getBaseObject()->userPassword, $this->dn, FALSE);
+      }
     }
   }
 
-- 
GitLab