- disabled overwriting non-ueberschreibbar grades in FAS

This commit is contained in:
alex
2018-09-26 10:15:31 +02:00
parent ae0c28bf92
commit 2f14e08cef
+36 -13
View File
@@ -2835,12 +2835,22 @@ if(!$error)
//Die Daten werden per POST uebermittelt. Es wird ein Feld Anzahl mituebergeben //Die Daten werden per POST uebermittelt. Es wird ein Feld Anzahl mituebergeben
//mit der Anzahl der Felder. Die Felder sind durchnummeriert zB lehreinheit_id_0, lehreinheit_id_1, ... //mit der Anzahl der Felder. Die Felder sind durchnummeriert zB lehreinheit_id_0, lehreinheit_id_1, ...
$errormsg = ''; $errormsg = '';
$angerechnet=false; $ueberschreibbar=true;
$nueberschreibbarbez=array();
for($i=0;$i<$_POST['anzahl'];$i++) for($i=0;$i<$_POST['anzahl'];$i++)
{ {
$lvgesamtnote = new lvgesamtnote(); $lvgesamtnote = new lvgesamtnote();
$zeugnisnote = new zeugnisnote(); $zeugnisnote = new zeugnisnote();
$noten_ueberschreibbar = array();
$noten_bezeichnung = array();
$note_obj = new note();
$note_obj->getAll();
foreach($note_obj->result as $row)
{
$noten_ueberschreibbar[$row->note] = $row->lkt_ueberschreibbar;
$noten_bezeichnung[$row->note] = $row->bezeichnung;
}
//Berechtigung pruefen //Berechtigung pruefen
$qry = "SELECT studiengang_kz FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=".$db->db_add_param($_POST['lehrveranstaltung_id_'.$i], FHC_INTEGER); $qry = "SELECT studiengang_kz FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=".$db->db_add_param($_POST['lehrveranstaltung_id_'.$i], FHC_INTEGER);
@@ -2902,10 +2912,13 @@ if(!$error)
$zeugnisnote->new = false; $zeugnisnote->new = false;
$zeugnisnote->updateamum = date('Y-m-d H:i:s'); $zeugnisnote->updateamum = date('Y-m-d H:i:s');
$zeugnisnote->updatevon = $user; $zeugnisnote->updatevon = $user;
//Angerechnete Noten werden nicht ueberschrieben // Noten wie "angerechnet", "nicht erforderlich" werden nicht ueberschrieben
if($zeugnisnote->note=='6') //Angerechnet if(isset($zeugnisnote->note) && !$noten_ueberschreibbar[$zeugnisnote->note])
{ {
$angerechnet=true; $notenbez = '"'.$noten_bezeichnung[$zeugnisnote->note].'"';
if (!in_array($notenbez, $nueberschreibbarbez))
$nueberschreibbarbez[] = $notenbez;
$ueberschreibbar = false;
continue; continue;
} }
} }
@@ -2944,9 +2957,9 @@ if(!$error)
} }
} }
} }
if($angerechnet) if(!$ueberschreibbar)
{ {
$errormsg.="\nAngerechnete Noten wurden nicht ueberschrieben"; $errormsg.="\nNote(n) ".implode(', ', $nueberschreibbarbez)." waren nicht ueberschreibbar";
} }
if($errormsg=='') if($errormsg=='')
@@ -2961,13 +2974,20 @@ if(!$error)
//Die Felder sind durchnummeriert zB matrikelnummer_0, matrikelnummer_1, ... //Die Felder sind durchnummeriert zB matrikelnummer_0, matrikelnummer_1, ...
//Die Anzahl der Gesamten Daten wird auch als Parameter uebergeben //Die Anzahl der Gesamten Daten wird auch als Parameter uebergeben
$errormsg = ''; $errormsg = '';
$angerechnet=false; $ueberschreibbar=true;
$nueberschreibbarbez=array();
$noten_anmerkung_arr=array(); $noten_anmerkung_arr=array();
$noten_ueberschreibbar = array();
$noten_bezeichnung = array();
$note_obj = new note(); $note_obj = new note();
$note_obj->getAll(); $note_obj->getAll();
foreach($note_obj->result as $row) foreach($note_obj->result as $row)
$noten_anmerkung_arr[$row->anmerkung]=$row->note; {
$noten_ueberschreibbar[$row->note] = $row->lkt_ueberschreibbar;
$noten_bezeichnung[$row->note] = $row->bezeichnung;
$noten_anmerkung_arr[$row->anmerkung] = $row->note;
}
for($i=0;$i<$_POST['anzahl'];$i++) for($i=0;$i<$_POST['anzahl'];$i++)
{ {
@@ -3045,10 +3065,13 @@ if(!$error)
$zeugnisnote->new = false; $zeugnisnote->new = false;
$zeugnisnote->updateamum = date('Y-m-d H:i:s'); $zeugnisnote->updateamum = date('Y-m-d H:i:s');
$zeugnisnote->updatevon = $user; $zeugnisnote->updatevon = $user;
//Angerechnete Noten werden nicht ueberschrieben // Noten wie "angerechnet", "nicht erforderlich" werden nicht ueberschrieben
if($zeugnisnote->note=='6') //Angerechnet if(isset($zeugnisnote->note) && !$noten_ueberschreibbar[$zeugnisnote->note])
{ {
$angerechnet=true; $notenbez = '"'.$noten_bezeichnung[$zeugnisnote->note].'"';
if (!in_array($notenbez, $nueberschreibbarbez))
$nueberschreibbarbez[] = $notenbez;
$ueberschreibbar = false;
continue; continue;
} }
} }
@@ -3100,9 +3123,9 @@ if(!$error)
} }
} }
} }
if($angerechnet) if(!$ueberschreibbar)
{ {
$errormsg.="\nAngerechnete Noten wurden nicht ueberschrieben"; $errormsg.="\nNote(n) ".implode(', ', $nueberschreibbarbez)." waren nicht ueberschreibbar";
} }
if($errormsg=='') if($errormsg=='')