Validierungen Format Datum, Matrikelnr, StudentId, Note

This commit is contained in:
ma0068
2022-10-13 15:36:08 +02:00
parent 29fc5181bf
commit ce3cea5515
4 changed files with 56 additions and 61 deletions
@@ -20,33 +20,33 @@
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
* Manuela Thamer <manuela.thamer@technikum-wien.at>
*/
require_once ('../../../../config/cis.config.inc.php');
require_once ('../../../../config/global.config.inc.php');
require_once ('../../../../include/functions.inc.php');
require_once ('../../../../include/lehrveranstaltung.class.php');
require_once ('../../../../include/studiengang.class.php');
require_once ('../../../../include/studiensemester.class.php');
require_once ('../../../../include/lehreinheit.class.php');
require_once ('../../../../include/benutzerberechtigung.class.php');
require_once ('../../../../include/uebung.class.php');
require_once ('../../../../include/beispiel.class.php');
require_once ('../../../../include/studentnote.class.php');
require_once ('../../../../include/datum.class.php');
require_once ('../../../../include/legesamtnote.class.php');
require_once ('../../../../include/lvgesamtnote.class.php');
require_once ('../../../../include/zeugnisnote.class.php');
require_once ('../../../../include/pruefung.class.php');
require_once ('../../../../include/person.class.php');
require_once ('../../../../include/benutzer.class.php');
require_once ('../../../../include/mitarbeiter.class.php');
require_once ('../../../../include/mail.class.php');
require_once ('../../../../include/phrasen.class.php');
require_once ('../../../../include/note.class.php');
require_once ('../../../../include/notenschluessel.class.php');
require_once ('../../../../include/studienplan.class.php');
require_once ('../../../../include/addon.class.php');
require_once ('../../../../include/mobilitaet.class.php');
require_once ('../../../../include/student.class.php');
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../config/global.config.inc.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/lehreinheit.class.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/uebung.class.php');
require_once('../../../../include/beispiel.class.php');
require_once('../../../../include/studentnote.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/legesamtnote.class.php');
require_once('../../../../include/lvgesamtnote.class.php');
require_once('../../../../include/zeugnisnote.class.php');
require_once('../../../../include/pruefung.class.php');
require_once('../../../../include/person.class.php');
require_once('../../../../include/benutzer.class.php');
require_once('../../../../include/mitarbeiter.class.php');
require_once('../../../../include/mail.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/note.class.php');
require_once('../../../../include/notenschluessel.class.php');
require_once('../../../../include/studienplan.class.php');
require_once('../../../../include/addon.class.php');
require_once('../../../../include/mobilitaet.class.php');
require_once('../../../../include/student.class.php');
$summe_stud = 0;
$summe_t2 = 0;
@@ -190,7 +190,7 @@ foreach ($noten_obj->result as $row)
$noten_array[$row->note]['lehre'] = $row->lehre;
$noten_array[$row->note]['lkt_ueberschreibbar'] = $row->lkt_ueberschreibbar;
$noten_array[$row->note]['anmerkung'] = $row->anmerkung;
foreach ($sprachen->result AS $s)
foreach ($sprachen->result as $s)
$noten_array[$row->note]['bezeichnung_mehrsprachig'][$s->sprache] = $row->bezeichnung_mehrsprachig[$s->sprache];
}
@@ -376,7 +376,7 @@ foreach ($noten_obj->result as $row)
var datum_test = datum.split(".");
if (datum_test[0].length != 2 || datum_test[1].length != 2 || datum_test[2].length!=4
|| isNaN(datum_test[2]) || datum_test[1]>12 || datum_test[1]<1 || datum_test[0]>31 || datum_test[0]<1)
alert("Invalid Date Format: DD.MM.YYYY");
alert("Das Datum entspricht nicht dem Format TT.MM.JJJJ!");
else
{
var anlegendiv = document.getElementById("nachpruefung_div");
@@ -939,7 +939,6 @@ if (defined('CIS_ANWESENHEITSLISTE_NOTENLISTE_ANZEIGEN') && CIS_ANWESENHEITSLIST
{
$hrefpath = "../notenliste.xls.php?stg=$stg_obj->studiengang_kz&lvid=$lvid&stsem=$stsem";
echo "<br><a class='Item' href='" . $hrefpath . "'>" . $p->t('benotungstool/notenlisteImport') . "</a>";
}
// eingetragene lv-gesamtnoten freigeben
@@ -1333,7 +1332,6 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
foreach ($grades as $uid => $data)
//Ausgabe Array
{
$htmlstring .= '<tr class="liste' . ($i % 2) . '">
<td><a href="mailto:' . $uid . '@' . DOMAIN . '"><img src="../../../../skin/images/button_mail.gif"></a></td>
<td>' . $db->convert_html_chars($uid) . '</td>
@@ -1465,7 +1463,6 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
// Punkte
if (CIS_GESAMTNOTE_PUNKTE)
{
$htmlstring .= '
<input type="text"
name="punkte"
@@ -85,7 +85,7 @@ if(!isset($_GET['typ']))
}
else
{
if(in_array($_GET['typ'],array('Termin2','Termin3')))
if(in_array($_GET['typ'], array('Termin2', 'Termin3')))
$typ=$_GET['typ'];
else
die('Typ ist ungueltig');
@@ -93,14 +93,14 @@ else
if (isset($_REQUEST['sammel']) && $_REQUEST["sammel"] == 1)
{
foreach ($_POST as $row=>$val)
$errorMatrnr = '';
$errorDatum = '';
foreach ($_POST as $row => $val)
{
if(mb_strstr(mb_strtolower($row), 'student_uid_'))
{
$id=mb_substr($row, mb_strlen('student_uid_'));
$response2 = '';
$student_uid = $_POST['student_uid_'.$id];
$note = null;
$punkte = null;
@@ -114,35 +114,36 @@ if (isset($_REQUEST['sammel']) && $_REQUEST["sammel"] == 1)
$response.="\nNote oder Punkte fehlen";
continue;
}
$punkte=str_replace(',','.', $punkte);
$punkte=str_replace(',', '.', $punkte);
$datum = $_POST['datumNachp_'.$id];
//check Datumsformat
$checkedDatum = $datum;
$datum_obj = new datum();
$datum = $datum_obj->checkformatDatum($datum, 'Y-m-d', true) OR die('Invalid date format');
if(!$datum = $datum_obj->checkformatDatum($datum, 'Y-m-d', true))
{
$errorDatum .="\n".$p->t('benotungstool/datumsformatUnzulaessig', array($checkedDatum));
continue;
}
//check ob Matrikelnummer anstelle der student_uid übergeben wurde
$student = new student();
if (!$student->checkIfValidStudentUID($student_uid))
{
$checkedMatrnr = $student_uid;
//UID ermitteln
if(!$student_uid = $student->getUidFromMatrikelnummer($student_uid))
{
$response2.="\n".$p->t('benotungstool/studentMitMatrikelnummerExistiertNicht',array($student_uid));
$errorMatrnr.="\n".$p->t('benotungstool/studentMitMatrikelnummerExistiertNicht', array($checkedMatrnr));
continue;
}
}
$lehreinheit_id = getLehreinheit($db, $lvid, $student_uid, $stsem);
if(isset($_POST['student_uid_'.$id]) && (isset($_POST['note_'.$id]) || isset($_POST['punkte_'.$id])) && isset($_POST['datumNachp_'.$id]))
{
$response = savePruefung($lvid, $student_uid, $stsem, $lehreinheit_id, $datum, $typ, $note, $punkte);
echo "\ndb " . " lvid ". $lvid . " note " . $note . " student_uid " . $student_uid . " datum " . $datum . " studiensem " .
$stsem . " lehreinheit_id_pr " . $lehreinheit_id . " typ " . $typ . " response" . $response . "\n";
echo $response2;
}
else
{
@@ -150,22 +151,18 @@ if (isset($_REQUEST['sammel']) && $_REQUEST["sammel"] == 1)
}
}
}
echo $errorMatrnr . $errorDatum;
}
else
{
// Einzelupdate
if(isset($_GET['datum']) )
if(isset($_GET['datum']))
{
$datum = $_GET['datum'];
$datum_obj = new datum();
$datum = $datum_obj->checkformatDatum($datum, 'Y-m-d', true) OR die('Invalid date format');
$datum = $datum_obj->checkformatDatum($datum, 'Y-m-d', true) or die($p->t('benotungstool/datumsformatUnzulaessig', array($checkedDatum)));
}
else
die('Fehlerhafte Parameteruebergabe');
$student_uid = $_REQUEST["student_uid"];
$note = $_REQUEST["note"];
@@ -174,7 +171,7 @@ else
else
$punkte = '';
$punkte = str_replace(',','.',$punkte);
$punkte = str_replace(',', '.', $punkte);
if($punkte!='')
{
@@ -205,11 +202,10 @@ else
$uid = (isset($_GET['uid'])?$_GET['uid']:'');
// lvgesamtnote für studenten speichern
if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') )
if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != ''))
{
// Die Pruefung muss einer Lehreinheit zugeordnet werden
// deshalb wird hier versucht eine passende Lehreinheit zu ermitteln.
$lehreinheit_id = getLehreinheit($db, $lvid, $student_uid, $stsem);
$response = savePruefung($lvid, $student_uid, $stsem, $lehreinheit_id, $datum, $typ, $note);
@@ -217,7 +213,6 @@ else
}
else
echo "Fehler beim Eintragen der Pr&uuml;fungen";
}
/**
@@ -259,7 +254,7 @@ function getLehreinheit($db, $lvid, $student_uid, $stsem)
/**
* Prüfung speichern
*/
function savePruefung($lvid, $student_uid, $stsem, $lehreinheit_id, $datum, $typ, $note, $punkte=null)
function savePruefung($lvid, $student_uid, $stsem, $lehreinheit_id, $datum, $typ, $note, $punkte = null)
{
$jetzt = date("Y-m-d H:i:s");
global $user; //, $note, $punkte, $datum;
@@ -370,7 +365,7 @@ function savePruefung($lvid, $student_uid, $stsem, $lehreinheit_id, $datum, $typ
$pr_3->punkte = $punkte;
$pr_3->datum = $datum;
$pr_3->anmerkung = "";
$response = "Prüfung Termin3 aktualisiert";
$response = "update T3";
}
else
{
@@ -389,14 +384,14 @@ function savePruefung($lvid, $student_uid, $stsem, $lehreinheit_id, $datum, $typ
$pr_3->ext_id = null;
$pr_3->new = true;
$old_note = -1;
$response = "neue Prüfung Termin3";
$response = "new T3";
}
$pr_3->save();
}
}
else
{
$response = "no existing T3";
$response = "fehlende oder fehlerhafte Inputparameter";
}
//Gesamtnote updaten
+3 -1
View File
@@ -148,7 +148,9 @@ $this->phrasen['benotungstool/anzahlKommisionellePruefungen']='Anzahl kommission
$this->phrasen['benotungstool/pruefungAnlegenFuer']='Prüfung anlegen für';
$this->phrasen['benotungstool/kreuzerltool']='Kreuzerltool';
$this->phrasen['benotungstool/studentIstLvNichtZugeordnet']='Der Student %s %s (%s) ist dieser Lehrveranstaltung nicht zugeordnet. Die Note wird nicht uebernommen!';
$this->phrasen['benotungstool/studentMitMatrikelnummerExistiertNicht']='Student mit Matrikelnummer %s existiert nicht.';
$this->phrasen['benotungstool/studentMitMatrikelnummerExistiertNicht']='Student*in mit Matrikelnummer %s existiert nicht.';
$this->phrasen['benotungstool/datumsformatUnzulaessig']='Das Datum %s entspricht nicht dem Format TT.MM.JJJJ!';
$this->phrasen['benotungstool/noteUnzulaessig']='Die Note %s ist nicht zulaessig. Die Zeile wurde uebersprungen.';
$this->phrasen['benotungstool/noteNichtUeberschreibbar']='Für Student mit Matrikelnummer %s eingetragene Zeugnisote %s ist nicht überschreibbar';
$this->phrasen['benotungstool/fehlerhafteNoteBeiStudent']='Fehlerhafte Note bei Student %s %s';
$this->phrasen['benotungstool/keineKreuzerllistenFuerDieseLehrveranstaltung']='Derzeit gibt es keine Kreuzerllisten für diese Lehrveranstaltung';
+1
View File
@@ -148,6 +148,7 @@ $this->phrasen['benotungstool/pruefungAnlegenFuer']='Create an examination for '
$this->phrasen['benotungstool/kreuzerltool']='"Kreuzerl" tool';
$this->phrasen['benotungstool/studentIstLvNichtZugeordnet']='Student is not assigned to this course. The grade was not accepted!';
$this->phrasen['benotungstool/studentMitMatrikelnummerExistiertNicht']='Student with student ID number %s does not exist.';
$this->phrasen['benotungstool/datumsformatUnzulaessig']='The date %s is not in valid format TT.MM.JJJJ.';
$this->phrasen['benotungstool/noteNichtUeberschreibbar']='Transcript grade %2$s for student with Personal identifier %1$s is not rewritable';
$this->phrasen['benotungstool/fehlerhafteNoteBeiStudent']='Incorrect grade for student %s %s';
$this->phrasen['benotungstool/keineKreuzerllistenFuerDieseLehrveranstaltung']='There are currently no checklists for this course';