mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 07:52:16 +00:00
Zutrittskarten löschen und status
In kartenruecknahme.php werden nun Statusdetails zum Student oder Mitarbeiter angezeigt und man hat die Möglichkeit, Karten ganz aus dem System zu löschen.
This commit is contained in:
@@ -509,10 +509,11 @@ class betriebsmittelperson extends basis_db
|
||||
|
||||
/**
|
||||
* Sucht welche Person die uebergebene Kartennummer hat
|
||||
* @param $nummer Kartennummer
|
||||
* @param $nummer Kartennummer
|
||||
* @param boolean $checkRetour Optional. Default true. Checkt, ob die Karte bereits retourniert wurde. Wenn false werden auch bereits retournierte Karten zurückgegeben
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getKartenzuordnung($nummer)
|
||||
public function getKartenzuordnung($nummer, $checkRetour=true)
|
||||
{
|
||||
// fuehrende Nullen bei Kartennummern auch checken
|
||||
$qry='
|
||||
@@ -536,8 +537,12 @@ class betriebsmittelperson extends basis_db
|
||||
OR tbl_betriebsmittel.nummer2='.$this->db_add_param('00000'.$nummer).'
|
||||
)
|
||||
AND tbl_betriebsmittel.betriebsmitteltyp=\'Zutrittskarte\'
|
||||
AND (ausgegebenam<=now() OR ausgegebenam is NULL)
|
||||
AND (retouram>=now() OR retouram is NULL)';
|
||||
AND (ausgegebenam<=now() OR ausgegebenam is NULL)';
|
||||
|
||||
if ($checkRetour == true)
|
||||
{
|
||||
$qry .= ' AND (retouram>=now() OR retouram is NULL)';
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
|
||||
@@ -26,15 +26,20 @@ require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/person.class.php');
|
||||
require_once('../../include/benutzer.class.php');
|
||||
require_once('../../include/student.class.php');
|
||||
require_once('../../include/prestudent.class.php');
|
||||
require_once('../../include/mitarbeiter.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/betriebsmittel.class.php');
|
||||
require_once('../../include/betriebsmittelperson.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
|
||||
$uid = get_uid();
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
$datum_obj = new datum();
|
||||
|
||||
echo '<!DOCTYPE HTML>
|
||||
<html>
|
||||
@@ -44,22 +49,61 @@ echo '<!DOCTYPE HTML>
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/jquery.css" type="text/css"/>
|
||||
<script type="text/javascript" src="../../include/js/jquery.js"></script>
|
||||
<title>Kartentausch</title>
|
||||
<title>Kartenrücknahme</title>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Zutrittskarte - Ruecknahme</h2>';
|
||||
<h2>Zutrittskarte - Rücknahme</h2>';
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/fhausweis', 'suid'))
|
||||
if(!$rechte->isBerechtigt('basis/fhausweis', 's'))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
$db = new basis_db();
|
||||
$kartennummer = (isset($_POST['kartennummer'])?$_POST['kartennummer']:'');
|
||||
$action=(isset($_POST['action'])?$_POST['action']:'');
|
||||
|
||||
if ($action == 'kartenruecknahme')
|
||||
if ($action == 'karte_loeschen')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('basis/fhausweis', 'suid'))
|
||||
die('Sie haben keine Berechtigung zum löschen von Karten');
|
||||
|
||||
$bmp = new betriebsmittelperson();
|
||||
if ($bmp->getKartenzuordnung($kartennummer, false))
|
||||
{
|
||||
if ($bmp->betriebsmittelperson_id != '')
|
||||
{
|
||||
if ($bmp->delete($bmp->betriebsmittelperson_id))
|
||||
{
|
||||
if ($bmp->delete_betriebsmittel($bmp->betriebsmittel_id))
|
||||
{
|
||||
echo '<span class="ok">Karte erfolgreich gelöscht</span>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<span class="error">Fehler beim löschen der Betriebsmittel_id: '.$bmp->betriebsmittel_id.'</span>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<span class="error">Fehler beim löschen der Betriebsmittelperson_id: '.$bmp->betriebsmittelperson_id.'</span>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<span class="error">Diese Karte ist derzeit nicht zugewiesen</span>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<span class="error">Diese Karte ist derzeit nicht zugewiesen</span>';
|
||||
}
|
||||
|
||||
echo '<br><hr><br>';
|
||||
}
|
||||
|
||||
if ($action == 'kartenabfrage' || $action == 'kartenruecknahme')
|
||||
{
|
||||
$bmp = new betriebsmittelperson();
|
||||
if ($bmp->getKartenzuordnung($kartennummer))
|
||||
if ($bmp->getKartenzuordnung($kartennummer, false))
|
||||
{
|
||||
if ($bmp->uid != '')
|
||||
{
|
||||
@@ -72,25 +116,28 @@ if ($action == 'kartenruecknahme')
|
||||
}
|
||||
else
|
||||
{
|
||||
$error=false;
|
||||
//Neue Karte aktivieren
|
||||
$bmp = new betriebsmittelperson();
|
||||
if ($bmp->getKartenzuordnungPerson($benutzer->person_id, $kartennummer))
|
||||
{
|
||||
if ($bmp->ausgegebenam != '' && $bmp->retouram == '')
|
||||
if ($action == 'kartenruecknahme')
|
||||
{
|
||||
$bmp->retouram=date('Y-m-d');
|
||||
if(!$rechte->isBerechtigt('basis/fhausweis', 'su'))
|
||||
die('Sie haben keine Berechtigung zum aktualisieren von Kartendaten');
|
||||
|
||||
$bmp->retouram = date('Y-m-d');
|
||||
$bmp->updateamum = date('Y-m-d H:i:s');
|
||||
$bmp->updatevon = $uid;
|
||||
|
||||
if(!$bmp->save(false))
|
||||
{
|
||||
echo '<span class="error">Fehler beim Tauschen: '.$bmp->errormsg.'</span>';
|
||||
$error=true;
|
||||
echo '<span class="error">Fehler beim austragen der Karte</span>';
|
||||
}
|
||||
else
|
||||
echo '<span class="ok">Karte wurde erfolgreich ausgetragen.</span><br>
|
||||
<table>
|
||||
echo '<span class="ok">Karte wurde erfolgreich ausgetragen.</span>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<table>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="../../content/bild.php?src=person&person_id='.$benutzer->person_id.'"
|
||||
@@ -99,14 +146,74 @@ if ($action == 'kartenruecknahme')
|
||||
<td>
|
||||
Vorname: '.$benutzer->vorname.'<br>
|
||||
Nachname: '.$benutzer->nachname.'<br>
|
||||
UID: <b>'.$benutzer->uid.'<br>
|
||||
</td>
|
||||
UID: '.$benutzer->uid.'<br>
|
||||
Karte augegeben am: '.($bmp->ausgegebenam != '' ? $datum_obj->formatDatum($bmp->ausgegebenam,'d.m.Y') : '<span style="color: red">Karte nicht ausgegeben</span>').'<br>
|
||||
Karte retour am: '.($bmp->retouram != '' ? $datum_obj->formatDatum($bmp->retouram,'d.m.Y') : '<span style="color: red">Karte nicht retourniert</span>').'<br>';
|
||||
if ($bmp->beschreibung != '')
|
||||
{
|
||||
echo 'Beschreibung: '.$bmp->beschreibung.'<br>';
|
||||
}
|
||||
$student = new student();
|
||||
$mitarbeiter = new mitarbeiter();
|
||||
if ($student->load($bmp->uid))
|
||||
{
|
||||
$prestudent = new prestudent();
|
||||
if ($prestudent->getLastStatus($student->prestudent_id))
|
||||
{
|
||||
echo '<br>Letzter Status: <b>';
|
||||
$style = '';
|
||||
if ($prestudent->status_kurzbz == 'Abbrecher' || $prestudent->status_kurzbz == 'Absolvent')
|
||||
{
|
||||
$style = 'style="color: red; font-weight: bold"';
|
||||
}
|
||||
echo '<span '.$style.'>'.$prestudent->status_kurzbz.'</span> im ';
|
||||
$style = '';
|
||||
$studiensemester = new studiensemester();
|
||||
if ($prestudent->studiensemester_kurzbz != $studiensemester->getakt())
|
||||
{
|
||||
$style = 'style="color: red; font-weight: bold"';
|
||||
}
|
||||
echo '<span '.$style.'>'.$prestudent->studiensemester_kurzbz.'</span><br>';
|
||||
}
|
||||
}
|
||||
elseif ($mitarbeiter->load($bmp->uid))
|
||||
{
|
||||
echo '<br>Letzter Status: '.($benutzer->bnaktiv ? '<span style="color: green;">Mitarbeiter*in aktiv</span>' : '<span style="color: red; font-weight: bold">Mitarbeiter*in inaktiv</span>').'<br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<br>Kein/e Mitarbeiter*in oder Student*in<br>';
|
||||
}
|
||||
echo ' </td>
|
||||
</tr>
|
||||
</table>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<span>Karte ist nicht ausgegeben oder wurde bereits retourniert</span>';
|
||||
</table><br>';
|
||||
|
||||
if ($bmp->retouram == '')
|
||||
{
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" METHOD="POST">
|
||||
<input type="hidden" name="action" value="kartenruecknahme" />
|
||||
<input type="hidden" name="kartennummer" value="'.$kartennummer.'"/>
|
||||
<input type="submit" name="retournieren" style="color: #fff; background-color: #f0ad4e; border-color: #eea236; padding: 3px" value="Karte austragen" />
|
||||
</form><br>';
|
||||
}
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/fhausweis', 'suid'))
|
||||
{
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" METHOD="POST">
|
||||
<input type="hidden" name="action" value="karte_loeschen" />
|
||||
<input type="hidden" name="kartennummer" value="'.$kartennummer.'"/>
|
||||
<input type="submit"
|
||||
name="loeschen"
|
||||
style="color: #fff; background-color: #d9534f; border-color: #d43f3a;; padding: 3px"
|
||||
value="Karte löschen" ';
|
||||
// Wenn die Karte ausgegeben und/oder retourniert ist, wird zur Sicherheit nachgefragt ob wirklich gelöscht werden soll
|
||||
if ($bmp->ausgegebenam != '' || $bmp->retouram != '')
|
||||
{
|
||||
echo ' onclick="return confirm(\'Die Karte wurde ausgegeben oder retourniert. Wollen Sie sie wirklich löschen?\')"';
|
||||
}
|
||||
echo '/>
|
||||
</form>';
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -116,7 +223,6 @@ if ($action == 'kartenruecknahme')
|
||||
Fehler beim Tauschen: Die Karte wurde dieser
|
||||
Person noch nicht zugeordnet ('.$benutzer->uid.' '.$kartennummer.')
|
||||
</span>';
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -144,10 +250,10 @@ Ziehen Sie die neue Karte über den Hitag Kartenleser um die Karte zu deaktivier
|
||||
</script>
|
||||
<br><br>
|
||||
<form action="'.$_SERVER['PHP_SELF'].'" METHOD="POST">
|
||||
<input type="hidden" name="action" value="kartenruecknahme" />
|
||||
<input type="hidden" name="action" value="kartenabfrage" />
|
||||
Kartennummer:
|
||||
<input type="text" id="kartennummer" name="kartennummer"/>
|
||||
<input type="submit" name="retournieren" value="Karte austragen" />
|
||||
<input type="submit" name="abfragen" value="Karte abfragen" />
|
||||
</form>
|
||||
';
|
||||
|
||||
|
||||
@@ -44,13 +44,13 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/jquery.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
|
||||
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css">
|
||||
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css">
|
||||
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
|
||||
<title>Kartentausch</title>
|
||||
<title>Karte zuweisen</title>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user