mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
1810 lines
72 KiB
PHP
1810 lines
72 KiB
PHP
<?php
|
|
include('../vilesci/config.inc.php');
|
|
require_once('../include/functions.inc.php');
|
|
require_once('../include/fas/functions.inc.php');
|
|
require_once('../include/fas/benutzer.class.php');
|
|
|
|
// Datenbank Verbindung
|
|
if (!$conn = @pg_pconnect(CONN_STRING_FAS))
|
|
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
|
|
|
|
if (!$conn_vilesci = @pg_pconnect(CONN_STRING))
|
|
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
|
|
|
|
$user = get_uid();
|
|
|
|
//Studiensemester_id holen
|
|
$benutzer = new benutzer($conn_vilesci);
|
|
$benutzer->loadVariables($user);
|
|
$stsem = $benutzer->variable->semester_aktuell;
|
|
$stsem_id = getStudiensemesterIdFromName($conn, $stsem);
|
|
|
|
echo "var MitarbeiterDetailStudiensemester_id = $stsem_id;\n";
|
|
echo "var sleep_time = ".$benutzer->variable->sleep_time.";\n"; // Zeit zwischen Refresh und Rebuild
|
|
?>
|
|
var treeMitarbeiterReload=true; // Wenn treeMitarbeiterReload=false dann werden beim Reload die Defaultwerte nicht gesetzt
|
|
var treeMitarbeiterDetailChanged=false; // Gibt an ob die Mitarbeiter Daten veraendert wurden
|
|
var MitarbeiterSelectMitarbeiter_id; // Id des Mitarbeiters der Selektiert werden soll
|
|
|
|
|
|
/**
|
|
* Wird aufgerufen wenn ein Eintrag aus dem Tree ausgewaehlt wird und
|
|
* fuellt die Textfelder mit den Werten
|
|
* wenn treeMitarbeiterReload false ist wird nichts durchgefuehrt
|
|
*/
|
|
function TreeListeMitarbeiterAuswahl()
|
|
{
|
|
if(treeMitarbeiterReload)
|
|
{
|
|
//Falls Daten veraendert wurden fragen ob gespeichert werden soll
|
|
if(treeMitarbeiterDetailChanged)
|
|
{
|
|
if(confirm("Wollen Sie die geaenderten Daten speichern?"))
|
|
if(!saveMitarbeiter())
|
|
return false;
|
|
else
|
|
treeMitarbeiterDetailChanged=false;
|
|
}
|
|
//Eingabefelder aktivieren
|
|
SetMitarbeiterDetailAktiv(true);
|
|
|
|
var tree=document.getElementById('tree-liste-mitarbeiter');
|
|
setStatusBarText("");
|
|
|
|
//Falls kein Eintrag gewaehlt wurde, den ersten auswaehlen
|
|
var idx;
|
|
if(tree.currentIndex>=0)
|
|
idx = tree.currentIndex;
|
|
else
|
|
idx = 0;
|
|
|
|
try
|
|
{
|
|
//Mitarbeiter_id holen
|
|
var col = tree.columns ? tree.columns["tree-liste-mitarbeiter-col-mitarbeiter_id"] : "tree-liste-mitarbeiter-col-mitarbeiter_id";
|
|
var mitarbeiter_id=tree.view.getCellText(idx,col);
|
|
}
|
|
catch(e)
|
|
{
|
|
return false;
|
|
}
|
|
// RDF mit den Mitarbeiterdaten vom Server holen
|
|
// Url zum RDF
|
|
var url="<?php echo APP_ROOT; ?>rdf/fas/mitarbeiter.rdf.php?mitarbeiter_id="+mitarbeiter_id;
|
|
|
|
// Request absetzen
|
|
var httpRequest = new XMLHttpRequest();
|
|
httpRequest.open("GET", url, false, '','');
|
|
httpRequest.send('');
|
|
|
|
switch(httpRequest.readyState)
|
|
{
|
|
case 1,2,3: alert('Bad Ready State: '+httpRequest.status); //404 ErrorCodes etc
|
|
return false;
|
|
break;
|
|
|
|
case 4: if(httpRequest.status !=200)
|
|
{
|
|
alert('The server respond with a bad status code: '+httpRequest.status);
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
var response = httpRequest.responseText;
|
|
}
|
|
break;
|
|
}
|
|
|
|
// XML in Datasource parsen
|
|
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/mitarbeiter/alle');
|
|
|
|
// Trick 17 (sonst gibt's ein Permission denied)
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
|
|
// Daten aus RDF auslesen
|
|
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
|
getService(Components.interfaces.nsIRDFService);
|
|
var subject = rdfService.GetResource("http://www.technikum-wien.at/mitarbeiter/" + mitarbeiter_id);
|
|
var predicateNS = "http://www.technikum-wien.at/mitarbeiter/rdf";
|
|
|
|
//Felder befuellen
|
|
|
|
//Personen Daten
|
|
person_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#person_id" ));
|
|
mitarbeiter_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#mitarbeiter_id" ));
|
|
anrede = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#anrede" ));
|
|
aktstatus = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#aktstatus" ));
|
|
titelpre = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#titelpre" ));
|
|
titelpost = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#titelpost" ));
|
|
nachname = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#nachname" ));
|
|
vorname = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#vorname" ));
|
|
vornamen = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#vornamen" ));
|
|
uid = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#uid" ));
|
|
svnr = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#svnr" ));
|
|
ersatzkennzeichen = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#ersatzkennzeichen" ));
|
|
geburtsort = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#geburtsort" ));
|
|
geburtsdatum = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#geburtsdatum" ));
|
|
bemerkung = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#bemerkung" ));
|
|
anzahlderkinder = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#anzahlderkinder" ));
|
|
geschlecht = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#geschlecht" ));
|
|
bismelden = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#bismelden" ));
|
|
familienstand = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#familienstand" ));
|
|
staatsbuergerschaft = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#staatsbuergerschaft" ));
|
|
geburtsnation = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#geburtsnation" ));
|
|
deluser = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#deluser" ));
|
|
|
|
//Wenn deluser = aktueller User dann darf der Datensatz geloescht werden
|
|
if(deluser==document.getElementById('statusbarpanel-user').label)
|
|
document.getElementById('toolbar-MitarbeiterEditor-loeschen').disabled=false;
|
|
else
|
|
document.getElementById('toolbar-MitarbeiterEditor-loeschen').disabled=true;
|
|
|
|
document.getElementById('textbox-mitarbeiter-detail-person_id').value=person_id;
|
|
document.getElementById('textbox-mitarbeiter-detail-mitarbeiter_id').value=mitarbeiter_id;
|
|
document.getElementById('textbox-mitarbeiter-detail-aktstatus').value=aktstatus;
|
|
document.getElementById('textbox-mitarbeiter-detail-anrede').value=anrede;
|
|
document.getElementById('textbox-mitarbeiter-detail-titelpre').value = titelpre;
|
|
document.getElementById('textbox-mitarbeiter-detail-titelpost').value = titelpost;
|
|
document.getElementById('textbox-mitarbeiter-detail-nachname').value = nachname;
|
|
document.getElementById('textbox-mitarbeiter-detail-vorname').value = vorname;
|
|
document.getElementById('textbox-mitarbeiter-detail-vornamen').value = vornamen;
|
|
document.getElementById('textbox-mitarbeiter-detail-uid').value = uid;
|
|
document.getElementById('textbox-mitarbeiter-detail-svnr').value = svnr;
|
|
document.getElementById('textbox-mitarbeiter-detail-ersatzkennzeichen').value = ersatzkennzeichen;
|
|
document.getElementById('textbox-mitarbeiter-detail-geburtsort').value = geburtsort;
|
|
document.getElementById('textbox-mitarbeiter-detail-geburtsdatum').value = geburtsdatum;
|
|
document.getElementById('textbox-mitarbeiter-detail-bemerkung').value = bemerkung;
|
|
document.getElementById('textbox-mitarbeiter-detail-anzahlderkinder').value = anzahlderkinder;
|
|
document.getElementById('button-mitarbeiter-detail-geschlecht').label = (geschlecht=='M'?'maennlich':'weiblich');
|
|
document.getElementById('checkbox-mitarbeiter-detail-bismelden').checked = (bismelden=='Ja'?true:false);
|
|
document.getElementById('menulist-mitarbeiter-detail-familienstand').value = familienstand;
|
|
document.getElementById('menulist-mitarbeiter-detail-staatsbuergerschaft').value = staatsbuergerschaft;
|
|
document.getElementById('menulist-mitarbeiter-detail-geburtsnation').value = geburtsnation;
|
|
|
|
//Mitarbeiter Daten
|
|
personal_nr = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#personal_nr" ));
|
|
kurzbezeichnung = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#kurzbezeichnung" ));
|
|
beginndatum = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#beginndatum" ));
|
|
stundensatz = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#stundensatz" ));
|
|
habilitation = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#habilitation" ));
|
|
ausgeschieden = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#ausgeschieden" ));
|
|
beendigungsdatum = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#beendigungsdatum" ));
|
|
ausbildung = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#ausbildung" ));
|
|
aktiv = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#aktiv" ));
|
|
|
|
document.getElementById('textbox-mitarbeiter-detail-personal_nr').value=personal_nr;
|
|
document.getElementById('textbox-mitarbeiter-detail-kurzbezeichnung').value=kurzbezeichnung;
|
|
document.getElementById('textbox-mitarbeiter-detail-beginndatum').value=beginndatum;
|
|
document.getElementById('textbox-mitarbeiter-detail-stundensatz').value=stundensatz;
|
|
document.getElementById('checkbox-mitarbeiter-detail-habilitation').checked = (habilitation=='Ja'?true:false);
|
|
document.getElementById('checkbox-mitarbeiter-detail-ausgeschieden').checked = (ausgeschieden=='Ja'?true:false);
|
|
if(ausgeschieden=='Ja')
|
|
document.getElementById('textbox-mitarbeiter-detail-beendigungsdatum').disabled=false;
|
|
else
|
|
document.getElementById('textbox-mitarbeiter-detail-beendigungsdatum').disabled=true;
|
|
document.getElementById('textbox-mitarbeiter-detail-beendigungsdatum').value=beendigungsdatum;
|
|
document.getElementById('menulist-mitarbeiter-detail-ausbildung').value=ausbildung;
|
|
document.getElementById('checkbox-mitarbeiter-detail-aktiv').checked = (aktiv=='Ja'?true:false);
|
|
|
|
//Funktionen Tree fuellen
|
|
var treeFunktionen=document.getElementById('tree-liste-funktionen');
|
|
var treeFunktionenURL = "<?php echo APP_ROOT; ?>rdf/fas/funktionen.rdf.php?mitarbeiter_id="+mitarbeiter_id+"&leerzeichencodierung=true&"+gettimestamp();
|
|
//treeFunktionen.setAttribute('datasources',treeFunktionenURL);
|
|
|
|
//Alte Datasources loeschen
|
|
var oldDatasources = treeFunktionen.database.GetDataSources();
|
|
while(oldDatasources.hasMoreElements())
|
|
treeFunktionen.database.RemoveDataSource(oldDatasources.getNext());
|
|
|
|
//Neue Datasource setzen
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
|
var newDs = rdfService.GetDataSource(treeFunktionenURL);
|
|
treeFunktionen.database.AddDataSource(newDs);
|
|
|
|
//Sink Observer anhaengen
|
|
sinkfunktion = newDs.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
|
sinkfunktion.addXMLSinkObserver(treefunktionenobserve);
|
|
|
|
document.getElementById('button-mitarbeiter-detail-funktionen-neu').disabled=false;
|
|
document.getElementById('button-mitarbeiter-detail-funktionen-bearbeiten').disabled=false;
|
|
document.getElementById('button-mitarbeiter-detail-funktionen-loeschen').disabled=false;
|
|
document.getElementById('button-mitarbeiter-detail-funktionen-alleanzeigen').disabled=false;
|
|
document.getElementById('button-mitarbeiter-detail-funktionen-alleanzeigen').label='Alle Anzeigen';
|
|
|
|
//Adressen Tree fuellen
|
|
var treeAdressen=document.getElementById('tree-liste-adressen');
|
|
var treeAdressenURL = "<?php echo APP_ROOT; ?>rdf/fas/adressen.rdf.php?pers_id="+person_id;
|
|
treeAdressen.setAttribute('datasources',treeAdressenURL);
|
|
document.getElementById('button-mitarbeiter-detail-adressen-neu').disabled=false;
|
|
document.getElementById('button-mitarbeiter-detail-adressen-bearbeiten').disabled=false;
|
|
document.getElementById('button-mitarbeiter-detail-adressen-loeschen').disabled=false;
|
|
|
|
//Email Tree fuellen
|
|
var treeEmail=document.getElementById('tree-liste-email');
|
|
var treeEmailURL = "<?php echo APP_ROOT; ?>rdf/fas/email.rdf.php?pers_id="+person_id;
|
|
treeEmail.setAttribute('datasources',treeEmailURL);
|
|
document.getElementById('button-mitarbeiter-detail-email-neu').disabled=false;
|
|
document.getElementById('button-mitarbeiter-detail-email-bearbeiten').disabled=false;
|
|
document.getElementById('button-mitarbeiter-detail-email-loeschen').disabled=false;
|
|
|
|
//Telefonnummern Tree fuellen
|
|
var treeTelefonnummern=document.getElementById('tree-liste-telefonnummern');
|
|
var treeTelefonnummernURL = "<?php echo APP_ROOT; ?>rdf/fas/telefonnummern.rdf.php?pers_id="+person_id;
|
|
treeTelefonnummern.setAttribute('datasources',treeTelefonnummernURL);
|
|
document.getElementById('button-mitarbeiter-detail-telefonnummern-neu').disabled=false;
|
|
document.getElementById('button-mitarbeiter-detail-telefonnummern-bearbeiten').disabled=false;
|
|
document.getElementById('button-mitarbeiter-detail-telefonnummern-loeschen').disabled=false;
|
|
|
|
//Bankverbindungen Tree fuellen
|
|
var treeBankverbindungen=document.getElementById('tree-liste-bankverbindungen');
|
|
var treeBankverbindungenURL = "<?php echo APP_ROOT; ?>rdf/fas/bankverbindungen.rdf.php?pers_id="+person_id;
|
|
treeBankverbindungen.setAttribute('datasources',treeBankverbindungenURL);
|
|
document.getElementById('button-mitarbeiter-detail-bankverbindungen-neu').disabled=false;
|
|
document.getElementById('button-mitarbeiter-detail-bankverbindungen-bearbeiten').disabled=false;
|
|
document.getElementById('button-mitarbeiter-detail-bankverbindungen-loeschen').disabled=false;
|
|
|
|
treeMitarbeiterValueNoChange();
|
|
}
|
|
|
|
return true;
|
|
}
|
|
/**
|
|
* Wird aufgerufen wenn der Tree sortiert wird.
|
|
* Merkt sich den Markierten Datensatz und setzt ihn spaeter (10ms) wieder neu
|
|
* damit nach dem sortieren der gleiche Mitarbeiter markiert ist wie vorher
|
|
*/
|
|
function TreeMitarbeiterSort()
|
|
{
|
|
var i;
|
|
var treeMitarbeiter=document.getElementById('tree-liste-mitarbeiter');
|
|
if(treeMitarbeiter.currentIndex>=0)
|
|
i = treeMitarbeiter.currentIndex;
|
|
else
|
|
i = 0;
|
|
col = treeMitarbeiter.columns ? treeMitarbeiter.columns["tree-liste-mitarbeiter-col-mitarbeiter_id"] : "tree-liste-mitarbeiter-col-mitarbeiter_id";
|
|
MitarbeiterSelectMitarbeiter_id = treeMitarbeiter.view.getCellText(i,col);
|
|
window.setTimeout("MitarbeiterSelectMitarbeiter()",10);
|
|
}
|
|
|
|
/**
|
|
* Refresht den MitarbeiterTree
|
|
* @param eintrag_merken Wenn true dann wird der aktuell markierte Eintrag nach dem
|
|
* refresh wieder markiert
|
|
*/
|
|
function refreshtree(eintrag_merken)
|
|
{
|
|
var treeMitarbeiter=document.getElementById('tree-liste-mitarbeiter');
|
|
|
|
if(eintrag_merken)
|
|
{
|
|
var i;
|
|
if(treeMitarbeiter.currentIndex>=0)
|
|
i = treeMitarbeiter.currentIndex;
|
|
else
|
|
i = 0;
|
|
|
|
col = treeMitarbeiter.columns ? treeMitarbeiter.columns["tree-liste-mitarbeiter-col-mitarbeiter_id"] : "tree-liste-mitarbeiter-col-mitarbeiter_id";
|
|
MitarbeiterSelectMitarbeiter_id = treeMitarbeiter.view.getCellText(i,col);
|
|
}
|
|
|
|
treeMitarbeiterReload=false;
|
|
treeMitarbeiter.builder.refresh();
|
|
|
|
//for (var i=0;i<30;i++)
|
|
// treeMitarbeiter.builder.rebuild();
|
|
|
|
//window.setTimeout("document.getElementById('tree-liste-mitarbeiter').builder.rebuild()",sleep_time);
|
|
treemenuobservedata='refresh';
|
|
if(eintrag_merken)
|
|
{
|
|
treemenuobservedata='refresheintragmerken';
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Excel Export
|
|
*/
|
|
function MitarbeiterExcelExport()
|
|
{
|
|
var treeMitarbeiter=document.getElementById('tree-liste-mitarbeiter');
|
|
var treeMitarbeiterMenu=document.getElementById('tree-menu-mitarbeiter1');
|
|
var col = treeMitarbeiterMenu.columns ? treeMitarbeiterMenu.columns["tree-menu-mitarbeiter-col-filter"] : "tree-menu-mitarbeiter-col-filter";
|
|
var filter=treeMitarbeiterMenu.view.getCellText(treeMitarbeiterMenu.currentIndex,col);
|
|
cols = treeMitarbeiter.getElementsByTagName('treecol');
|
|
|
|
var url = "excel.php";
|
|
var attributes="?type=mitarbeiter";
|
|
if (filter=="Studiengangsleiter")
|
|
attributes+="&stgl=true";
|
|
if (filter=="Fachbereichsleiter")
|
|
attributes+="&fbl=true";
|
|
if (filter=="Alle")
|
|
attributes+="&alle=true";
|
|
if (filter=="Aktive")
|
|
attributes+="&aktiv=true";
|
|
if (filter=="FixAngestellte")
|
|
attributes+="&fix=true&aktiv=true";
|
|
if (filter=="FixAngestellteAlle")
|
|
attributes+="&fix=true";
|
|
if (filter=="Inaktive")
|
|
attributes+="&aktiv=false";
|
|
if (filter=="Karenziert")
|
|
attributes+="&karenziert=true";
|
|
if (filter=="Ausgeschieden")
|
|
attributes+="&ausgeschieden=true";
|
|
if (filter=="FreiAngestellte")
|
|
attributes+="&fix=false&aktiv=true";
|
|
if (filter=="FreiAngestellteAlle")
|
|
attributes+="&fix=false";
|
|
|
|
url+=attributes;
|
|
spalte=0;
|
|
for(i in cols)
|
|
{
|
|
if(cols[i].hidden==false)
|
|
{
|
|
url += "&spalte"+spalte+"="+MitarbeiterDetailgetSpaltenname(cols[i].id);
|
|
spalte=spalte+1;
|
|
}
|
|
}
|
|
//url+='&spalte0=titelpre&spalte1=vorname&spalte2=vornamen&spalte3=familienname&spalte4=uid';
|
|
|
|
//alert(url);
|
|
//window.open(url,"","chrome,status=no, modal, width=400, height=250, centerscreen, resizable");
|
|
window.location.href=url;
|
|
}
|
|
|
|
/**
|
|
* Liefert anhand der ID den Namen der Klassenvariable
|
|
*/
|
|
function MitarbeiterDetailgetSpaltenname(id)
|
|
{
|
|
if(id=='tree-liste-mitarbeiter-col-anrede') return 'anrede';
|
|
if(id=='tree-liste-mitarbeiter-col-titelpre') return 'titelpre';
|
|
if(id=='tree-liste-mitarbeiter-col-vorname') return 'vorname';
|
|
if(id=='tree-liste-mitarbeiter-col-vornamen') return 'vornamen';
|
|
if(id=='tree-liste-mitarbeiter-col-nachname') return 'familienname';
|
|
if(id=='tree-liste-mitarbeiter-col-titelpost') return 'titelpost';
|
|
if(id=='tree-liste-mitarbeiter-col-personal_nr') return 'persnr';
|
|
if(id=='tree-liste-mitarbeiter-col-geburtsdatum') return 'gebdat';
|
|
if(id=='tree-liste-mitarbeiter-col-svnr') return 'svnr';
|
|
if(id=='tree-liste-mitarbeiter-col-ersatzkennzeichen') return 'ersatzkennzeichen';
|
|
if(id=='tree-liste-mitarbeiter-col-uid') return 'uid';
|
|
if(id=='tree-liste-mitarbeiter-col-kurzbezeichnung') return 'kurzbez';
|
|
if(id=='tree-liste-mitarbeiter-col-geschlecht') return 'geschlecht';
|
|
if(id=='tree-liste-mitarbeiter-col-staatsbuergerschaft') return 'staatsbuergerschaft';
|
|
if(id=='tree-liste-mitarbeiter-col-aktstatus') return 'aktstatus_bezeichnung';
|
|
if(id=='tree-liste-mitarbeiter-col-akademischergrad') return 'akadgrad_bezeichnung';
|
|
if(id=='tree-liste-mitarbeiter-col-familienstand') return 'familienstand_bezeichnung';
|
|
if(id=='tree-liste-mitarbeiter-col-anzahlderkinder') return 'anzahlderkinder';
|
|
if(id=='tree-liste-mitarbeiter-col-geburtsnation') return 'gebnation';
|
|
if(id=='tree-liste-mitarbeiter-col-habilitation') return 'habilitation_bezeichnung';
|
|
if(id=='tree-liste-mitarbeiter-col-beginndatum') return 'beginndatum';
|
|
if(id=='tree-liste-mitarbeiter-col-bemerkung') return 'bemerkung';
|
|
if(id=='tree-liste-mitarbeiter-col-ausgeschieden') return 'ausgeschieden';
|
|
if(id=='tree-liste-mitarbeiter-col-beendigungsdatum') return 'beendigungsdatum';
|
|
if(id=='tree-liste-mitarbeiter-col-ausbildung') return 'ausbildung_bezeichnung';
|
|
if(id=='tree-liste-mitarbeiter-col-stundensatz') return 'stundensatz';
|
|
if(id=='tree-liste-mitarbeiter-col-bismelden') return 'bismelden_bezeichnung';
|
|
if(id=='tree-liste-mitarbeiter-col-aktiv') return 'aktiv_bezeichnung';
|
|
if(id=='tree-liste-mitarbeiter-col-mitarbeiter_id') return 'mitarbeiter_id';
|
|
if(id=='tree-liste-mitarbeiter-col-person_id') return 'person_id';
|
|
}
|
|
/**
|
|
* Erstellt das Geburtsdatum aus der SVNR
|
|
*/
|
|
function MitarbeiterSVNRValueChange()
|
|
{
|
|
svnr=document.getElementById('textbox-mitarbeiter-detail-svnr').value;
|
|
|
|
if(svnr!='' && svnr.length==10)
|
|
document.getElementById('textbox-mitarbeiter-detail-geburtsdatum').value = svnr.charAt(4) + svnr.charAt(5) + "." + svnr.charAt(6) + svnr.charAt(7) + ".19" + svnr.charAt(8) + svnr.charAt(9);
|
|
|
|
}
|
|
|
|
/**
|
|
* Wenn bei der Anrede "Frau" eingegeben wird, soll das Geschlecht auf weiblich geaendert werden
|
|
*/
|
|
function MitarbeiterAnredeValueChange()
|
|
{
|
|
var geschlecht=document.getElementById('textbox-mitarbeiter-detail-anrede').value;
|
|
var button = document.getElementById('button-mitarbeiter-detail-geschlecht');
|
|
|
|
if(geschlecht=='Frau')
|
|
button.label='weiblich';
|
|
else
|
|
button.label='maennlich';
|
|
}
|
|
|
|
/**
|
|
* Generiert die Kurzbezeichnung und die UID
|
|
*/
|
|
function MitarbeiterDetailKurzbzGenerate()
|
|
{
|
|
vorname=document.getElementById('textbox-mitarbeiter-detail-vorname').value;
|
|
nachname=document.getElementById('textbox-mitarbeiter-detail-nachname').value;
|
|
//Wenn vorname und nachname eingegeben wurden
|
|
if(nachname!='' && vorname!='')
|
|
{
|
|
if(document.getElementById('textbox-mitarbeiter-detail-kurzbezeichnung').value=='')
|
|
{
|
|
// Kuerzel generieren
|
|
var url="<?php echo APP_ROOT; ?>rdf/fas/generate_kuerzel.rdf.php?type=kurzbz&nachname="+nachname+"&vorname="+vorname;
|
|
|
|
// Request absetzen
|
|
var httpRequest = new XMLHttpRequest();
|
|
httpRequest.open("GET", url, false, '','');
|
|
httpRequest.send('');
|
|
// Bei status 4 ist sendung Ok
|
|
switch(httpRequest.readyState)
|
|
{
|
|
case 1,2,3: alert('Bad Ready State: '+httpRequest.status); //404 ErrorCodes etc
|
|
return false;
|
|
break;
|
|
|
|
case 4: if(httpRequest.status !=200)
|
|
{
|
|
alert('The server respond with a bad status code: '+httpRequest.status);
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
var response = httpRequest.responseText;
|
|
}
|
|
break;
|
|
default: alert('Timing error');
|
|
break;
|
|
}
|
|
|
|
// XML in Datasource parsen
|
|
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/generate_kurzbz/msg');
|
|
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
|
|
// Daten aus RDF auslesen
|
|
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
|
|
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
|
getService(Components.interfaces.nsIRDFService);
|
|
var subject = rdfService.GetResource("http://www.technikum-wien.at/generate_kurzbz/0");
|
|
|
|
var predicateNS = "http://www.technikum-wien.at/generate_kurzbz/rdf";
|
|
|
|
var gen_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
|
|
var gen_msg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#msg" ));
|
|
|
|
if(gen_return=='true')
|
|
{
|
|
document.getElementById('textbox-mitarbeiter-detail-kurzbezeichnung').value=gen_msg;
|
|
}
|
|
else
|
|
alert("Fehler beim Generieren der Daten: "+gen_msg);
|
|
}
|
|
|
|
|
|
// UID generieren
|
|
if(document.getElementById('textbox-mitarbeiter-detail-uid').value=='')
|
|
{
|
|
var url="<?php echo APP_ROOT; ?>rdf/fas/generate_kuerzel.rdf.php?type=uid&nachname="+nachname+"&vorname="+vorname;
|
|
|
|
// Request absetzen
|
|
var httpRequest = new XMLHttpRequest();
|
|
httpRequest.open("GET", url, false, '','');
|
|
httpRequest.send('');
|
|
// Bei status 4 ist sendung Ok
|
|
switch(httpRequest.readyState)
|
|
{
|
|
case 1,2,3: alert('Bad Ready State: '+httpRequest.status); //404 ErrorCodes etc
|
|
return false;
|
|
break;
|
|
|
|
case 4: if(httpRequest.status !=200)
|
|
{
|
|
alert('The server respond with a bad status code: '+httpRequest.status);
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
var response = httpRequest.responseText;
|
|
}
|
|
break;
|
|
}
|
|
|
|
// XML in Datasource parsen
|
|
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/generate_kurzbz/msg');
|
|
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
|
|
// Daten aus RDF auslesen
|
|
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
|
|
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
|
getService(Components.interfaces.nsIRDFService);
|
|
var subject = rdfService.GetResource("http://www.technikum-wien.at/generate_kurzbz/0");
|
|
|
|
var predicateNS = "http://www.technikum-wien.at/generate_kurzbz/rdf";
|
|
|
|
var gen_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
|
|
var gen_msg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#msg" ));
|
|
|
|
if(gen_return=='true')
|
|
{
|
|
document.getElementById('textbox-mitarbeiter-detail-uid').value=gen_msg;
|
|
}
|
|
else
|
|
alert("Fehler beim Generieren der Daten: "+gen_msg);
|
|
}
|
|
}
|
|
else
|
|
alert('Bitte zuerst Vorname und Nachname eingeben');
|
|
treeMitarbeiterValueChange();
|
|
}
|
|
|
|
/**
|
|
* Legt eine neue leere DummyZeile an
|
|
*/
|
|
function MitarbeiterNeu()
|
|
{
|
|
var treeMitarbeiter=document.getElementById('tree-liste-mitarbeiter');
|
|
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
var httpRequest = new XMLHttpRequest();
|
|
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
|
|
// Request absetzen
|
|
httpRequest.open("POST", url, false, '','');
|
|
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
|
param = "type=newmitarbeiter&studiensemester_id="+MitarbeiterDetailStudiensemester_id;
|
|
|
|
switch(MenuMitarbeiterAuswahl)
|
|
{
|
|
case 2: //Alle
|
|
break;
|
|
case 3: //Aktive
|
|
break;
|
|
case 4: //Fixangestellte
|
|
param = param + "&art=fix";
|
|
break;
|
|
case 5: //FixangestellteAlle
|
|
param = param + "&art=fix";
|
|
break;
|
|
case 9: //FreiAngestellte
|
|
case 10: //FreiAngestellteAlle
|
|
param = param + "&art=frei";
|
|
break;
|
|
default: break;
|
|
}
|
|
|
|
|
|
//Parameter schicken
|
|
httpRequest.send(param);
|
|
|
|
// Bei status 4 ist sendung Ok
|
|
switch(httpRequest.readyState)
|
|
{
|
|
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
|
|
return false;
|
|
break;
|
|
|
|
case 4: if(httpRequest.status !=200)
|
|
{
|
|
alert('The server respond with a bad status code: '+httpRequest.status);
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
var response = httpRequest.responseText;
|
|
}
|
|
break;
|
|
}
|
|
|
|
// Returnwerte aus RDF abfragen
|
|
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
|
|
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
|
getService(Components.interfaces.nsIRDFService);
|
|
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
|
|
|
|
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
|
|
|
|
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
|
|
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
|
|
|
|
if(dbdml_return=='true')
|
|
{
|
|
//In dbdml_errormsg steht die person_id des neuen Datensatzes
|
|
|
|
//Statusbar sezten
|
|
setStatusBarText("Neuer Datensatz wurde angelegt");
|
|
|
|
//Tree Refreshen
|
|
refreshtree(false);
|
|
|
|
//Eintrag im Tree Selektieren
|
|
MitarbeiterSelectMitarbeiter_id = dbdml_errormsg;
|
|
treemenuobservedata='refresheintragmerken';
|
|
//Wird automatisch selektiert sobald das rebuild fertig ist
|
|
}
|
|
else
|
|
alert("Fehler beim anlegen des Datensatzes: "+dbdml_errormsg);
|
|
|
|
|
|
}
|
|
|
|
/**
|
|
* Selektiert den Eintrag mit der Mitarbeiter_id MitarbeiterSelectMitarbeiter_id
|
|
*/
|
|
function MitarbeiterSelectMitarbeiter()
|
|
{
|
|
debug('mitarbeiterSelectMitarbeiter');
|
|
var treeMitarbeiter=document.getElementById('tree-liste-mitarbeiter');
|
|
var items = treeMitarbeiter.view.rowCount; //Anzahl der Zeilen
|
|
|
|
for(var i=0;i<items;i++)
|
|
{
|
|
col = treeMitarbeiter.columns ? treeMitarbeiter.columns["tree-liste-mitarbeiter-col-mitarbeiter_id"] : "tree-liste-mitarbeiter-col-mitarbeiter_id";
|
|
mitarbeiter_id=treeMitarbeiter.view.getCellText(i,col);
|
|
|
|
if(mitarbeiter_id == MitarbeiterSelectMitarbeiter_id)
|
|
{
|
|
treeMitarbeiter.view.selection.select(i);
|
|
treeMitarbeiter.treeBoxObject.ensureRowIsVisible(i);
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
/**
|
|
* Loescht die Markierten Mitarbeiter
|
|
*/
|
|
function MitarbeiterDelete()
|
|
{
|
|
if(document.getElementById('toolbar-MitarbeiterEditor-loeschen').disabled)
|
|
{
|
|
alert('Das loeschen dieses Datensatzes ist nicht moeglich');
|
|
return false;
|
|
}
|
|
var treeMitarbeiter=document.getElementById('tree-liste-mitarbeiter');
|
|
var start = new Object();
|
|
var end = new Object();
|
|
var numRanges = treeMitarbeiter.view.selection.getRangeCount();
|
|
var msg="";
|
|
var anz=0;
|
|
var ids=new Array();
|
|
|
|
//Markierte Datensaetze holen
|
|
for (var t=0; t<numRanges; t++)
|
|
{
|
|
treeMitarbeiter.view.selection.getRangeAt(t,start,end);
|
|
for (v=start.value; v<=end.value; v++)
|
|
{
|
|
var col = treeMitarbeiter.columns ? treeMitarbeiter.columns["tree-liste-mitarbeiter-col-person_id"] : "tree-liste-mitarbeiter-col-person_id";
|
|
ids[anz]=treeMitarbeiter.view.getCellText(v,col);
|
|
anz++;
|
|
}
|
|
}
|
|
if(anz>0)
|
|
{
|
|
if(anz>1)
|
|
msg="Wollen Sie wirklich alle "+anz+" Datensaetze l�schen?";
|
|
else
|
|
msg="Wollen Sie wirklich diesen Datensatz l�schen?";
|
|
|
|
if(confirm(msg))
|
|
{
|
|
//DS Loeschen
|
|
//Parameter zusammenbauen
|
|
var param="type=delmitarbeiter&anz="+anz;
|
|
for(var i=0;i<anz;i++)
|
|
param = param + "&x"+i+"="+ids[i];
|
|
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
// Request absetzen
|
|
var httpRequest = new XMLHttpRequest();
|
|
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
|
|
|
|
httpRequest.open("POST", url, false, '','');
|
|
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
|
//Parameter schicken
|
|
httpRequest.send(param);
|
|
|
|
// Bei status 4 ist sendung Ok
|
|
switch(httpRequest.readyState)
|
|
{
|
|
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
|
|
return false;
|
|
break;
|
|
|
|
case 4: if(httpRequest.status !=200)
|
|
{
|
|
alert('The server respond with a bad status code: '+httpRequest.status);
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
var response = httpRequest.responseText;
|
|
}
|
|
break;
|
|
}
|
|
|
|
// Returnwerte aus RDF abfragen
|
|
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
|
|
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
|
getService(Components.interfaces.nsIRDFService);
|
|
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
|
|
|
|
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
|
|
|
|
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
|
|
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
|
|
|
|
if(dbdml_return=='true')
|
|
{
|
|
//Statusbar sezten
|
|
setStatusBarText("Datensatz wurde erfolgreich geloescht");
|
|
treeMitarbeiterValueNoChange()
|
|
refreshtree(false);
|
|
window.setTimeout("SelectIndex(0)",sleep_time+10);
|
|
}
|
|
else
|
|
alert("Fehler beim L�schen der Daten: "+dbdml_errormsg);
|
|
}
|
|
}
|
|
else
|
|
alert("Bitte zuerst einen Datensatz markieren");
|
|
}
|
|
|
|
/**
|
|
* Selektiert den index idx im MitarbeiterTree
|
|
*/
|
|
function SelectIndex(idx)
|
|
{
|
|
var treeMitarbeiter=document.getElementById('tree-liste-mitarbeiter');
|
|
treeMitarbeiter.view.selection.select(idx);
|
|
treeMitarbeiter.treeBoxObject.ensureRowIsVisible(idx);
|
|
}
|
|
|
|
/**
|
|
* Speichert die Mitarbeiterdaten
|
|
*/
|
|
function saveMitarbeiter()
|
|
{
|
|
var treeMitarbeiter=document.getElementById('tree-liste-mitarbeiter');
|
|
|
|
//Daten aus den Felder holen
|
|
person_id = document.getElementById('textbox-mitarbeiter-detail-person_id').value;
|
|
mitarbeiter_id = document.getElementById('textbox-mitarbeiter-detail-mitarbeiter_id').value;
|
|
aktstatus = document.getElementById('textbox-mitarbeiter-detail-aktstatus').value;
|
|
anrede = document.getElementById('textbox-mitarbeiter-detail-anrede').value;
|
|
titelpre = document.getElementById('textbox-mitarbeiter-detail-titelpre').value;
|
|
titelpost = document.getElementById('textbox-mitarbeiter-detail-titelpost').value;
|
|
nachname = document.getElementById('textbox-mitarbeiter-detail-nachname').value;
|
|
vorname = document.getElementById('textbox-mitarbeiter-detail-vorname').value;
|
|
vornamen = document.getElementById('textbox-mitarbeiter-detail-vornamen').value;
|
|
uid = document.getElementById('textbox-mitarbeiter-detail-uid').value;
|
|
svnr = document.getElementById('textbox-mitarbeiter-detail-svnr').value;
|
|
ersatzkennzeichen = document.getElementById('textbox-mitarbeiter-detail-ersatzkennzeichen').value;
|
|
geburtsort = document.getElementById('textbox-mitarbeiter-detail-geburtsort').value;
|
|
geburtsdatum = document.getElementById('textbox-mitarbeiter-detail-geburtsdatum').value;
|
|
bemerkung = document.getElementById('textbox-mitarbeiter-detail-bemerkung').value;
|
|
anzahlderkinder = document.getElementById('textbox-mitarbeiter-detail-anzahlderkinder').value;
|
|
geschlecht = document.getElementById('button-mitarbeiter-detail-geschlecht').label;
|
|
bismelden = document.getElementById('checkbox-mitarbeiter-detail-bismelden').checked;
|
|
familienstand = document.getElementById('menulist-mitarbeiter-detail-familienstand').value;
|
|
staatsbuergerschaft = document.getElementById('menulist-mitarbeiter-detail-staatsbuergerschaft').value;
|
|
geburtsnation = document.getElementById('menulist-mitarbeiter-detail-geburtsnation').value;
|
|
personal_nr = document.getElementById('textbox-mitarbeiter-detail-personal_nr').value;
|
|
kurzbezeichnung = document.getElementById('textbox-mitarbeiter-detail-kurzbezeichnung').value;
|
|
beginndatum = document.getElementById('textbox-mitarbeiter-detail-beginndatum').value;
|
|
stundensatz = document.getElementById('textbox-mitarbeiter-detail-stundensatz').value;
|
|
habilitation = document.getElementById('checkbox-mitarbeiter-detail-habilitation').checked;
|
|
ausgeschieden = document.getElementById('checkbox-mitarbeiter-detail-ausgeschieden').checked;
|
|
beendigungsdatum = document.getElementById('textbox-mitarbeiter-detail-beendigungsdatum').value;
|
|
ausbildung = document.getElementById('menulist-mitarbeiter-detail-ausbildung').value;
|
|
aktiv = document.getElementById('checkbox-mitarbeiter-detail-aktiv').checked;
|
|
|
|
//Pflichtfelder pruefen
|
|
if(vorname!='' && nachname!='' && kurzbezeichnung!='')
|
|
{
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
|
|
// Request absetzen
|
|
var httpRequest = new XMLHttpRequest();
|
|
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
|
|
|
|
httpRequest.open("POST", url, false, '','');
|
|
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
|
|
|
//fuer die Einzelnen Felder wird encodeURIComponent aufgerufen,
|
|
//damit Sonderzeichen wie + oder & richtig codiert werden.
|
|
//Parameterlist zusammenbauen
|
|
var param = "type=mitarbeiter";
|
|
param = param + "&new=false";
|
|
param = param + "&person_id=" + encodeURIComponent(person_id);
|
|
param = param + "&mitarbeiter_id=" + encodeURIComponent(mitarbeiter_id);
|
|
param = param + "&aktstatus=" + encodeURIComponent(aktstatus);
|
|
param = param + "&anrede=" + encodeURIComponent(anrede);
|
|
param = param + "&titelpre=" + encodeURIComponent(titelpre);
|
|
param = param + "&titelpost=" + encodeURIComponent(titelpost);
|
|
param = param + "&nachname=" + encodeURIComponent(nachname);
|
|
param = param + "&vorname=" + encodeURIComponent(vorname);
|
|
param = param + "&vornamen=" + encodeURIComponent(vornamen);
|
|
param = param + "&uid=" + encodeURIComponent(uid);
|
|
param = param + "&svnr=" + encodeURIComponent(svnr);
|
|
param = param + "&ersatzkennzeichen=" + encodeURIComponent(ersatzkennzeichen);
|
|
param = param + "&geburtsort=" + encodeURIComponent(geburtsort);
|
|
param = param + "&geburtsdatum=" + encodeURIComponent(geburtsdatum);
|
|
param = param + "&bemerkung=" + encodeURIComponent(bemerkung);
|
|
param = param + "&anzahlderkinder=" + encodeURIComponent(anzahlderkinder);
|
|
if(geschlecht=='weiblich')
|
|
param = param + "&geschlecht=W";
|
|
else
|
|
param = param + "&geschlecht=M";
|
|
|
|
param = param + "&bismelden="+encodeURIComponent(bismelden);
|
|
param = param + "&familienstand=" + encodeURIComponent(familienstand);
|
|
param = param + "&staatsbuergerschaft=" + encodeURIComponent(staatsbuergerschaft);
|
|
param = param + "&geburtsnation=" + encodeURIComponent(geburtsnation);
|
|
param = param + "&personal_nr=" + encodeURIComponent(personal_nr);
|
|
param = param + "&kurzbezeichnung=" + encodeURIComponent(kurzbezeichnung);
|
|
param = param + "&beginndatum=" + encodeURIComponent(beginndatum);
|
|
param = param + "&stundensatz=" + encodeURIComponent(stundensatz);
|
|
param = param + "&habilitation="+encodeURIComponent(habilitation);
|
|
param = param + "&ausgeschieden="+encodeURIComponent(ausgeschieden);
|
|
param = param + "&beendigungsdatum=" + encodeURIComponent(beendigungsdatum);
|
|
param = param + "&ausbildung=" + encodeURIComponent(ausbildung);
|
|
param = param + "&aktiv=" + encodeURIComponent(aktiv);
|
|
|
|
//Parameter schicken
|
|
httpRequest.send(param);
|
|
|
|
// Bei status 4 ist sendung Ok
|
|
switch(httpRequest.readyState)
|
|
{
|
|
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
|
|
return false;
|
|
break;
|
|
|
|
case 4: if(httpRequest.status !=200)
|
|
{
|
|
alert('The server respond with a bad status code: '+httpRequest.status);
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
var response = httpRequest.responseText;
|
|
}
|
|
break;
|
|
}
|
|
|
|
// Returnwerte aus RDF abfragen
|
|
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
|
|
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
|
getService(Components.interfaces.nsIRDFService);
|
|
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
|
|
|
|
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
|
|
|
|
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
|
|
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
|
|
|
|
if(dbdml_return=='true')
|
|
{
|
|
treeMitarbeiterValueNoChange();
|
|
refreshtree(true);
|
|
|
|
//Statusbar Text setzen
|
|
window.setTimeout("setStatusBarText('Datensatz wurde erfolgreich gespeichert')",sleep_time);
|
|
}
|
|
else
|
|
{
|
|
alert("Fehler beim Speichern der Daten: "+dbdml_errormsg);
|
|
return false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
alert("Bitte zuerst die Pflichtfelder ausfuellen");
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Setzt den Text in der Statusbar
|
|
*/
|
|
function setStatusBarText($text)
|
|
{
|
|
document.getElementById('statusbarpanel-text').label= $text;
|
|
}
|
|
|
|
/**
|
|
* Beim aendern eines Wertes in einer Textbox
|
|
* - Changed Flag setzen
|
|
* - Speichern Button aktivieren
|
|
*/
|
|
function treeMitarbeiterValueChange()
|
|
{
|
|
treeMitarbeiterDetailChanged=true;
|
|
document.getElementById('button-mitarbeiter-detail-speichern').disabled=false;
|
|
document.getElementById('button-mitarbeiter-detail-zurueck').disabled=false;
|
|
}
|
|
|
|
/**
|
|
* Setzt den Changed Status wieder zurueck
|
|
* - Changed Flag setzen
|
|
* - Speichern Button deaktivieren
|
|
*/
|
|
function treeMitarbeiterValueNoChange()
|
|
{
|
|
treeMitarbeiterDetailChanged=false;
|
|
document.getElementById('button-mitarbeiter-detail-speichern').disabled=true;
|
|
document.getElementById('button-mitarbeiter-detail-zurueck').disabled=true;
|
|
}
|
|
|
|
/**
|
|
* Beim druecken auf den zurueck Button
|
|
* - Die Daten werden neu geladen
|
|
* - Das Changed Flag zurueck gesetzt
|
|
* - Der Speichern Button Deaktiviert
|
|
*/
|
|
function MitarbeiterDetailZurueck()
|
|
{
|
|
treeMitarbeiterValueNoChange();
|
|
TreeListeMitarbeiterAuswahl();
|
|
}
|
|
|
|
/**
|
|
* Deaktiviert/Aktiviert das Detailfenster
|
|
*/
|
|
function SetMitarbeiterDetailAktiv(enabled)
|
|
{
|
|
document.getElementById('textbox-mitarbeiter-detail-person_id').value='';
|
|
document.getElementById('textbox-mitarbeiter-detail-person_id').disabled=!enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-mitarbeiter_id').value='';
|
|
document.getElementById('textbox-mitarbeiter-detail-mitarbeiter_id').disabled=!enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-anrede').value='';
|
|
document.getElementById('textbox-mitarbeiter-detail-anrede').disabled=!enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-titelpre').value = '';
|
|
document.getElementById('textbox-mitarbeiter-detail-titelpre').disabled = !enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-titelpost').value = '';
|
|
document.getElementById('textbox-mitarbeiter-detail-titelpost').disabled = !enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-nachname').value = '';
|
|
document.getElementById('textbox-mitarbeiter-detail-nachname').disabled = !enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-vorname').value = '';
|
|
document.getElementById('textbox-mitarbeiter-detail-vorname').disabled = !enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-vornamen').value = '';
|
|
document.getElementById('textbox-mitarbeiter-detail-vornamen').disabled = !enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-uid').value = '';
|
|
document.getElementById('textbox-mitarbeiter-detail-uid').disabled = !enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-svnr').value = '';
|
|
document.getElementById('textbox-mitarbeiter-detail-svnr').disabled = !enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-ersatzkennzeichen').value = '';
|
|
document.getElementById('textbox-mitarbeiter-detail-ersatzkennzeichen').disabled = !enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-geburtsort').value = '';
|
|
document.getElementById('textbox-mitarbeiter-detail-geburtsort').disabled = !enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-geburtsdatum').value = '';
|
|
document.getElementById('textbox-mitarbeiter-detail-geburtsdatum').disabled = !enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-bemerkung').value = '';
|
|
document.getElementById('textbox-mitarbeiter-detail-bemerkung').disabled = !enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-anzahlderkinder').value = '';
|
|
document.getElementById('textbox-mitarbeiter-detail-anzahlderkinder').disabled = !enabled;
|
|
document.getElementById('button-mitarbeiter-detail-geschlecht').disabled = !enabled;
|
|
document.getElementById('checkbox-mitarbeiter-detail-bismelden').disabled = !enabled;
|
|
document.getElementById('menulist-mitarbeiter-detail-familienstand').disabled = !enabled;
|
|
document.getElementById('menulist-mitarbeiter-detail-staatsbuergerschaft').disabled = !enabled;
|
|
document.getElementById('menulist-mitarbeiter-detail-geburtsnation').disabled = !enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-personal_nr').value='';
|
|
//document.getElementById('textbox-mitarbeiter-detail-personal_nr').disabled=!enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-kurzbezeichnung').value='';
|
|
document.getElementById('textbox-mitarbeiter-detail-kurzbezeichnung').disabled=!enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-beginndatum').value='';
|
|
document.getElementById('textbox-mitarbeiter-detail-beginndatum').disabled=!enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-stundensatz').value='';
|
|
document.getElementById('textbox-mitarbeiter-detail-stundensatz').disabled=!enabled;
|
|
document.getElementById('checkbox-mitarbeiter-detail-habilitation').disabled = !enabled;
|
|
document.getElementById('checkbox-mitarbeiter-detail-ausgeschieden').disabled = !enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-beendigungsdatum').value='';
|
|
document.getElementById('textbox-mitarbeiter-detail-beendigungsdatum').disabled=!enabled;
|
|
document.getElementById('textbox-mitarbeiter-detail-beendigungsdatum').value='';
|
|
document.getElementById('textbox-mitarbeiter-detail-beendigungsdatum').disabled=!enabled;
|
|
document.getElementById('menulist-mitarbeiter-detail-ausbildung').disabled=!enabled;
|
|
document.getElementById('checkbox-mitarbeiter-detail-aktiv').disabled = !enabled;
|
|
document.getElementById('button-mitarbeiter-detail-funktionen-neu').disabled= !enabled;
|
|
document.getElementById('button-mitarbeiter-detail-funktionen-bearbeiten').disabled=!enabled;
|
|
document.getElementById('button-mitarbeiter-detail-funktionen-loeschen').disabled=!enabled;
|
|
document.getElementById('button-mitarbeiter-detail-funktionen-alleanzeigen').disabled=!enabled;
|
|
document.getElementById('button-mitarbeiter-detail-adressen-neu').disabled=!enabled;
|
|
document.getElementById('button-mitarbeiter-detail-adressen-bearbeiten').disabled=!enabled;
|
|
document.getElementById('button-mitarbeiter-detail-adressen-loeschen').disabled=!enabled;
|
|
document.getElementById('button-mitarbeiter-detail-email-neu').disabled=!enabled;
|
|
document.getElementById('button-mitarbeiter-detail-email-bearbeiten').disabled=!enabled;
|
|
document.getElementById('button-mitarbeiter-detail-email-loeschen').disabled=!enabled;
|
|
document.getElementById('button-mitarbeiter-detail-telefonnummern-neu').disabled=!enabled;
|
|
document.getElementById('button-mitarbeiter-detail-telefonnummern-bearbeiten').disabled=!enabled;
|
|
document.getElementById('button-mitarbeiter-detail-telefonnummern-loeschen').disabled=!enabled;
|
|
document.getElementById('button-mitarbeiter-detail-bankverbindungen-neu').disabled=!enabled;
|
|
document.getElementById('button-mitarbeiter-detail-bankverbindungen-bearbeiten').disabled=!enabled;
|
|
document.getElementById('button-mitarbeiter-detail-bankverbindungen-loeschen').disabled=!enabled;
|
|
document.getElementById('button-mitarbeiter-detail-gen_kurzbez').disabled=!enabled;
|
|
|
|
document.getElementById('tree-liste-funktionen').setAttribute('datasources',"rdf:null");
|
|
document.getElementById('tree-liste-adressen').setAttribute('datasources',"rdf:null");
|
|
document.getElementById('tree-liste-email').setAttribute('datasources',"rdf:null");
|
|
document.getElementById('tree-liste-telefonnummern').setAttribute('datasources',"rdf:null");
|
|
document.getElementById('tree-liste-bankverbindungen').setAttribute('datasources',"rdf:null");
|
|
}
|
|
|
|
/**
|
|
* Detailfenster Defaults setzen
|
|
* Beim auswaehlen eines Mitarbeiters
|
|
*/
|
|
function MitarbeiterDetailRestore()
|
|
{
|
|
treeMitarbeiterDetailChanged=false;
|
|
document.getElementById('button-mitarbeiter-detail-speichern').disabled=true;
|
|
document.getElementById('button-mitarbeiter-detail-zurueck').disabled=true;
|
|
document.getElementById('textbox-mitarbeiter-detail-personal_nr').disabled=true;
|
|
}
|
|
|
|
/**
|
|
* wechselt die Beschriftung des Geschlecht Buttons
|
|
*/
|
|
function MitarbeiterDetailGeschlechtChange()
|
|
{
|
|
var button = document.getElementById('button-mitarbeiter-detail-geschlecht');
|
|
treeMitarbeiterValueChange();
|
|
|
|
if(button.label=='maennlich')
|
|
button.label='weiblich';
|
|
else
|
|
button.label='maennlich';
|
|
}
|
|
|
|
/**
|
|
* Schaltet das Beendigungsdatumfeld ein/aus
|
|
*/
|
|
function MitarbeiterDetailAusgeschiedenChange()
|
|
{
|
|
var textbox = document.getElementById('textbox-mitarbeiter-detail-beendigungsdatum');
|
|
var checkbox = document.getElementById('checkbox-mitarbeiter-detail-ausgeschieden');
|
|
|
|
if(checkbox.checked)
|
|
{
|
|
textbox.disabled=false;
|
|
var d = new Date();
|
|
textbox.value=d.getDate()+"."+(d.getMonth()+1)+"."+d.getFullYear();
|
|
document.getElementById('checkbox-mitarbeiter-detail-aktiv').checked=false;
|
|
}
|
|
else
|
|
{
|
|
textbox.disabled=true;
|
|
textbox.value='';
|
|
document.getElementById('checkbox-mitarbeiter-detail-aktiv').checked=true;
|
|
}
|
|
}
|
|
/*****************************FUNKTIONEN*******************************/
|
|
/**
|
|
* Ruft einen Dialog zum Eingeben der Funktionen auf
|
|
*/
|
|
function MitarbeiterDetailFunktionenNeu()
|
|
{
|
|
var treeMitarbeiter=document.getElementById('tree-liste-mitarbeiter');
|
|
mitarbeiter_id = document.getElementById('textbox-mitarbeiter-detail-mitarbeiter_id').value;
|
|
window.open("mitarbeiterfunktiondialog.xul.php?mitarbeiter_id="+mitarbeiter_id+"&MitarbeiterDetailStudiensemester_id="+MitarbeiterDetailStudiensemester_id,"","chrome, status=no, modal, width=500, height=350, centerscreen, resizable");
|
|
}
|
|
|
|
/**
|
|
* Ruft einen Dialog zum Bearbeiten der Funktionen auf
|
|
*/
|
|
function MitarbeiterDetailFunktionenBearbeiten()
|
|
{
|
|
var treeFunktionen=document.getElementById('tree-liste-funktionen');
|
|
|
|
if(!(treeFunktionen.currentIndex>=0))
|
|
{
|
|
alert("Bitte zuerst einen Datensatz markieren");
|
|
return false;
|
|
}
|
|
var col = treeFunktionen.columns ? treeFunktionen.columns["tree-liste-funktionen-col-funktion_id"] : "tree-liste-funktionen-col-funktion_id";
|
|
var funktion_id=treeFunktionen.view.getCellText(treeFunktionen.currentIndex,col);
|
|
window.open("mitarbeiterfunktiondialog.xul.php?funktion_id="+funktion_id,"","chrome,status=no, modal, width=500, height=350, centerscreen, resizable");
|
|
}
|
|
|
|
/**
|
|
* Loescht die Markierte(n) Funktion(en)
|
|
*/
|
|
function MitarbeiterDetailFunktionenLoeschen()
|
|
{
|
|
|
|
var treeFunktionen=document.getElementById('tree-liste-funktionen');
|
|
var start = new Object();
|
|
var end = new Object();
|
|
var numRanges = treeFunktionen.view.selection.getRangeCount();
|
|
var msg="";
|
|
var anz=0;
|
|
var ids=new Array();
|
|
|
|
//Markierte Datensaetze holen
|
|
for (var t=0; t<numRanges; t++)
|
|
{
|
|
treeFunktionen.view.selection.getRangeAt(t,start,end);
|
|
for (v=start.value; v<=end.value; v++)
|
|
{
|
|
var col = treeFunktionen.columns ? treeFunktionen.columns["tree-liste-funktionen-col-funktion_id"] : "tree-liste-funktionen-col-funktion_id";
|
|
ids[anz]=treeFunktionen.view.getCellText(v,col);
|
|
anz++;
|
|
}
|
|
}
|
|
if(anz>0)
|
|
{
|
|
if(anz>1)
|
|
msg="Wollen Sie wirklich alle "+anz+" Datensaetze l�schen?";
|
|
else
|
|
msg="Wollen Sie wirklich diesen Datensatz l�schen?";
|
|
|
|
if(confirm(msg))
|
|
{
|
|
//DS Loeschen
|
|
|
|
//Parameter zusammenbauen
|
|
var param="type=delfunktion&anz="+anz;
|
|
for(var i=0;i<anz;i++)
|
|
param = param + "&x"+i+"="+ids[i];
|
|
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
// Request absetzen
|
|
var httpRequest = new XMLHttpRequest();
|
|
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
|
|
|
|
httpRequest.open("POST", url, false, '','');
|
|
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
|
//Parameter schicken
|
|
httpRequest.send(param);
|
|
|
|
// Bei status 4 ist sendung Ok
|
|
switch(httpRequest.readyState)
|
|
{
|
|
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
|
|
return false;
|
|
break;
|
|
|
|
case 4: if(httpRequest.status !=200)
|
|
{
|
|
alert('The server respond with a bad status code: '+httpRequest.status);
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
var response = httpRequest.responseText;
|
|
}
|
|
break;
|
|
}
|
|
|
|
// Returnwerte aus RDF abfragen
|
|
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
|
|
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
|
getService(Components.interfaces.nsIRDFService);
|
|
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
|
|
|
|
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
|
|
|
|
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
|
|
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
|
|
|
|
if(dbdml_return=='true')
|
|
{
|
|
//Statusbar sezten
|
|
setStatusBarText("Datensatz wurde erfolgreich geloescht");
|
|
|
|
treeFunktionen.builder.refresh();
|
|
window.setTimeout("document.getElementById('tree-liste-funktionen').builder.rebuild()",sleep_time);
|
|
//refreshtree(true);
|
|
//Aktstatus setzten damit beim speichern nicht wieder der alte status gespeichert wird
|
|
document.getElementById('textbox-mitarbeiter-detail-aktstatus').value=dbdml_errormsg;
|
|
}
|
|
else
|
|
alert("Fehler beim L�schen der Daten: "+dbdml_errormsg);
|
|
}
|
|
}
|
|
else
|
|
alert("Bitte zuerst einen Datensatz markieren");
|
|
}
|
|
|
|
/**
|
|
* Zeigt alle Funktionen dieses Mitarbeiters an die er jemals hatte
|
|
*/
|
|
function MitarbeiterDetailFunktionenAlleAnzeigen()
|
|
{
|
|
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
|
|
var tree=document.getElementById('tree-liste-mitarbeiter');
|
|
setStatusBarText("");
|
|
|
|
//Falls kein Eintrag gewaehlt wurde, den ersten auswaehlen
|
|
var idx;
|
|
if(tree.currentIndex>=0)
|
|
idx = tree.currentIndex;
|
|
else
|
|
idx = 0;
|
|
|
|
try
|
|
{
|
|
//Mitarbeiter_id holen
|
|
var col = tree.columns ? tree.columns["tree-liste-mitarbeiter-col-mitarbeiter_id"] : "tree-liste-mitarbeiter-col-mitarbeiter_id";
|
|
var mitarbeiter_id=tree.view.getCellText(idx,col);
|
|
}
|
|
catch(e)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
//Funktionen Tree fuellen
|
|
var treeFunktionen=document.getElementById('tree-liste-funktionen');
|
|
button = document.getElementById('button-mitarbeiter-detail-funktionen-alleanzeigen');
|
|
if(button.label=='Alle Anzeigen')
|
|
{
|
|
var treeFunktionenURL = "<?php echo APP_ROOT; ?>rdf/fas/funktionen.rdf.php?mitarbeiter_id="+mitarbeiter_id+"&allesemester=true&leerzeichencodierung=true&"+gettimestamp();
|
|
button.label='Aktuelle Anzeigen';
|
|
}
|
|
else
|
|
{
|
|
var treeFunktionenURL = "<?php echo APP_ROOT; ?>rdf/fas/funktionen.rdf.php?mitarbeiter_id="+mitarbeiter_id+"&leerzeichencodierung=true&"+gettimestamp();
|
|
button.label='Alle Anzeigen';
|
|
}
|
|
|
|
//Alte Datasources loeschen
|
|
var oldDatasources = treeFunktionen.database.GetDataSources();
|
|
while(oldDatasources.hasMoreElements())
|
|
treeFunktionen.database.RemoveDataSource(oldDatasources.getNext());
|
|
|
|
//Neue Datasource setzen
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
|
var newDs = rdfService.GetDataSource(treeFunktionenURL);
|
|
treeFunktionen.database.AddDataSource(newDs);
|
|
|
|
//Sink Observer anhaengen
|
|
sinkfunktion = newDs.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
|
sinkfunktion.addXMLSinkObserver(treefunktionenobserve);
|
|
|
|
}
|
|
|
|
/*****************************ADRESSEN*******************************/
|
|
/**
|
|
* Ruft einen Dialog zum Eingeben der Adresse auf
|
|
*/
|
|
function MitarbeiterDetailAdressenNeu()
|
|
{
|
|
var treeMitarbeiter=document.getElementById('tree-liste-mitarbeiter');
|
|
person_id = document.getElementById('textbox-mitarbeiter-detail-person_id').value;
|
|
window.open("mitarbeiteradressendialog.xul.php?person_id="+person_id,"","chrome,status=no, modal, width=400, height=250, centerscreen, resizable");
|
|
}
|
|
|
|
/**
|
|
* Ruft einen Dialog zum Bearbeiten der Adresse auf
|
|
*/
|
|
function MitarbeiterDetailAdressenBearbeiten()
|
|
{
|
|
var treeAdressen=document.getElementById('tree-liste-adressen');
|
|
|
|
if(!(treeAdressen.currentIndex>=0))
|
|
{
|
|
alert("Bitte zuerst einen Datensatz markieren");
|
|
return false;
|
|
}
|
|
var col = treeAdressen.columns ? treeAdressen.columns["tree-liste-adressen-col-adresse_id"] : "tree-liste-adressen-col-adresse_id";
|
|
var adress_id=treeAdressen.view.getCellText(treeAdressen.currentIndex,col);
|
|
window.open("mitarbeiteradressendialog.xul.php?adress_id="+adress_id,"","chrome,status=no, modal, width=400, height=250, centerscreen, resizable");
|
|
}
|
|
|
|
/**
|
|
* Loescht die Markierte Adresse
|
|
*/
|
|
function MitarbeiterDetailAdressenLoeschen()
|
|
{
|
|
var treeAdressen=document.getElementById('tree-liste-adressen');
|
|
var start = new Object();
|
|
var end = new Object();
|
|
var numRanges = treeAdressen.view.selection.getRangeCount();
|
|
var msg="";
|
|
var anz=0;
|
|
var ids=new Array();
|
|
|
|
for (var t=0; t<numRanges; t++)
|
|
{
|
|
treeAdressen.view.selection.getRangeAt(t,start,end);
|
|
for (v=start.value; v<=end.value; v++)
|
|
{
|
|
var col = treeAdressen.columns ? treeAdressen.columns["tree-liste-adressen-col-adresse_id"] : "tree-liste-adressen-col-adresse_id";
|
|
ids[anz]=treeAdressen.view.getCellText(v,col);
|
|
anz++;
|
|
}
|
|
}
|
|
if(anz>0)
|
|
{
|
|
if(anz>1)
|
|
msg="Wollen Sie wirklich alle "+anz+" Datensaetze l�schen?";
|
|
else
|
|
msg="Wollen Sie wirklich diesen Datensatz loeschen?";
|
|
|
|
if(confirm(msg))
|
|
{
|
|
//DS Loeschen
|
|
|
|
//Parameter zusammenbauen
|
|
var param="type=deladresse&anz="+anz;
|
|
for(var i=0;i<anz;i++)
|
|
param = param + "&x"+i+"="+ids[i];
|
|
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
// Request absetzen
|
|
var httpRequest = new XMLHttpRequest();
|
|
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
|
|
|
|
httpRequest.open("POST", url, false, '','');
|
|
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
|
//Parameter schicken
|
|
httpRequest.send(param);
|
|
|
|
// Bei status 4 ist sendung Ok
|
|
switch(httpRequest.readyState)
|
|
{
|
|
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
|
|
return false;
|
|
break;
|
|
|
|
case 4: if(httpRequest.status !=200)
|
|
{
|
|
alert('The server respond with a bad status code: '+httpRequest.status);
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
var response = httpRequest.responseText;
|
|
}
|
|
break;
|
|
}
|
|
|
|
// Returnwerte aus RDF abfragen
|
|
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
|
|
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
|
getService(Components.interfaces.nsIRDFService);
|
|
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
|
|
|
|
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
|
|
|
|
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
|
|
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
|
|
|
|
if(dbdml_return=='true')
|
|
{
|
|
//Statusbar sezten
|
|
setStatusBarText("Datensatz wurde erfolgreich geloescht");
|
|
|
|
treeAdressen.builder.refresh();
|
|
window.setTimeout("document.getElementById('tree-liste-adressen').builder.rebuild()",sleep_time);
|
|
}
|
|
else
|
|
alert("Fehler beim L�schen der Daten: "+dbdml_errormsg);
|
|
}
|
|
}
|
|
else
|
|
alert("Bitte zuerst einen Datensatz markieren");
|
|
}
|
|
|
|
/*****************************EMAIL*******************************/
|
|
/**
|
|
* Ruft einen Dialog zum Eingeben der Email auf
|
|
*/
|
|
function MitarbeiterDetailEmailNeu()
|
|
{
|
|
var treeMitarbeiter=document.getElementById('tree-liste-mitarbeiter');
|
|
person_id = document.getElementById('textbox-mitarbeiter-detail-person_id').value;
|
|
window.open("mitarbeiteremaildialog.xul.php?person_id="+person_id,"","chrome,status=no, modal, width=400, height=150, centerscreen, resizable");
|
|
}
|
|
|
|
/**
|
|
* Ruft einen Dialog zum Bearbeiten der Email auf
|
|
*/
|
|
function MitarbeiterDetailEmailBearbeiten()
|
|
{
|
|
var treeEmail=document.getElementById('tree-liste-email');
|
|
|
|
if(!(treeEmail.currentIndex>=0))
|
|
{
|
|
alert("Bitte zuerst einen Datensatz markieren");
|
|
return false;
|
|
}
|
|
var col = treeEmail.columns ? treeEmail.columns["tree-liste-email-col-email_id"] : "tree-liste-email-col-email_id";
|
|
var email_id=treeEmail.view.getCellText(treeEmail.currentIndex,col);
|
|
window.open("mitarbeiteremaildialog.xul.php?email_id="+email_id,"","chrome,status=no, modal, width=400, height=150, centerscreen, resizable");
|
|
}
|
|
|
|
/**
|
|
* Loescht die Markierte(n) Email(s)
|
|
*/
|
|
function MitarbeiterDetailEmailLoeschen()
|
|
{
|
|
var treeEmail=document.getElementById('tree-liste-email');
|
|
var start = new Object();
|
|
var end = new Object();
|
|
var numRanges = treeEmail.view.selection.getRangeCount();
|
|
var msg="";
|
|
var anz=0;
|
|
var ids=new Array();
|
|
|
|
//Ermitteln der markierten Zeilen
|
|
for (var t=0; t<numRanges; t++)
|
|
{
|
|
treeEmail.view.selection.getRangeAt(t,start,end);
|
|
for (v=start.value; v<=end.value; v++)
|
|
{
|
|
var col = treeEmail.columns ? treeEmail.columns["tree-liste-email-col-email_id"] : "tree-liste-email-col-email_id";
|
|
ids[anz]=treeEmail.view.getCellText(v,col);
|
|
anz++;
|
|
}
|
|
}
|
|
if(anz>0)
|
|
{
|
|
if(anz>1)
|
|
msg="Wollen Sie wirklich alle "+anz+" Datensaetze loeschen?";
|
|
else
|
|
msg="Wollen Sie wirklich diesen Datensatz loeschen?";
|
|
|
|
if(confirm(msg))
|
|
{
|
|
//DS Loeschen
|
|
|
|
//Parameter zusammenbauen
|
|
var param="type=delemail&anz="+anz;
|
|
for(var i=0;i<anz;i++)
|
|
param = param + "&x"+i+"="+ids[i];
|
|
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
// Request absetzen
|
|
var httpRequest = new XMLHttpRequest();
|
|
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
|
|
|
|
httpRequest.open("POST", url, false, '','');
|
|
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
|
//Parameter schicken
|
|
httpRequest.send(param);
|
|
|
|
// Bei status 4 ist sendung Ok
|
|
switch(httpRequest.readyState)
|
|
{
|
|
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
|
|
return false;
|
|
break;
|
|
|
|
case 4: if(httpRequest.status !=200)
|
|
{
|
|
alert('The server respond with a bad status code: '+httpRequest.status);
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
var response = httpRequest.responseText;
|
|
}
|
|
break;
|
|
}
|
|
|
|
// Returnwerte aus RDF abfragen
|
|
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
|
|
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
|
getService(Components.interfaces.nsIRDFService);
|
|
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
|
|
|
|
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
|
|
|
|
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
|
|
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
|
|
|
|
if(dbdml_return=='true')
|
|
{
|
|
//Statusbar sezten
|
|
setStatusBarText("Datensatz wurde erfolgreich geloescht");
|
|
|
|
treeEmail.builder.refresh();
|
|
window.setTimeout("document.getElementById('tree-liste-email').builder.rebuild()",sleep_time);
|
|
}
|
|
else
|
|
alert("Fehler beim L�schen der Daten: "+dbdml_errormsg);
|
|
}
|
|
}
|
|
else
|
|
alert("Bitte zuerst einen Datensatz markieren");
|
|
}
|
|
|
|
/*****************************TELEFONNUMMERN*******************************/
|
|
/**
|
|
* Ruft einen Dialog zum Eingeben der Telefonnummer auf
|
|
*/
|
|
function MitarbeiterDetailTelefonnummernNeu()
|
|
{
|
|
var treeMitarbeiter=document.getElementById('tree-liste-mitarbeiter');
|
|
person_id = document.getElementById('textbox-mitarbeiter-detail-person_id').value;
|
|
window.open("mitarbeitertelefonnummerdialog.xul.php?person_id="+person_id,"","chrome,status=no, modal, width=400, height=150, centerscreen, resizable");
|
|
}
|
|
|
|
/**
|
|
* Ruft einen Dialog zum Bearbeiten der Telefonnummern auf
|
|
*/
|
|
function MitarbeiterDetailTelefonnummernBearbeiten()
|
|
{
|
|
var treeTelefonnummer=document.getElementById('tree-liste-telefonnummern');
|
|
|
|
if(!(treeTelefonnummer.currentIndex>=0))
|
|
{
|
|
alert("Bitte zuerst einen Datensatz markieren");
|
|
return false;
|
|
}
|
|
var col = treeTelefonnummer.columns ? treeTelefonnummer.columns["tree-liste-telefonnummern-col-telefonnummer_id"] : "tree-liste-telefonnummern-col-telefonnummer_id";
|
|
var telefonnummer_id=treeTelefonnummer.view.getCellText(treeTelefonnummer.currentIndex,col);
|
|
window.open("mitarbeitertelefonnummerdialog.xul.php?telefonnummer_id="+telefonnummer_id,"","chrome,status=no, modal, width=400, height=150, centerscreen, resizable");
|
|
}
|
|
|
|
/**
|
|
* Loescht die Markierte(n) Telefonnummern(s)
|
|
*/
|
|
function MitarbeiterDetailTelefonnummernLoeschen()
|
|
{
|
|
var treeTelefonnummer=document.getElementById('tree-liste-telefonnummern');
|
|
var start = new Object();
|
|
var end = new Object();
|
|
var numRanges = treeTelefonnummer.view.selection.getRangeCount();
|
|
var msg="";
|
|
var anz=0;
|
|
var ids=new Array();
|
|
|
|
//Ermitteln der markierten Zeilen
|
|
for (var t=0; t<numRanges; t++)
|
|
{
|
|
treeTelefonnummer.view.selection.getRangeAt(t,start,end);
|
|
for (v=start.value; v<=end.value; v++)
|
|
{
|
|
var col = treeTelefonnummer.columns ? treeTelefonnummer.columns["tree-liste-telefonnummern-col-telefonnummer_id"] : "tree-liste-telefonnummern-col-telefonnummer_id";
|
|
ids[anz]=treeTelefonnummer.view.getCellText(v,col);
|
|
anz++;
|
|
}
|
|
}
|
|
if(anz>0)
|
|
{
|
|
if(anz>1)
|
|
msg="Wollen Sie wirklich alle "+anz+" Datensaetze loeschen?";
|
|
else
|
|
msg="Wollen Sie wirklich diesen Datensatz loeschen?";
|
|
|
|
if(confirm(msg))
|
|
{
|
|
//DS Loeschen
|
|
|
|
//Parameter zusammenbauen
|
|
var param="type=deltelefonnummer&anz="+anz;
|
|
for(var i=0;i<anz;i++)
|
|
param = param + "&x"+i+"="+ids[i];
|
|
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
// Request absetzen
|
|
var httpRequest = new XMLHttpRequest();
|
|
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
|
|
|
|
httpRequest.open("POST", url, false, '','');
|
|
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
|
//Parameter schicken
|
|
httpRequest.send(param);
|
|
|
|
// Bei status 4 ist sendung Ok
|
|
switch(httpRequest.readyState)
|
|
{
|
|
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
|
|
return false;
|
|
break;
|
|
|
|
case 4: if(httpRequest.status !=200)
|
|
{
|
|
alert('The server respond with a bad status code: '+httpRequest.status);
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
var response = httpRequest.responseText;
|
|
}
|
|
break;
|
|
}
|
|
|
|
// Returnwerte aus RDF abfragen
|
|
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
|
|
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
|
getService(Components.interfaces.nsIRDFService);
|
|
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
|
|
|
|
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
|
|
|
|
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
|
|
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
|
|
|
|
if(dbdml_return=='true')
|
|
{
|
|
//Statusbar sezten
|
|
setStatusBarText("Datensatz wurde erfolgreich geloescht");
|
|
|
|
treeTelefonnummer.builder.refresh();
|
|
window.setTimeout("document.getElementById('tree-liste-telefonnummern').builder.rebuild()",sleep_time);
|
|
}
|
|
else
|
|
alert("Fehler beim L�schen der Daten: "+dbdml_errormsg);
|
|
}
|
|
}
|
|
else
|
|
alert("Bitte zuerst einen Datensatz markieren");
|
|
}
|
|
|
|
/*****************************Bankverbindung*******************************/
|
|
/**
|
|
* Ruft einen Dialog zum Eingeben der Bankverbindung auf
|
|
*/
|
|
function MitarbeiterDetailBankverbindungenNeu()
|
|
{
|
|
var treeMitarbeiter=document.getElementById('tree-liste-mitarbeiter');
|
|
person_id = document.getElementById('textbox-mitarbeiter-detail-person_id').value;
|
|
window.open("mitarbeiterbankverbindungdialog.xul.php?person_id="+person_id,"","chrome,status=no, modal, width=400, height=250, centerscreen, resizable");
|
|
}
|
|
|
|
/**
|
|
* Ruft einen Dialog zum Bearbeiten der Bankverbindungen auf
|
|
*/
|
|
function MitarbeiterDetailBankverbindungenBearbeiten()
|
|
{
|
|
var treeBankverbindung=document.getElementById('tree-liste-bankverbindungen');
|
|
|
|
if(!(treeBankverbindung.currentIndex>=0))
|
|
{
|
|
alert("Bitte zuerst einen Datensatz markieren");
|
|
return false;
|
|
}
|
|
var col = treeBankverbindung.columns ? treeBankverbindung.columns["tree-liste-bankverbindungen-col-bankverbindung_id"] : "tree-liste-bankverbindungen-col-bankverbindung_id";
|
|
var bankverbindung_id=treeBankverbindung.view.getCellText(treeBankverbindung.currentIndex,col);
|
|
window.open("mitarbeiterbankverbindungdialog.xul.php?bankverbindung_id="+bankverbindung_id,"","chrome,status=no, modal, width=400, height=250, centerscreen, resizable");
|
|
}
|
|
|
|
/**
|
|
* Loescht die Markierte(n) Bankverbindungen(s)
|
|
*/
|
|
function MitarbeiterDetailBankverbindungenLoeschen()
|
|
{
|
|
|
|
var treeBankverbindung=document.getElementById('tree-liste-bankverbindungen');
|
|
var start = new Object();
|
|
var end = new Object();
|
|
var numRanges = treeBankverbindung.view.selection.getRangeCount();
|
|
var msg="";
|
|
var anz=0;
|
|
var ids=new Array();
|
|
|
|
//Ermitteln der markierten Zeilen
|
|
for (var t=0; t<numRanges; t++)
|
|
{
|
|
treeBankverbindung.view.selection.getRangeAt(t,start,end);
|
|
for (v=start.value; v<=end.value; v++)
|
|
{
|
|
var col = treeBankverbindung.columns ? treeBankverbindung.columns["tree-liste-bankverbindungen-col-bankverbindung_id"] : "tree-liste-bankverbindungen-col-bankverbindung_id";
|
|
ids[anz]=treeBankverbindung.view.getCellText(v,col);
|
|
anz++;
|
|
}
|
|
}
|
|
if(anz>0)
|
|
{
|
|
if(anz>1)
|
|
msg="Wollen Sie wirklich alle "+anz+" Datensaetze loeschen?";
|
|
else
|
|
msg="Wollen Sie wirklich diesen Datensatz loeschen?";
|
|
|
|
if(confirm(msg))
|
|
{
|
|
//DS Loeschen
|
|
|
|
//Parameter zusammenbauen
|
|
var param="type=delbankverbindung&anz="+anz;
|
|
for(var i=0;i<anz;i++)
|
|
param = param + "&x"+i+"="+ids[i];
|
|
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
// Request absetzen
|
|
var httpRequest = new XMLHttpRequest();
|
|
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
|
|
|
|
httpRequest.open("POST", url, false, '','');
|
|
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
|
//Parameter schicken
|
|
httpRequest.send(param);
|
|
|
|
// Bei status 4 ist sendung Ok
|
|
switch(httpRequest.readyState)
|
|
{
|
|
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
|
|
return false;
|
|
break;
|
|
|
|
case 4: if(httpRequest.status !=200)
|
|
{
|
|
alert('The server respond with a bad status code: '+httpRequest.status);
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
var response = httpRequest.responseText;
|
|
}
|
|
break;
|
|
}
|
|
|
|
// Returnwerte aus RDF abfragen
|
|
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
|
|
|
|
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
|
getService(Components.interfaces.nsIRDFService);
|
|
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
|
|
|
|
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
|
|
|
|
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
|
|
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
|
|
|
|
if(dbdml_return=='true')
|
|
{
|
|
//Statusbar sezten
|
|
setStatusBarText("Datensatz wurde erfolgreich geloescht");
|
|
|
|
treeBankverbindung.builder.refresh();
|
|
window.setTimeout("document.getElementById('tree-liste-bankverbindungen').builder.rebuild()",sleep_time);
|
|
}
|
|
else
|
|
alert("Fehler beim L�schen der Daten: "+dbdml_errormsg);
|
|
}
|
|
}
|
|
else
|
|
alert("Bitte zuerst einen Datensatz markieren");
|
|
}
|
|
|
|
/**
|
|
* Es wird ein Mailfenster geoeffnet und alle markierten
|
|
* Mitarbeiter werden als Empfaenger eingetragen.
|
|
*/
|
|
function TreeListeMitarbeiter_sendmail()
|
|
{
|
|
mailempfaenger='';
|
|
var treeMitarbeiter=document.getElementById('tree-liste-mitarbeiter');
|
|
var numRanges = treeMitarbeiter.view.selection.getRangeCount();
|
|
var start = new Object();
|
|
var end = new Object();
|
|
var anzfault=0;
|
|
//Markierte Datensaetze holen
|
|
for (var t=0; t<numRanges; t++)
|
|
{
|
|
treeMitarbeiter.view.selection.getRangeAt(t,start,end);
|
|
for (v=start.value; v<=end.value; v++)
|
|
{
|
|
var col = treeMitarbeiter.columns ? treeMitarbeiter.columns["tree-liste-mitarbeiter-col-uid"] : "tree-liste-mitarbeiter-col-uid";
|
|
if(treeMitarbeiter.view.getCellText(v,col).length>1)
|
|
{
|
|
if(mailempfaenger!='')
|
|
mailempfaenger=mailempfaenger+','+treeMitarbeiter.view.getCellText(v,col)+'@technikum-wien.at';
|
|
else
|
|
mailempfaenger='mailto:'+treeMitarbeiter.view.getCellText(v,col)+'@technikum-wien.at';
|
|
}
|
|
else
|
|
{
|
|
anzfault=anzfault+1;
|
|
}
|
|
}
|
|
}
|
|
if(anzfault!=0)
|
|
alert(anzfault+' Mitarbeiter konnten nicht hinzugefuegt werden weil keine UID eingetragen ist!');
|
|
window.location.href=mailempfaenger;
|
|
}
|