From 4e22b1ac1c296cd61e9c33e14b811ad200a3d209 Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 19 Jun 2023 15:03:38 +0200 Subject: [PATCH 01/12] Added: New Job sendMailRecommendationRequests Send Sancho mail to LV-Leitung (fallback Lectors) that were requested for recommendation yesterday. --- .../controllers/jobs/AnrechnungJob.php | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/application/controllers/jobs/AnrechnungJob.php b/application/controllers/jobs/AnrechnungJob.php index 7aae80d54..48ee6d4ca 100644 --- a/application/controllers/jobs/AnrechnungJob.php +++ b/application/controllers/jobs/AnrechnungJob.php @@ -227,6 +227,74 @@ class AnrechnungJob extends JOB_Controller $this->logInfo('SUCCEDED: Sending emails to STGL about yesterdays new Anrechnungen succeded.'); } + // Send Sancho mail to LV-Leitung (fallback Lectors) that were requested for recommendation yesterday. + public function sendMailRecommendationRequests(){ + + $this->logInfo('Start AnrechnungJob sendMailRecommendationRequests to inform lecturers about yesterdays requests for recommendation.'); + + // Get Anrechnungen, für die gestern eine Empfehlung angefragt worden ist + $this->AnrechnungModel->addSelect('astat.anrechnung_id, astat.datum, astat.insertamum'); + $this->AnrechnungModel->addDistinct('astat.anrechnung_id'); + $this->AnrechnungModel->addJoin('lehre.tbl_anrechnung_anrechnungstatus astat', 'anrechnung_id'); + + $result = $this->AnrechnungModel->loadWhere(' + studiensemester_kurzbz = (SELECT studiensemester_kurzbz FROM tbl_studiensemester WHERE now()::date BETWEEN start AND ende) + AND genehmigt_von IS NULL + AND empfehlung_anrechnung IS NULL + AND status_kurzbz = '. $this->db->escape(self::ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR) .' -- in Bearbeitung durch Lektor + AND NOW()::date = (astat.datum + interval \'1 day\') -- nur gestrige Empfehlungsanfrage + ORDER BY astat.anrechnung_id, astat.datum DESC, astat.insertamum DESC -- nur letzten status dabei prüfen + '); + + // Exit, wenn es gestern keine Empfehlungsanfragen gab + if (!hasData($result)) + { + $this->logInfo('End AnrechnungJob sendMailRecommendationRequests, because no recommendations were requested yesterday.'); + exit; + } + + $anrechnung_id_arr = array_column(getData($result), 'anrechnung_id'); + + $arr_lvLector_arr = array(); + foreach ($anrechnung_id_arr as $anrechnung_id) + { + $arr_lvLector_arr[]= $this->anrechnunglib->getLectors($anrechnung_id); // Returns LV Leitung. If not present, then all lectors of LV. + } + + // Unique lector array to send only one mail per lector + $arr_lvLector_arr = array_unique($arr_lvLector_arr, SORT_REGULAR); + + // Link to 'Anrechnungen prüfen' dashboard + $url = + CIS_ROOT. 'cis/index.php?menu='. + CIS_ROOT. 'cis/menu.php?content_id=&content='. + CIS_ROOT. index_page(). self::REVIEW_ANRECHNUNG_URI; + + foreach ($arr_lvLector_arr as $lvLector_arr) + { + foreach ($lvLector_arr as $lector) + { + // Prepare mail content + $fields = array( + 'vorname' => $lector->vorname, + 'stgl_name' => 'Die Studiengangsleitung', + 'link' => anchor($url, 'Anrechnungsanträge Übersicht') + ); + + // Send mail + sendSanchoMail( + 'AnrechnungEmpfehlungAnfordern', + $fields, + $lector->uid. '@'. DOMAIN, + 'Deine Empfehlung wird benötigt zur Anerkennung nachgewiesener Kenntnisse' + ); + } + } + + $this->logInfo('SUCCEDED AnrechnungJob sendMailRecommendationRequests'); + + } + /** * Send Sancho mail to students, whose Anrechnungen were approved 24 hours ago. */ From 82019bb77ffeb4c0a1562f702b896bc9ccc5f4f2 Mon Sep 17 00:00:00 2001 From: Cris Date: Tue, 20 Jun 2023 10:45:38 +0200 Subject: [PATCH 02/12] Deactivated: einzelne Empehlungsanfrage-Mails an Lektoren deaktiviert --- .../anrechnung/ApproveAnrechnungDetail.php | 36 ++++++++----------- .../ApproveAnrechnungUebersicht.php | 15 +------- 2 files changed, 15 insertions(+), 36 deletions(-) diff --git a/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php b/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php index 8f71dc8d0..3a62ff7d9 100644 --- a/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php +++ b/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php @@ -242,7 +242,7 @@ class approveAnrechnungDetail extends Auth_Controller $empfehlungsanfrage_an = !isEmptyArray($result) ? implode(', ', array_column($result, 'fullname')) : ''; // Request Recommendation - if($this->anrechnunglib->requestRecommendation($anrechnung_id)) + if ($this->anrechnunglib->requestRecommendation($anrechnung_id)) { $retval[]= array( 'anrechnung_id' => $anrechnung_id, @@ -254,31 +254,23 @@ class approveAnrechnungDetail extends Auth_Controller ); } - /** - * Send mails to lectors - * NOTE: mails are sent at the end to ensure sending only ONE mail to each LV-Leitung or lector - * even if they are required for more recommendations - * */ - if (!isEmptyArray($retval)) - { - if ($this->config->item('send_mail') === TRUE) - { - $this->_sendSanchoMailToLectors($anrechnung_id); - } - - // Output json to ajax - return $this->outputJsonSuccess($retval); - } - // Output json to ajax + if ($empfehlungsanfrage_an == '') + { + $this->terminateWithJsonError( + "Empfehlung wurde nicht angefordert,\nDer LV sind keine LektorInnen zugeteilt." + ); + } + if (isEmptyArray($retval)) { - $this->terminateWithJsonError( - "Empfehlung wurde nicht angefordert,\nDer LV sind keine LektorInnen zugeteilt." - ); + $this->terminateWithJsonError("Empfehlung wurde nicht angefordert"); } - - $this->terminateWithJsonError($this->p->t('ui', 'errorNichtAusgefuehrt')); + else + { + // Output json to ajax + return $this->outputJsonSuccess($retval); + } } /** diff --git a/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php b/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php index f13814e66..b5a44b8f6 100644 --- a/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php +++ b/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php @@ -249,19 +249,6 @@ class approveAnrechnungUebersicht extends Auth_Controller } } - /** - * Send mails - * NOTE: mails are sent at the end to ensure sending only ONE mail to each LV-Leitung or lector - * even if they are required for more recommendations - * */ - if (!isEmptyArray($retval)) - { - if ($this->config->item('send_mail') === TRUE) - { - $this->_sendSanchoMail($retval); - } - } - // Output json to ajax if (isEmptyArray($retval)) { @@ -273,7 +260,7 @@ class approveAnrechnungUebersicht extends Auth_Controller $this->terminateWithJsonError('Es wurden keine Empfehlungen angefordert'); } - return $this->outputJsonSuccess($retval); + $this->outputJsonSuccess($retval); } /** From 17c2004a394f78a0f653e7fa91b7968572bfdcab Mon Sep 17 00:00:00 2001 From: Cris Date: Tue, 20 Jun 2023 13:36:42 +0200 Subject: [PATCH 03/12] Adapted: Check for config 'fbl' in Job to send Sammelmail only to LV-Leitung (no fallback to other lectors) --- application/controllers/jobs/AnrechnungJob.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/application/controllers/jobs/AnrechnungJob.php b/application/controllers/jobs/AnrechnungJob.php index 48ee6d4ca..b442c7e56 100644 --- a/application/controllers/jobs/AnrechnungJob.php +++ b/application/controllers/jobs/AnrechnungJob.php @@ -37,6 +37,9 @@ class AnrechnungJob extends JOB_Controller $this->load->helper('hlp_sancho_helper'); $this->load->library('AnrechnungLib'); + + // Load configs + $this->load->config('anrechnung'); } /** @@ -258,7 +261,15 @@ class AnrechnungJob extends JOB_Controller $arr_lvLector_arr = array(); foreach ($anrechnung_id_arr as $anrechnung_id) { - $arr_lvLector_arr[]= $this->anrechnunglib->getLectors($anrechnung_id); // Returns LV Leitung. If not present, then all lectors of LV. + // Get full name of Fachbereichsleitung or LV Leitung. + if($this->config->item('fbl') === TRUE) + { + $arr_lvLector_arr[] = $this->anrechnunglib->getLeitungOfLvOe($anrechnung_id); + } + else + { + $arr_lvLector_arr[] = $this->anrechnunglib->getLectors($anrechnung_id); // Returns LV Leitung. If not present, then all lectors of LV. + } } // Unique lector array to send only one mail per lector From 8bb3b6d53c4b0ff03759acab4d30d94236895a60 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 20 Jul 2023 10:48:03 +0200 Subject: [PATCH 04/12] DB Update: added 2 attributes to tbl_anrechnung - begruendung_ects (text) - begruendung_lvinhalt (text) --- system/dbupdate_3.4.php | 3 +- ...chnung_neue_attribute_fuer_begruendung.php | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 system/dbupdate_3.4/30181_tabelle_anrechnung_neue_attribute_fuer_begruendung.php diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php index ed60aeddf..5c6a3d5d1 100644 --- a/system/dbupdate_3.4.php +++ b/system/dbupdate_3.4.php @@ -40,6 +40,7 @@ require_once('dbupdate_3.4/24913_tabelle_raumtyp_neues_attribut_aktiv.php'); require_once('dbupdate_3.4/28089_plausichecks_in_extension_hinzufuegen.php'); require_once('dbupdate_3.4/29133_einzelne_studiengaenge_aus_issuechecks_ausnehmen.php'); require_once('dbupdate_3.4/30537_anmerkung_in_tbl_rolleberechtigung.php'); +require_once('dbupdate_3.4/30181_tabelle_anrechnung_neue_attribute_fuer_begruendung.php'); // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -150,7 +151,7 @@ $tabellen=array( "lehre.tbl_abschlusspruefung" => array("abschlusspruefung_id","student_uid","vorsitz","pruefer1","pruefer2","pruefer3","abschlussbeurteilung_kurzbz","akadgrad_id","pruefungstyp_kurzbz","datum","uhrzeit","sponsion","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","note","protokoll","endezeit","pruefungsantritt_kurzbz","freigabedatum"), "lehre.tbl_abschlusspruefung_antritt" => array("pruefungsantritt_kurzbz","bezeichnung","bezeichnung_english","sort"), "lehre.tbl_akadgrad" => array("akadgrad_id","akadgrad_kurzbz","studiengang_kz","titel","geschlecht"), - "lehre.tbl_anrechnung" => array("anrechnung_id","prestudent_id","lehrveranstaltung_id","begruendung_id","lehrveranstaltung_id_kompatibel","genehmigt_von","insertamum","insertvon","updateamum","updatevon","ext_id", "dms_id", "studiensemester_kurzbz", "anmerkung_student", "empfehlung_anrechnung"), + "lehre.tbl_anrechnung" => array("anrechnung_id","prestudent_id","lehrveranstaltung_id","begruendung_id","lehrveranstaltung_id_kompatibel","genehmigt_von","insertamum","insertvon","updateamum","updatevon","ext_id", "dms_id", "studiensemester_kurzbz", "anmerkung_student", "empfehlung_anrechnung", "begruendung_ects", "begruendung_lvinhalt"), "lehre.tbl_anrechnungstatus" => array("status_kurzbz", "bezeichnung_mehrsprachig"), "lehre.tbl_anrechnung_anrechnungstatus" => array("anrechnungstatus_id", "anrechnung_id", "status_kurzbz", "datum", "insertamum", "insertvon"), "lehre.tbl_anrechnung_begruendung" => array("begruendung_id","bezeichnung"), diff --git a/system/dbupdate_3.4/30181_tabelle_anrechnung_neue_attribute_fuer_begruendung.php b/system/dbupdate_3.4/30181_tabelle_anrechnung_neue_attribute_fuer_begruendung.php new file mode 100644 index 000000000..922920071 --- /dev/null +++ b/system/dbupdate_3.4/30181_tabelle_anrechnung_neue_attribute_fuer_begruendung.php @@ -0,0 +1,28 @@ +db_query("SELECT begruendung_ects FROM lehre.tbl_anrechnung LIMIT 1")) +{ + $qry = "ALTER TABLE lehre.tbl_anrechnung ADD COLUMN begruendung_ects text; + COMMENT ON COLUMN lehre.tbl_anrechnung.begruendung_ects IS 'Begruendung gleichwertiger ECTS'; + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_anrechnung '.$db->db_last_error().'
'; + else + echo '
Spalte begruendung_ects zu Tabelle lehre.tbl_anrechnung hinzugefügt'; +} + +//Add column begruendung_lvinhalt to lehre.tbl_anrechnung +if(!@$db->db_query("SELECT begruendung_lvinhalt FROM lehre.tbl_anrechnung LIMIT 1")) +{ + $qry = "ALTER TABLE lehre.tbl_anrechnung ADD COLUMN begruendung_lvinhalt text; + COMMENT ON COLUMN lehre.tbl_anrechnung.begruendung_lvinhalt IS 'Begruendung gleichwertiger LV-Inhalte'; + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_anrechnung '.$db->db_last_error().'
'; + else + echo '
Spalte begruendung_lvinhalt zu Tabelle lehre.tbl_anrechnung hinzugefügt'; +} \ No newline at end of file From 54d819e1eaf1dc8d96b5f2ccfb22307d36b7c67b Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 20 Jul 2023 13:38:52 +0200 Subject: [PATCH 05/12] Adapted GUI to display and save begruendung_ects and begruendung_lvinhalt --- .../lehre/anrechnung/requestAnrechnung.php | 49 +++++++++++++++++-- .../js/lehre/anrechnung/requestAnrechnung.js | 25 ++++++++-- 2 files changed, 66 insertions(+), 8 deletions(-) diff --git a/application/views/lehre/anrechnung/requestAnrechnung.php b/application/views/lehre/anrechnung/requestAnrechnung.php index cfd9058f5..839e659a8 100644 --- a/application/views/lehre/anrechnung/requestAnrechnung.php +++ b/application/views/lehre/anrechnung/requestAnrechnung.php @@ -1,5 +1,7 @@ load->view( 'templates/FHC-Header', @@ -197,6 +199,47 @@ $this->load->view( + +
+
+
+
+ p->t('anrechnung', 'begruendungEcts'); ?>  + + + + ECTS Berechnung Referenzbeispiele +
+
+ + p->t('ui', 'maxZeichen'); ?> : +
+
+
+
+ +
+
+
+
+ p->t('anrechnung', 'begruendungLvinhalt'); ?>  + + + +
+
+ +  / p->t('ui', 'maxZeichen'); ?> : + p->t('ui', 'fehlendeMinZeichen'); ?> : +
+
+
+
@@ -242,8 +285,8 @@ $this->load->view(
- p->t('ui', 'maxZeichen'); ?> : + maxlength="" required>anmerkung; ?> + p->t('ui', 'maxZeichen'); ?> :
diff --git a/public/js/lehre/anrechnung/requestAnrechnung.js b/public/js/lehre/anrechnung/requestAnrechnung.js index 5edb4e162..01453f52d 100644 --- a/public/js/lehre/anrechnung/requestAnrechnung.js +++ b/public/js/lehre/anrechnung/requestAnrechnung.js @@ -1,6 +1,8 @@ const ANRECHNUNGSTATUS_APPROVED = 'approved'; const ANRECHNUNGSTATUS_REJECTED = 'rejected'; -const HERKUNFT_DER_KENNTNISSE_MAX_LENGTH = 125; +const CHAR_LENGTH125 = 125; +const CHAR_LENGTH500 = 500; +const CHAR_LENGTH1500 = 1500; const COLOR_DANGER = '#f2dede'; @@ -25,7 +27,7 @@ $(function(){ // Alert message inside Begruendungsbox, if maximum ECTS exceeded requestAnrechnung.alertIfMaxEctsExceededInsideBegruendungsbox(); - // Set chars counter for textarea 'Herkunft der Kenntnisse' + // Set chars counter for textareas requestAnrechnung.setCharsCounter(); // If Sperregrund exists: display Sperre panel, hide Status panel and disable all form elements @@ -98,6 +100,8 @@ $(function(){ begruendung: this.begruendung.value, lv_id: this.lv_id.value, studiensemester: this.studiensemester.value, + begruendung_ects: this.begruendung_ects.value, + begruendung_lvinhalt: this.begruendung_lvinhalt.value, bestaetigung: this.bestaetigung.value, uploadfile: this.uploadfile.files }, @@ -207,11 +211,22 @@ var requestAnrechnung = { }, setCharsCounter: function(){ $('#requestAnrechnung-herkunftDerKenntnisse').keyup(function() { - - let length = HERKUNFT_DER_KENNTNISSE_MAX_LENGTH - $(this).val().length; - + let length = CHAR_LENGTH125 - $(this).val().length; $('#requestAnrechnung-herkunftDerKenntnisse-charCounter').text(length); }); + + $('#requestAnrechnung-begruendungEcts').keyup(function() { + let length = CHAR_LENGTH125 - $(this).val().length; + $('#requestAnrechnung-begruendungEcts-charCounter').text(length); + }); + + $('#requestAnrechnung-begruendungLvinhalt').keyup(function() { + let maxlength = CHAR_LENGTH1500 - $(this).val().length; + $('#requestAnrechnung-begruendungLvinhalt-charCounterMax').text(maxlength); + + let minlength = CHAR_LENGTH500 - $(this).val().length; + $('#requestAnrechnung-begruendungLvinhalt-charCounterMin').text(minlength); + }); }, formatAnrechnungIsApplied: function (antragdatum, dms_id, filename){ $('#requestAnrechnung-antragdatum').text(antragdatum); From 110d6bace3637d2783f83be301ac86991b3d83b2 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 20 Jul 2023 13:42:53 +0200 Subject: [PATCH 06/12] Adapted backend logic to save/retrieve begruendung_ects and begruendung_lvinhalt --- .../controllers/lehre/anrechnung/RequestAnrechnung.php | 10 ++++++++-- application/libraries/AnrechnungLib.php | 4 ++++ application/models/education/Anrechnung_model.php | 4 +++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/application/controllers/lehre/anrechnung/RequestAnrechnung.php b/application/controllers/lehre/anrechnung/RequestAnrechnung.php index e9059720b..1922bacda 100644 --- a/application/controllers/lehre/anrechnung/RequestAnrechnung.php +++ b/application/controllers/lehre/anrechnung/RequestAnrechnung.php @@ -111,6 +111,8 @@ class requestAnrechnung extends Auth_Controller $lehrveranstaltung_id = $this->input->post('lv_id'); $studiensemester_kurzbz = $this->input->post('studiensemester'); $bestaetigung = $this->input->post('bestaetigung'); + $begruendung_ects = $this->input->post('begruendung_ects'); + $begruendung_lvinhalt = $this->input->post('begruendung_lvinhalt'); // Validate data if (empty($_FILES['uploadfile']['name'])) @@ -121,7 +123,9 @@ class requestAnrechnung extends Auth_Controller if (isEmptyString($begruendung_id) || isEmptyString($anmerkung) || isEmptyString($lehrveranstaltung_id) || - isEmptyString($studiensemester_kurzbz)) + isEmptyString($studiensemester_kurzbz) || + isEmptyString($begruendung_ects) || + isEmptyString($begruendung_lvinhalt)) { return $this->outputJsonError($this->p->t('ui', 'errorFelderFehlen')); } @@ -172,7 +176,9 @@ class requestAnrechnung extends Auth_Controller $lehrveranstaltung_id, $begruendung_id, $lastInsert_dms_id, - $anmerkung + $anmerkung, + $begruendung_ects, + $begruendung_lvinhalt ); if (isError($result)) diff --git a/application/libraries/AnrechnungLib.php b/application/libraries/AnrechnungLib.php index d8c4b1fd3..8ee1891b5 100644 --- a/application/libraries/AnrechnungLib.php +++ b/application/libraries/AnrechnungLib.php @@ -174,6 +174,8 @@ class AnrechnungLib $anrechnung_data->insertvon = ''; $anrechnung_data->studiensemester_kurzbz = ''; $anrechnung_data->empfehlung = ''; + $anrechnung_data->begruendung_ects = ''; + $anrechnung_data->begruendung_lvinhalt = ''; $anrechnung_data->status_kurzbz = ''; $anrechnung_data->status = getUserLanguage() == 'German' ? 'neu' : 'new'; $anrechnung_data->dokumentname = ''; @@ -894,6 +896,8 @@ class AnrechnungLib $anrechnung_data->insertvon= $anrechnung->insertvon; $anrechnung_data->studiensemester_kurzbz= $anrechnung->studiensemester_kurzbz; $anrechnung_data->empfehlung= $anrechnung->empfehlung_anrechnung; + $anrechnung_data->begruendung_ects = $anrechnung->begruendung_ects; + $anrechnung_data->begruendung_lvinhalt = $anrechnung->begruendung_lvinhalt; // Get last status_kurzbz $result = $this->ci->AnrechnungModel->getLastAnrechnungstatus($anrechnung->anrechnung_id); diff --git a/application/models/education/Anrechnung_model.php b/application/models/education/Anrechnung_model.php index ebecf4118..cbfdb6607 100644 --- a/application/models/education/Anrechnung_model.php +++ b/application/models/education/Anrechnung_model.php @@ -30,7 +30,7 @@ class Anrechnung_model extends DB_Model */ public function createAnrechnungsantrag( $prestudent_id, $studiensemester_kurzbz, $lehrveranstaltung_id, - $begruendung_id, $dms_id, $anmerkung_student = null + $begruendung_id, $dms_id, $anmerkung_student = null, $begruendung_ects = null, $begruendung_lvinhalt = null ) { // Start DB transaction @@ -44,6 +44,8 @@ class Anrechnung_model extends DB_Model 'dms_id' => $dms_id, 'studiensemester_kurzbz' => $studiensemester_kurzbz, 'anmerkung_student' => $anmerkung_student, + 'begruendung_ects' => $begruendung_ects, + 'begruendung_lvinhalt' => $begruendung_lvinhalt, 'insertvon' => $this->_uid )); From 74b1ca06147bf89f2383916eec3b2711cb338971 Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 24 Jul 2023 10:24:21 +0200 Subject: [PATCH 07/12] Added phrases for Begruendung ECTS and Begruendung LVinhalt --- system/phrasesupdate.php | 60 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 28735e07f..6b0990b9f 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -10908,6 +10908,46 @@ Any unusual occurrences 'insertvon' => 'system' ) ) + ), + array( + 'app' => 'core', + 'category' => 'anrechnung', + 'phrase' => 'begruendungEcts', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Begründen Sie die Gleichwertigkeit der ECTS', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Give reasons for the equivalence of ECTS', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'anrechnung', + 'phrase' => 'begruendungLvinhalt', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Begründen Sie die Gleichwertigkeit der Lehrveranstaltungsinhalte', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Give reasons for the equivalence of the course contents', + 'description' => '', + 'insertvon' => 'system' + ) + ) ), array( 'app' => 'core', @@ -13745,6 +13785,26 @@ array( ) ) ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'fehlendeMinZeichen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => "Fehlende min. Zeichen", + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => "Missing min. Characters", + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'anrechnung', From 096b436d546301f2af4d1c45c983eabfe2ec57e0 Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 24 Jul 2023 10:24:21 +0200 Subject: [PATCH 08/12] Added phrases for Begruendung ECTS and Begruendung LVinhalt --- system/phrasesupdate.php | 100 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 28735e07f..74803092d 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -10909,6 +10909,86 @@ Any unusual occurrences ) ) ), + array( + 'app' => 'core', + 'category' => 'anrechnung', + 'phrase' => 'begruendungEcts', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Begründen Sie die Gleichwertigkeit der ECTS', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Give reasons for the equivalence of ECTS', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'anrechnung', + 'phrase' => 'begruendungLvinhalt', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Begründen Sie die Gleichwertigkeit der Lehrveranstaltungsinhalte', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Give reasons for the equivalence of the course contents', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'anrechnung', + 'phrase' => 'anrechnungBegruendungEctsTooltipText', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Hinsichtlich des Umfangs der LV, die Sie anrechnen lassen wollen: Bitte erläutern Sie, warum Ihr Zeugnis bzw. Ihre berufliche Praxis mit dem Umfang der LV gleichwertig ist.

Referenzbeispiele für die ECTS-Berechnung finden Sie rechts in der Infobox.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Regarding the scope of the course you want to have credited: Please explain why your certificate or your professional practice is equivalent to the scope of the course.

Reference examples for the ECTS calculation can be found in the info box on the right.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'anrechnung', + 'phrase' => 'anrechnungBegruendungLvinhaltTooltipText', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Hinsichtlich der Lernergebnisse der LV (vgl. CIS), die Sie anrechnen lassen wollen: Bitte erläutern Sie, warum die von Ihnen erworbenen Kompetenzen mit diesen Lernergebnissen gleichwertig sind.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'With regard to the learning outcomes of the course (cf. CIS) for which you want to receive credit: Please explain why the competences you have acquired are equivalent to these learning outcomes.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'anrechnung', @@ -13745,6 +13825,26 @@ array( ) ) ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'fehlendeMinZeichen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => "Fehlende min. Zeichen", + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => "Missing min. Characters", + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'anrechnung', From dd392caef73537804990afafcbd7bb95ca44bc67 Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 31 Jul 2023 11:44:19 +0200 Subject: [PATCH 09/12] Adapted max/min length for Begruendung ECTS and Begruendung LVinhalt --- .../views/lehre/anrechnung/requestAnrechnung.php | 13 +++++++------ public/js/lehre/anrechnung/requestAnrechnung.js | 7 ++++--- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/application/views/lehre/anrechnung/requestAnrechnung.php b/application/views/lehre/anrechnung/requestAnrechnung.php index 839e659a8..9e430a676 100644 --- a/application/views/lehre/anrechnung/requestAnrechnung.php +++ b/application/views/lehre/anrechnung/requestAnrechnung.php @@ -1,7 +1,8 @@ load->view( 'templates/FHC-Header', @@ -212,9 +213,9 @@ $this->load->view( ECTS Berechnung Referenzbeispiele
- - p->t('ui', 'maxZeichen'); ?> : + + p->t('ui', 'maxZeichen'); ?> :
@@ -233,8 +234,8 @@ $this->load->view(
-  / p->t('ui', 'maxZeichen'); ?> : + maxlength="" required>begruendung_lvinhalt; ?> +  / p->t('ui', 'maxZeichen'); ?> : p->t('ui', 'fehlendeMinZeichen'); ?> :
diff --git a/public/js/lehre/anrechnung/requestAnrechnung.js b/public/js/lehre/anrechnung/requestAnrechnung.js index 01453f52d..2947aebe9 100644 --- a/public/js/lehre/anrechnung/requestAnrechnung.js +++ b/public/js/lehre/anrechnung/requestAnrechnung.js @@ -1,8 +1,9 @@ const ANRECHNUNGSTATUS_APPROVED = 'approved'; const ANRECHNUNGSTATUS_REJECTED = 'rejected'; const CHAR_LENGTH125 = 125; +const CHAR_LENGTH150 = 150; const CHAR_LENGTH500 = 500; -const CHAR_LENGTH1500 = 1500; +const CHAR_LENGTH1000 = 1000; const COLOR_DANGER = '#f2dede'; @@ -216,12 +217,12 @@ var requestAnrechnung = { }); $('#requestAnrechnung-begruendungEcts').keyup(function() { - let length = CHAR_LENGTH125 - $(this).val().length; + let length = CHAR_LENGTH150 - $(this).val().length; $('#requestAnrechnung-begruendungEcts-charCounter').text(length); }); $('#requestAnrechnung-begruendungLvinhalt').keyup(function() { - let maxlength = CHAR_LENGTH1500 - $(this).val().length; + let maxlength = CHAR_LENGTH1000 - $(this).val().length; $('#requestAnrechnung-begruendungLvinhalt-charCounterMax').text(maxlength); let minlength = CHAR_LENGTH500 - $(this).val().length; From 83bf874156bdf409a95bedd983412cfb62d8cf8c Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 31 Jul 2023 12:48:56 +0200 Subject: [PATCH 10/12] Removed link 'ECTS Berechnung Referenzbeispiele' --- application/views/lehre/anrechnung/requestAnrechnung.php | 1 - 1 file changed, 1 deletion(-) diff --git a/application/views/lehre/anrechnung/requestAnrechnung.php b/application/views/lehre/anrechnung/requestAnrechnung.php index 9e430a676..18fd66a67 100644 --- a/application/views/lehre/anrechnung/requestAnrechnung.php +++ b/application/views/lehre/anrechnung/requestAnrechnung.php @@ -210,7 +210,6 @@ $this->load->view( title="p->t('anrechnung', 'anrechnungBegruendungEctsTooltipText'); ?>"> - ECTS Berechnung Referenzbeispiele