mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-22 17:32:18 +00:00
Tempus - Verschieben von mehreren Stunden in ein anderes Fenster
Unterstützung für Zutrittskartenleser welche die Nummer im HEX-Format auslesen
This commit is contained in:
@@ -328,11 +328,13 @@ function BetriebsmittelDetailSpeichern()
|
||||
alert('RetourAm Datum ist ungueltig');
|
||||
return false;
|
||||
}
|
||||
/*
|
||||
Hex-Nummern sind nun auch erlaubt
|
||||
if(betriebsmitteltyp=='Zutrittskarte' && isNaN(nummer))
|
||||
{
|
||||
alert('Bei Zutrittskarten muss die Nummer eine gueltige Zahl sein');
|
||||
return false;
|
||||
}
|
||||
}*/
|
||||
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-studenten'))
|
||||
studiengang_kz=window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
|
||||
else
|
||||
|
||||
@@ -416,7 +416,28 @@ var listObserver=
|
||||
var aktion=evt.target.getAttribute("aktion");
|
||||
aktion+="_set";
|
||||
var paramList="?dragtype="+type+"&dragdatum="+dragdatum+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit+"&old_ort="+old_ort+idList+"&aktion="+aktion;
|
||||
|
||||
idList = TimeTableWeekGetMarkedIdList();
|
||||
paramList = paramList+idList;
|
||||
|
||||
//die Buttons die verschoben werden grau einfaerben
|
||||
var styleNow=evt.target.getAttribute("style");
|
||||
evt.target.setAttribute("style",styleNow+"color:gray;");
|
||||
|
||||
var items = document.getElementsByTagName('button');
|
||||
for each(var button in items)
|
||||
{
|
||||
if(button.id && button.id.startsWith('buttonSTPL'))
|
||||
{
|
||||
marked = button.getAttribute('marked');
|
||||
if(marked=='true')
|
||||
{
|
||||
var styleNow=button.getAttribute("style");
|
||||
button.setAttribute("style",styleNow+"color:gray;");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
transferData.data=new TransferData();
|
||||
transferData.data.addDataForFlavour("application/tempus-lehrstunde",paramList);
|
||||
}
|
||||
@@ -496,8 +517,8 @@ var boardObserver=
|
||||
url+="&mime="+dropdata.flavour.contentType;
|
||||
|
||||
//IDs der Stunden die verschoben werden dazuhaengen
|
||||
idList = TimeTableWeekGetMarkedIdList();
|
||||
url+=idList;
|
||||
//idList = TimeTableWeekGetMarkedIdList();
|
||||
//url+=idList;
|
||||
if(new_ort=='' && ort=='')
|
||||
{
|
||||
alert('Es muss ein Ort gewaehlt werden');
|
||||
|
||||
@@ -1775,6 +1775,9 @@ if(!$error)
|
||||
|
||||
if($_POST['betriebsmitteltyp']=='Zutrittskarte' || $_POST['betriebsmitteltyp']=='Schluessel')
|
||||
{
|
||||
if($_POST['betriebsmitteltyp']=='Zutrittskarte')
|
||||
$_POST['nummer']=$bm->transform_kartennummer($_POST['nummer']);
|
||||
|
||||
//Das speichern von Zutrittskarten ohne Nummern verhindern
|
||||
if($_POST['betriebsmitteltyp']=='Zutrittskarte' && $_POST['nummer']=='')
|
||||
{
|
||||
|
||||
@@ -195,6 +195,11 @@ class betriebsmittel extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
//bei Zutrittskarten sicherstellen, dass die Nummer richtig kodiert ist
|
||||
if($this->betriebsmitteltyp=='Zutrittskarte')
|
||||
{
|
||||
$this->nummer = $this->transform_kartennummer($this->nummer);
|
||||
}
|
||||
$this->afa=(!isset($this->afa) || empty($this->afa)?$this->default_afa_jahre:$this->afa);
|
||||
if($new)
|
||||
{
|
||||
@@ -1071,5 +1076,29 @@ class betriebsmittel extends basis_db
|
||||
|
||||
return $where;
|
||||
}
|
||||
|
||||
/**
|
||||
* Es sind mehrere Kartenlesegeraete im Umlauf
|
||||
* Manche Geraete liefern die Kartennummer hexcodiert zurueck.
|
||||
* Diese muessen erst in das richtige Format transformiert werden
|
||||
* zusaetzlich werden die fuehrenden nullen entfernt
|
||||
*
|
||||
* @param $kartennummer
|
||||
* @return $kartennummer
|
||||
*/
|
||||
function transform_kartennummer($kartennummer)
|
||||
{
|
||||
$kartennummer = trim($kartennummer);
|
||||
//Kartennummern die im Hex-Format sind werden umgewandelt
|
||||
if (!is_numeric($kartennummer))
|
||||
{
|
||||
$kartennummer=substr($kartennummer,strlen($kartennummer)-2,2).substr($kartennummer,strlen($kartennummer)-4,2). substr($kartennummer,strlen($kartennummer)-6,2).substr($kartennummer,0,2);
|
||||
$kartennummer=hexdec( $kartennummer);
|
||||
}
|
||||
|
||||
//Fuehrende nullen entfernen
|
||||
$kartennummer = preg_replace("/^0*/", "", $kartennummer);
|
||||
return $kartennummer;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -25,6 +25,7 @@ require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/betriebsmittel.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
@@ -64,22 +65,24 @@ $htmlstr.='
|
||||
|
||||
if(isset($_GET['searchstr']) || isset($_POST['bmsuche']))
|
||||
{
|
||||
$bm_obj = new betriebsmittel();
|
||||
if (isset($_POST['bmsuche']))
|
||||
{
|
||||
$bmsuche=strtoupper($_POST['bmsuche']);
|
||||
$bmsuche = ereg_replace("^0*", "", $bmsuche);
|
||||
|
||||
$kartennummer = $bm_obj->transform_kartennummer($bmsuche);
|
||||
|
||||
$sql_query="SELECT * FROM public.vw_betriebsmittelperson
|
||||
WHERE upper(uid) LIKE '%".addslashes($bmsuche)."%' OR upper(nachname) LIKE '%".addslashes($bmsuche)."%' OR upper(vorname) LIKE '%".addslashes($bmsuche)."%'
|
||||
OR upper(nummer) LIKE '%".addslashes($bmsuche)."%' OR upper(nummerintern) LIKE '%".addslashes($bmsuche)."%'
|
||||
LIMIT 30";
|
||||
WHERE upper(nummer) LIKE '%".addslashes($kartennummer)."%' LIMIT 30";
|
||||
//echo $sql_query;
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql_query = 'SELECT * FROM public.vw_betriebsmittelperson ';
|
||||
if(!empty($searchstr))
|
||||
$sql_query.=" where uid ~* '".addslashes($searchstr)."' OR nummer ~* '".addslashes($searchstr)."' OR nummerintern ~* '".addslashes($searchstr)."' OR nachname ~* '".addslashes($searchstr)."' OR vorname ~* '".addslashes($searchstr)."' ";
|
||||
{
|
||||
$kartennummer = $bm_obj->transform_kartennummer($searchstr);
|
||||
$sql_query.=" where uid ~* '".addslashes($searchstr)."' OR nummer ~* '".addslashes($searchstr)."' OR nummer ~* '".addslashes($kartennummer)."' OR nachname ~* '".addslashes($searchstr)."' OR vorname ~* '".addslashes($searchstr)."' ";
|
||||
}
|
||||
$sql_query.=" ORDER BY nummer ";
|
||||
if(empty($searchstr))
|
||||
$sql_query.=" LIMIT 100 ";
|
||||
|
||||
Reference in New Issue
Block a user