rt stoppen fuer einzelene personen

This commit is contained in:
ma0048
2022-04-13 11:43:25 +02:00
parent c26fed90e2
commit 7c6adaabeb
7 changed files with 170 additions and 2 deletions
+7
View File
@@ -37,6 +37,7 @@ require_once('../../include/gebiet.class.php');
require_once('../../include/sprache.class.php');
require_once '../../include/phrasen.class.php';
require_once '../../include/reihungstest.class.php';
require_once '../../include/pruefling.class.php';
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
@@ -157,6 +158,12 @@ echo '
if(!isset($_SESSION['pruefling_id']))
die($p->t('testtool/bitteZuerstAnmelden'));
$pruefling = new pruefling();
$pruefling->load($_SESSION['pruefling_id']);
if ($pruefling->gesperrt === 't')
die("<script>document.location.href='prueflinggesperrt.php';</script>");
$gebiet = new gebiet($gebiet_id);
if($gebiet->level_start!='')
+39
View File
@@ -0,0 +1,39 @@
<?php
require_once('../../config/cis.config.inc.php');
require_once('../../include/basis_db.class.php');
require_once('../../include/sprache.class.php');
require_once '../../include/phrasen.class.php';
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
// Start session
session_start();
// If language is changed by language select menu, reset language variables
if (isset($_GET['sprache_user']) && !empty($_GET['sprache_user']))
{
$_SESSION['sprache_user'] = $_GET['sprache_user'];
$sprache_user = $_GET['sprache_user'];
}
// Set language variable
$sprache_user = (isset($_SESSION['sprache_user']) && !empty($_SESSION['sprache_user'])) ? $_SESSION['sprache_user'] : DEFAULT_LANGUAGE;
$p = new phrasen($sprache_user);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
</head>
<body>
<br><br><br><br><br>
<center><h2><?php echo $p->t('testtool/prueflingGesperrt');?></h2>
</center>
</body>
</html>
+4
View File
@@ -31,6 +31,7 @@ class pruefling extends basis_db
public $registriert;
public $prestudent_id;
public $semester;
public $gesperrt;
// ErgebnisArray
public $result=array();
@@ -67,6 +68,7 @@ class pruefling extends basis_db
$this->registriert = $row->registriert;
$this->prestudent_id = $row->prestudent_id;
$this->semester = $row->semester;
$this->gesperrt = $row->gesperrt;
return true;
}
else
@@ -184,6 +186,7 @@ class pruefling extends basis_db
$this->registriert = $row->registriert;
$this->prestudent_id = $row->prestudent_id;
$this->semester = $row->semester;
$this->gesperrt = $row->gesperrt;
return true;
}
else
@@ -221,6 +224,7 @@ class pruefling extends basis_db
$obj->registriert = $row->registriert;
$obj->prestudent_id = $row->prestudent_id;
$obj->semester = $row->semester;
$obj->gesperrt = $row->gesperrt;
$this->result[] = $obj;
}
+2
View File
@@ -78,4 +78,6 @@ $this->phrasen['testtool/einfuehrungsText']='
<a href="../public/testtool_test/testseite.php" target="_blank" class="btn btn-default">Display testpage</a>
</div>
</div>';
$this->phrasen['testtool/prueflingGesperrt']='Bitte kontaktieren Sie die Reihungstestaufsicht!';
?>
+1
View File
@@ -50,4 +50,5 @@ $this->phrasen['testtool/startDrueckenUmZuBeginnen']='To start this section, ple
$this->phrasen['testtool/keinPrueflingseintragVorhanden']='No candidate entry available.';
$this->phrasen['testtool/fuerFolgendeStgAngemeldet']='You have applied for the following degree programs:';
$this->phrasen['testtool/invalideGebiete']='One or more question areas incorrect!<br>Please inform an assisting person.';
$this->phrasen['testtool/prueflingGesperrt']='Please contact the placement test supervisor!';
?>
+14 -1
View File
@@ -2990,6 +2990,19 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants
}
}
// Spalte gesperrt in testtool.tbl_pruefling
if(!$result = @$db->db_query("SELECT gesperrt FROM testtool.tbl_pruefling LIMIT 1;"))
{
$qry = "ALTER TABLE testtool.tbl_pruefling ADD COLUMN gesperrt boolean NOT NULL DEFAULT false;";
if(!$db->db_query($qry))
echo '<strong>testtool.tbl_pruefling: '.$db->db_last_error().'</strong><br>';
else
echo '<br>testtool.tbl_pruefling: Spalte gesperrt hinzugefuegt!<br>';
}
// Kategorisierung von Services
if(!$result = @$db->db_query("SELECT * FROM public.tbl_servicekategorie LIMIT 1"))
{
@@ -6233,7 +6246,7 @@ $tabellen=array(
"testtool.tbl_gebiet" => array("gebiet_id","kurzbz","bezeichnung","beschreibung","zeit","multipleresponse","kategorien","maxfragen","zufallfrage","zufallvorschlag","levelgleichverteilung","maxpunkte","insertamum", "insertvon", "updateamum", "updatevon", "level_start","level_sprung_auf","level_sprung_ab","antwortenprozeile","bezeichnung_mehrsprachig", "offsetpunkte"),
"testtool.tbl_kategorie" => array("kategorie_kurzbz","gebiet_id"),
"testtool.tbl_kriterien" => array("gebiet_id","kategorie_kurzbz","punkte","typ"),
"testtool.tbl_pruefling" => array("pruefling_id","prestudent_id","studiengang_kz","idnachweis","registriert","semester"),
"testtool.tbl_pruefling" => array("pruefling_id","prestudent_id","studiengang_kz","idnachweis","registriert","semester", "gesperrt"),
"testtool.tbl_vorschlag" => array("vorschlag_id","frage_id","nummer","punkte","insertamum","insertvon","updateamum","updatevon","aktiv"),
"testtool.tbl_pruefling_frage" => array("prueflingfrage_id","pruefling_id","frage_id","nummer","begintime","endtime"),
"testtool.tbl_frage_sprache" => array("frage_id","sprache","text","bild","audio","insertamum","insertvon","updateamum","updatevon"),
+103 -1
View File
@@ -440,6 +440,43 @@ if ($deleteAllResults)
}
}
$rtprueflingEntSperren = filter_input(INPUT_POST, 'rtprueflingEntSperren', FILTER_VALIDATE_BOOLEAN);
if ($rtprueflingEntSperren)
{
if (!$rechte->isBerechtigt('lehre/reihungstestAufsicht', null, 'su'))
{
echo json_encode(array(
'status' => 'fehler',
'msg' => $rechte->errormsg
));
exit();
}
if (isset($_POST['prestudent_id']) && is_numeric($_POST['prestudent_id'])
&& isset($_POST['art']))
{
$qry = "UPDATE testtool.tbl_pruefling SET gesperrt =" . $db->db_add_param($_POST['art'], 'BOOLEAN') . "
WHERE prestudent_id = " . $db->db_add_param($_POST['prestudent_id']) . ";";
if ($result = $db->db_query($qry))
{
$msg = $_POST['art'] === 'false' ? 'Pruefling wurde gesperrt' : 'Pruefling wurde freigeschaltet';
echo json_encode(array(
'status' => 'ok',
'msg' => $msg));
exit();
}
else
{
echo json_encode(array(
'status' => 'fehler',
'msg' => 'Fehler beim speichern der Daten'
));
exit();
}
}
}
// Ajax-Request um einen Reihungstest freizuschalten
$rtFreischalten = filter_input(INPUT_POST, 'rtFreischalten', FILTER_VALIDATE_BOOLEAN);
if ($rtFreischalten)
@@ -1408,6 +1445,7 @@ if (isset($_REQUEST['reihungstest']) || isset($_POST['rtauswsubmit']))
tbl_gebiet.bezeichnung AS gebiet,
tbl_pruefling.idnachweis,
tbl_pruefling.registriert,
tbl_pruefling.gesperrt,
get_rolle_prestudent(prestudent_id, rt.studiensemester_kurzbz) AS letzter_status
FROM PUBLIC.tbl_rt_person
JOIN PUBLIC.tbl_person ON (tbl_rt_person.person_id = tbl_person.person_id)
@@ -1530,6 +1568,7 @@ if (isset($_REQUEST['reihungstest']) || isset($_POST['rtauswsubmit']))
$ergebnis[$row->prestudent_id]->geschlecht = $row->geschlecht;
$ergebnis[$row->prestudent_id]->idnachweis = $row->idnachweis;
$ergebnis[$row->prestudent_id]->registriert = $row->registriert;
$ergebnis[$row->prestudent_id]->gesperrt = $row->gesperrt;
$ergebnis[$row->prestudent_id]->stg_kurzbz = $row->stg_kurzbz;
$ergebnis[$row->prestudent_id]->stg_bez = $row->stg_bez;
$ergebnis[$row->prestudent_id]->ausbildungssemester = $row->ausbildungssemester;
@@ -2291,7 +2330,57 @@ else
});
}
}
function prueflingEntSperren(prestudent_id, name, art)
{
if (art === true)
var text = "sperren";
else if (art === false)
var text = "entsperren";
if (confirm("Wollen Sie den Studenten "+ name + " wirklich " + text + "?"))
{
data = {
prestudent_id: prestudent_id,
art: art,
rtprueflingEntSperren: true
};
$.ajax({
url: "auswertung_fhtw.php",
data: data,
type: "POST",
dataType: "json",
success: function(data)
{
if(data.status !== "ok")
{
$("#msgbox").attr("class","alert alert-danger");
$("#msgbox").show();
$("#msgbox").html(data["msg"]);
}
else
{
if (art === true)
{
$("#prueflingentsperren_" + prestudent_id).removeClass("hidden");
$("#prueflingsperren_" + prestudent_id).addClass("hidden");
}
else if (art === false)
{
$("#prueflingsperren_" + prestudent_id).removeClass("hidden");
$("#prueflingentsperren_" + prestudent_id).addClass("hidden");
}
}
},
error: function(data)
{
$("#msgbox").attr("class","alert alert-danger");
$("#msgbox").show();
$("#msgbox").html(data["msg"]);
}
});
}
}
function deleteAllResults(prestudent_id, name)
{
if (confirm("Wollen Sie ALLE Ergebnisse der Person "+name+" wirklich löschen"))
@@ -2955,6 +3044,7 @@ else
</th>
<th rowspan="2">PreId</th>
<th rowspan="2"><span class="glyphicon glyphicon-envelope"></span></th>
<th rowspan="2">Ent-/Sperren</th>
<th rowspan="2">Nachname</th>
<th rowspan="2">Vornamen</th>
<th rowspan="2">GebDatum</th>
@@ -3011,6 +3101,18 @@ else
<!--<td>$erg->prestudent_id <a href=".APP_ROOT."cis/testtool/admin/auswertung_detail_prestudent.php?prestudent_id=$erg->prestudent_id target='blank'>Details</a></td>-->
<td class='".$inaktiv."'>$erg->prestudent_id</td>
<td class='clm_email ".$inaktiv."'><a href='mailto:$erg->email'><span class='glyphicon glyphicon-envelope'></span></a></td>
";
echo "<td class='textcentered ".$inaktiv ."'>
<a href='#' id='prueflingsperren_".$erg->prestudent_id ."' class='" . ($erg->gesperrt === 't' ? "hidden" : "") ."' onclick='prueflingEntSperren(" . $erg->prestudent_id . ", \"" . $erg->vorname . " " . $erg->nachname ."\"" .", true)'>
<span class='glyphicon glyphicon-remove'></span>
</a>
<a href='#' id='prueflingentsperren_".$erg->prestudent_id ."' class='" . ($erg->gesperrt !== 't' ? "hidden" : "") ."' onclick='prueflingEntSperren(" . $erg->prestudent_id . ", \"" . $erg->vorname . " " . $erg->nachname ."\"" .", false);'>
<span class='glyphicon glyphicon-ok'></span>
</a>
</td>";
echo "
<td class='".$inaktiv."'>".$erg->nachname." ".($erg->qualifikationskurs == true ? "<span title='Qualifikationskurs' class='redcolor'>(Q)</span>" : "")."</td>
<td class='".$inaktiv."'>$erg->vorname</td>
<td class='".$inaktiv."'>" . $datum_obj->formatDatum($erg->gebdatum, 'd.m.Y') . "</td>