Je nach Anwesenheit werden Prüfungstermine beim Eintragen von Noten angelegt

This commit is contained in:
Nikolaus Krondraf
2015-08-18 10:53:17 +02:00
parent 7a1ad9f86d
commit 5c4aa9f4fc
2 changed files with 89 additions and 0 deletions
+3
View File
@@ -61,6 +61,9 @@ define('FAS_GESAMTNOTE_PRUEFUNGSHONORAR',false);
define('FAS_ANWESENHEIT_ROT', 70);
define('FAS_ANWESENHEIT_GELB', 90);
// Legt einen Prüfungstermin an wenn eine neue Note erfasst wird
define('FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN',false);
// Anzeigeoptionen für LV-Plan Menü
define('CIS_LVPLAN_EXPORT_ANZEIGEN',true);
define('CIS_LVPLAN_PERSONENAUSWAHL_ANZEIGEN',true);
+86
View File
@@ -64,6 +64,7 @@ require_once('../../include/dms.class.php');
require_once('../../include/notenschluessel.class.php');
require_once('../../include/anrechnung.class.php');
require_once('../../include/lehrveranstaltung.class.php');
require_once('../../include/anwesenheit.class.php');
$user = get_uid();
$db = new basis_db();
@@ -2553,6 +2554,91 @@ if(!$error)
$errormsg = $noten->errormsg;
$return = false;
}
if(FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $return == true && $noten->new == true)
{
$anwesenheit = new anwesenheit();
$anwesenheit->loadAnwesenheitStudiensemester($studiensemester_kurzbz, $student_uid, $lehrveranstaltung_id);
// Lehreinheit ermitteln
$error = false;
$qry = "SELECT lehreinheit_id FROM campus.vw_student_lehrveranstaltung "
. "WHERE uid=".$db->db_add_param($student_uid)." AND lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id)." "
. "ORDER BY lehreinheit_id ASC "
. "LIMIT 1";
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
{
$lehreinheit_id = $row->lehreinheit_id;
}
else
{
$return = false;
$error = true;
$errormsg = 'Fehler beim Ermitteln der Lehreinheit ID';
}
}
else
{
$return = false;
$error = true;
$errormsg = 'Fehler beim Ermitteln der Lehreinheit ID';
}
if(!$error)
{
$pruefung = new pruefung;
$pruefung->new = true;
$pruefung->student_uid = $student_uid;
$pruefung->lehreinheit_id = $lehreinheit_id;
$pruefung->datum = date("Y-m-d");
if($anwesenheit->result[0]->prozent < FAS_ANWESENHEIT_ROT)
{
// 1. Termin mit "nicht angetreten" erstellen
$pruefung->pruefungstyp_kurzbz = "Termin1";
$pruefung->note = 7;
if($pruefung->save())
{
// 2. Termin mit Note erstellen
$pruefung->pruefungstyp_kurzbz = "Termin2";
$pruefung->note = $noten->note;
if($pruefung->save())
{
$return = true;
}
else
{
$errormsg = $pruefung->errormsg;
$return = false;
}
}
else
{
$errormsg = $pruefung->errormsg;
$return = false;
}
}
else
{
// 1. Termin mit Note erstellen
$pruefung->pruefungstyp_kurzbz = "Termin1";
$pruefung->note = $noten->note;
if($pruefung->save())
{
$return = true;
}
else
{
$errormsg = $pruefung->errormsg;
$return = false;
}
}
}
}
}
}
}