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:
Andreas Österreicher
2010-07-01 06:41:36 +00:00
parent 22dccf1182
commit 5f4d71681b
5 changed files with 68 additions and 10 deletions
+3 -1
View File
@@ -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
+24 -3
View File
@@ -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');
+3
View File
@@ -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']=='')
{
+29
View File
@@ -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 ";