function Check() { if(MitarbeiterDetailFunktion_id!=null) window.setTimeout("MitarbeiterFunktionBearbeiten()",window.opener.sleep_time); else window.setTimeout("MitarbeiterFunktionDefault()",window.opener.sleep_time); } /** * Setzt die Defaultwerte */ function MitarbeiterFunktionDefault() { MitarbeiterDetailStudiensemester_id = document.getElementById('textbox-mitarbeiter-funktion-stsem_id').value; document.getElementById('menulist-mitarbeiter-funktion-fachbereich').value = 2; document.getElementById('textbox-mitarbeiter-funktion-beschreibung').value = ''; document.getElementById('menulist-mitarbeiter-funktion-funktion').value = 0; document.getElementById('menulist-mitarbeiter-funktion-beschart1').value = 3; document.getElementById('menulist-mitarbeiter-funktion-beschart2').value = 2; document.getElementById('menulist-mitarbeiter-funktion-verwendung').value = 0; document.getElementById('menulist-mitarbeiter-funktion-hauptberuf').value = 0; document.getElementById('checkbox-mitarbeiter-funktion-hauptberuflich').checked = false; document.getElementById('checkbox-mitarbeiter-funktion-entwicklungsteam').checked = false; document.getElementById('menulist-mitarbeiter-funktion-qualifikation').disabled = true; document.getElementById('menulist-mitarbeiter-funktion-qualifikation').value = 0; document.getElementById('menulist-mitarbeiter-funktion-ausmass').value = 1; document.getElementById('menulist-mitarbeiter-funktion-studiensemester').value = MitarbeiterDetailStudiensemester_id; } /** * Laedt den zu bearbeitenden Datensatz */ function MitarbeiterFunktionBearbeiten() { // RDF vom Server holen // Url zum RDF var url="rdf/fas/funktionen.rdf.php?funktion_id="+MitarbeiterDetailFunktion_id+'&'+window.opener.gettimestamp(); // 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/funktionen/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/funktionen/" + MitarbeiterDetailFunktion_id); var predicateNS = "http://www.technikum-wien.at/funktionen/rdf"; //Felder befuellen mitarbeiter_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#mitarbeiter_id" )); studiensemester_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#studiensemester_id" )); erhalter_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#erhalter_id" )); studiengang_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#studiengang_id" )); fachbereich_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#fachbereich_id" )); name = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#name" )); funktion = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#funktion" )); beschart1 = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#beschart1" )); beschart2 = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#beschart2" )); verwendung = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#verwendung" )); hauptberuf = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#hauptberuf" )); hauptberuflich = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#hauptberuflich" )); entwicklungsteam = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#entwicklungsteam" )); qualifikation = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#besonderequalifikation" )); ausmass = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#ausmass" )); document.getElementById('textbox-mitarbeiter-funktion-mitarbeiter_id').value = mitarbeiter_id; document.getElementById('menulist-mitarbeiter-funktion-studiensemester').value = studiensemester_id; document.getElementById('menulist-mitarbeiter-funktion-erhalter').value = erhalter_id; document.getElementById('menulist-mitarbeiter-funktion-studiengang').value = studiengang_id; document.getElementById('menulist-mitarbeiter-funktion-fachbereich').value = fachbereich_id; document.getElementById('textbox-mitarbeiter-funktion-beschreibung').value = name; document.getElementById('menulist-mitarbeiter-funktion-funktion').value = funktion; document.getElementById('menulist-mitarbeiter-funktion-beschart1').value = beschart1; document.getElementById('menulist-mitarbeiter-funktion-beschart2').value = beschart2; document.getElementById('menulist-mitarbeiter-funktion-verwendung').value = verwendung; document.getElementById('menulist-mitarbeiter-funktion-hauptberuf').value = hauptberuf; if(hauptberuflich=='Ja') { document.getElementById('checkbox-mitarbeiter-funktion-hauptberuflich').checked = true; document.getElementById('menulist-mitarbeiter-funktion-hauptberuf').disabled = true; } else { document.getElementById('checkbox-mitarbeiter-funktion-hauptberuflich').checked = false; document.getElementById('menulist-mitarbeiter-funktion-hauptberuf').disabled = false; } if(entwicklungsteam=='Ja') { document.getElementById('checkbox-mitarbeiter-funktion-entwicklungsteam').checked = true; document.getElementById('menulist-mitarbeiter-funktion-qualifikation').disabled = false; } else { document.getElementById('checkbox-mitarbeiter-funktion-entwicklungsteam').checked = false; document.getElementById('menulist-mitarbeiter-funktion-qualifikation').disabled = true; } document.getElementById('menulist-mitarbeiter-funktion-qualifikation').value = qualifikation; document.getElementById('menulist-mitarbeiter-funktion-ausmass').value = ausmass; } function MitarbeiterFunktionValueChange() { } /** * Speichert die eingegebene Funktion */ function MitarbeiterFunktionSave() { //Daten aus den Feldern holen mitarbeiter_id = document.getElementById('textbox-mitarbeiter-funktion-mitarbeiter_id').value; studiensemester_id = document.getElementById('menulist-mitarbeiter-funktion-studiensemester').value; erhalter_id = document.getElementById('menulist-mitarbeiter-funktion-erhalter').value; studiengang_id = document.getElementById('menulist-mitarbeiter-funktion-studiengang').value; fachbereich_id = document.getElementById('menulist-mitarbeiter-funktion-fachbereich').value; name = document.getElementById('textbox-mitarbeiter-funktion-beschreibung').value; funktion = document.getElementById('menulist-mitarbeiter-funktion-funktion').value; beschart1 = document.getElementById('menulist-mitarbeiter-funktion-beschart1').value; beschart2 = document.getElementById('menulist-mitarbeiter-funktion-beschart2').value; verwendung = document.getElementById('menulist-mitarbeiter-funktion-verwendung').value; hauptberuf = document.getElementById('menulist-mitarbeiter-funktion-hauptberuf').value; hauptberuflich = document.getElementById('checkbox-mitarbeiter-funktion-hauptberuflich').checked; entwicklungsteam = document.getElementById('checkbox-mitarbeiter-funktion-entwicklungsteam').checked; qualifikation = document.getElementById('menulist-mitarbeiter-funktion-qualifikation').value; ausmass = document.getElementById('menulist-mitarbeiter-funktion-ausmass').value; netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); // Request absetzen var httpRequest = new XMLHttpRequest(); var url = "rdf/fas/db_dml.rdf.php"; httpRequest.open("POST", url, false, '',''); httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); var param = "type=funktion"; if(MitarbeiterDetailFunktion_id!=null) param = param + "&new=false"; else param = param + "&new=true"; param = param + "&funktion_id="+encodeURIComponent(MitarbeiterDetailFunktion_id); param = param + "&mitarbeiter_id="+encodeURIComponent(mitarbeiter_id); param = param + "&studiensemester_id="+encodeURIComponent(studiensemester_id); param = param + "&erhalter_id="+encodeURIComponent(erhalter_id); param = param + "&studiengang_id="+encodeURIComponent(studiengang_id); param = param + "&fachbereich_id="+encodeURIComponent(fachbereich_id); param = param + "&name="+encodeURIComponent(name); param = param + "&funktion="+encodeURIComponent(funktion); param = param + "&beschart1="+encodeURIComponent(beschart1); param = param + "&beschart2="+encodeURIComponent(beschart2); param = param + "&verwendung="+encodeURIComponent(verwendung); param = param + "&hauptberuf="+encodeURIComponent(hauptberuf); param = param + "&hauptberuflich="+encodeURIComponent(hauptberuflich); param = param + "&entwicklungsteam="+encodeURIComponent(entwicklungsteam); param = param + "&qualifikation="+encodeURIComponent(qualifikation); param = param + "&ausmass="+encodeURIComponent(ausmass); //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 setzen window.opener.setStatusBarText("Funktion erfolgreich gespeichert"); window.opener.document.getElementById("tree-liste-funktionen").builder.refresh(); window.opener.document.getElementById("textbox-mitarbeiter-detail-aktstatus").value = dbdml_errormsg; //window.opener.refreshtree(true); //Fenster schliessen window.close(); } else { alert("Fehler beim Speichern der Daten: "+dbdml_errormsg); } return true; } function MitarbeiterFunktionHauptberuflichChange() { hauptberuflich = document.getElementById("checkbox-mitarbeiter-funktion-hauptberuflich").checked; if(hauptberuflich) { document.getElementById("menulist-mitarbeiter-funktion-hauptberuf").disabled=false; document.getElementById("menulist-mitarbeiter-funktion-hauptberuf").value=0; } else { document.getElementById("menulist-mitarbeiter-funktion-hauptberuf").value=''; document.getElementById("menulist-mitarbeiter-funktion-hauptberuf").disabled=true; } } function MitarbeiterFunktionEntwicklungsteamChange() { entwicklungsteam = document.getElementById("checkbox-mitarbeiter-funktion-entwicklungsteam").checked; if(entwicklungsteam) { document.getElementById("menulist-mitarbeiter-funktion-qualifikation").disabled=true; document.getElementById('menulist-mitarbeiter-funktion-qualifikation').value = 0; } else { document.getElementById("menulist-mitarbeiter-funktion-qualifikation").value=''; document.getElementById("menulist-mitarbeiter-funktion-qualifikation").disabled=false; } }