aboutsummaryrefslogtreecommitdiff
path: root/app/views/shared
diff options
context:
space:
mode:
authorPeter Thienel <thienel@data-quest.de>2024-12-20 14:20:33 +0000
committerPeter Thienel <thienel@data-quest.de>2024-12-20 14:20:33 +0000
commit5f8c492f51f3e0eda579157312b4ed5f7fa024e1 (patch)
tree93c1abfd248bdc23f29f3eec07306b190b0a702d /app/views/shared
parenta8298beda0487fd5e5a4a286f90ba549dbd101fd (diff)
Resolve "Sprachauswahl für Originalfassung der Modul(teil)-Deskriptoren", fixes #4261
Closes #4261 Merge request studip/studip!3729
Diffstat (limited to 'app/views/shared')
-rw-r--r--app/views/shared/deskriptor_language.php26
-rw-r--r--app/views/shared/modul/_modullv.php4
-rw-r--r--app/views/shared/modul/description.php14
-rw-r--r--app/views/shared/modul/overview.php18
4 files changed, 46 insertions, 16 deletions
diff --git a/app/views/shared/deskriptor_language.php b/app/views/shared/deskriptor_language.php
index 44cdb65..e59f4f6 100644
--- a/app/views/shared/deskriptor_language.php
+++ b/app/views/shared/deskriptor_language.php
@@ -1,11 +1,21 @@
-<? $table = get_class($modul) == 'Modul' ? 'mvv_modul_deskriptor' : 'mvv_modulteil_deskriptor'; ?>
-<? $languages = $modul->deskriptoren->getAvailableTranslations(); ?>
-<? foreach ($GLOBALS[strtoupper($table)]['SPRACHE']['values'] as $lang => $value) : ?>
+<?php
+/**
+ * @var ModulDeskriptor|ModulteilDeskriptor $descriptor
+ * @var string $original_language
+ * @var string $display_language
+ * @var string $link
+ */
+?>
+
+<? $languages = $descriptor->getAvailableTranslations($original_language) ?>
+<? $content_languages = array_merge(array_flip($languages), $GLOBALS['CONTENT_LANGUAGES']) ?>
+<? foreach ($content_languages as $code => $language) : ?>
<div style="padding-top:10px;">
- <a href="<?= URLHelper::getLink($link, ['display_language' => $lang]) ?>">
- <?= Assets::img(MVV::getContentLanguageImagePath($lang), ['alt' => $value['name'], 'size' => 24]) ?>
- <?= $value['name'] ?> (<?= in_array($lang, $languages) ? 'bearbeiten' : 'neu anlegen' ?>)
- <?= $lang == $sprache ? Icon::create('accept', 'accept', [])->asImg() : '' ?>
+ <a href="<?= URLHelper::getLink($link, ['display_language' => $code]) ?>">
+ <?= Assets::img(MVV::getContentLanguageImagePath($code), ['alt' => $language['name'], 'size' => 24]) ?>
+ <?= $language['name'] ?> (<?= ($code === $original_language ? _('Originalfassung') : '')
+ . (in_array($code, $languages) ? '' : _('neu')) ?>)
+ <?= $code === $display_language ? Icon::create('accept', Icon::ROLE_ACCEPT) : '' ?>
</a>
</div>
-<? endforeach; ?>
+<? endforeach ?>
diff --git a/app/views/shared/modul/_modullv.php b/app/views/shared/modul/_modullv.php
index 99c4180..70ffd64 100644
--- a/app/views/shared/modul/_modullv.php
+++ b/app/views/shared/modul/_modullv.php
@@ -5,7 +5,7 @@
<? $modulTeilSumme = $modulTeil->wl_praesenz + $modulTeil->wl_bereitung + $modulTeil->wl_selbst + $modulTeil->wl_pruef ?>
<tr>
<td style="width: 30%;"><strong><?= _('Lehrveranstaltungsform') ?></strong></td>
- <td style="width: 70%;" data-mvv-field="mvv_modulteil.lernlehrform"><?= $GLOBALS['MVV_MODULTEIL']['LERNLEHRFORM']['values'][$modulTeil->lernlehrform]['name'] ?></td>
+ <td style="width: 70%;" data-mvv-field="mvv_modulteil.lernlehrform"><?= $GLOBALS['MVV_MODULTEIL']['LERNLEHRFORM']['values'][$modulTeil->lernlehrform]['name'] ?? '' ?></td>
</tr>
<tr>
<td style="width: 30%;"><strong><?= _('Veranstaltungstitel') ?></strong></td>
@@ -30,7 +30,7 @@
<tr>
<td style="width: 30%;"><strong><?= _('Workload Prüfung incl. Vorbereitung') ?></strong></td>
<td style="width: 70%;" data-mvv-field="mvv_modulteil.wl_pruef mvv_modulteil_deskriptor.kommentar_wl_pruef"><?= $modulTeil->wl_pruef ?> <?= MVVController::trim($modulTeilDeskriptor->kommentar_wl_pruef) ? sprintf(" (%s)", formatReady($modulTeilDeskriptor->kommentar_wl_pruef)) : '' ?></td>
- </tr>
+ </tr>
<tr>
<td style="width: 30%;"><strong><?= _('Workload insgesamt') ?></strong></td>
<td style="width: 70%;"><?= $modulTeilSumme ?></td>
diff --git a/app/views/shared/modul/description.php b/app/views/shared/modul/description.php
index 59512bd..758760d 100644
--- a/app/views/shared/modul/description.php
+++ b/app/views/shared/modul/description.php
@@ -1,7 +1,15 @@
+<?php
+/**
+ * @var Modul $modul
+ * @var int $type
+ * @var Shared_ModulController $controller
+ */
+?>
+
<? if (count($modul->deskriptoren) > 1): ?>
<div style="width: 100%; text-align: right;">
- <? foreach ($modul->deskriptoren->getAvailableTranslations() as $language) : ?>
- <? $lang = $GLOBALS['MVV_MODUL_DESKRIPTOR']['SPRACHE']['values'][$language]; ?>
+ <? foreach ($modul->deskriptoren->getAvailableTranslations($modul->original_language) as $language) : ?>
+ <? $lang = $GLOBALS['CONTENT_LANGUAGES'][$language]; ?>
<a data-dialog="size=auto;title='<?= htmlReady($modul->getDisplayName()) ?>'" href="<?= $controller->action_link('description/' . $modul->id . '/', ['display_language' => $language]) ?>">
<?= Assets::img(MVV::getContentLanguageImagePath($language), ['alt' => $lang['name'], 'size' => 24]) ?>
</a>
@@ -19,4 +27,4 @@
<? endif; ?>
<? if ($type === 3) : ?>
<?= $this->render_partial('shared/modul/_modul_ohne_lv') ?>
-<? endif; ?> \ No newline at end of file
+<? endif; ?>
diff --git a/app/views/shared/modul/overview.php b/app/views/shared/modul/overview.php
index 4bfd71e..be91c7a 100644
--- a/app/views/shared/modul/overview.php
+++ b/app/views/shared/modul/overview.php
@@ -1,3 +1,15 @@
+<?php
+/**
+ * @var Modul $modul
+ * @var Institute $institut
+ * @var ModulDeskriptor $deskriptor
+ * @var array $modulteile
+ * @var Semester $semester
+ * @var string $pruef_ebene
+ * @var int $type
+ */
+?>
+
<table class="default mvv-modul-details nohover">
<tr>
<th class="mvv-modul-details-head" style="width: 30%"><?= htmlReady($modul->code) ?></th>
@@ -34,10 +46,10 @@
<tr>
<td colspan="4" style="padding: 0;">
<table class="default nohover">
- <? if (mb_strlen($teilnahmeVoraussetzung) > 0): ?>
+ <? if (mb_strlen($deskriptor->voraussetzung) > 0): ?>
<tr>
<td style="width: 20%; font-weight: bold;"><?= _('Teilnahmevoraussetzungen') ?></td>
- <td ><?= formatReady($teilnahmeVoraussetzung) ?></td>
+ <td ><?= formatReady($deskriptor->voraussetzung) ?></td>
</tr>
<? endif; ?>
<? if (mb_strlen($deskriptor->kommentar)) : ?>
@@ -104,7 +116,7 @@
<th><?= _('Prüfungsleistung') ?></th>
<? endif; ?>
</tr>
- <? foreach ($modulTeile as $modul_teil): ?>
+ <? foreach ($modulteile as $modul_teil): ?>
<tr>
<? if ($type === 1): ?>
<td>