aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/controllers/course/details.php51
-rw-r--r--app/controllers/lvgruppen/lvgruppen.php4
-rw-r--r--app/controllers/search/module.php11
-rw-r--r--app/controllers/search/studiengaenge.php10
-rw-r--r--app/controllers/studiengaenge/shared_version.php3
-rw-r--r--app/controllers/studiengaenge/versionen.php1
-rw-r--r--app/views/course/details/index.php10
-rw-r--r--app/views/lvgruppen/lvgruppen/export_xls.php5
-rw-r--r--app/views/lvgruppen/lvgruppen/trails_table_lvgruppe.php5
-rw-r--r--app/views/search/studiengaenge/verlauf.php1
-rw-r--r--app/views/shared/modul/_modullvs.php2
-rw-r--r--app/views/shared/modul/description.php2
-rw-r--r--app/views/shared/modul/overview.php2
-rw-r--r--app/views/shared/mvv_tree.php6
-rw-r--r--lib/classes/coursewizardsteps/LVGroupsWizardStep.php4
-rw-r--r--lib/models/DatafieldEntryModel.php7
-rw-r--r--lib/models/ModuleManagementModelTreeItem.php24
-rw-r--r--lib/models/Modulteil.php8
-rw-r--r--lib/models/StgteilabschnittModul.php3
19 files changed, 90 insertions, 69 deletions
diff --git a/app/controllers/course/details.php b/app/controllers/course/details.php
index 969c34d..2d90e27 100644
--- a/app/controllers/course/details.php
+++ b/app/controllers/course/details.php
@@ -107,8 +107,8 @@ class Course_DetailsController extends AuthenticatedController
if (!$GLOBALS['MVV_MODUL']['STATUS']['values'][$modul->stat]['public']) {
return false;
}
- $modul_start = Semester::find($modul->start)->beginn ?: 0;
- $modul_end = $modul->end ? Semester::find($modul->end)->ende : PHP_INT_MAX;
+ $modul_start = $modul->start_semester->beginn ?? 0;
+ $modul_end = $modul->end_semester->ende ?? PHP_INT_MAX;
return ($modul_start <= $course_end && $modul_end >= $course_start);
});
@@ -118,49 +118,56 @@ class Course_DetailsController extends AuthenticatedController
});
$trail_classes = ['Modulteil', 'StgteilabschnittModul', 'StgteilAbschnitt', 'StgteilVersion'];
- $mvv_object_pathes = MvvCourse::get($this->course->getId())->getTrails($trail_classes);
- if ($mvv_object_pathes) {
+ $mvv_object_paths = MvvCourse::get($this->course->getId())->getTrails($trail_classes);
+ if ($mvv_object_paths) {
if (Config::get()->COURSE_SEM_TREE_DISPLAY) {
$this->mvv_tree = [];
- foreach ($mvv_object_pathes as $mvv_object_path) {
- // show only complete pathes
- if (count($mvv_object_path) == 4) {
- // flatten the pathes to a linked list
- $stg = reset($mvv_object_path);
+ foreach ($mvv_object_paths as $mvv_object_path) {
+ // show only complete paths
+ if (count($mvv_object_path) === 4) {
+ $mvv_object_path['StgteilabschnittModul']->modul->setReplaceDfAbschnitt($mvv_object_path['StgteilAbschnitt']);
+ $mvv_object_path['Modulteil']->setReplaceDfAbschnitt($mvv_object_path['StgteilAbschnitt']);
+ // flatten the paths to a linked list
$parent_id = 'root';
foreach ($mvv_object_path as $mvv_object) {
+ $tree_id = $mvv_object->id;
$mvv_object_id = $mvv_object instanceof StgteilabschnittModul
? $mvv_object->modul_id
: $mvv_object->id;
- $this->mvv_tree[$parent_id][$mvv_object_id] =
- ['id' => $mvv_object_id,
- 'name' => $mvv_object->getDisplayName(),
- 'class' => get_class($mvv_object)];
- $parent_id = $mvv_object_id;
+ $this->mvv_tree[$parent_id][$tree_id] =
+ [
+ 'id' => $mvv_object_id,
+ 'name' => $mvv_object->getDisplayName(),
+ 'class' => get_class($mvv_object),
+ 'tree_id' => $tree_id,
+ ];
+ $parent_id = $tree_id;
}
}
}
if (count($this->mvv_tree)) {
// add the root node
$this->mvv_tree['start'][] = [
- 'id' => 'root',
- 'name' => Config::get()->UNI_NAME_CLEAN,
- 'class' => ''
+ 'id' => 'root',
+ 'name' => Config::get()->UNI_NAME_CLEAN,
+ 'class' => '',
+ 'tree_id' => 'root'
];
}
} else {
- foreach ($mvv_object_pathes as $mvv_object_path) {
- // show only complete pathes
- if (count($mvv_object_path) == 4) {
+ foreach ($mvv_object_paths as $mvv_object_path) {
+ // show only complete paths
+ if (count($mvv_object_path) === 4) {
$mvv_object_names = [];
- $modul_id = '';
+ $mvv_object_path['StgteilabschnittModul']->modul->setReplaceDfAbschnitt($mvv_object_path['StgteilAbschnitt']);
+ $mvv_object_path['Modulteil']->setReplaceDfAbschnitt($mvv_object_path['StgteilAbschnitt']);
foreach ($mvv_object_path as $mvv_object) {
if ($mvv_object instanceof StgteilabschnittModul) {
$modul_id = $mvv_object->modul_id;
}
$mvv_object_names[] = $mvv_object->getDisplayName();
}
- $this->mvv_pathes[] = [$modul_id => $mvv_object_names];
+ $this->mvv_paths[] = [$modul_id => $mvv_object_names];
}
}
}
diff --git a/app/controllers/lvgruppen/lvgruppen.php b/app/controllers/lvgruppen/lvgruppen.php
index ae12161..95fc6c0 100644
--- a/app/controllers/lvgruppen/lvgruppen.php
+++ b/app/controllers/lvgruppen/lvgruppen.php
@@ -176,7 +176,7 @@ class Lvgruppen_LvgruppenController extends MVVController
$this->trail_classes = [
'Modulteil',
- 'Modul',
+ 'StgteilabschnittModul',
'StgteilAbschnitt',
'StgteilVersion',
'Studiengang',
@@ -269,7 +269,7 @@ class Lvgruppen_LvgruppenController extends MVVController
$search_result = $this->getSearchResult('Lvgruppe');
- if (count($this->filter['mvv_modul_inst.institut_id'])) {
+ if (!empty($this->filter['mvv_modul_inst.institut_id'])) {
$filter = array_merge(
[
'mvv_lvgruppe.lvgruppe_id' => $search_result,
diff --git a/app/controllers/search/module.php b/app/controllers/search/module.php
index b624f72..d8b6b54 100644
--- a/app/controllers/search/module.php
+++ b/app/controllers/search/module.php
@@ -115,14 +115,11 @@ class Search_ModuleController extends MVVController
foreach ($this->search_result['Modul'] as $i => $mod_id) {
$modul = Modul::find($mod_id);
- $start_sem = Semester::find($modul->start);
- $end_sem = Semester::find($modul->end);
+ $start_sem_begin = $modul->start_semester->beginn ?? 0;
+ $end_sem_end = $modul->end_semester->end ?? PHP_INT_MAX;
if (
- $start_sem->beginn > $this->selected_semester->beginn
- || (
- isset($end_sem)
- && $this->selected_semester->ende > $end_sem->ende
- )
+ $start_sem_begin > $this->selected_semester->beginn
+ || $this->selected_semester->ende > $end_sem_end
) {
unset($this->search_result['Modul'][$i]);
}
diff --git a/app/controllers/search/studiengaenge.php b/app/controllers/search/studiengaenge.php
index 6882f6f..d2e07a7 100644
--- a/app/controllers/search/studiengaenge.php
+++ b/app/controllers/search/studiengaenge.php
@@ -268,12 +268,12 @@ class Search_StudiengaengeController extends MVVController
if (!$abschnitt_modul->modul || !$abschnitt_modul->modul->hasPublicStatus()) {
continue;
}
-
- $start_sem = Semester::find($abschnitt_modul->modul->start);
- $end_sem = Semester::find($abschnitt_modul->modul->end);
+ $abschnitt_modul->modul->setReplaceDfAbschnitt($abschnitt);
+ $start_sem_begin = $abschnitt_modul->modul->start_semester->beginn ?? 0;
+ $end_sem_end = $abschnitt_modul->modul->end_semester->ende ?? PHP_INT_MAX;
if (
- ($start_sem && $start_sem->beginn > $this->active_sem->beginn)
- || ($end_sem && $this->active_sem->ende > $end_sem->ende)) {
+ ($start_sem_begin > $this->active_sem->beginn)
+ || ($this->active_sem->ende > $end_sem_end)) {
continue;
}
diff --git a/app/controllers/studiengaenge/shared_version.php b/app/controllers/studiengaenge/shared_version.php
index abede2f..7dc3d40 100644
--- a/app/controllers/studiengaenge/shared_version.php
+++ b/app/controllers/studiengaenge/shared_version.php
@@ -557,6 +557,7 @@ abstract class SharedVersionController extends MVVController
{
$this->assignment = StgteilabschnittModul::find($abschnitt_modul_id);
$this->modul = $this->assignment->modul;
+ $this->modul->setReplaceDfAbschnitt($this->assignment->abschnitt);
$this->abschnitt_id = $this->assignment->abschnitt_id;
if ($this->assignment) {
if (Request::isXhr()) {
@@ -598,7 +599,7 @@ abstract class SharedVersionController extends MVVController
foreach ($this->assignment->datafields as $data_field) {
$tdf = $data_field->getTypedDatafield();
$tdf->setValueFromSubmit($data_field_values[$data_field->datafield_id]);
- if ($tdf->isValid() && $tdf->store()) {
+ if ($tdf->isValid() && $tdf->store() !== false) {
$data_fields_updated = true;
} else {
$invalid_data_fields[] = $tdf->getName();
diff --git a/app/controllers/studiengaenge/versionen.php b/app/controllers/studiengaenge/versionen.php
index 807ab81..f759651 100644
--- a/app/controllers/studiengaenge/versionen.php
+++ b/app/controllers/studiengaenge/versionen.php
@@ -18,6 +18,7 @@ class Studiengaenge_VersionenController extends SharedVersionController
Navigation::activateItem($this->me . '/studiengaenge/versionen');
$this->filter = $this->sessGet('filter', []);
$this->action = $action;
+ $this->version_id = null;
$this->chooser_filter = $this->sessGet(
'chooser_filter',
diff --git a/app/views/course/details/index.php b/app/views/course/details/index.php
index 934d251..98d4eac 100644
--- a/app/views/course/details/index.php
+++ b/app/views/course/details/index.php
@@ -424,17 +424,19 @@ if (!empty($mvv_tree)) : ?>
</article>
<? endif; ?>
-<? if (!empty($mvv_pathes)) : ?>
+<? if (!empty($mvv_paths)) : ?>
<article class="studip">
<header>
<h1><?= _('Modulzuordnungen') ?></h1>
</header>
<section>
<ul class="list-unstyled">
- <? foreach ($mvv_pathes as $mvv_path) : ?>
+ <? foreach ($mvv_paths as $mvv_path) : ?>
+ <? $types = array_keys($mvv_path); ?>
+ <? $values = array_values($mvv_path); ?>
<li>
- <a data-dialog href="<?= URLHelper::getScriptLink('dispatch.php/search/module/overview/' . reset(array_keys($mvv_path)) . '/' . $course->start_semester->id) ?>">
- <?= htmlReady(implode(' > ', reset(array_values($mvv_path)))) ?>
+ <a data-dialog href="<?= URLHelper::getScriptLink('dispatch.php/search/module/overview/' . $types[0] . '/' . $course->start_semester->id) ?>">
+ <?= htmlReady(implode(' > ', $values[0])) ?>
</a>
</li>
<? endforeach; ?>
diff --git a/app/views/lvgruppen/lvgruppen/export_xls.php b/app/views/lvgruppen/lvgruppen/export_xls.php
index 50a9090..e101bb9 100644
--- a/app/views/lvgruppen/lvgruppen/export_xls.php
+++ b/app/views/lvgruppen/lvgruppen/export_xls.php
@@ -8,7 +8,7 @@
<th><?= _('Modul') ?></th>
<th><?= _('Modulteil') ?></th>
</tr>
- <? $trail_classes = words('Modulteil Modul StgteilAbschnitt StgteilVersion '
+ <? $trail_classes = words('Modulteil StgteilabschnittModul StgteilAbschnitt StgteilVersion '
. 'Studiengang Fachbereich'); ?>
<? foreach ($lvgruppen as $lvgruppe) : ?>
<? $trails = $lvgruppe->getTrails($trail_classes, MvvTreeItem::TRAIL_SHOW_INCOMPLETE); ?>
@@ -18,6 +18,9 @@
<td><?= htmlReady($lvgruppe->getDisplayName()) ?></td>
<? foreach (array_reverse($trail_classes) as $trail_class) : ?>
<? if ($trail[$trail_class]) : ?>
+ <? if ($trail_class === 'StgteilabschnittModul') : ?>
+ <? $trail['Modulteil']->setReplaceDfAbschnitt($trail[$trail_class]->abschnitt) ?>
+ <? endif; ?>
<td><?= htmlReady($trail[$trail_class]->getDisplayName()) ?></td>
<? else : ?>
<td></td>
diff --git a/app/views/lvgruppen/lvgruppen/trails_table_lvgruppe.php b/app/views/lvgruppen/lvgruppen/trails_table_lvgruppe.php
index cd150be..13180b5 100644
--- a/app/views/lvgruppen/lvgruppen/trails_table_lvgruppe.php
+++ b/app/views/lvgruppen/lvgruppen/trails_table_lvgruppe.php
@@ -9,6 +9,9 @@
<tr>
<? foreach (array_reverse($trail_classes) as $trail_class) : ?>
<? if (isset($trail[$trail_class])) : ?>
+ <? if ($trail_class === 'StgteilabschnittModul') : ?>
+ <? $trail['Modulteil']->setReplaceDfAbschnitt($trail[$trail_class]->abschnitt) ?>
+ <? endif; ?>
<td style="vertical-align: top;">
<?= htmlReady($trail[$trail_class]->getDisplayName()) ?>
</td>
@@ -23,4 +26,4 @@
<span class="mvv-no-entry">
<?= _('Diese Lehrveranstaltungsgruppe wurde für das ausgewählte Semester keinen Modulteilen zugeordnet.') ?>
</span>
-<? endif; ?> \ No newline at end of file
+<? endif; ?>
diff --git a/app/views/search/studiengaenge/verlauf.php b/app/views/search/studiengaenge/verlauf.php
index 107f15c..b3657fc 100644
--- a/app/views/search/studiengaenge/verlauf.php
+++ b/app/views/search/studiengaenge/verlauf.php
@@ -8,6 +8,7 @@
* @var array $abschnitte_data
* @var Search_StudiengaengeController $controller
* @var int $close_sections
+ * @var Semester $active_sem
*/
?>
<div>
diff --git a/app/views/shared/modul/_modullvs.php b/app/views/shared/modul/_modullvs.php
index 97ac3e2..8a86879 100644
--- a/app/views/shared/modul/_modullvs.php
+++ b/app/views/shared/modul/_modullvs.php
@@ -27,7 +27,7 @@
<? $modulteil_deskriptor = $modulteil->getDeskriptor();
// Für die Kenntlichmachung der Modulteile in Listen die Nummer des
// Modulteils und den ausgewählten Namen verwenden.
- // Ist keine Nummer vorhanden, dann Durchnummerieren und Standard-
+ // Ist keine Nummer vorhanden, dann durchnummerieren und Standard-
// Bezeichnung verwenden.
if (trim($modulteil->nummer)) {
$num_bezeichnung = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['values'][$modulteil->num_bezeichnung]['name'];
diff --git a/app/views/shared/modul/description.php b/app/views/shared/modul/description.php
index 05eddbf..d104822 100644
--- a/app/views/shared/modul/description.php
+++ b/app/views/shared/modul/description.php
@@ -15,7 +15,7 @@
href="<?= $controller->action_link('description/' . $modul->id . '/',
[
'display_language' => $language,
- 'abschnitt_id' => $abschnitt_modul->abschnitt_id,
+ 'abschnitt_id' => empty($abschnitt_modul) ? '' : $abschnitt_modul->abschnitt_id,
]) ?>">
<?= Assets::img(MVV::getContentLanguageImagePath($language), ['alt' => $lang['name'], 'size' => 24]) ?>
</a>
diff --git a/app/views/shared/modul/overview.php b/app/views/shared/modul/overview.php
index c6eadca..7e07ee8 100644
--- a/app/views/shared/modul/overview.php
+++ b/app/views/shared/modul/overview.php
@@ -127,7 +127,7 @@
<tr>
<? if ($type === 1): ?>
<td>
- <b> <?= htmlReady($modulteil_deskriptor->getReplacedValue('bezeichnung')) ?> </b>
+ <b> <?= htmlReady($modulteil->getDisplayName()) ?> </b>
<? if (mb_strlen($modulteil_deskriptor->getReplacedValue('kommentar')) > 0): ?>
<?= trim($modulteil_deskriptor->getReplacedValue('kommentar')) ? '<br>(' . formatReady($modulteil_deskriptor->getReplacedValue('kommentar')) . ')' : '' ?>
<? endif; ?>
diff --git a/app/views/shared/mvv_tree.php b/app/views/shared/mvv_tree.php
index 6a6c82d..38858b6 100644
--- a/app/views/shared/mvv_tree.php
+++ b/app/views/shared/mvv_tree.php
@@ -1,9 +1,9 @@
<? foreach ($tree[$node] as $current) : ?>
<li>
<? if ($current['class'] != 'Modulteil' && $current['id'] != 'root') : ?>
- <input id="<?= htmlReady($current['id'] . $id_sfx->c) ?>" type="checkbox"<?= $current['class'] != 'StgteilabschnittModul' ? 'checked' : ''?>>
+ <input id="<?= htmlReady($current['tree_id'] . $id_sfx->c) ?>" type="checkbox"<?= $current['class'] != 'StgteilabschnittModul' ? 'checked' : ''?>>
<? endif; ?>
- <label for="<?= htmlReady($current['id'] . $id_sfx->c++) ?>"></label>
+ <label for="<?= htmlReady($current['tree_id'] . $id_sfx->c++) ?>"></label>
<? if ($current['class'] == 'StgteilabschnittModul') : ?>
<a data-dialog title="<?= htmlReady($current['name']) ?>" href="<?= URLHelper::getLink('dispatch.php/shared/modul/overview/' . $current['id'] . '/' . $course->start_semester->id) ?>">
<?= htmlReady($current['name']) ?>
@@ -16,7 +16,7 @@
<? endif; ?>
<? if ($current['class'] != 'Modulteil') : ?>
<ul>
- <?= $this->render_partial('shared/mvv_tree.php', ['tree' => $tree, 'node' => $current['id']]) ?>
+ <?= $this->render_partial('shared/mvv_tree.php', ['tree' => $tree, 'node' => $current['tree_id']]) ?>
</ul>
<? endif; ?>
</li>
diff --git a/lib/classes/coursewizardsteps/LVGroupsWizardStep.php b/lib/classes/coursewizardsteps/LVGroupsWizardStep.php
index 99e5084..f5fca4d 100644
--- a/lib/classes/coursewizardsteps/LVGroupsWizardStep.php
+++ b/lib/classes/coursewizardsteps/LVGroupsWizardStep.php
@@ -261,8 +261,8 @@ class LVGroupsWizardStep implements CourseWizardStep
if (!in_array($modul->stat, $status_modul)) {
return false;
}
- $modul_start = Semester::find($modul->start)->beginn ?: 0;
- $modul_end = Semester::find($modul->end)->ende ?: PHP_INT_MAX;
+ $modul_start = Semester::find($modul->start)->beginn ?? 0;
+ $modul_end = Semester::find($modul->end)->ende ?? PHP_INT_MAX;
return ($modul_start <= $course_end && $modul_end >= $course_start);
});
diff --git a/lib/models/DatafieldEntryModel.php b/lib/models/DatafieldEntryModel.php
index c19d9f9..c2ad800 100644
--- a/lib/models/DatafieldEntryModel.php
+++ b/lib/models/DatafieldEntryModel.php
@@ -90,15 +90,12 @@ class DatafieldEntryModel extends SimpleORMap implements PrivacyObject
$range_id = $model->user_id;
$sec_range_id = $model->institut_id;
} elseif ($model instanceof ModulDeskriptor) {
- $params[':institution_ids'] = '';
- if (!empty($model->modul->responsible_institute->institut_id)) {
- $params[':institution_ids'] = [$model->modul->responsible_institute->institut_id];
- }
+ $params[':institution_ids'] = [$model->modul->responsible_institute->institut_id ?? null];
$object_class = $model->getVariant();
$object_type = 'moduldeskriptor';
$range_id = $model->deskriptor_id;
} elseif ($model instanceof ModulteilDeskriptor) {
- $params[':institution_ids'] = [$model->modulteil->modul->responsible_institute->institut_id];
+ $params[':institution_ids'] = [$model->modulteil->modul->responsible_institute->institut_id ?? null];
$object_class = $model->getVariant();
$object_type = 'modulteildeskriptor';
$range_id = $model->deskriptor_id;
diff --git a/lib/models/ModuleManagementModelTreeItem.php b/lib/models/ModuleManagementModelTreeItem.php
index 48c3b1b..8e18108 100644
--- a/lib/models/ModuleManagementModelTreeItem.php
+++ b/lib/models/ModuleManagementModelTreeItem.php
@@ -136,19 +136,27 @@ abstract class ModuleManagementModelTreeItem extends ModuleManagementModel imple
* @param string $delimiter A string used as the "glue".
* @param int $display_options Display options set by constants defined
* in class ModuleManagementModel.
- * @return type
+ * @return array
*/
public static function getPathes($trails, $delimiter = ' · ')
{
- $pathes = [];
+ $paths = [];
foreach ($trails as $trail) {
- $pathes[] = join($delimiter, array_map(
- function($a) {
- return $a->getDisplayName();
- }, $trail));
+ $abschnitt = null;
+ $names = [];
+ foreach ($trail as $a) {
+ if ($a instanceof StgteilAbschnitt) {
+ $abschnitt = $a;
+ }
+ if ($abschnitt && ($a instanceof Modul || $a instanceof Modulteil)) {
+ $a->setReplaceDfAbschnitt($abschnitt);
+ }
+ $names[] = $a->getDisplayName();
+ }
+ $paths[] = implode($delimiter, $names);
}
- sort($pathes, SORT_LOCALE_STRING);
- return $pathes;
+ sort($paths, SORT_LOCALE_STRING);
+ return $paths;
}
/**
diff --git a/lib/models/Modulteil.php b/lib/models/Modulteil.php
index 07ba2cc..6a0fa86 100644
--- a/lib/models/Modulteil.php
+++ b/lib/models/Modulteil.php
@@ -183,7 +183,7 @@ class Modulteil extends ModuleManagementModelTreeItem
$replacements = [
$this->nummer,
$GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['values'][$this->num_bezeichnung]['name'] ?? '',
- trim($deskriptor->bezeichnung),
+ trim($deskriptor->getReplacedValue('bezeichnung')),
$GLOBALS['MVV_MODULTEIL']['LERNLEHRFORM']['values'][$this->lernlehrform]['name'] ?? ''
];
return self::formatDisplayName($template, $placeholders, $replacements);
@@ -197,9 +197,9 @@ class Modulteil extends ModuleManagementModelTreeItem
$name .= $this->nummer . ': ';
}
$name .= $GLOBALS['MVV_MODULTEIL']['LERNLEHRFORM']['values'][$this->lernlehrform]['name'] ?? '';
- if (strlen(trim($deskriptor->bezeichnung))) {
- $name .= $name == '' ? $deskriptor->bezeichnung
- : ' (' . $deskriptor->bezeichnung . ')';
+ if (strlen(trim($deskriptor->getReplacedValue('bezeichnung')))) {
+ $name .= $name == '' ? $deskriptor->getReplacedValue('bezeichnung')
+ : ' (' . $deskriptor->getReplacedValue('bezeichnung') . ')';
}
return trim($name);
}
diff --git a/lib/models/StgteilabschnittModul.php b/lib/models/StgteilabschnittModul.php
index aa0eba7..ae8a5a4 100644
--- a/lib/models/StgteilabschnittModul.php
+++ b/lib/models/StgteilabschnittModul.php
@@ -94,9 +94,10 @@ class StgteilabschnittModul extends ModuleManagementModelTreeItem
'module_name',
'semester_validity'
];
+ $this->modul->setReplaceDfAbschnitt($this->abschnitt);
$replacements = [
trim($this->modulcode) ?: trim($this->modul->code),
- trim($this->bezeichnung) ?: trim($this->modul->getDeskriptor()->bezeichnung),
+ trim($this->bezeichnung) ?: trim($this->modul->getDeskriptor()->bezeichnung),
$this->modul->getDisplaySemesterValidity()
];
return self::formatDisplayName($template, $placeholders, $replacements);