diff --git a/application/config/studierendenantrag.php b/application/config/studierendenantrag.php index ef2098aca..9d1e7a1c8 100644 --- a/application/config/studierendenantrag.php +++ b/application/config/studierendenantrag.php @@ -197,3 +197,11 @@ $config['unterbrechung_enabled'] = true; */ $config['wiederholung_enabled'] = true; +/** + * Modal with Infotext of TLC + * if true, there will be shown an info modal in the studentsView after the first button ABMELDUNG + * + * @var boolean + */ +$config['showInfoModalAbmeldung'] = true; + diff --git a/application/controllers/components/Cis/Mylv.php b/application/controllers/components/Cis/Mylv.php index 1fdb7e2a1..30544b647 100644 --- a/application/controllers/components/Cis/Mylv.php +++ b/application/controllers/components/Cis/Mylv.php @@ -14,11 +14,11 @@ class Mylv extends Auth_Controller public function __construct() { parent::__construct([ - 'Student' => ['student/anrechnung_beantragen:r','user:r'], // TODO(chris): permissions? - 'Studiensemester' => ['student/anrechnung_beantragen:r','user:r'], // TODO(chris): permissions? - 'Lvs' => ['student/anrechnung_beantragen:r','user:r'], // TODO(chris): permissions? - 'Info' => ['student/anrechnung_beantragen:r','user:r'], // TODO(chris): permissions? - 'Pruefungen' => ['student/anrechnung_beantragen:r','user:r'] // TODO(chris): permissions? + 'Student' => self::PERM_LOGGED, + 'Studiensemester' => self::PERM_LOGGED, + 'Lvs' => self::PERM_LOGGED, + 'Info' => self::PERM_LOGGED, + 'Pruefungen' => self::PERM_LOGGED ]); } diff --git a/application/controllers/lehre/Studierendenantrag.php b/application/controllers/lehre/Studierendenantrag.php index ebc1d2eaa..ad333679d 100644 --- a/application/controllers/lehre/Studierendenantrag.php +++ b/application/controllers/lehre/Studierendenantrag.php @@ -25,7 +25,8 @@ class Studierendenantrag extends FHC_Controller // Load language phrases $this->loadPhrases([ - 'studierendenantrag' + 'studierendenantrag', + 'ui' ]); $this->load->config('studierendenantrag'); diff --git a/application/views/lehre/Antrag/Student/List.php b/application/views/lehre/Antrag/Student/List.php index 6d769dafe..884d1f391 100644 --- a/application/views/lehre/Antrag/Student/List.php +++ b/application/views/lehre/Antrag/Student/List.php @@ -30,6 +30,12 @@ if(defined('CIS4')){ } ?> +load->config('studierendenantrag'); + $showInfoModalAbmeldung = $this->config->item('showInfoModalAbmeldung'); +?> +
@@ -43,17 +49,75 @@ if(defined('CIS4')){

()

+
-

p->t('studierendenantrag', 'calltoaction_' . $type); ?>

-
- - p->t('studierendenantrag', 'antrag_typ_' . $type); ?> - +

p->t('studierendenantrag', 'calltoaction_' . $type); ?>

+
+ + + + data-bs-toggle="modal" + + > + p->t('studierendenantrag', 'antrag_typ_' . $type); ?> + + + +
- + + + + @@ -205,7 +269,7 @@ if(defined('CIS4')){ p->t('studierendenantrag', 'my_lvs'); ?> diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Details.js b/public/js/components/Stv/Studentenverwaltung/Details/Details.js index e457c2773..0b5eec44d 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Details.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Details.js @@ -402,7 +402,7 @@ export default { name="foto" @actionbutton-clicked="sendInfomail" > - No Image + No Image -
- +
+
+ +
+
diff --git a/public/js/components/filter/Filter.js b/public/js/components/filter/Filter.js index 919132229..31b1efe12 100644 --- a/public/js/components/filter/Filter.js +++ b/public/js/components/filter/Filter.js @@ -107,7 +107,6 @@ export const CoreFilterCmpt = { default: [], }, }, - inject: ["language"], data: function () { return { uuid: 0, @@ -247,6 +246,9 @@ export const CoreFilterCmpt = { ...{ title: filterTitles[el.name] }, })); }, + language() { + return this.$p.user_language; + }, }, watch: { "language.value": { @@ -917,7 +919,23 @@ export const CoreFilterCmpt = { if (!this.tableBuilt) { return {}; } else if (this.tabulator.options.locale) { - return this.tabulator.getLang().columns; + let result = this.tabulator.getLang().columns; + const columnFieldTitlePairs = this.tabulator + .getColumns() + .map((column) => { + const definition = column.getDefinition(); + return [definition.field, definition.title]; + }); + columnFieldTitlePairs.forEach((fieldTitlePair) => { + if ( + fieldTitlePair[0]?.length && + fieldTitlePair[1]?.length && + !(fieldTitlePair[0] in result) + ) { + result[fieldTitlePair[0]] = fieldTitlePair[1]; + } + }); + return result; } return this.tabulator.getColumns().reduce((res, col) => { res[col.getField()] = col.getDefinition().title; diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 1cda99fc5..280a1cf42 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -41596,6 +41596,26 @@ array( ) ), // grades + array( + 'app' => 'core', + 'category' => 'stv', + 'phrase' => 'grades_gradelist', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Studienverlauf', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Grade list', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'stv', @@ -62325,6 +62345,72 @@ I have been informed that I am under no obligation to consent to the transmissio ) ), // StudVw legacy Bis Links ende + array( + 'app' => 'core', + 'category' => 'studierendenantrag', + 'phrase' => 'link_Abmeldung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Weiter zur Abmeldung', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Continue to De-registration', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'studierendenantrag', + 'phrase' => 'modalHinweistext_Abmeldung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => "Bevor du deine Abmeldung abschließt, möchten wir dir gerne ein Gespräch anbieten. Vielleicht gibt es Fragen, Unsicherheiten oder Herausforderungen, bei denen wir dich unterstützen können.
+
Du kannst dich jederzeit unverbindlich an deine Studiengangsassistenz, Studiengangsleitung oder das Student Support Team wenden. Ein Gespräch ist natürlich freiwillig – manchmal hilft es aber, gemeinsam Optionen zu besprechen, zum Beispiel auch eine vorübergehende +Studienunterbrechung. +

Wenn du deine Abmeldung fortsetzen möchtest, kannst du das selbstverständlich tun.", + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => "Before you finalize your deregistration, we would like to offer you a consultation. Perhaps you have questions, uncertainties, or challenges that we can help you with.
+
You can contact your program assistant, program director, or the Student Support Team at any time without obligation. A consultation is, of course, voluntary; however, sometimes it helps to discuss options together, such as a +temporary break from your studies. +

If you wish to proceed with your deregistration, you can, of course, do so.", + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'studierendenantrag', + 'phrase' => 'info_consultation', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Hinweis Beratungsgespräch', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Note Consultation', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), );