aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/SemClass.class.php
diff options
context:
space:
mode:
authorAndré Noack <noack@data-quest.de>2023-05-02 08:24:09 +0000
committerAndré Noack <noack@data-quest.de>2023-05-02 08:24:09 +0000
commit736c8d12156eceace76b4a53043b69edbc6e3996 (patch)
tree0b617cab219daca45ff926fe0cce7b30b93bc39e /lib/classes/SemClass.class.php
parent290e442357859b6b7a19432dd19a8704d4ec29c1 (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.php18
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())]);