aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-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
5 files changed, 26 insertions, 20 deletions
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);