Skip to content
Snippets Groups Projects
Commit f256e30a authored by André Noack's avatar André Noack Committed by Elmar Ludwig
Browse files

Resolve #2594 "onActivation/onDeactivation wird für Plugins nicht aufgerufen...

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
parent 94b18917
No related branches found
No related tags found
No related merge requests found
......@@ -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())]);
......
......@@ -1004,15 +1004,9 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe
public function setDefaultTools()
{
$this->tools = [];
foreach (array_values($this->getSemClass()->getActivatedModuleObjects()) as $pos => $module) {
$this->tools[] = ToolActivation::create(
[
'plugin_id' => $module->getPluginId(),
'range_type' => 'course',
'range_id' => $this->id,
'position' => $pos
]
);
foreach (array_values($this->getSemClass()->getActivatedModuleObjects()) as $module) {
PluginManager::getInstance()->setPluginActivated($module->getPluginId(), $this->id, true);
$this->tools[] = ToolActivation::find([$this->id, $module->getPluginId()]);
}
}
......
......@@ -320,17 +320,11 @@ class Institute extends SimpleORMap implements Range
*/
public function setDefaultTools()
{
$this->tools = [];
foreach (array_values($this->getSemClass()->getActivatedModuleObjects()) as $pos => $module) {
$this->tools[] = ToolActivation::create(
[
'plugin_id' => $module->getPluginId(),
'range_type' => 'institute',
'range_id' => $this->id,
'position' => $pos
]
);
}
$this->tools = [];
foreach (array_values($this->getSemClass()->getActivatedModuleObjects()) as $module) {
PluginManager::getInstance()->setPluginActivated($module->getPluginId(), $this->id, true);
$this->tools[] = ToolActivation::find([$this->id, $module->getPluginId()]);
}
}
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment