diff options
| author | André Noack <noack@data-quest.de> | 2023-05-02 08:24:09 +0000 |
|---|---|---|
| committer | André Noack <noack@data-quest.de> | 2023-05-02 08:24:09 +0000 |
| commit | 736c8d12156eceace76b4a53043b69edbc6e3996 (patch) | |
| tree | 0b617cab219daca45ff926fe0cce7b30b93bc39e /lib/classes/SemClass.class.php | |
| parent | 290e442357859b6b7a19432dd19a8704d4ec29c1 (diff) | |
Resolve #2594 "onActivation/onDeactivation wird für Plugins nicht aufgerufen wenn eine neue Veranstaltung angelegt wird oder ein Plugin zwangsweise aktiviert wird"
Closes #2594
Merge request studip/studip!1750
Diffstat (limited to 'lib/classes/SemClass.class.php')
| -rw-r--r-- | lib/classes/SemClass.class.php | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/lib/classes/SemClass.class.php b/lib/classes/SemClass.class.php index 862747f..cfd7bc0 100644 --- a/lib/classes/SemClass.class.php +++ b/lib/classes/SemClass.class.php @@ -147,16 +147,8 @@ class SemClass implements ArrayAccess $plugin = PluginManager::getInstance()->getPlugin($module); if ($plugin) { return Course::findEachBySQL(function ($course) use ($plugin) { - if (!$course->tools->findOneby('plugin_id', $plugin->getPluginId())) { - return ToolActivation::create([ - 'plugin_id' => $plugin->getPluginId(), - 'range_type' => 'course', - 'range_id' => $course->id - ]); - } else { - return 0; - } - }, + return PluginManager::getInstance()->setPluginActivated($plugin->getPluginId(), $course->id, true); + }, "seminare.status IN (?)", [array_keys($this->getSemTypes())]); } else { @@ -173,11 +165,7 @@ class SemClass implements ArrayAccess $plugin = PluginManager::getInstance()->getPlugin($module); if ($plugin) { return Course::findEachBySQL(function ($course) use ($plugin) { - if ($tool = $course->tools->findOneby('plugin_id', $plugin->getPluginId())) { - return $tool->delete(); - } else { - return 0; - } + return PluginManager::getInstance()->setPluginActivated($plugin->getPluginId(), $course->id, false); }, "seminare.status IN (?)", [array_keys($this->getSemTypes())]); |
