diff --git a/content/mitarbeiter/mitarbeiterDBDML.php b/content/mitarbeiter/mitarbeiterDBDML.php index e907d41db..ba2d02b6f 100644 --- a/content/mitarbeiter/mitarbeiterDBDML.php +++ b/content/mitarbeiter/mitarbeiterDBDML.php @@ -35,6 +35,10 @@ require_once('../../include/bisfunktion.class.php'); require_once('../../include/entwicklungsteam.class.php'); require_once('../../include/resturlaub.class.php'); require_once('../../include/buchung.class.php'); +require_once('../../include/pruefung.class.php'); +require_once('../../include/projektbetreuer.class.php'); +require_once('../../include/vertrag.class.php'); +require_once('../../include/lehreinheitmitarbeiter.class.php'); $user = get_uid(); @@ -402,6 +406,259 @@ if(!$error) } } } + elseif(isset($_POST['type']) && $_POST['type']=='vertraggenerate') + { + if(!$rechte->isBerechtigt('vertrag/mitarbeiter',null,'suid')) + { + $return = false; + $errormsg = 'Sie haben keine Berechtigung für diesen Vorgang'; + } + else + { + $errormsg=''; + + $person_id = $_POST['person_id']; + + $person = new person(); + $person->load($person_id); + + $vertrag = new vertrag(); + $neu = false; + if($_POST['vertrag_id']!='') + { + // Bearbeiten eines Vertrags + $vertrag_id=$_POST['vertrag_id']; + + if($vertrag->load($vertrag_id)) + { + $vertrag->updatevon = $user; + $vertrag->updateamum = date('Y-m-d H:i:s'); + } + else + { + $errormsg.=$vertrag->errormsg; + } + } + else + { + // Neuen Vertrag erstellen + $vertrag->person_id = $person_id; + $vertrag->inservon = $user; + $vertrag->insertamum = date('Y-m-d H:i:s'); + $neu = true; + } + + $vertrag->vertragstyp_kurzbz=$_POST['vertragstyp_kurzbz']; + $vertrag->betrag=str_replace(',','.',$_POST['betrag']); + $vertrag->bezeichnung = $_POST['bezeichnung']; + + if($errormsg=='') + { + if($vertrag->save()) + { + $vertrag_id = $vertrag->vertrag_id; + + // Vertragselemente zuordnen + foreach($_POST as $key=>$value) + { + if(strstr($key, 'type_')) + { + $index = mb_substr($key,5); + + $type = $_POST['type_'.$index]; + $projektarbeit_id = $_POST['projektarbeit_id_'.$index]; + $betreuerart_kurzbz = $_POST['betreuerart_kurzbz_'.$index]; + $pruefung_id = $_POST['pruefung_id_'.$index]; + $lehreinheit_id = $_POST['lehreinheit_id_'.$index]; + $mitarbeiter_uid = $_POST['mitarbeiter_uid_'.$index]; + $stsem = $_POST['stsem_'.$index]; + switch($type) + { + case 'Lehrauftrag': + $lehreinheitmitarbeiter = new lehreinheitmitarbeiter(); + if($lehreinheitmitarbeiter->load($lehreinheit_id, $mitarbeiter_uid)) + { + $lehreinheitmitarbeiter->vertrag_id=$vertrag_id; + if(!$lehreinheitmitarbeiter->save()) + $errormsg.=$lehreinheitmitarbeiter->errormsg; + } + else + $errormsg.=$lehreinheitmitarbeiter->errormsg; + + break; + case 'Pruefung': + $pruefung = new pruefung(); + if($pruefung->load($pruefung_id)) + { + $pruefung->vertrag_id=$vertrag_id; + if(!$pruefung->save()) + $errormsg.=$pruefung->errormsg; + } + else + $errormsg.=$pruefung->errormsg; + break; + case 'Betreuung': + $projektbetreuer = new projektbetreuer(); + if($projektbetreuer->load($person_id, $projektarbeit_id, $betreuerart_kurzbz)) + { + $projektbetreuer->vertrag_id=$vertrag_id; + if(!$projektbetreuer->save()) + $errormsg.=$projektbetreuer->errormsg; + } + else + $errormsg.=$projektbetreuer->errormsg; + break; + default: + $errormsg.='Unknown type '.$type; + break; + } + } + } + + if($errormsg=='' && $neu) + { + // Neu Status setzen + $vertrag = new vertrag(); + + $vertrag->vertrag_id = $vertrag_id; + $vertrag->vertragsstatus_kurzbz = 'neu'; + $vertrag->datum = date('Y-m-d H:i:s'); + $vertrag->uid = $user; + + if(!$vertrag->saveVertragsstatus(true)) + $errormsg.=$vertrag->erromsg; + } + + if($errormsg=='') + $return=true; + else + $return=false; + + } + else + { + $return = false; + $errormsg = $vertrag->errormsg; + } + } + else + { + $return = false; + } + } + } + elseif(isset($_POST['type']) && $_POST['type']=='vertragsstatusadd') + { + if(!$rechte->isBerechtigt('vertrag/mitarbeiter',null,'suid')) + { + $return = false; + $errormsg = 'Sie haben keine Berechtigung für diesen Vorgang'; + } + else + { + $vertrag_id = $_POST['vertrag_id']; + $status = $_POST['status']; + + $vertrag = new vertrag(); + + $vertrag->vertrag_id = $vertrag_id; + $vertrag->vertragsstatus_kurzbz = $status; + $vertrag->datum = date('Y-m-d H:i:s'); + $vertrag->uid = $user; + + if($vertrag->saveVertragsstatus(true)) + { + $return=true; + } + else + { + $return = false; + $errormsg = $vertrag->errormsg; + } + } + } + elseif(isset($_POST['type']) && $_POST['type']=='vertragsdetaildelete') + { + if(!$rechte->isBerechtigt('vertrag/mitarbeiter',null,'suid')) + { + $return = false; + $errormsg = 'Sie haben keine Berechtigung für diesen Vorgang'; + } + else + { + $errormsg=''; + + $vertragstype = $_POST['vertragstype']; + $projektarbeit_id = $_POST['projektarbeit_id']; + $betreuerart_kurzbz = $_POST['betreuerart_kurzbz']; + $pruefung_id = $_POST['pruefung_id']; + $lehreinheit_id = $_POST['lehreinheit_id']; + $mitarbeiter_uid = $_POST['mitarbeiter_uid']; + $stsem = $_POST['stsem']; + $vertrag_id = $_POST['vertrag_id']; + $betrag = $_POST['betrag']; + + switch($vertragstype) + { + case 'Lehrauftrag': + $lehreinheitmitarbeiter = new lehreinheitmitarbeiter(); + if($lehreinheitmitarbeiter->load($lehreinheit_id, $mitarbeiter_uid)) + { + $lehreinheitmitarbeiter->vertrag_id=''; + if(!$lehreinheitmitarbeiter->save()) + $errormsg.=$lehreinheitmitarbeiter->errormsg; + } + else + $errormsg.=$lehreinheitmitarbeiter->errormsg; + + break; + case 'Pruefung': + $pruefung = new pruefung(); + if($pruefung->load($pruefung_id)) + { + $pruefung->vertrag_id=''; + if(!$pruefung->save()) + $errormsg.=$pruefung->errormsg; + } + else + $errormsg.=$pruefung->errormsg; + break; + case 'Betreuung': + $projektbetreuer = new projektbetreuer(); + if($projektbetreuer->load($person_id, $projektarbeit_id, $betreuerart_kurzbz)) + { + $projektbetreuer->vertrag_id=''; + if(!$projektbetreuer->save()) + $errormsg.=$projektbetreuer->errormsg; + } + else + $errormsg.=$projektbetreuer->errormsg; + break; + default: + $errormsg.='Unknown type '.$vertragstype; + break; + } + if($errormsg=='') + { + $vertrag = new vertrag(); + if($vertrag->load($vertrag_id)) + { + $vertrag->betrag = $vertrag->betrag-$betrag; + if($vertrag->save(false)) + { + $return =true; + } + else + { + $errormsg.=$vertrag->errormsg; + $return =false; + } + } + } + else + $return = false; + } + } else { $return = false; diff --git a/content/mitarbeiter/mitarbeiteroverlay.js.php b/content/mitarbeiter/mitarbeiteroverlay.js.php index 579fa3552..78ea1c94b 100644 --- a/content/mitarbeiter/mitarbeiteroverlay.js.php +++ b/content/mitarbeiter/mitarbeiteroverlay.js.php @@ -685,11 +685,14 @@ function MitarbeiterAuswahl() url = 'content/funktionen.xul.php?uid='+uid; document.getElementById('mitarbeiter-funktionen').setAttribute('src',url); } - + + // Buchungen laden falls vorhanden if(document.getElementById('mitarbeiter-tab-buchung')) - { MitarbeiterBuchungLoad(person_id) - } + + // Vertraege laden falls vorhanden + if(document.getElementById('mitarbeiter-tab-vertrag')) + MitarbeiterVertragLoad(person_id) // Selektierungsfunktion der Addons aufrufen for(i in addon) diff --git a/content/mitarbeiter/mitarbeiteroverlay.xul.php b/content/mitarbeiter/mitarbeiteroverlay.xul.php index 70bdff734..918ebe305 100644 --- a/content/mitarbeiter/mitarbeiteroverlay.xul.php +++ b/content/mitarbeiter/mitarbeiteroverlay.xul.php @@ -39,6 +39,7 @@ echo ''; echo ''; echo ''; echo ''; +echo ''; ?> @@ -246,6 +247,9 @@ echo 'isBerechtigt('buchung/mitarbeiter')) echo ''; + if($rechte->isBerechtigt('vertrag/mitarbeiter')) + echo ''; + ?> @@ -257,6 +261,8 @@ echo 'isBerechtigt('buchung/mitarbeiter')) echo ''; + if($rechte->isBerechtigt('vertrag/mitarbeiter')) + echo ''; ?> diff --git a/content/mitarbeiter/mitarbeitervertrag.js.php b/content/mitarbeiter/mitarbeitervertrag.js.php new file mode 100644 index 000000000..0f6d99c3b --- /dev/null +++ b/content/mitarbeiter/mitarbeitervertrag.js.php @@ -0,0 +1,328 @@ + + */ + +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/functions.inc.php'); + +$user = get_uid(); + +?> +var MitarbeiterVertragLoadedPerson=null +// ****************** FUNKTIONEN ************************** // + +function MitarbeiterVertragLoad(person_id) +{ + if(person_id=='') + return; + MitarbeiterVertragLoadedPerson=person_id; + + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + // *** Vertrag *** + var treevertrag = document.getElementById('mitarbeiter-vertrag-tree'); + url='rdf/vertrag.rdf.php?person_id='+person_id+"&"+gettimestamp(); + + //Alte DS entfernen + var oldDatasources = treevertrag.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + treevertrag.database.RemoveDataSource(oldDatasources.getNext()); + } + //Refresh damit die entfernten DS auch wirklich entfernt werden + treevertrag.builder.rebuild(); + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + var myDatasource = rdfService.GetDataSourceBlocking(url); + treevertrag.database.AddDataSource(myDatasource); + treevertrag.builder.rebuild(); + + // Detail Tree leeren + vertragzugeordnettree = document.getElementById('mitarbeiter-vertrag-tree-zugeordnet'); + + //Alte DS entfernen + var oldDatasources = vertragzugeordnettree.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + vertragzugeordnettree.database.RemoveDataSource(oldDatasources.getNext()); + } + //Refresh damit die entfernten DS auch wirklich entfernt werden + vertragzugeordnettree.builder.rebuild(); + + + // Status Tree leeren + vertragsstatustree = document.getElementById('mitarbeiter-vertrag-tree-vertragsstatus'); + //Alte DS entfernen + var oldDatasources = vertragsstatustree.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + vertragsstatustree.database.RemoveDataSource(oldDatasources.getNext()); + } + //Refresh damit die entfernten DS auch wirklich entfernt werden + + vertragsstatustree.builder.rebuild(); + + MitarbeiterVertragDisableFields(false); +} + +function MitarbeiterVertragDisableFields(val) +{ +} + +function MitarbeiterVertragSelectVertrag() +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + var tree=document.getElementById('mitarbeiter-vertrag-tree'); + var col = tree.columns ? tree.columns["mitarbeiter-vertrag-tree-vertrag_id"] : "mitarbeiter-vertrag-tree-vertrag_id"; + + if(tree.currentIndex==-1) + return false; + + var vertrag_id=tree.view.getCellText(tree.currentIndex,col); + + // *** Zugeordnete Vertragselemente laden + + vertragzugeordnettree = document.getElementById('mitarbeiter-vertrag-tree-zugeordnet'); + url='rdf/vertragdetails.rdf.php?vertrag_id='+vertrag_id+"&"+gettimestamp(); + + //Alte DS entfernen + var oldDatasources = vertragzugeordnettree.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + vertragzugeordnettree.database.RemoveDataSource(oldDatasources.getNext()); + } + //Refresh damit die entfernten DS auch wirklich entfernt werden + vertragzugeordnettree.builder.rebuild(); + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + var datasource = rdfService.GetDataSource(url); + vertragzugeordnettree.database.AddDataSource(datasource); + + // *** Status laden + + vertragsstatustree = document.getElementById('mitarbeiter-vertrag-tree-vertragsstatus'); + url='rdf/vertragsstatus.rdf.php?vertrag_id='+vertrag_id+"&"+gettimestamp(); + + //Alte DS entfernen + var oldDatasources = vertragsstatustree.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + vertragsstatustree.database.RemoveDataSource(oldDatasources.getNext()); + } + //Refresh damit die entfernten DS auch wirklich entfernt werden + vertragsstatustree.builder.rebuild(); + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + var datasource = rdfService.GetDataSource(url); + vertragsstatustree.database.AddDataSource(datasource); + +} + +/** + * Generiert einen Vertrag aus den markierten Elementen + */ +function MitarbeiterVertragGenerateVertrag(windowdocument) +{ + var tree = windowdocument.getElementById('mitarbeiter-vertrag-tree-nichtzugeordnet'); + + var start = new Object(); + var end = new Object(); + var numRanges = tree.view.selection.getRangeCount(); + + var url = 'content/mitarbeiter/mitarbeiterDBDML.php'; + var req = new phpRequest(url,'',''); + + req.add('type', 'vertraggenerate'); + req.add('person_id',MitarbeiterVertragLoadedPerson); + + var betrag = windowdocument.getElementById('mitarbeiter-vertrag-neu-textbox-betrag').value; + var vertragstyp_kurzbz = windowdocument.getElementById('mitarbeiter-vertrag-neu-menulist-vertragstyp').value; + var bezeichnung = windowdocument.getElementById('mitarbeiter-vertrag-neu-textbox-bezeichnung').value; + var vertrag_id = windowdocument.getElementById('mitarbeiter-vertrag-neu-textbox-vertrag_id').value; + + if(betrag=='') + { + alert('Bitte geben Sie einen Betrag ein'); + return false; + } + + req.add('betrag',betrag); + req.add('vertragstyp_kurzbz',vertragstyp_kurzbz); + req.add('bezeichnung',bezeichnung); + req.add('vertrag_id',vertrag_id); + + var anzahl=0; + for (var t = 0; t < numRanges; t++) + { + tree.view.selection.getRangeAt(t,start,end); + for (var v = start.value; v <= end.value; v++) + { + type = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-type", v); + stsem = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-studiensemester_kurzbz",v); + pruefung_id = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-pruefung_id",v); + projektarbeit_id = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-projektarbeit_id",v); + mitarbeiter_uid = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-mitarbeiter_uid",v); + lehreinheit_id = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-lehreinheit_id",v); + betreuerart_kurzbz = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-betreuerart_kurzbz",v); + + req.add('type_'+anzahl, type); + req.add('stsem_'+anzahl, stsem); + req.add('pruefung_id_'+anzahl, pruefung_id); + req.add('projektarbeit_id_'+anzahl, projektarbeit_id); + req.add('mitarbeiter_uid_'+anzahl, mitarbeiter_uid); + req.add('lehreinheit_id_'+anzahl, lehreinheit_id); + req.add('betreuerart_kurzbz_'+anzahl, betreuerart_kurzbz); + + anzahl++; + } + } + + var response = req.executePOST(); + + var val = new ParseReturnValue(response) + + if (!val.dbdml_return) + { + if(val.dbdml_errormsg=='') + alert(response) + else + alert(val.dbdml_errormsg) + } + else + { + MitarbeiterVertragLoad(MitarbeiterVertragLoadedPerson); + return true; + } +} + +/** + * Oeffnet den Dialog zum Erstellen eines neuen Vertrags + */ +function MitarbeiterVertragAddVertrag() +{ + window.open('content/mitarbeiter/mitarbeitervertragneudialog.xul.php?person_id='+MitarbeiterVertragLoadedPerson,"Vertrag","status=no, width=500, height=300, centerscreen, resizable"); +} + +/** + * Fuegt einen neuen Status zu einem Vertrag hinzu + */ +function MitarbeiterVertragStatusAdd(status) +{ + var tree=document.getElementById('mitarbeiter-vertrag-tree'); + var col = tree.columns ? tree.columns["mitarbeiter-vertrag-tree-vertrag_id"] : "mitarbeiter-vertrag-tree-vertrag_id"; + + if(tree.currentIndex==-1) + return false; + + var vertrag_id=tree.view.getCellText(tree.currentIndex,col); + + var url = 'content/mitarbeiter/mitarbeiterDBDML.php'; + var req = new phpRequest(url,'',''); + + req.add('type', 'vertragsstatusadd'); + req.add('vertrag_id',vertrag_id); + req.add('status',status); + + var response = req.executePOST(); + + var val = new ParseReturnValue(response) + + if (!val.dbdml_return) + { + if(val.dbdml_errormsg=='') + alert(response) + else + alert(val.dbdml_errormsg) + } + else + { + MitarbeiterVertragSelectVertrag(); + return true; + } +} + +/** + * Editieren eines Vertrags + */ +function MitarbeiterVertragEdit() +{ + var tree=document.getElementById('mitarbeiter-vertrag-tree'); + var col = tree.columns ? tree.columns["mitarbeiter-vertrag-tree-vertrag_id"] : "mitarbeiter-vertrag-tree-vertrag_id"; + + if(tree.currentIndex==-1) + + return false; + + var vertrag_id=tree.view.getCellText(tree.currentIndex,col); + + window.open('content/mitarbeiter/mitarbeitervertragneudialog.xul.php?person_id='+MitarbeiterVertragLoadedPerson+'&vertrag_id='+vertrag_id,"Vertrag","status=no, width=500, height=300, centerscreen, resizable"); +} + +function MitarbeiterVertragDetailDelete() +{ + var tree=document.getElementById('mitarbeiter-vertrag-tree'); + var col = tree.columns ? tree.columns["mitarbeiter-vertrag-tree-vertrag_id"] : "mitarbeiter-vertrag-tree-vertrag_id"; + + if(tree.currentIndex==-1) + return false; + + var vertrag_id=tree.view.getCellText(tree.currentIndex,col); + + var url = 'content/mitarbeiter/mitarbeiterDBDML.php'; + var req = new phpRequest(url,'',''); + + req.add('vertrag_id',vertrag_id); + + var tree=document.getElementById('mitarbeiter-vertrag-tree-zugeordnet'); + + type = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-type", tree.currentIndex); + stsem = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-studiensemester_kurzbz",tree.currentIndex); + pruefung_id = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-pruefung_id",tree.currentIndex); + projektarbeit_id = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-projektarbeit_id",tree.currentIndex); + mitarbeiter_uid = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-mitarbeiter_uid",tree.currentIndex); + lehreinheit_id = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-lehreinheit_id",tree.currentIndex); + betreuerart_kurzbz = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-betreuerart_kurzbz",tree.currentIndex); + betrag = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-betrag",tree.currentIndex); + + req.add('type', 'vertragsdetaildelete'); + req.add('vertragstype', type); + req.add('stsem', stsem); + req.add('pruefung_id', pruefung_id); + req.add('projektarbeit_id', projektarbeit_id); + req.add('mitarbeiter_uid', mitarbeiter_uid); + req.add('lehreinheit_id', lehreinheit_id); + req.add('betreuerart_kurzbz', betreuerart_kurzbz); + req.add('betrag', betrag); + + var response = req.executePOST(); + + var val = new ParseReturnValue(response) + + if (!val.dbdml_return) + { + if(val.dbdml_errormsg=='') + alert(response) + else + alert(val.dbdml_errormsg) + } + else + { + MitarbeiterVertragLoad(MitarbeiterVertragLoadedPerson); + return true; + } +} diff --git a/content/mitarbeiter/mitarbeitervertragneudialog.js.php b/content/mitarbeiter/mitarbeitervertragneudialog.js.php new file mode 100644 index 000000000..2420a5d15 --- /dev/null +++ b/content/mitarbeiter/mitarbeitervertragneudialog.js.php @@ -0,0 +1,130 @@ + + */ + +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/functions.inc.php'); + +$user = get_uid(); + +?> +var MitarbeiterVertragNeuBetragOld=0; + +function MitarbeiterVertragNeuInit(person_id, vertrag_id) +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + + // *** Nicht zugeordnete Vertragselemente laden + vertragoffentree = document.getElementById('mitarbeiter-vertrag-tree-nichtzugeordnet'); + url='rdf/vertragdetails.rdf.php?person_id='+person_id+"&"+gettimestamp(); + + //Alte DS entfernen + var oldDatasources = vertragoffentree.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + vertragoffentree.database.RemoveDataSource(oldDatasources.getNext()); + } + //Refresh damit die entfernten DS auch wirklich entfernt werden + vertragoffentree.builder.rebuild(); + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + var datasource = rdfService.GetDataSource(url); + vertragoffentree.database.AddDataSource(datasource); + + if(typeof(vertrag_id)=='undefined' || vertrag_id=='') + { + // Neuer Eintrag + + // Aktuelles Datum holen + var now = new Date(); + var jahr = now.getFullYear(); + var monat = now.getMonth()+1; + var tag = now.getDate(); + + // Zweistellige Monats und Tagangaben + monat = ((monat<10)?"0":"")+monat; + tag = ((tag<10)?"0":"")+tag; + + document.getElementById('mitarbeiter-vertrag-neu-textbox-bezeichnung').value=jahr+monat+tag+''; + } + else + { + // Bearbeiten eines bestehenden Eintrages + + var url = 'rdf/vertrag.rdf.php?vertrag_id='+vertrag_id+'&'+gettimestamp(); + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"]. + getService(Components.interfaces.nsIRDFService); + var dsource = rdfService.GetDataSourceBlocking(url); + var subject = rdfService.GetResource("http://www.technikum-wien.at/vertrag/" + vertrag_id); + + var predicateNS = "http://www.technikum-wien.at/vertrag/rdf"; + + //Daten holen + vertragstyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vertragstyp_kurzbz" )); + betrag = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#betrag" )); + bezeichnung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bezeichnung" )); + + MitarbeiterVertragNeuBetragOld = betrag; + + document.getElementById('mitarbeiter-vertrag-neu-textbox-bezeichnung').value=bezeichnung; + document.getElementById('mitarbeiter-vertrag-neu-textbox-betrag').value=betrag; + MenulistSelectItemOnValue('mitarbeiter-vertrag-neu-menulist-vertragstyp', vertragstyp_kurzbz) + document.getElementById('mitarbeiter-vertrag-neu-textbox-vertrag_id').value=vertrag_id; + + } +} + +/** + * Generiert einen Vertrag aus den markierten Elementen + */ +function MitarbeiterVertragNeuGenerateVertrag() +{ + if(window.opener.MitarbeiterVertragGenerateVertrag(document)) + window.close(); +} + +/** + * Wenn im Baum Eintraege markiert werden, wird die Summe der markierten Eintraege berechnet + * und in das Betrag Feld geschrieben + */ +function MitarbeiterVertragNeuSelectEntry() +{ + var tree = document.getElementById('mitarbeiter-vertrag-tree-nichtzugeordnet'); + + if (tree.currentIndex==-1) + return; + + var start = new Object(); + var end = new Object(); + var numRanges = tree.view.selection.getRangeCount(); + + var betragssumme = MitarbeiterVertragNeuBetragOld; + for (var t = 0; t < numRanges; t++) + { + tree.view.selection.getRangeAt(t,start,end); + for (var v = start.value; v <= end.value; v++) + { + betrag = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-betrag", v); + betragssumme = (parseFloat(betragssumme)+parseFloat(betrag)); + } + } + + document.getElementById('mitarbeiter-vertrag-neu-textbox-betrag').value=betragssumme; +} diff --git a/content/mitarbeiter/mitarbeitervertragneudialog.xul.php b/content/mitarbeiter/mitarbeitervertragneudialog.xul.php new file mode 100644 index 000000000..3afa87604 --- /dev/null +++ b/content/mitarbeiter/mitarbeitervertragneudialog.xul.php @@ -0,0 +1,172 @@ + + */ + +header("Cache-Control: no-cache"); +header("Cache-Control: post-check=0, pre-check=0",false); +header("Expires Mon, 26 Jul 1997 05:00:00 GMT"); +header("Pragma: no-cache"); +header("Content-type: application/vnd.mozilla.xul+xml"); + +include('../../config/vilesci.config.inc.php'); +echo ''."\n"; + +echo ''; +echo ''; +echo ''; +if(isset($_GET['person_id']) && is_numeric($_GET['person_id'])) + $person_id = $_GET['person_id']; +else + $person_id=''; + +if(isset($_GET['vertrag_id']) && is_numeric($_GET['vertrag_id'])) + $vertrag_id = $_GET['vertrag_id']; +else + $vertrag_id=''; + +?> + +)" + > + +