From ff42b5e03b9ad899a8f140f55675276943e1b403 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Philipp=20Sch=C3=BCle?=
Date: Tue, 18 Feb 2025 09:47:51 +0100
Subject: [PATCH] tweak(Tinebase/User): assign default user group if no primary
group found in sync backend
---
tine20/Tinebase/User.php | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/tine20/Tinebase/User.php b/tine20/Tinebase/User.php
index 06c414b7a84..2e9e28dae1d 100644
--- a/tine20/Tinebase/User.php
+++ b/tine20/Tinebase/User.php
@@ -790,7 +790,20 @@ protected static function getPrimaryGroupForUser(Tinebase_Model_FullUser $user):
try {
$group = Tinebase_Group::getInstance()->getGroupById($user->accountPrimaryGroup);
} catch (Tinebase_Exception_Record_NotDefined $tern) {
- $group = self::_getPrimaryGroupFromSyncBackend($user);
+ try {
+ $group = self::_getPrimaryGroupFromSyncBackend($user);
+ } catch (Tinebase_Exception $te) {
+ if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
+ Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__
+ . ' ' . $te->getMessage());
+ }
+ $group = Tinebase_Group::getInstance()->getDefaultGroup();
+ if (Tinebase_Core::isLogLevel(Zend_Log::INFO)) {
+ Tinebase_Core::getLogger()->info(__METHOD__ . '::' . __LINE__
+ . ' Assign default user group: ' . $group->name);
+ }
+ $user->accountPrimaryGroup = $group;
+ }
}
return $group;
@@ -821,8 +834,10 @@ protected static function _getPrimaryGroupFromSyncBackend(Tinebase_Model_FullUse
throw new Tinebase_Exception('Group already exists but it has a different ID: ' . $group->name);
} catch (Tinebase_Exception_Record_NotDefined $tern) {
- if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__
- . " Adding group " . $group->name);
+ if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
+ Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__
+ . " Adding group " . $group->name);
+ }
$transactionId = Tinebase_TransactionManager::getInstance()
->startTransaction(Tinebase_Core::getDb());