From 2a697c4ba43f5521c2c5348f25cb3254894ce91a Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Thu, 23 Mar 2023 14:33:04 +0000 Subject: [PATCH] fix responsible institute assignment for modules, fixes #2434 Closes #2434 Merge request studip/studip!1625 --- lib/models/Modul.php | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/lib/models/Modul.php b/lib/models/Modul.php index a3d7d9c31a5..80e2753854e 100644 --- a/lib/models/Modul.php +++ b/lib/models/Modul.php @@ -397,15 +397,21 @@ class Modul extends ModuleManagementModelTreeItem if (!$institute) { return false; } - if ($this->responsible_institute && $this->responsible_institute->institut_id != $institut_id) { - $this->responsible_institute && $this->responsible_institute->delete(); - $resp_institute = new ModulInst(); - $resp_institute->institut_id = $institute->id; - $resp_institute->modul_id = $this->id; - $resp_institute->gruppe = 'hauptverantwortlich'; - $this->responsible_institute = $resp_institute; + + if (!$this->responsible_institute || $this->responsible_institute->institut_id !== $institut_id) { + if ($this->responsible_institute) { + $this->responsible_institute->delete(); + } + + $this->responsible_institute = ModulInst::build([ + 'institut_id' => $institute->id, + 'modul_id' => $this->id, + 'gruppe' => 'hauptverantwortlich', + ]); } + $this->assigned_institutes->unsetBy('institut_id', $institute->id); + return true; } -- GitLab