From 854d836e3007143584e156acc487c72bddcf7cd9 Mon Sep 17 00:00:00 2001 From: Alexei Karpenko Date: Thu, 23 May 2024 13:56:18 +0200 Subject: [PATCH 1/7] =?UTF-8?q?Abschlusspr=C3=BCfungsprotokolle:=20added?= =?UTF-8?q?=20link=20in=20FAS=20to=20read-only=20form?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controllers/lehre/Pruefungsprotokoll.php | 191 +++++----- .../views/lehre/pruefungsprotokoll.php | 342 +++++++++--------- .../student/studentabschlusspruefung.js.php | 5 + .../studentabschlusspruefungoverlay.xul.php | 7 + rdf/abschlusspruefung.rdf.php | 1 + 5 files changed, 290 insertions(+), 256 deletions(-) diff --git a/application/controllers/lehre/Pruefungsprotokoll.php b/application/controllers/lehre/Pruefungsprotokoll.php index 21f50acca..4d34b08ca 100644 --- a/application/controllers/lehre/Pruefungsprotokoll.php +++ b/application/controllers/lehre/Pruefungsprotokoll.php @@ -6,58 +6,59 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); */ class Pruefungsprotokoll extends Auth_Controller { - private $_uid; // uid of the logged user + private $_uid; // uid of the logged user - /** - * Constructor - */ - public function __construct() - { - // Set required permissions - parent::__construct( - array( - 'index' => 'lehre/pruefungsbeurteilung:r', - 'Protokoll' => 'lehre/pruefungsbeurteilung:r', - 'saveProtokoll' => 'lehre/pruefungsbeurteilung:rw', - ) - ); + /** + * Constructor + */ + public function __construct() + { + // Set required permissions + parent::__construct( + array( + 'index' => 'lehre/pruefungsbeurteilung:r', + 'Protokoll' => 'lehre/pruefungsbeurteilung:r', + 'showProtokoll' => 'lehre/pruefungsbeurteilung:r', + 'saveProtokoll' => 'lehre/pruefungsbeurteilung:rw', + ) + ); - // Load models - $this->load->model('education/Abschlusspruefung_model', 'AbschlusspruefungModel'); - $this->load->model('education/Abschlussbeurteilung_model', 'AbschlussbeurteilungModel'); + // Load models + $this->load->model('education/Abschlusspruefung_model', 'AbschlusspruefungModel'); + $this->load->model('education/Abschlussbeurteilung_model', 'AbschlussbeurteilungModel'); - $this->load->library('PermissionLib'); - $this->load->library('AuthLib'); + $this->load->library('PermissionLib'); + $this->load->library('AuthLib'); - // Load language phrases - $this->loadPhrases( - array( - 'ui', - 'global', - 'person', - 'abschlusspruefung', + // Load language phrases + $this->loadPhrases( + array( + 'ui', + 'global', + 'person', + 'abschlusspruefung', 'password', 'lehre' - ) - ); + ) + ); - $this->_setAuthUID(); // sets property uid + $this->_setAuthUID(); // sets property uid - $this->setControllerId(); // sets the controller id - } + $this->setControllerId(); // sets the controller id + } - // ----------------------------------------------------------------------------------------------------------------- - // Public methods + // ----------------------------------------------------------------------------------------------------------------- + // Public methods public function index() { $this->load->library('WidgetLib'); - + // Protokolle anzeigen seit heute / letzte Woche / alle $period = $this->input->post('period'); $period = (!is_null($period)) ? $period : 'today'; - + $data = array('period' => $period); - + $this->load->view('lehre/pruefungsprotokollUebersicht.php', $data); } @@ -66,47 +67,15 @@ class Pruefungsprotokoll extends Auth_Controller */ public function Protokoll() { - $abschlusspruefung_id = $this->input->get('abschlusspruefung_id'); + $this->load->view('lehre/pruefungsprotokoll.php', $this->_getPruefungsprotokollData()); + } - if (!is_numeric($abschlusspruefung_id)) - show_error('invalid abschlusspruefung'); - - $abschlusspruefung_saved = false; - $abschlusspruefung = $this->_getAbschlusspruefungBerechtigt($abschlusspruefung_id); - - if (isError($abschlusspruefung)) - show_error(getError($abschlusspruefung)); - else - { - $abschlusspruefung = getData($abschlusspruefung); - $abschlusspruefung_saved = isset($abschlusspruefung->protokoll) && isset($abschlusspruefung->abschlussbeurteilung_kurzbz); - } - - $this->AbschlussbeurteilungModel->addOrder("sort", "ASC"); - $this->AbschlussbeurteilungModel->addOrder("(CASE WHEN abschlussbeurteilung_kurzbz = 'ausgezeichnet' THEN 1 - WHEN abschlussbeurteilung_kurzbz = 'gut' THEN 2 - WHEN abschlussbeurteilung_kurzbz = 'bestanden' THEN 3 - WHEN abschlussbeurteilung_kurzbz = 'angerechnet' THEN 4 - ELSE 5 - END - )"); - $abschlussbeurteilung = $this->AbschlussbeurteilungModel->load(); - - if (isError($abschlussbeurteilung)) - show_error(getError($abschlussbeurteilung)); - else - $abschlussbeurteilung = getData($abschlussbeurteilung); - - $language = getUserLanguage(); - - $data = array( - 'abschlusspruefung' => $abschlusspruefung, - 'abschlussbeurteilung' => $abschlussbeurteilung, - 'abschlusspruefung_saved' => $abschlusspruefung_saved, - 'language' => $language - ); - - $this->load->view('lehre/pruefungsprotokoll.php', $data); + /** + * Show Pruefungsprotokoll. + */ + public function showProtokoll() + { + $this->load->view('lehre/pruefungsprotokoll.php', array_merge($this->_getPruefungsprotokollData(), array('readonly' => true))); } /** @@ -168,18 +137,66 @@ class Pruefungsprotokoll extends Auth_Controller $this->outputJsonError($this->p->t('ui', 'ungueltigeParameter')); } - // ----------------------------------------------------------------------------------------------------------------- - // Private methods + // ----------------------------------------------------------------------------------------------------------------- + // Private methods - /** - * Retrieve the UID of the logged user and checks if it is valid - */ - private function _setAuthUID() - { - $this->_uid = getAuthUID(); + /** + * Retrieve the UID of the logged user and checks if it is valid + */ + private function _setAuthUID() + { + $this->_uid = getAuthUID(); - if (!$this->_uid) show_error('User authentification failed'); - } + if (!$this->_uid) show_error('User authentification failed'); + } + + /** + * + * @param + * @return object success or error + */ + private function _getPruefungsprotokollData() + { + $abschlusspruefung_id = $this->input->get('abschlusspruefung_id'); + + if (!is_numeric($abschlusspruefung_id)) + show_error('invalid abschlusspruefung'); + + $abschlusspruefung_saved = false; + $abschlusspruefung = $this->_getAbschlusspruefungBerechtigt($abschlusspruefung_id); + + if (isError($abschlusspruefung)) + show_error(getError($abschlusspruefung)); + else + { + $abschlusspruefung = getData($abschlusspruefung); + $abschlusspruefung_saved = isset($abschlusspruefung->protokoll) && isset($abschlusspruefung->abschlussbeurteilung_kurzbz); + } + + $this->AbschlussbeurteilungModel->addOrder("sort", "ASC"); + $this->AbschlussbeurteilungModel->addOrder("(CASE WHEN abschlussbeurteilung_kurzbz = 'ausgezeichnet' THEN 1 + WHEN abschlussbeurteilung_kurzbz = 'gut' THEN 2 + WHEN abschlussbeurteilung_kurzbz = 'bestanden' THEN 3 + WHEN abschlussbeurteilung_kurzbz = 'angerechnet' THEN 4 + ELSE 5 + END + )"); + $abschlussbeurteilung = $this->AbschlussbeurteilungModel->load(); + + if (isError($abschlussbeurteilung)) + show_error(getError($abschlussbeurteilung)); + else + $abschlussbeurteilung = getData($abschlussbeurteilung); + + $language = getUserLanguage(); + + return array( + 'abschlusspruefung' => $abschlusspruefung, + 'abschlussbeurteilung' => $abschlussbeurteilung, + 'abschlusspruefung_saved' => $abschlusspruefung_saved, + 'language' => $language + ); + } /** * Retrieves an Abschlussprüfung, with permission check @@ -187,7 +204,7 @@ class Pruefungsprotokoll extends Auth_Controller * @param $abschlusspruefung_id * @return object success or error */ - private function _getAbschlusspruefungBerechtigt($abschlusspruefung_id) + private function _getAbschlusspruefungBerechtigt($abschlusspruefung_id) { $result = error('Error when getting Abschlusspruefung'); diff --git a/application/views/lehre/pruefungsprotokoll.php b/application/views/lehre/pruefungsprotokoll.php index 208f2bdbb..3ac23da6a 100644 --- a/application/views/lehre/pruefungsprotokoll.php +++ b/application/views/lehre/pruefungsprotokoll.php @@ -45,188 +45,192 @@ $this->load->view(
- studiengangstyp == 'Bachelor' ? 'Bachelor' : 'Master'; - $pruefung_name = $abschlusspruefung->studiengangstyp == 'Bachelor' ? $this->p->t('abschlusspruefung', 'pruefungBachelor') : $this->p->t('abschlusspruefung', 'pruefungMaster'); - $arbeit_name = $abschlusspruefung->studiengangstyp == 'Bachelor' ? $this->p->t('abschlusspruefung', 'arbeitBachelor') : $this->p->t('abschlusspruefung', 'arbeitMaster'); - $protokolltextvorlage = $abschlusspruefung->studiengangstyp == 'Bachelor' ? $this->p->t('abschlusspruefung', 'pruefungsnotizenBachelor') : $this->p->t('abschlusspruefung', 'pruefungsnotizenMaster'); - $protokolltext = isset($abschlusspruefung->protokoll) ? $abschlusspruefung->protokoll : $protokolltextvorlage; - ?> + studiengangstyp == 'Bachelor' ? 'Bachelor' : 'Master'; + $pruefung_name = $abschlusspruefung->studiengangstyp == 'Bachelor' ? $this->p->t('abschlusspruefung', 'pruefungBachelor') : $this->p->t('abschlusspruefung', 'pruefungMaster'); + $arbeit_name = $abschlusspruefung->studiengangstyp == 'Bachelor' ? $this->p->t('abschlusspruefung', 'arbeitBachelor') : $this->p->t('abschlusspruefung', 'arbeitMaster'); + $protokolltextvorlage = $abschlusspruefung->studiengangstyp == 'Bachelor' ? $this->p->t('abschlusspruefung', 'pruefungsnotizenBachelor') : $this->p->t('abschlusspruefung', 'pruefungsnotizenMaster'); + $protokolltext = isset($abschlusspruefung->protokoll) ? $abschlusspruefung->protokoll : $protokolltextvorlage; + $readonly = isset($readonly) && $readonly === true ? true : false; + ?>
-

- studiengangstyp == 'Bachelor' ? $this->p->t('abschlusspruefung', 'abgehaltenAmBachelor') : $this->p->t('abschlusspruefung', 'abgehaltenAmMaster'); ?> +

+ studiengangstyp == 'Bachelor' ? $this->p->t('abschlusspruefung', 'abgehaltenAmBachelor') : $this->p->t('abschlusspruefung', 'abgehaltenAmMaster'); ?> studiengangbezeichnung : $abschlusspruefung->studiengangbezeichnung_englisch ?>, p->t('abschlusspruefung', 'studiengangskennzahl') ?>  studiengang_kz ?> -

+

-
-
-

- titelpre_student . ' ' . $abschlusspruefung->vorname_student . ' ' . $abschlusspruefung->nachname_student . ' ' . $abschlusspruefung->titelpost_student?> -

-

p->t('abschlusspruefung', 'personenkennzeichen') ?>: matrikelnr ?>

-
- -
- - - + + + + + + + +
+
+
+

+ titelpre_student . ' ' . $abschlusspruefung->vorname_student . ' ' . $abschlusspruefung->nachname_student . ' ' . $abschlusspruefung->titelpost_student?> +

+

p->t('abschlusspruefung', 'personenkennzeichen') ?>: matrikelnr ?>

+
+ + + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ p->t('abschlusspruefung', 'pruefungssenat') ?> +
+ p->t('abschlusspruefung', 'vorsitz') ?> + + titelpre_vorsitz . ' ' . $abschlusspruefung->vorname_vorsitz . ' ' . $abschlusspruefung->nachname_vorsitz . ' ' . $abschlusspruefung->titelpost_vorsitz ?> +
+ p->t('abschlusspruefung', 'erstpruefer') ?> + + titelpre_erstpruefer . ' ' . $abschlusspruefung->vorname_erstpruefer . ' ' . $abschlusspruefung->nachname_erstpruefer . ' ' . $abschlusspruefung->titelpost_erstpruefer ?> +
+ p->t('abschlusspruefung', 'zweitpruefer') ?> + + titelpre_zweitpruefer . ' ' . $abschlusspruefung->vorname_zweitpruefer . ' ' . $abschlusspruefung->nachname_zweitpruefer . ' ' . $abschlusspruefung->titelpost_zweitpruefer ?> +
+ p->t('abschlusspruefung', 'pruefungsdatum') ?> + + datum), 'd.m.Y'); ?> + + p->t('abschlusspruefung', 'pruefungsbeginn') ?> + + + + p->t('abschlusspruefung', 'pruefungsende') ?> + + +
+ p->t('abschlusspruefung', 'pruefungsantritt') ?> + + pruefungsantritt_bezeichnung : $abschlusspruefung->pruefungsantritt_bezeichnung_english; ?> +
+ p->t('abschlusspruefung', 'einverstaendniserklaerungName') ?> + + + p->t('abschlusspruefung', 'einverstaendniserklaerungText') ?> +
+ p->t('abschlusspruefung', 'themaBeurteilung') ?>  + + abschlussarbeit_titel) ? $abschlusspruefung->abschlussarbeit_titel : '' ?> + + p->t('lehre', 'note') ?>: abschlussarbeit_note) ? $abschlusspruefung->abschlussarbeit_note : '' ?> +
+ p->t('abschlusspruefung', 'pruefungsgegenstand') ?> + + studiengangstyp == 'Bachelor' ? $this->p->t('abschlusspruefung', 'pruefungsgegenstandBachelor') : $this->p->t('abschlusspruefung', 'pruefungsgegenstandMaster')) ?> +
+ p->t('global', 'notizen')); ?> +
- p->t('abschlusspruefung', 'pruefungssenat') ?> -
- p->t('abschlusspruefung', 'vorsitz') ?> - - titelpre_vorsitz . ' ' . $abschlusspruefung->vorname_vorsitz . ' ' . $abschlusspruefung->nachname_vorsitz . ' ' . $abschlusspruefung->titelpost_vorsitz ?> -
- p->t('abschlusspruefung', 'erstpruefer') ?> - - titelpre_erstpruefer . ' ' . $abschlusspruefung->vorname_erstpruefer . ' ' . $abschlusspruefung->nachname_erstpruefer . ' ' . $abschlusspruefung->titelpost_erstpruefer ?> -
- p->t('abschlusspruefung', 'zweitpruefer') ?> - - titelpre_zweitpruefer . ' ' . $abschlusspruefung->vorname_zweitpruefer . ' ' . $abschlusspruefung->nachname_zweitpruefer . ' ' . $abschlusspruefung->titelpost_zweitpruefer ?> -
- p->t('abschlusspruefung', 'pruefungsdatum') ?> - - datum), 'd.m.Y'); ?> - - p->t('abschlusspruefung', 'pruefungsbeginn') ?> - - - - p->t('abschlusspruefung', 'pruefungsende') ?> - - -
- p->t('abschlusspruefung', 'pruefungsantritt') ?> - - pruefungsantritt_bezeichnung : $abschlusspruefung->pruefungsantritt_bezeichnung_english; ?> -
- p->t('abschlusspruefung', 'einverstaendniserklaerungName') ?> - - - p->t('abschlusspruefung', 'einverstaendniserklaerungText') ?> -
- p->t('abschlusspruefung', 'themaBeurteilung') ?>  - - abschlussarbeit_titel) ? $abschlusspruefung->abschlussarbeit_titel : '' ?> - - p->t('lehre', 'note') ?>: abschlussarbeit_note) ? $abschlusspruefung->abschlussarbeit_note : '' ?> -
- p->t('abschlusspruefung', 'pruefungsgegenstand') ?> - - studiengangstyp == 'Bachelor' ? $this->p->t('abschlusspruefung', 'pruefungsgegenstandBachelor') : $this->p->t('abschlusspruefung', 'pruefungsgegenstandMaster')) ?> -
- p->t('global', 'notizen')); ?> -
- - -
- studiengangstyp == 'Bachelor' ? $this->p->t('abschlusspruefung', 'beurteilungKriterienBachelor') : $this->p->t('abschlusspruefung', 'beurteilungKriterienMaster') ?> -
- studiengangstyp == 'Bachelor' ? $this->p->t('abschlusspruefung', 'beurteilungBachelor') : $this->p->t('abschlusspruefung', 'beurteilungMaster') ?>: - - -
- -
-
-
-
-
-

- freigabedatum); ?> - -

-
-
-
-
-
- - +
+ studiengangstyp == 'Bachelor' ? $this->p->t('abschlusspruefung', 'beurteilungKriterienBachelor') : $this->p->t('abschlusspruefung', 'beurteilungKriterienMaster') ?> +
+ studiengangstyp == 'Bachelor' ? $this->p->t('abschlusspruefung', 'beurteilungBachelor') : $this->p->t('abschlusspruefung', 'beurteilungMaster') ?>: + + +
+ + +
+
+
+ +
+
+

+ freigabedatum); ?> + +

+
+
+
+
+
+ + p->t('abschlusspruefung', 'freigegebenAm') . ' ' . date_format(date_create($abschlusspruefung->freigabedatum), 'd.m.Y') ?> - -
-
-
-
-
-
- - - - - -
-
-
-
-
+ +
+
+
+
+
+
+ + + + + +
+
+
+
+ +
diff --git a/content/student/studentabschlusspruefung.js.php b/content/student/studentabschlusspruefung.js.php index f46d7b2b9..dfdd102d5 100644 --- a/content/student/studentabschlusspruefung.js.php +++ b/content/student/studentabschlusspruefung.js.php @@ -195,6 +195,8 @@ function StudentAbschlusspruefungResetFields() document.getElementById('student-abschlusspruefung-datum-uhrzeit').value='00:00'; document.getElementById('student-abschlusspruefung-datum-sponsion').value=''; document.getElementById('student-abschlusspruefung-textbox-anmerkung').value=''; + document.getElementById('student-abschlusspruefung-link-value').value=''; + document.getElementById('student-abschlusspruefung-link').value=''; } // **** @@ -353,6 +355,7 @@ function StudentAbschlusspruefungAuswahl() pruefungstyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefungstyp_kurzbz" )); anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" )); protokoll = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#protokoll" )); + link_abschlusspruefung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#link_abschlusspruefung" )); stg_kz = studiengang_kz = document.getElementById('student-detail-menulist-studiengang_kz').value; @@ -412,6 +415,8 @@ function StudentAbschlusspruefungAuswahl() document.getElementById('student-abschlusspruefung-textbox-abschlusspruefung_id').value=abschlusspruefung_id; document.getElementById('student-abschlusspruefung-checkbox-neu').checked=false; document.getElementById('student-abschlusspruefung-textbox-protokoll').value=protokoll; + document.getElementById('student-abschlusspruefung-link-value').value=link_abschlusspruefung; + document.getElementById('student-abschlusspruefung-link').value='Prüfungsprotokoll'; StudentAbschlusspruefungTypChange(); } diff --git a/content/student/studentabschlusspruefungoverlay.xul.php b/content/student/studentabschlusspruefungoverlay.xul.php index 90ca765d8..a03c15a1a 100644 --- a/content/student/studentabschlusspruefungoverlay.xul.php +++ b/content/student/studentabschlusspruefungoverlay.xul.php @@ -365,6 +365,13 @@ echo ''; + + + + + diff --git a/rdf/abschlusspruefung.rdf.php b/rdf/abschlusspruefung.rdf.php index 8c2764d86..c011e3acf 100644 --- a/rdf/abschlusspruefung.rdf.php +++ b/rdf/abschlusspruefung.rdf.php @@ -396,6 +396,7 @@ if ($xmlformat=='rdf') pruefungstyp_kurzbz.']]> beschreibung.']]> anmerkung.']]> + abschlusspruefung_id.']]> '; From c32f65bc1ec6754cd5621ccf909adb353b3cb9cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 26 Nov 2024 12:49:21 +0100 Subject: [PATCH 2/7] Reihungstestangetreten Check aus BIS-Bewerbermeldung entfernt --- vilesci/bis/studentenmeldung.php | 1 - 1 file changed, 1 deletion(-) diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index 701218569..8754cb444 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -1952,7 +1952,6 @@ function GenerateXMLBewerberBlock($studiengang_kz, $orgformcode=null) AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz)." AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).") AND status_kurzbz='Bewerber' - AND reihungstestangetreten "; if(!is_null($orgformcode)) From c02c1e995555e58bbbf9292a5426506b37a2d6ac Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Tue, 26 Nov 2024 15:59:42 +0100 Subject: [PATCH 3/7] hinweis "testphase -> keine benotung" phrase --- system/phrasesupdate.php | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 6dda8a8e9..5388b4a43 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -28432,7 +28432,27 @@ array( 'description' => '', 'insertvon' => 'system' ) - ) + ), + array( + 'app' => 'anwesenheiten', + 'category' => 'global', + 'phrase' => 'tooltipStudentTestphase', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Hinweis: Es handelt sich um einen nicht repräsentativen Testbetrieb und die Ergebnisse werden nicht für die Benotung herangezogen.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Note: This is a non-representative test operation and the results are not used for grading.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), ), // // DIGITALE ANWESENHEITEN PHRASEN END From 1ba857b524f48ba6fb316585ebb67085a469e63a Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Tue, 26 Nov 2024 17:12:11 +0100 Subject: [PATCH 4/7] only show digi anw in cis_menu_lv when corresponding lva is from BIF/257 for testphase --- include/tw/cis_menu_lv.inc.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/tw/cis_menu_lv.inc.php b/include/tw/cis_menu_lv.inc.php index 6906bcc0f..593ba3afe 100644 --- a/include/tw/cis_menu_lv.inc.php +++ b/include/tw/cis_menu_lv.inc.php @@ -241,13 +241,13 @@ function checkZeilenUmbruch() } // Digitale Anwesenheiten - if(CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN && $angemeldet - && ($rechte->isBerechtigt('extension/anw_ent_admin') + // $lv->studiengang_kz == 257 -> only show the extension for studiengang BIF - Bachelor Informatik + if(defined('CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN') && CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN && $angemeldet + && $lv->studiengang_kz == 257 && ($rechte->isBerechtigt('extension/anw_ent_admin') || $rechte->isBerechtigt('extension/anwesenheit_lektor') || $rechte->isBerechtigt('extension/anwesenheit_student') || $rechte->isBerechtigt('extension/anwesenheit_admin'))) { - $link=''; $text=''; From 0a4d8bb1f6872d1ced988e0bd1c88ea80db082cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 28 Nov 2024 08:43:25 +0100 Subject: [PATCH 5/7] Falsch verschachtelte Phrase korrigiert --- system/phrasesupdate.php | 52 ++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 5388b4a43..10ac7e682 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -28339,7 +28339,7 @@ array( array( 'sprache' => 'German', 'text' => 'Im Entschuldigungsmanagement können Sie als Studiengangsassistenz beziehungsweise als Administrator die von Studenten hochgeladenen Entschuldigungsdokumente überprüfen und den Status entsprechend vergeben. - + Bitte beachten Sie dass nur Entschuldigungen INNERHALB des angegebenen Zeitraumes angezeigt werden. Sollten Sie nach einer lang wirkenden Entschuldigung suchen, müssen Sie die Zeitspanne entsprechend weit setzen.', 'description' => '', 'insertvon' => 'system' @@ -28387,9 +28387,9 @@ array( array( 'sprache' => 'German', 'text' => 'Um eine Anwesenheitskontrolle für Ihre ausgewählte Unterrichtsgruppe durchzuführen, wählen Sie bitte einen Termin aus dem Stundenplan aus oder geben händisch die gewünschte Gültigkeitkeitsdauer der Kontrolle an. - + Die Gültigkeitsdauer bestimmt die Gewichtung der Anwesenheit in Relation zum Gesamtausmaß, sie können diese aber nach eigenem Ermessen anpassen und müssen sich nicht streng an die Termine im Stundenplan halten. - + Sie können pro Datum und Unterrichtsgruppe eine Anwesenheitskontrolle pro Tag eröffnen, welche jedoch beliebig oft aufgerufen und von Studenten eingecheckt werden kann. Es gelten dabei ihre zuletzt eingetragenen Zeiten. Ein Student muss nur einmal am Tag pro Gruppe einchecken um als anwesend registriert zu sein, egal wie oft Sie die Kontrolle starten.', 'description' => '', 'insertvon' => 'system' @@ -28415,9 +28415,9 @@ array( array( 'sprache' => 'German', 'text' => 'In dieser Detailansicht können Sie einzelne Anwesenheiten eines Studenten bearbeiten, falls ein anwesender Student aus technischen Gründen den Zugangscode nicht eingeben kann. Ebenso steht es Ihnen frei Studenten auszutragen, welche nicht anwesend sind aber den Zugangscode mit Hilfe von anwesenden Studenten erhalten haben. - + Falls eine Anwesenheit durch eine akzeptierte Entschuldigung entstanden ist, können Sie den Status nicht verändern. - + Es steht Ihnen frei die Anwesenheitseinträge mit Notiztexten zu versehen, welche dem Studenten nicht zugänglich sind.', 'description' => '', 'insertvon' => 'system' @@ -28432,27 +28432,27 @@ array( 'description' => '', 'insertvon' => 'system' ) - ), - array( - 'app' => 'anwesenheiten', - 'category' => 'global', - 'phrase' => 'tooltipStudentTestphase', - 'insertvon' => 'system', - 'phrases' => array( - array( - 'sprache' => 'German', - 'text' => 'Hinweis: Es handelt sich um einen nicht repräsentativen Testbetrieb und die Ergebnisse werden nicht für die Benotung herangezogen.', - 'description' => '', - 'insertvon' => 'system' - ), - array( - 'sprache' => 'English', - 'text' => 'Note: This is a non-representative test operation and the results are not used for grading.', - 'description' => '', - 'insertvon' => 'system' - ) + ) + ), + array( + 'app' => 'anwesenheiten', + 'category' => 'global', + 'phrase' => 'tooltipStudentTestphase', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Hinweis: Es handelt sich um einen nicht repräsentativen Testbetrieb und die Ergebnisse werden nicht für die Benotung herangezogen.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Note: This is a non-representative test operation and the results are not used for grading.', + 'description' => '', + 'insertvon' => 'system' ) - ), + ) ), // // DIGITALE ANWESENHEITEN PHRASEN END @@ -33512,4 +33512,4 @@ foreach ($phrases as $phrase) } if(!$new) - echo 'Keine neuen Phrasen
'; \ No newline at end of file + echo 'Keine neuen Phrasen
'; From 677d6e97d60014b44348c2484285228bc91aeff1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 28 Nov 2024 13:38:25 +0100 Subject: [PATCH 6/7] =?UTF-8?q?Config=20zur=20Steuerung=20f=C3=BCr=20welch?= =?UTF-8?q?e=20Studiengaenge=20die=20Digit.=20Anwesenheiten=20sichtbar=20s?= =?UTF-8?q?ein=20sollen=20(Testbetrieb)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/global.config-default.inc.php | 3 +++ include/tw/cis_menu_lv.inc.php | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index 6c3e401c5..64d6d3a60 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -29,6 +29,9 @@ define('CIS_LEHRVERANSTALTUNG_GESAMTNOTE_ANZEIGEN', true); define('CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN', true); define('CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN', true); +// Wenn gesetzt, werden die Digitale Anwesenheit-Icons nur fuer diese Studiengaenge angezeigt, sonst für alle +// define('CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN_STG', serialize(array('257'))); + // Im CIS Menue Links bei Modulen anzeigen wenn Lehrauftrag define('CIS_LEHRVERANSTALTUNG_MODULE_LINK',true); diff --git a/include/tw/cis_menu_lv.inc.php b/include/tw/cis_menu_lv.inc.php index 593ba3afe..a18af4bde 100644 --- a/include/tw/cis_menu_lv.inc.php +++ b/include/tw/cis_menu_lv.inc.php @@ -241,9 +241,9 @@ function checkZeilenUmbruch() } // Digitale Anwesenheiten - // $lv->studiengang_kz == 257 -> only show the extension for studiengang BIF - Bachelor Informatik if(defined('CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN') && CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN && $angemeldet - && $lv->studiengang_kz == 257 && ($rechte->isBerechtigt('extension/anw_ent_admin') + && (!defined('CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN_STG') || in_array($lv->studiengang_kz, unserialize(CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN_STG))) + && ($rechte->isBerechtigt('extension/anw_ent_admin') || $rechte->isBerechtigt('extension/anwesenheit_lektor') || $rechte->isBerechtigt('extension/anwesenheit_student') || $rechte->isBerechtigt('extension/anwesenheit_admin'))) @@ -608,4 +608,4 @@ function isDirectoryEmpty($DOC_ROOT, $kurzbz, $semester, $short_short_name, $typ } ?> - \ No newline at end of file + From 7a7c91b67bec42736e30e3b55c9b46309e4cd8b9 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Fri, 29 Nov 2024 11:19:57 +0100 Subject: [PATCH 7/7] readd lines of code that were lost during merging --- public/js/components/Form/Input.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/public/js/components/Form/Input.js b/public/js/components/Form/Input.js index ff68b4143..659609e8d 100644 --- a/public/js/components/Form/Input.js +++ b/public/js/components/Form/Input.js @@ -265,7 +265,10 @@ export default {