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="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 = "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 = "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 = "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 = "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 = "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="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="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 = "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;i0) { 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=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; t0) { 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=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 = "rdf/fas/funktionen.rdf.php?mitarbeiter_id="+mitarbeiter_id+"&allesemester=true&leerzeichencodierung=true&"+gettimestamp(); button.label='Aktuelle Anzeigen'; } else { var treeFunktionenURL = "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; t0) { 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=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; t0) { 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=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; t0) { 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=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; t0) { 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;i1) { 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; }