From 1eab041a46e2a5d83d42347f9222b7171658fa25 Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 17 Sep 2015 19:05:37 +0200 Subject: [PATCH] =?UTF-8?q?Es=20kann=20nun=20eine=20Anwesenheitsbefreiung?= =?UTF-8?q?=20bei=20Studierenden=20eingetragen=20werden.=20Wenn=20diese=20?= =?UTF-8?q?eingetragen=20ist,=20wird=20kein=20Pr=C3=BCfungsantritt=20abgez?= =?UTF-8?q?ogen=20wenn=20die=20Anwesenheit=20unter=20X%=20f=C3=A4llt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/student/studentDBDML.php | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index e1f870ed1..41222d2df 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -65,6 +65,7 @@ require_once('../../include/notenschluessel.class.php'); require_once('../../include/anrechnung.class.php'); require_once('../../include/lehrveranstaltung.class.php'); require_once('../../include/anwesenheit.class.php'); +require_once('../../include/benutzerfunktion.class.php'); $user = get_uid(); $db = new basis_db(); @@ -2596,8 +2597,21 @@ if(!$error) $pruefung->student_uid = $student_uid; $pruefung->lehreinheit_id = $lehreinheit_id; $pruefung->datum = date("Y-m-d"); - - if(isset($anwesenheit->result[0]) && $anwesenheit->result[0]->prozent < FAS_ANWESENHEIT_ROT) + + $stsem_obj = new studiensemester(); + $stsem_obj->load($studiensemester_kurzbz); + + // In Benutzerfunktion nachsehen ob eine Anwesenheitsbefreiung eingetragen ist + $benutzerfunktion = new benutzerfunktion(); + $benutzerfunktion->getBenutzerFunktionByUid($student_uid, 'awbefreit', $stsem_obj->start, $stsem_obj->ende); + + $anwesenheitsbefreit=false; + if(count($benutzerfunktion->result)>0) + $anwesenheitsbefreit=true; + + // Wenn nicht Anwesenheitsbefreit und Anwesenheit unter einem bestimmten Prozentsatz faellt dann wird ein + // Pruefungsantritt abgezogen + if(isset($anwesenheit->result[0]) && $anwesenheit->result[0]->prozent < FAS_ANWESENHEIT_ROT && !$anwesenheitsbefreit) { // 1. Termin mit "nicht beurteilt" erstellen $pruefung->pruefungstyp_kurzbz = "Termin1"; @@ -2886,7 +2900,7 @@ if(!$error) { $errormsg .= "\n".$zeugnisnote->errormsg; } - + if(FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $errormsg == '' && $zeugnisnote->new == true) { $anwesenheit = new anwesenheit();