diff --git a/cis/testtool/login.php b/cis/testtool/login.php index 5fcd8e2d8..8e011dbe7 100644 --- a/cis/testtool/login.php +++ b/cis/testtool/login.php @@ -147,6 +147,7 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) { echo '
'; diff --git a/include/prestudent.class.php b/include/prestudent.class.php index 054d69291..a0e30f11b 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -435,7 +435,7 @@ class prestudent extends person // * @param $studiensemester_kurzbz Studiensemester fuer das die Int. und Bewerber // * geladen werden sollen // ******************************************************************************* - function loadIntessentenUndBewerber($studiensemester_kurzbz, $studiengang_kz, $semester=nulll, $typ=null) + function loadIntessentenUndBewerber($studiensemester_kurzbz, $studiengang_kz, $semester=nulll, $typ=null, $orgform=null) { $qry = "SELECT *, a.anmerkung, tbl_person.anmerkung as anmerkungen @@ -457,6 +457,8 @@ class prestudent extends person if($semester!=null) $qry.=" AND ausbildungssemester='$semester'"; + if($orgform!=null && $orgform!='') + $qry.=" AND tbl_prestudentrolle.orgform_kurzbz='$orgform'"; switch ($typ) { diff --git a/vilesci/stammdaten/reihungstest_administration.php b/vilesci/stammdaten/reihungstest_administration.php new file mode 100644 index 000000000..6c3099f0b --- /dev/null +++ b/vilesci/stammdaten/reihungstest_administration.php @@ -0,0 +1,217 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ +require_once('../config.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/datum.class.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/person.class.php'); +require_once('../../include/prestudent.class.php'); +require_once('../../include/pruefling.class.php'); + +if (!$conn = pg_pconnect(CONN_STRING)) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +$datum_obj = new datum(); + +$user = get_uid(); +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +echo ' + + + Reihungstest ADMIN + + + + + + +

Reihungstest - Admin

'; + +if(!$rechte->isBerechtigt('admin', 0, 'suid')) + die('Sie haben keine Berechtigung für diese Seite'); + +//Anzeigen der kommenden Reihungstesttermine: +echo '

Anzeigen der kommenden Reihungstests'; + +if(isset($_GET['action']) && $_GET['action']=='showreihungstests') +{ + $qry = "SELECT kurzbzlang, datum,ort_kurzbz,anmerkung, uhrzeit, insertvon,reihungstest_id + FROM public.tbl_reihungstest JOIN public.tbl_studiengang USING (studiengang_kz) + WHERE datum>=now() ORDER BY datum"; + + if($result = pg_query($conn, $qry)) + { + echo ' + + + + + + + + + + + + '; + while($row = pg_fetch_object($result)) + { + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ''; + } + echo '
KurzbzDatumOrtUhrzeitAnmerkungInsertVonReihungstestID
$row->kurzbzlang".$datum_obj->formatDatum($row->datum,'d.m.Y')."$row->ort_kurzbz$row->uhrzeit$row->anmerkung$row->insertvon$row->reihungstest_id
'; + } +} + +echo '

Antworten des Dummy Studenten löschen'; + +if(isset($_GET['action']) && $_GET['action']=='deletedummyanswers') +{ + $qry = "DELETE FROM testtool.tbl_antwort WHERE pruefling_id=841"; + if(pg_query($conn, $qry)) + echo ' Antworten wurden gelöscht'; + else + echo ' Fehler beim Löschen der Antworten'; +} + +//$prestudent_id=null; +$ps=new prestudent($conn); +$datum=date('Y-m-d'); +$ps->getPrestudentRT($datum,true); +if ($ps->num_rows==0) + $ps->getPrestudentRT($datum); + +echo '

Antworten eines Gebietes einer Person löschen
'; +echo ' + Person: '; + +$qry = "SELECT * FROM testtool.tbl_gebiet ORDER BY bezeichnung"; +if($result = pg_query($conn, $qry)) +{ + echo 'Gebiet: '; +} + +echo ''; +if(isset($_POST['deleteteilgebiet'])) +{ + if(isset($_POST['prestudent']) && isset($_POST['gebiet']) && + is_numeric($_POST['prestudent']) && is_numeric($_POST['gebiet'])) + { + $pruefling = new pruefling($conn); + $pruefling->getPruefling($_POST['prestudent']); + if($pruefling->pruefling_id=='') + die('Pruefling wurde nicht gefunden'); + + $qry = "DELETE FROM testtool.tbl_antwort + WHERE pruefling_id='$pruefling->pruefling_id' AND + frage_id IN (SELECT frage_id FROM testtool.tbl_frage WHERE gebiet_id='".$_POST['gebiet']."')"; + if($result = pg_query($conn, $qry)) + { + echo ''.pg_affected_rows($result).' Antworten wurden gelöscht'; + } + else + echo 'Fehler beim Löschen der Daten'; + } +} + +echo '

Testergebnisse der Person mit der Prestudent_id
'; +if(isset($_POST['testergebnisanzeigen']) && isset($_POST['prestudent_id'])) +{ + if(is_numeric($_POST['prestudent_id']) && $_POST['prestudent_id']!='') + { + $qry="SELECT nachname,vorname,tbl_frage.gruppe_kurzbz,person_id,prestudent_id,pruefling_id,kurzbz,nummer,antwort,loesung + FROM testtool.tbl_antwort + JOIN testtool.tbl_frage USING (frage_id) + JOIN testtool.tbl_gebiet USING (gebiet_id) + JOIN testtool.tbl_pruefling USING (pruefling_id) + JOIN public.tbl_prestudent USING (prestudent_id) + JOIN public.tbl_person USING (person_id) + WHERE prestudent_id='".$_POST['prestudent_id']."' + ORDER BY kurzbz,nummer"; + if($result = pg_query($conn, $qry)) + { + echo ' + + + + + + + + + + + + + + + '; + while($row = pg_fetch_object($result)) + { + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ''; + } + echo '
NachnameVornameGruppePersonIDPrestudentIDPrueflingIDKurzbzNummerAntwortLösung
$row->nachname$row->vorname$row->gruppe_kurzbz$row->person_id$row->prestudent_id$row->pruefling_id$row->kurzbz$row->nummer$row->antwort$row->loesung
'; + } + } +} +?> \ No newline at end of file diff --git a/vilesci/stammdaten/reihungstestverwaltung.php b/vilesci/stammdaten/reihungstestverwaltung.php index 2bb58ab83..3341bbdac 100644 --- a/vilesci/stammdaten/reihungstestverwaltung.php +++ b/vilesci/stammdaten/reihungstestverwaltung.php @@ -26,6 +26,7 @@ require_once('../../include/reihungstest.class.php'); require_once('../../include/ort.class.php'); require_once('../../include/datum.class.php'); + require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/Excel/excel.php'); @@ -40,6 +41,8 @@ $stg_arr = array(); $error = false; + $rechte = new benutzerberechtigung($conn); + $rechte->getBerechtigungen($user); if(isset($_GET['excel'])) { @@ -266,7 +269,7 @@ echo ""; echo ""; - echo "

"; + echo "
"; $reihungstest = new reihungstest($conn); @@ -284,6 +287,11 @@ $reihungstest->uhrzeit = date('H:i:s'); } + if($rechte->isBerechtigt('admin',0, 'suid')) + { + echo 'Administration'; + } + //Formular zum Bearbeiten des Reihungstests echo '
'; echo "
";