From 05a883a9e9e79ff89b36f10cd48f507ebe8cd643 Mon Sep 17 00:00:00 2001 From: oesi Date: Tue, 12 Jan 2016 14:25:24 +0100 Subject: [PATCH] Anwesenheiten koennen bei Studierenden direkt im FAS geaendert werden --- content/fasDBDML.php | 36 ++++++++++ content/termine.js.php | 49 ++++++++++++++ content/termine.xul.php | 12 ++++ include/anwesenheit.class.php | 112 +++++++++++++++++++++++++++++++ vilesci/personen/anwesenheit.php | 2 +- 5 files changed, 210 insertions(+), 1 deletion(-) diff --git a/content/fasDBDML.php b/content/fasDBDML.php index 93c3dea67..ca8cf5aef 100644 --- a/content/fasDBDML.php +++ b/content/fasDBDML.php @@ -40,6 +40,7 @@ require_once('../include/variable.class.php'); require_once('../include/benutzerfunktion.class.php'); require_once('../include/studiensemester.class.php'); require_once('../include/fotostatus.class.php'); +require_once('../include/anwesenheit.class.php'); $user = get_uid(); @@ -653,6 +654,41 @@ if(!$error) $errormsg = 'Fehlerhafte Parameteruebergabe'; } } + elseif(isset($_POST['type']) && $_POST['type']=='anwesenheittoggle') + { + if(!$rechte->isBerechtigt('student/anwesenheit')) + { + $return = false; + $errormsg = 'Sie haben keine Berechtigung fuer diese Aktion'; + $data = ''; + $error = true; + } + else + { + if(isset($_POST['student_uid']) && isset($_POST['lehreinheit_id']) && isset($_POST['datum'])) + { + $student_uid = $_POST['student_uid']; + $lehreinheit_id = $_POST['lehreinheit_id']; + $datum = $_POST['datum']; + $anwesenheit = new anwesenheit(); + if($anwesenheit->AnwesenheitToggle($lehreinheit_id, $datum, $student_uid)) + { + $return = true; + $errormsg = ""; + } + else + { + $return = false; + $errormsg = $anwesenheit->errormsg; + } + } + else + { + $return = false; + $errormsg = 'Fehlerhafte Parameteruebergabe'; + } + } + } else { $return = false; diff --git a/content/termine.js.php b/content/termine.js.php index a521e38d4..3750853f9 100644 --- a/content/termine.js.php +++ b/content/termine.js.php @@ -118,3 +118,52 @@ function TermineExport() var url = 'statistik/termine.xls.php?lehreinheit_id='+TermineLehreinheitID+'&lehrveranstaltung_id='+TermineLehrveranstaltungID+'&mitarbeiter_uid='+TermineMitarbeiterUID+'&student_uid='+TermineStudentUID+'&db_stpl_table='+TermineStundenplanTable; window.open(url); } + +function TermineToggleAnwesenheit() +{ + if(TermineStudentUID=='') + { + alert('Anwesenheit kann nur in der Studierendenansicht geaendert werden'); + return; + } + + if(TermineStundenplanTable!='stundenplan') + { + alert('Bitte wechseln Sie auf die Stundenplan Tabelle. Anhand der StundenplanDEV duerfen keine Anwesenheiten geaendert werden.'); + return; + } + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + var tree = document.getElementById('termine-tree'); + + if (tree.currentIndex==-1) return; + + //Ausgewaehlte Nr holen + var datum = getTreeCellText(tree, 'termine-treecol-datum_iso', tree.currentIndex); + var lehreinheit_id = getTreeCellText(tree, 'termine-treecol-lehreinheit_id', tree.currentIndex); + + var url = 'content/fasDBDML.php'; + var req = new phpRequest(url,'',''); + + req.add('type', 'anwesenheittoggle'); + + req.add('datum', datum); + req.add('lehreinheit_id', lehreinheit_id); + req.add('student_uid', TermineStudentUID); + + var response = req.executePOST(); + + var val = new ParseReturnValue(response) + + if (!val.dbdml_return) + { + if(val.dbdml_errormsg=='') + alert(response) + else + alert(val.dbdml_errormsg) + } + else + { + TermineLoadTree(); + SetStatusBarText('Daten wurden gespeichert'); + } +} diff --git a/content/termine.xul.php b/content/termine.xul.php index 1e51ddaad..528c030e6 100644 --- a/content/termine.xul.php +++ b/content/termine.xul.php @@ -47,6 +47,11 @@ $student_uid = filter_input(INPUT_GET,'student_uid');