Skip to content
Snippets Groups Projects
Commit 736c8d12 authored by André Noack's avatar André Noack
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 290e4423
No related branches found
No related tags found
No related merge requests found
...@@ -147,16 +147,8 @@ class SemClass implements ArrayAccess ...@@ -147,16 +147,8 @@ class SemClass implements ArrayAccess
$plugin = PluginManager::getInstance()->getPlugin($module); $plugin = PluginManager::getInstance()->getPlugin($module);
if ($plugin) { if ($plugin) {
return Course::findEachBySQL(function ($course) use ($plugin) { return Course::findEachBySQL(function ($course) use ($plugin) {
if (!$course->tools->findOneby('plugin_id', $plugin->getPluginId())) { return PluginManager::getInstance()->setPluginActivated($plugin->getPluginId(), $course->id, true);
return ToolActivation::create([ },
'plugin_id' => $plugin->getPluginId(),
'range_type' => 'course',
'range_id' => $course->id
]);
} else {
return 0;
}
},
"seminare.status IN (?)", "seminare.status IN (?)",
[array_keys($this->getSemTypes())]); [array_keys($this->getSemTypes())]);
} else { } else {
...@@ -173,11 +165,7 @@ class SemClass implements ArrayAccess ...@@ -173,11 +165,7 @@ class SemClass implements ArrayAccess
$plugin = PluginManager::getInstance()->getPlugin($module); $plugin = PluginManager::getInstance()->getPlugin($module);
if ($plugin) { if ($plugin) {
return Course::findEachBySQL(function ($course) use ($plugin) { return Course::findEachBySQL(function ($course) use ($plugin) {
if ($tool = $course->tools->findOneby('plugin_id', $plugin->getPluginId())) { return PluginManager::getInstance()->setPluginActivated($plugin->getPluginId(), $course->id, false);
return $tool->delete();
} else {
return 0;
}
}, },
"seminare.status IN (?)", "seminare.status IN (?)",
[array_keys($this->getSemTypes())]); [array_keys($this->getSemTypes())]);
......
...@@ -1004,15 +1004,9 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe ...@@ -1004,15 +1004,9 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe
public function setDefaultTools() public function setDefaultTools()
{ {
$this->tools = []; $this->tools = [];
foreach (array_values($this->getSemClass()->getActivatedModuleObjects()) as $pos => $module) { foreach (array_values($this->getSemClass()->getActivatedModuleObjects()) as $module) {
$this->tools[] = ToolActivation::create( PluginManager::getInstance()->setPluginActivated($module->getPluginId(), $this->id, true);
[ $this->tools[] = ToolActivation::find([$this->id, $module->getPluginId()]);
'plugin_id' => $module->getPluginId(),
'range_type' => 'course',
'range_id' => $this->id,
'position' => $pos
]
);
} }
} }
......
...@@ -320,17 +320,11 @@ class Institute extends SimpleORMap implements Range ...@@ -320,17 +320,11 @@ class Institute extends SimpleORMap implements Range
*/ */
public function setDefaultTools() public function setDefaultTools()
{ {
$this->tools = []; $this->tools = [];
foreach (array_values($this->getSemClass()->getActivatedModuleObjects()) as $pos => $module) { foreach (array_values($this->getSemClass()->getActivatedModuleObjects()) as $module) {
$this->tools[] = ToolActivation::create( PluginManager::getInstance()->setPluginActivated($module->getPluginId(), $this->id, true);
[ $this->tools[] = ToolActivation::find([$this->id, $module->getPluginId()]);
'plugin_id' => $module->getPluginId(), }
'range_type' => 'institute',
'range_id' => $this->id,
'position' => $pos
]
);
}
} }
/** /**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment