blob: dfd8a84fc3eae9843d54eb5bbf666a941ebfc9be (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
<?
$abschnitte = StgteilAbschnitt::findByStgteilVersion($version->getId());
$abschnitteData = [];
$fachsemesterData = [];
foreach ($abschnitte as $abschnitt) {
$abschnitteData[$abschnitt->getId()] = [
'name' => $abschnitt->getDisplayName(),
'creditPoints' => $abschnitt->kp,
'zwischenUeberschrift' => $abschnitt->ueberschrift,
'kommentar' => $abschnitt->kommentar,
'module' => [],
'rowspan' => 0
];
//$module = Modul::findByStgteilAbschnitt($abschnitt->getId());
$abschnitt_module = $abschnitt->getModulAssignments();
foreach ($abschnitt_module as $abschnitt_modul) {
$abschnitteData[$abschnitt->getId()]['module'][$abschnitt_modul->modul->getId()] = [
'name' => $abschnitt_modul->getDisplayName(),
'modulTeile' => []
];
foreach ($abschnitt_modul->modul->modulteile as $teil) {
$fachSemester = $abschnitt_modul->getAllFachSemester($teil->getId());
$abschnitteData[$abschnitt->getId()]['module'][$abschnitt_modul->modul->getId()]['modulTeile'][$teil->getId()] = [
'name' => $teil->getDisplayName(),
'fachsemester' => []
];
$abschnitteData[$abschnitt->getId()]['rowspan']++;
foreach ($fachSemester as $fachsem) {
$fachsemesterData[$fachsem->fachsemester] = $fachsem->fachsemester;
$abschnitteData[$abschnitt->getId()]['module'][$abschnitt_modul->modul->getId()]['modulTeile'][$teil->getId()]['fachsemester'][$fachsem->fachsemester] = $fachsem->differenzierung;
}
}
}
}
?>
<h2><?= _('Liste der Studiengangteilabschnitte') ?></h2>
<dl class="mvv-form" >
<? foreach ($abschnitteData as $abschnitt_id => $abschnitt): ?>
<span data-mvv-id="<?= $abschnitt_id; ?>" data-mvv-type="stgteilabschnitt">
<? $displayedAbschnittName = false; ?>
<? $ueberschrift = (mb_strlen($abschnitt['zwischenUeberschrift'])) ?>
<? if (!$ueberschrift): ?>
<dt>
<span data-mvv-field="mvv_stgteilabschnitt mvv_stgteilabschnitt.name"><?= $abschnitt['name'] ?></span> <span data-mvv-field="mvv_stgteilabschnitt.kp"><?= $abschnitt['creditPoints'] ? $abschnitt['creditPoints'] . 'CP' : '' ?></span>
</dt>
<dd>
<? if (trim($abschnitt['kommentar'])) : ?>
<b><?= _('Kommentar') ?>:</b>
<span data-mvv-field="mvv_stgteilabschnitt.kommentar"><?= formatReady($abschnitt['kommentar']) ?></span>
<? endif; ?>
<? if (!empty($abschnitt['module'])) : ?>
<table class="mvv-modul-details">
<thead>
<tr>
<th rowspan="2"><?= _('Modul') ?></th>
<th rowspan="2"><?= _('Modulteil') ?></th>
<th colspan="<?= count($fachsemesterData) ?>" align="center"><?= _('Semester') ?></th>
</tr>
<tr>
<? foreach ($fachsemesterData as $fachsemester) : ?>
<th ><?= $fachsemester ?></th>
<? endforeach; ?>
</tr>
</thead>
<tbody>
<? foreach ($abschnitt['module'] as $modul_id => $modul) : ?>
<? $displayedModulName = false; ?>
<? foreach ($modul['modulTeile'] as $modulTeil_id => $modulTeil): ?>
<tr data-mvv-id="<?= $modulTeil_id; ?>" data-mvv-type="modulteil">
<? if (!$displayedModulName) : ?>
<? $displayedModulName = true; ?>
<td rowspan="<?= count($modul['modulTeile']) ?>" data-mvv-field="mvv_modul_deskriptor.bezeichnung mvv_modul_deskriptor.start mvv_modul_deskriptor.end">
<a data-dialog href="<?= URLHelper::getLink('/shared/modul/overview/' . $modul_id) ?>">
<? // Anzeige der alternativen Bezeichnung aus mvv_stgteilabschnitt_modul ?>
<? $abschnitt_modul = StgteilabschnittModul::findOneBySQL('abschnitt_id = ? AND modul_id = ?', [$abschnitt_id, $modul_id]) ?>
<?= htmlReady($abschnitt_modul->getDisplayName()) ?>
</a>
<a data-dialog="size=auto" title="<?= htmlReady($modul['name']) . ' (' . _('Vollständige Modulbeschreibung') . ')' ?>" href="<?= URLHelper::getLink('shared/modul/description/' . $modul_id) ?>">
<?= Icon::create('info-circle', 'clickable', [])->asImg(); ?>
</a>
</td>
<? endif;?>
<td><?= htmlReady($modulTeil['name']) ?> </td>
<? foreach ($fachsemesterData as $i => $fachsemester) : ?>
<? $typ = isset($modulTeil['fachsemester'][$fachsemester]) ? $modulTeil['fachsemester'][$fachsemester] : null; ?>
<? if ($typ == 'kann') : ?>
<td data-mvv-field="mvv_modulteil_stgteilabschnitt.differenzierung" data-mvv-index="<?= $i; ?>" data-mvv-coid="<?= $abschnitt_id; ?>" class="type kann">o_</td>
<? elseif ($typ == 'soll') : ?>
<td data-mvv-field="mvv_modulteil_stgteilabschnitt.differenzierung" data-mvv-index="<?= $i; ?>" data-mvv-coid="<?= $abschnitt_id; ?>" class="type soll">+_</td>
<? else : ?>
<td data-mvv-field="mvv_modulteil_stgteilabschnitt.differenzierung" data-mvv-index="<?= $i; ?>" data-mvv-coid="<?= $abschnitt_id; ?>" class="type"> </td>
<? endif; ?>
<? endforeach; ?>
</tr>
<? endforeach; ?>
<? endforeach; ?>
</tbody>
</table>
<? endif; ?>
</dd>
<? else : ?>
<dt><?= htmlReady($abschnitt['zwischenUeberschrift']) ?></dt>
<? if (trim($abschnitt['kommentar'])) : ?>
<dd data-mvv-field="mvv_stgteilabschnitt.kommentar">
<b><?= _('Kommentar') ?></b>
<div><?= formatReady($abschnitt['kommentar']) ?></div>
</dd>
<? endif; ?>
<? endif; ?>
</span>
<? endforeach; ?>
</dl>
|