Skip to content
Snippets Groups Projects
Commit 51f44ced authored by Jan-Hendrik Willms's avatar Jan-Hendrik Willms
Browse files

fixes #4026

Closes #4026

Merge request studip/studip!2881
parent 40d435ff
No related branches found
No related tags found
No related merge requests found
<li class="sem-tree-assigned-<?= $element['id'] ?>"> <li class="sem-tree-assigned-<?= $element['id'] ?>">
<?= htmlReady($element['name']) ?> <?= htmlReady($element['name']) ?>
<?php if (!$values['locked'] && $element['assignable'] && in_array($element['id'], $studyareas ?: [])) : ?> <?php if (empty($values['locked']) && $element['assignable'] && in_array($element['id'], $studyareas ?: [])) : ?>
<?= Icon::create('trash', 'clickable')->asInput(["name" => 'unassign['.$element['id'].']', "onclick" => "return STUDIP.CourseWizard.unassignNode('".$element['id']."')"]) ?> <?= Icon::create('trash')->asInput(["name" => 'unassign['.$element['id'].']', "onclick" => "return STUDIP.CourseWizard.unassignNode('".$element['id']."')"]) ?>
<input type="hidden" name="studyareas[]" value="<?= $element['id'] ?>"/> <input type="hidden" name="studyareas[]" value="<?= htmlReady($element['id']) ?>"/>
<?php endif ?> <?php endif ?>
<ul> <ul>
<?php foreach ($element['children'] as $c) : ?> <?php foreach ($element['children'] as $c) : ?>
<?= $this->render_partial('studyareas/_assigned_node', ['element' => $c]) ?> <?= $this->render_partial('studyareas/_assigned_node', ['element' => $c]) ?>
<?php endforeach ?> <?php endforeach ?>
</ul> </ul>
</li> </li>
\ No newline at end of file
...@@ -232,7 +232,7 @@ class Lvgruppe extends ModuleManagementModelTreeItem ...@@ -232,7 +232,7 @@ class Lvgruppe extends ModuleManagementModelTreeItem
* *
* @param string $term The search term. * @param string $term The search term.
* @param array|string $filter An array with filter options or a where part. * @param array|string $filter An array with filter options or a where part.
* @return object A SimpleORMapCollection of LV-Gruppen. * @return SimpleORMapCollection A SimpleORMapCollection of LV-Gruppen.
*/ */
public static function findBySearchTerm($term, $filter = null) public static function findBySearchTerm($term, $filter = null)
{ {
...@@ -271,7 +271,7 @@ class Lvgruppe extends ModuleManagementModelTreeItem ...@@ -271,7 +271,7 @@ class Lvgruppe extends ModuleManagementModelTreeItem
* Retrieves all LV-Gruppen related to the Modulteil with given id. * Retrieves all LV-Gruppen related to the Modulteil with given id.
* *
* @param string $modulteil_id The id of a Modulteil. * @param string $modulteil_id The id of a Modulteil.
* @return object A SimpleORMapCollection of LV-Gruppen. * @return SimpleORMapCollection A SimpleORMapCollection of LV-Gruppen.
*/ */
public static function findByModulteil($modulteil_id) public static function findByModulteil($modulteil_id)
{ {
...@@ -286,7 +286,7 @@ class Lvgruppe extends ModuleManagementModelTreeItem ...@@ -286,7 +286,7 @@ class Lvgruppe extends ModuleManagementModelTreeItem
* Retrieves all LV-Gruppen related to the course with given id. * Retrieves all LV-Gruppen related to the course with given id.
* *
* @param string $seminar_id The id of a course. * @param string $seminar_id The id of a course.
* @return object A SimpleORMapCollection of LV-Gruppen. * @return SimpleORMapCollection A SimpleORMapCollection of LV-Gruppen.
*/ */
public static function findBySeminar($seminar_id) public static function findBySeminar($seminar_id)
{ {
...@@ -339,7 +339,7 @@ class Lvgruppe extends ModuleManagementModelTreeItem ...@@ -339,7 +339,7 @@ class Lvgruppe extends ModuleManagementModelTreeItem
/** /**
* Assigns the given course to the given LvGruppen. * Assigns the given course to the given LvGruppen.
* *
* @param array Array of ids * @param string $seminar_id Array of ids
* @return int The number of assigned LvGruppen. * @return int The number of assigned LvGruppen.
*/ */
public static function setLvgruppen($seminar_id, $lvgruppen_ids) public static function setLvgruppen($seminar_id, $lvgruppen_ids)
...@@ -347,9 +347,13 @@ class Lvgruppe extends ModuleManagementModelTreeItem ...@@ -347,9 +347,13 @@ class Lvgruppe extends ModuleManagementModelTreeItem
$old = Lvgruppe::findBySeminar($seminar_id); $old = Lvgruppe::findBySeminar($seminar_id);
$removed = array_diff($old->pluck('id'), $lvgruppen_ids); $removed = array_diff($old->pluck('id'), $lvgruppen_ids);
$added = array_diff($lvgruppen_ids, $old->pluck('id')); $added = array_diff($lvgruppen_ids, $old->pluck('id'));
$count_removed = 0;
foreach ($removed as $one) { foreach ($removed as $one) {
$count_removed += $old->findOneBy('id', $one)->removeSeminar($seminar_id); $count_removed += $old->findOneBy('id', $one)->removeSeminar($seminar_id);
} }
$count_added = 0;
foreach ($added as $one) { foreach ($added as $one) {
$count_added += Lvgruppe::get($one)->addSeminar($seminar_id); $count_added += Lvgruppe::get($one)->addSeminar($seminar_id);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment