diff options
| author | Peter Thienel <thienel@data-quest.de> | 2024-12-20 14:20:33 +0000 |
|---|---|---|
| committer | Peter Thienel <thienel@data-quest.de> | 2024-12-20 14:20:33 +0000 |
| commit | 5f8c492f51f3e0eda579157312b4ed5f7fa024e1 (patch) | |
| tree | 93c1abfd248bdc23f29f3eec07306b190b0a702d /app/views/shared | |
| parent | a8298beda0487fd5e5a4a286f90ba549dbd101fd (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.php | 26 | ||||
| -rw-r--r-- | app/views/shared/modul/_modullv.php | 4 | ||||
| -rw-r--r-- | app/views/shared/modul/description.php | 14 | ||||
| -rw-r--r-- | app/views/shared/modul/overview.php | 18 |
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> |
