From 7e476d97fbeec17c87f1a3445de3842d9e5f0872 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Noack?= <noack@data-quest.de> Date: Wed, 20 Dec 2023 14:40:44 +0000 Subject: [PATCH] =?UTF-8?q?Resolve=20#3595=20"ILIAS-Schnittstelle:=20Anleg?= =?UTF-8?q?en=20von=20neuen=20Nutzern=20schl=C3=A4gt=20fehl=20mit=20Ilias?= =?UTF-8?q?=208"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #3595 Merge request studip/studip!2486 --- lib/ilias_interface/ConnectedIlias.class.php | 23 ++++++++++---------- lib/ilias_interface/IliasSoap.class.php | 4 ++-- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/lib/ilias_interface/ConnectedIlias.class.php b/lib/ilias_interface/ConnectedIlias.class.php index 4303c2e5a43..dff41c892f3 100644 --- a/lib/ilias_interface/ConnectedIlias.class.php +++ b/lib/ilias_interface/ConnectedIlias.class.php @@ -359,7 +359,6 @@ class ConnectedIlias } else { $role_id = 4; } - $this->soap_client->setCachingStatus(false); $this->soap_client->clearCache(); $user_id = $this->soap_client->addUser($user_data, $role_id); @@ -1046,17 +1045,19 @@ class ConnectedIlias */ public function checkUser() { - $user_exists = $this->soap_client->getUser($this->user->getId()); - if (!is_array($user_exists)) { - $admin_user_id = $this->soap_client->lookupUser($this->ilias_config['admin']); - $admin_user_exists = $this->soap_client->getUser($admin_user_id); - if (is_array($admin_user_exists)) { - $this->user->unsetConnection(true); - if ($this->newUser()) { - PageLayout::postSuccess(_("Neue Verknüpfung zu ILIAS-User angelegt.")); + if ($this->user->getId()) { + $user_exists = $this->soap_client->getUser($this->user->getId()); + if (!is_array($user_exists)) { + $admin_user_id = $this->soap_client->lookupUser($this->ilias_config['admin']); + $admin_user_exists = $this->soap_client->getUser($admin_user_id); + if (is_array($admin_user_exists)) { + $this->user->unsetConnection(true); + if ($this->newUser()) { + PageLayout::postSuccess(_("Neue Verknüpfung zu ILIAS-User angelegt.")); + } } - } - } else return true; + } else return true; + } return false; } diff --git a/lib/ilias_interface/IliasSoap.class.php b/lib/ilias_interface/IliasSoap.class.php index 32aadd6dd38..d5647f4d73e 100644 --- a/lib/ilias_interface/IliasSoap.class.php +++ b/lib/ilias_interface/IliasSoap.class.php @@ -1030,7 +1030,7 @@ class IliasSoap extends StudipSoapClient $update = $user_data["id"]; $usr_xml = "<Users> -<User".($update ? ' Id="'.$user_data["id"].'"' : '')." Action=".($update ? '"Update"' : '"Insert"')."> +<User ".($update ? 'Id="'.$user_data["id"].'"' : 'Id=""')." Action=".($update ? '"Update"' : '"Insert"')."> <UDFDefinitions></UDFDefinitions> <Login>".$user_data["login"]."</Login> <Password Type=\"PLAIN\">".$user_data["passwd"]."</Password> @@ -1062,7 +1062,7 @@ class IliasSoap extends StudipSoapClient 'sid' => $this->getSID(), 'folder_id' => -1, 'usr_xml' => $usr_xml, - 'conflict_role' => 1, + 'conflict_rule' => 1, 'send_account_mail' => 0 ]; $result = $this->call('importUsers', $param); -- GitLab