if(MitarbeiterDetailAdress_id!=null) { window.setTimeout("MitarbeiterAdressenBearbeiten()",window.opener.sleep_time/2); } /** * Laedt den zu bearbeitenden Datensatz */ function MitarbeiterAdressenBearbeiten() { // RDF vom Server holen // Url zum RDF var url="rdf/fas/adressen.rdf.php?adress_id="+MitarbeiterDetailAdress_id; // 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/adressen/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/adressen/" + MitarbeiterDetailAdress_id); var predicateNS = "http://www.technikum-wien.at/adressen/rdf"; //Felder befuellen person_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#person_id" )); adresstyp = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#typ" )); nation = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#nation" )); strasse = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#strasse" )); plz = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#plz" )); gemeinde = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#gemeinde" )); ort = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#ort" )); zustelladresse = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#zustelladresse" )); bismeldeadresse = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#bismeldeadresse" )); document.getElementById('textbox-mitarbeiter-adressen-person_id').value = person_id; document.getElementById('menulist-mitarbeiter-adressen-adresstyp').value = adresstyp; document.getElementById('menulist-mitarbeiter-adressen-nation').value = nation; document.getElementById('textbox-mitarbeiter-adressen-strasse').value = strasse; document.getElementById('textbox-mitarbeiter-adressen-plz').value = plz; document.getElementById('textbox-mitarbeiter-adressen-gemeinde').value = gemeinde; document.getElementById('textbox-mitarbeiter-adressen-ort').value = ort; if(zustelladresse == 'Ja') document.getElementById('checkbox-mitarbeiter-adressen-zustelladresse').checked = true; else document.getElementById('checkbox-mitarbeiter-adressen-zustelladresse').checked = false; if(bismeldeadresse == 'Ja') document.getElementById('checkbox-mitarbeiter-adressen-bismeldeadresse').checked = true; else document.getElementById('checkbox-mitarbeiter-adressen-bismeldeadresse').checked = false; } function MitarbeiterAdressenValueChange() { } /** * Speichert die eingegebene Adresse */ function MitarbeiterAdressenSave() { //Daten aus den Felder holen person_id = document.getElementById('textbox-mitarbeiter-adressen-person_id').value; adresstyp = document.getElementById('menulist-mitarbeiter-adressen-adresstyp').value; name = document.getElementById('menulist-mitarbeiter-adressen-adresstyp').label; nation = document.getElementById('menulist-mitarbeiter-adressen-nation').value; strasse = document.getElementById('textbox-mitarbeiter-adressen-strasse').value; plz = document.getElementById('textbox-mitarbeiter-adressen-plz').value; gemeinde = document.getElementById('textbox-mitarbeiter-adressen-gemeinde').value; ort = document.getElementById('textbox-mitarbeiter-adressen-ort').value; zustelladresse = document.getElementById('checkbox-mitarbeiter-adressen-zustelladresse').checked; bismeldeadresse = document.getElementById('checkbox-mitarbeiter-adressen-bismeldeadresse').checked; 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'); //Parameterliste zusammenbauen var param = "type=adresse"; if(MitarbeiterDetailAdress_id!=null) param = param + "&new=false"; else param = param + "&new=true"; param = param + "&adress_id="+encodeURIComponent(MitarbeiterDetailAdress_id); param = param + "&person_id="+encodeURIComponent(person_id); param = param + "&adresstyp="+encodeURIComponent(adresstyp); param = param + "&name="+encodeURIComponent(name); param = param + "&nation="+encodeURIComponent(nation); param = param + "&strasse="+encodeURIComponent(strasse); param = param + "&plz="+encodeURIComponent(plz); param = param + "&gemeinde="+encodeURIComponent(gemeinde); param = param + "&ort="+encodeURIComponent(ort); param = param + "&zustelladresse="+encodeURIComponent(zustelladresse); param = param + "&bismeldeadresse="+encodeURIComponent(bismeldeadresse); //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') { //AdressenTree aktualisieren //Statusbar setzen window.opener.setStatusBarText("Adresse erfolgreich gespeichert"); window.opener.document.getElementById("tree-liste-adressen").builder.refresh(); //Fenster schliessen window.close(); } else { alert("Fehler beim Speichern der Daten: "+dbdml_errormsg); } return true; }