diff --git a/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php b/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php
index a259ab942..3c130152b 100644
--- a/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php
+++ b/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php
@@ -53,137 +53,137 @@ echo '';
style="margin:4px;"
>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
-
-
-
-
-
-
-
-
-
- isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
+
+
+
+
+
+
+
+
+
+ isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/content/mitarbeiter/mitarbeiteroverlay.js.php b/content/mitarbeiter/mitarbeiteroverlay.js.php
index 53b4a679c..0b81b05da 100644
--- a/content/mitarbeiter/mitarbeiteroverlay.js.php
+++ b/content/mitarbeiter/mitarbeiteroverlay.js.php
@@ -1,1969 +1,1970 @@
-,
- * Andreas Oesterreicher and
- * Rudolf Hangl .
- */
-
-require_once('../../config/vilesci.config.inc.php');
-require_once('../../include/functions.inc.php');
-require_once('../../include/variable.class.php');
-
-$user = get_uid();
-$variable = new variable();
-$variable->loadVariables($user);
-?>
-// *********** Globale Variablen *****************//
-var MitarbeiterSelectUid=null; //UID des zu selektierenden Mitarbeiters
-var MitarbeiterTreeDatasource=null; // Datasource des Mitarbeiter Trees
-var MitarbeiterTreeLoadDataOnSelect=true; // Gibt an ob die Details beim markieren eines Mitarbeiters geladen werden sollen
-var MitarbeiterVerwendungTreeDatasource=null; // Datasource des Verwendungstrees
-var MitarbeiterVerwendungSelectID=null; // ID der Verwendung die nach dem rebuild markiert werden soll
-var MitarbeiterFunktionTreeDatasource=null; // Datasource des Verwendungstrees
-var MitarbeiterFunktionSelectVerwendungID=null; // ID der Verwendung der Funktion die nach dem rebuild markiert werden soll
-var MitarbeiterFunktionSelectStudiengangID=null; // ID des Studiengangs der Funktion die nach dem rebuild markiert werden soll
-var MitarbeiterEntwicklungsteamTreeDatasource=null; // Datasource des Entwicklungsteamtrees
-var MitarbeiterEntwicklungsteamSelectMitarbeiterUID=null; // UID des Mitarbeiters des Entwicklugnsteams das nach dem rebuild markiert werden soll
-var MitarbeiterEntwicklungsteamSelectStudiengangID=null; // ID des Stg des Entwicklungsteams das nach dem rebuild markiert werden soll
-var MitarbeiterEntwicklungsteamDoubleRefresh=false; // Wenn auf einen Tree der eine leere Datasource enthaelt eine neue Datasource angehaengt wird, dann muss doppelt refresht werden
-var MitarbeiterTreeLoadDataOnSelect2=true; // Gibt an ob die Details beim markieren eines Mitarbeiters geladen werden sollen
-var MitarbeiterDetailValueChanged=false;
-// ********** Observer und Listener ************* //
-
-
-// ****
-// * Observer fuer Mitarbeiter Tree
-// * startet Rebuild nachdem das Refresh
-// * der Datasource fertig ist
-// ****
-var MitarbeiterTreeSinkObserver =
-{
- onBeginLoad : function(pSink)
- {
- MitarbeiterTreeLoadDataOnSelect2=false;
- },
- onInterrupt : function(pSink) {},
- onResume : function(pSink) {},
- onError : function(pSink, pStatus, pError) {},
- onEndLoad : function(pSink)
- {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- document.getElementById('mitarbeiter-tree').builder.rebuild();
- }
-};
-
-// ****
-// * Nach dem Rebuild wird der Mitarbeiter wieder
-// * markiert
-// ****
-var MitarbeiterTreeListener =
-{
- willRebuild : function(builder)
- {
- },
- didRebuild : function(builder)
- {
- //timeout nur bei Mozilla notwendig da sonst die rows
- //noch keine values haben. Ab Seamonkey funktionierts auch
- //ohne dem setTimeout
- MitarbeiterTreeLoadDataOnSelect2=true;
- window.setTimeout(MitarbeiterTreeSelectMitarbeiter,10);
- }
-};
-
-// ****
-// * Observer fuer Mitarbeiter VerwendungTree
-// * startet Rebuild nachdem das Refresh
-// * der Datasource fertig ist
-// ****
-var MitarbeiterVerwendungTreeSinkObserver =
-{
- onBeginLoad : function(pSink)
- {
- },
- onInterrupt : function(pSink) {},
- onResume : function(pSink) {},
- onError : function(pSink, pStatus, pError) {},
- onEndLoad : function(pSink)
- {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- document.getElementById('mitarbeiter-tree-verwendung').builder.rebuild();
- }
-};
-
-// ****
-// * Nach dem Rebuild wird der Mitarbeiter wieder
-// * markiert
-// ****
-var MitarbeiterVerwendungTreeListener =
-{
- willRebuild : function(builder)
- {
- },
- didRebuild : function(builder)
- {
- //timeout nur bei Mozilla notwendig da sonst die rows
- //noch keine values haben. Ab Seamonkey funktionierts auch
- //ohne dem setTimeout
- window.setTimeout(MitarbeiterVerwendungTreeSelect,10);
- }
-};
-
-// ****
-// * Observer fuer Mitarbeiter FunktionTree
-// * startet Rebuild nachdem das Refresh
-// * der Datasource fertig ist
-// ****
-var MitarbeiterFunktionTreeSinkObserver =
-{
- onBeginLoad : function(pSink)
- {
- },
- onInterrupt : function(pSink) {},
- onResume : function(pSink) {},
- onError : function(pSink, pStatus, pError) {},
- onEndLoad : function(pSink)
- {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- document.getElementById('mitarbeiter-tree-funktion').builder.rebuild();
- }
-};
-
-// ****
-// * Nach dem Rebuild wird die Funktion wieder
-// * markiert
-// ****
-var MitarbeiterFunktionTreeListener =
-{
- willRebuild : function(builder)
- {
- },
- didRebuild : function(builder)
- {
- //timeout nur bei Mozilla notwendig da sonst die rows
- //noch keine values haben. Ab Seamonkey funktionierts auch
- //ohne dem setTimeout
- window.setTimeout(MitarbeiterFunktionTreeSelect,10);
- }
-};
-
-// ****
-// * Observer fuer Mitarbeiter EntwicklungsteamTree
-// * startet Rebuild nachdem das Refresh
-// * der Datasource fertig ist
-// ****
-var MitarbeiterEntwicklungsteamTreeSinkObserver =
-{
- onBeginLoad : function(pSink)
- {
- },
- onInterrupt : function(pSink) {},
- onResume : function(pSink) {},
- onError : function(pSink, pStatus, pError) {},
- onEndLoad : function(pSink)
- {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- document.getElementById('mitarbeiter-tree-entwicklungsteam').builder.rebuild();
- }
-};
-
-// ****
-// * Nach dem Rebuild wird die Funktion wieder
-// * markiert
-// ****
-var MitarbeiterEntwicklungsteamTreeListener =
-{
- willRebuild : function(builder)
- {
- },
- didRebuild : function(builder)
- {
- //timeout nur bei Mozilla notwendig da sonst die rows
- //noch keine values haben. Ab Seamonkey funktionierts auch
- //ohne dem setTimeout
- if(MitarbeiterEntwicklungsteamDoubleRefresh)
- {
- MitarbeiterEntwicklungsteamDoubleRefresh=false;
- window.setTimeout("MitarbeiterEntwicklungsteamTreeRefresh()",10);
- }
- else
- window.setTimeout(MitarbeiterEntwicklungsteamTreeSelect,10);
- }
-};
-
-// ****************** FUNKTIONEN ************************** //
-
-// ****
-// * Beim Sortieren des Trees wird der markierte Eintrag gespeichert und nach dem sortieren
-// * wieder markiert.
-// ****
-function MitarbeiterTreeSort()
-{
- var i;
- var tree=document.getElementById('mitarbeiter-tree');
- if(tree.currentIndex>=0)
- i = tree.currentIndex;
- else
- i = 0;
- col = tree.columns ? tree.columns["mitarbeiter-treecol-uid"] : "mitarbeiter-treecol-uid";
- MitarbeiterSelectUid = tree.view.getCellText(i,col);
- MitarbeiterTreeLoadDataOnSelect=false;
- window.setTimeout("MitarbeiterTreeSelectMitarbeiter()",10);
-}
-
-// ****
-// * Beim Auswaehlen eines Mitarbeiter-Filters werden die Mitarbeiter
-// * die diesem Filter entsprechen geladen
-// ****
-function onMitarbeiterSelect()
-{
- //Warnung falls Daten veraendert wurden aber noch nicht gespeichert
- if(MitarbeiterDetailValueChanged)
- {
- if(!confirm('Achtung! Die Daten wurden veraendert aber noch nicht gespeichert. Neuen Datensatz trotzdem laden? (Die geaenderten Daten gehen dabei verloren)'))
- return false;
- }
-
- MitarbeiterDetailValueChanged=false;
-
- var tree=document.getElementById('tree-menu-mitarbeiter');
- var col = tree.columns ? tree.columns["tree-menu-mitarbeiter-col-filter"] : "tree-menu-mitarbeiter-col-filter";
-
- if(tree.currentIndex==-1)
- return false;
-
- var filter=tree.view.getCellText(tree.currentIndex,col);
- var url = "rdf/personal.rdf.php";
- var attributes="?type=unknown";
-
- if(filter=="")
- filter="Studiengangsleiter";
-
- 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&aktiv=true";
- }
- if (filter=="ohneVerwendung")
- {
- attributes+="&verwendung=false&aktiv=true";
- }
- if (filter=="mitVerwendung")
- {
- attributes+="&verwendung=true&aktiv=false";
- }
- if (filter=="FreiAngestellte")
- {
- attributes+="&fix=false&aktiv=true";
- }
- if (filter=="FreiAngestellteAlle")
- {
- attributes+="&fix=false";
- }
- if(filter=="VertragNochNichtRetour")
- {
- attributes+="&VertragNochNichtRetour";
- }
- if(filter=="VertragHabilitiert")
- {
- attributes+="&VertragHabilitiert";
- }
- if(filter=="VertragNichtHabilitiert")
- {
- attributes+="&VertragNichtHabilitiert";
- }
- if(filter=="VertragNichtGedruckt")
- {
- attributes+="&VertragNichtGedruckt";
- }
- document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
- //Timestamp anhaengen da beim Laden von Zwischengespeicherten Dateien kein
- //Observer Event ausgeloest wird.
- url+=attributes+'&'+gettimestamp();
-
- //Mitarbeiter Detail Felder deaktivieren
- MitarbeiterDetailDisableFields(true);
-
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-
- var tree=document.getElementById('mitarbeiter-tree');
-
- try
- {
- MitarbeiterTreeDatasource.removeXMLSinkObserver(MitarbeiterTreeSinkObserver);
- tree.builder.removeListener(MitarbeiterTreeListener);
- }
- catch(e)
- {}
-
- ///Alte DS entfernen
- var oldDatasources = tree.database.GetDataSources();
- while(oldDatasources.hasMoreElements())
- {
- tree.database.RemoveDataSource(oldDatasources.getNext());
- }
-
- var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
- MitarbeiterTreeDatasource = rdfService.GetDataSource(url);
- MitarbeiterTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
- MitarbeiterTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
- tree.database.AddDataSource(MitarbeiterTreeDatasource);
- MitarbeiterTreeDatasource.addXMLSinkObserver(MitarbeiterTreeSinkObserver);
- tree.builder.addListener(MitarbeiterTreeListener);
-}
-
-// ****
-// * Selectiert den Mitarbeiter nachdem der Tree
-// * rebuildet wurde.
-// ****
-function MitarbeiterTreeSelectMitarbeiter()
-{
- var tree=document.getElementById('mitarbeiter-tree');
- var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
-
- //In der globalen Variable ist der zu selektierende Mitarbeiter gespeichert
- if(MitarbeiterSelectUid!=null)
- {
- for(var i=0;i=0)
- i = tree.currentIndex;
- else
- i = 0;
- col = tree.columns ? tree.columns["mitarbeiter-treecol-uid"] : "mitarbeiter-treecol-uid";
- MitarbeiterSelectUid = tree.view.getCellText(i,col);
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- MitarbeiterTreeDatasource.Refresh(false);
-}
-
-// ****
-// * De-/Aktiviert die Mitarbeiter Detail Felder
-// ****
-function MitarbeiterDetailDisableFields(val)
-{
- //document.getElementById('mitarbeiter-detail-textbox-uid').disabled=val;
- document.getElementById('mitarbeiter-detail-checkbox-aktiv').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-anrede').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-titelpre').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-titelpost').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-nachname').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-vorname').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-vornamen').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-geburtsdatum').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-geburtsort').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-geburtszeit').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-svnr').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-ersatzkennzeichen').disabled=val;
- document.getElementById('mitarbeiter-detail-menulist-staatsbuergerschaft').disabled=val;
- document.getElementById('mitarbeiter-detail-menulist-geburtsnation').disabled=val;
- document.getElementById('mitarbeiter-detail-menulist-sprache').disabled=val;
- document.getElementById('mitarbeiter-detail-menulist-geschlecht').disabled=val;
- document.getElementById('mitarbeiter-detail-menulist-familienstand').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-anzahlderkinder').disabled=val;
- document.getElementById('mitarbeiter-detail-button-image-upload').disabled=val;
- document.getElementById('mitarbeiter-detail-button-image-delete').disabled=val;
- document.getElementById('mitarbeiter-detail-button-image-infomail').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-anmerkung').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-homepage').disabled=val;
-
- //document.getElementById('mitarbeiter-detail-textbox-personalnummer').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-kurzbezeichnung').disabled=val;
- document.getElementById('mitarbeiter-detail-checkbox-lektor').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-stundensatz').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-telefonklappe').disabled=val;
- document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').disabled=val;
- document.getElementById('mitarbeiter-detail-checkbox-bismelden').disabled=val;
- document.getElementById('mitarbeiter-detail-menulist-ort_kurzbz').disabled=val;
- document.getElementById('mitarbeiter-detail-menulist-standort').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-mitarbeiteranmerkung').disabled=val;
- document.getElementById('mitarbeiter-detail-menulist-ausbildung').disabled=val;
- document.getElementById('mitarbeiter-detail-button-speichern').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-alias').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-urlaubsanspruch').disabled=val;
- document.getElementById('mitarbeiter-detail-textbox-resturlaubstage').disabled=val;
- document.getElementById('mitarbeiter-detail-checkbox-kleriker').disabled=val;
-}
-
-function MitarbeiterAuswahl()
-{
- if(!MitarbeiterTreeLoadDataOnSelect)
- {
- MitarbeiterTreeLoadDataOnSelect=true;
- return true;
- }
- if(!MitarbeiterTreeLoadDataOnSelect2)
- return true;
-
- //Warnung falls Daten veraendert aber noch nicht gespeichert wurden
- if(MitarbeiterDetailValueChanged)
- {
- if(!confirm('Achtung! Die Daten wurden veraendert aber noch nicht gespeichert. Neuen Datensatz trotzdem laden? (Die geaenderten Daten gehen dabei verloren)'))
- return false;
- }
-
- MitarbeiterDetailValueChanged=false;
-
- // Trick 17 (sonst gibt's ein Permission denied)
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- var tree = document.getElementById('mitarbeiter-tree');
-
- if (tree.currentIndex==-1) return;
-
- try
- {
- //Ausgewaehlte UID holen
- var col = tree.columns ? tree.columns["mitarbeiter-treecol-uid"] : "mitarbeiter-treecol-uid";
- var uid=tree.view.getCellText(tree.currentIndex,col);
- if(uid!='')
- {
- //Aktivieren der Felder
- MitarbeiterDetailDisableFields(false);
- MitarbeiterFunktionIFrameUnLoad();
- }
- else
- {
- return false;
- }
- }
- catch(e)
- {
- alert(e);
- return false;
- }
-
- var url = 'rdf/personal.rdf.php?uid='+uid+'&'+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/mitarbeiter/" + uid);
-
- var predicateNS = "http://www.technikum-wien.at/mitarbeiter/rdf";
-
- //Daten holen
-
- anrede = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anrede" ));
- titelpre=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#titelpre" ));
- titelpost=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#titelpost" ));
- vorname=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vorname" ));
- vornamen=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vornamen" ));
- nachname=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#nachname" ));
- geburtsdatum=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsdatum" ));
- geburtsort=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsort" ));
- geburtszeit=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtszeit" ));
- anmerkungen=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkungen" ));
- homepage=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#homepage" ));
- svnr=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#svnr" ));
- ersatzkennzeichen=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ersatzkennzeichen" ));
- familienstand=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#familienstand" ));
- geschlecht=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geschlecht" ));
- aktiv=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aktiv" ));
- anzahlderkinder=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anzahlkinder" ));
- staatsbuergerschaft=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#staatsbuergerschaft" ));
- geburtsnation=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsnation" ));
- sprache=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#sprache" ));
- person_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#person_id" ));
-
- personalnummer=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#personalnummer" ));
- kurzbezeichnung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#kurzbz" ));
- stundensatz=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatz" ));
- telefonklappe=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#telefonklappe" ));
- lektor=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lektor" ));
- fixangestellt=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fixangestellt" ));
- bismelden=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bismelden" ));
- ausbildung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ausbildung" ));
- anmerkung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
- ort_kurzbz=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ort_kurzbz" ));
- standort_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#standort_id" ));
- alias=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#alias" ));
- urlaubstageprojahr=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#urlaubstageprojahr" ));
- resturlaubstage=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#resturlaubstage" ));
- kleriker=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#kleriker" ));
-
- //Daten den Feldern zuweisen
-
- //Personendaten
- document.getElementById('mitarbeiter-detail-textbox-uid').value=uid;
- document.getElementById('mitarbeiter-detail-textbox-anrede').value=anrede;
- document.getElementById('mitarbeiter-detail-textbox-titelpre').value=titelpre;
- document.getElementById('mitarbeiter-detail-textbox-titelpost').value=titelpost;
- document.getElementById('mitarbeiter-detail-textbox-vorname').value=vorname;
- document.getElementById('mitarbeiter-detail-textbox-vornamen').value=vornamen;
- document.getElementById('mitarbeiter-detail-textbox-nachname').value=nachname;
- document.getElementById('mitarbeiter-detail-textbox-geburtsdatum').value=geburtsdatum;
- document.getElementById('mitarbeiter-detail-textbox-geburtsort').value=geburtsort;
- document.getElementById('mitarbeiter-detail-textbox-geburtszeit').value=geburtszeit;
- document.getElementById('mitarbeiter-detail-textbox-anmerkung').value=anmerkungen;
- document.getElementById('mitarbeiter-detail-textbox-homepage').value=homepage;
- document.getElementById('mitarbeiter-detail-textbox-svnr').value=svnr;
- document.getElementById('mitarbeiter-detail-textbox-ersatzkennzeichen').value=ersatzkennzeichen;
- document.getElementById('mitarbeiter-detail-menulist-familienstand').value=familienstand;
- document.getElementById('mitarbeiter-detail-menulist-geschlecht').value=geschlecht;
-
- if(aktiv=='Ja')
- document.getElementById('mitarbeiter-detail-checkbox-aktiv').checked=true;
- else
- document.getElementById('mitarbeiter-detail-checkbox-aktiv').checked=false;
- document.getElementById('mitarbeiter-detail-textbox-anzahlderkinder').value=anzahlderkinder;
- document.getElementById('mitarbeiter-detail-menulist-staatsbuergerschaft').value=staatsbuergerschaft;
- document.getElementById('mitarbeiter-detail-menulist-geburtsnation').value=geburtsnation;
- document.getElementById('mitarbeiter-detail-menulist-sprache').value=sprache;
- document.getElementById('mitarbeiter-detail-image').src='content/bild.php?src=person&person_id='+person_id+'&'+gettimestamp();
- document.getElementById('mitarbeiter-detail-textbox-person_id').value=person_id;
-
- //Mitarbeiterdaten
- document.getElementById('mitarbeiter-detail-textbox-personalnummer').value=personalnummer;
- document.getElementById('mitarbeiter-detail-textbox-kurzbezeichnung').value=kurzbezeichnung;
- document.getElementById('mitarbeiter-detail-textbox-stundensatz').value=stundensatz;
- document.getElementById('mitarbeiter-detail-textbox-telefonklappe').value=telefonklappe;
- if(lektor=='Ja')
- document.getElementById('mitarbeiter-detail-checkbox-lektor').checked=true;
- else
- document.getElementById('mitarbeiter-detail-checkbox-lektor').checked=false;
-
- if(fixangestellt=='Ja')
- document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').checked=true;
- else
- document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').checked=false;
-
- if(bismelden=='Ja')
- document.getElementById('mitarbeiter-detail-checkbox-bismelden').checked=true;
- else
- document.getElementById('mitarbeiter-detail-checkbox-bismelden').checked=false;
-
- if(kleriker=='Ja')
- document.getElementById('mitarbeiter-detail-checkbox-kleriker').checked=true;
- else
- document.getElementById('mitarbeiter-detail-checkbox-kleriker').checked=false;
-
- document.getElementById('mitarbeiter-detail-menulist-ausbildung').value=ausbildung;
- document.getElementById('mitarbeiter-detail-textbox-mitarbeiteranmerkung').value=anmerkung;
- document.getElementById('mitarbeiter-detail-menulist-ort_kurzbz').value=ort_kurzbz;
- document.getElementById('mitarbeiter-detail-menulist-standort').value=standort_id;
- document.getElementById('mitarbeiter-detail-textbox-alias').value=alias;
- document.getElementById('mitarbeiter-detail-textbox-urlaubsanspruch').value=urlaubstageprojahr;
- document.getElementById('mitarbeiter-detail-textbox-resturlaubstage').value=resturlaubstage;
- // ***** KONTAKTE *****
- document.getElementById('mitarbeiter-kontakt').setAttribute('src','kontakt.xul.php?person_id='+person_id);
-
- // ***** BETRIEBSMITTEL *****
- document.getElementById('mitarbeiter-betriebsmittel').setAttribute('src','betriebsmitteloverlay.xul.php?person_id='+person_id+'&uid='+uid);
-
-
- if(document.getElementById('mitarbeiter-tabs').selectedItem==document.getElementById('mitarbeiter-tab-termine'))
- {
- // ***** Termine *****
- document.getElementById('mitarbeiter-termine').setAttribute('src','termine.xul.php?mitarbeiter_uid='+uid);
- }
-
- // **** VERWENDUNG ****
- verwendungtree = document.getElementById('mitarbeiter-tree-verwendung');
- url='rdf/bisverwendung.rdf.php?uid='+uid+"&"+gettimestamp();
-
- try
- {
- MitarbeiterVerwendungTreeDatasource.removeXMLSinkObserver(MitarbeiterVerwendungTreeSinkObserver);
- verwendungtree.builder.removeListener(MitarbeiterVerwendungTreeListener);
- }
- catch(e)
- {}
-
- //Alte DS entfernen
- var oldDatasources = verwendungtree.database.GetDataSources();
- while(oldDatasources.hasMoreElements())
- {
- verwendungtree.database.RemoveDataSource(oldDatasources.getNext());
- }
- //Refresh damit die entfernten DS auch wirklich entfernt werden
- verwendungtree.builder.rebuild();
-
-
- var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
- MitarbeiterVerwendungTreeDatasource = rdfService.GetDataSource(url);
- MitarbeiterVerwendungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
- MitarbeiterVerwendungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
- verwendungtree.database.AddDataSource(MitarbeiterVerwendungTreeDatasource);
- MitarbeiterVerwendungTreeDatasource.addXMLSinkObserver(MitarbeiterVerwendungTreeSinkObserver);
- verwendungtree.builder.addListener(MitarbeiterVerwendungTreeListener);
-
- MitarbeiterVerwendungDisableFields(false);
-
- // **** ENTWICKLUNGSTEAM ****
- entwicklungsteamtree = document.getElementById('mitarbeiter-tree-entwicklungsteam');
- url='rdf/entwicklungsteam.rdf.php?mitarbeiter_uid='+uid+"&"+gettimestamp();
-
- try
- {
- MitarbeiterEntwicklungsteamTreeDatasource.removeXMLSinkObserver(MitarbeiterEntwicklungsteamTreeSinkObserver);
- entwicklungsteamtree.builder.removeListener(MitarbeiterEntwicklungsteamTreeListener);
- }
- catch(e)
- {}
-
- //Alte DS entfernen
- var oldDatasources = entwicklungsteamtree.database.GetDataSources();
- while(oldDatasources.hasMoreElements())
- {
- entwicklungsteamtree.database.RemoveDataSource(oldDatasources.getNext());
- }
- //Refresh damit die entfernten DS auch wirklich entfernt werden
- entwicklungsteamtree.builder.rebuild();
-
- var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
- MitarbeiterEntwicklungsteamTreeDatasource = rdfService.GetDataSource(url);
- MitarbeiterEntwicklungsteamTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
- MitarbeiterEntwicklungsteamTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
- entwicklungsteamtree.database.AddDataSource(MitarbeiterEntwicklungsteamTreeDatasource);
- MitarbeiterEntwicklungsteamTreeDatasource.addXMLSinkObserver(MitarbeiterEntwicklungsteamTreeSinkObserver);
- entwicklungsteamtree.builder.addListener(MitarbeiterEntwicklungsteamTreeListener);
-
- MitarbeiterEntwicklungsteamDetailDisableFields(true);
- MitarbeiterEntwicklungsteamDisableFields(false);
-
- // Funktionen Tree Leeren
- funktiontree = document.getElementById('mitarbeiter-tree-funktion');
-
- //Alte DS entfernen
- var oldDatasources = funktiontree.database.GetDataSources();
- while(oldDatasources.hasMoreElements())
- {
- funktiontree.database.RemoveDataSource(oldDatasources.getNext());
- }
- //Refresh damit die entfernten DS auch wirklich entfernt werden
- funktiontree.builder.rebuild();
-
- MitarbeiterFunktionDisableFields(true);
-
- //Funktionen Laden
- if(document.getElementById('mitarbeiter-tabs').selectedItem==document.getElementById('mitarbeiter-tab-funktionen'))
- {
- 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)
- {
- if(typeof addon[i].selectMitarbeiter=='function')
- addon[i].selectMitarbeiter(person_id, uid);
- }
-}
-
-// ****
-// * Laedt ein Bild zu einer Person in die Datenbank
-// ****
-function MitarbeiterImageUpload()
-{
- person_id = document.getElementById('mitarbeiter-detail-textbox-person_id').value;
- if(person_id!='')
- {
- window.open('content/bildupload.php?person_id='+person_id,'Bild Upload', 'height=10,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
- }
- else
- alert('Es wurde keine Person ausgewaehlt');
-}
-
-// ****
-// * Loescht das Bild aus der DB
-// ****
-function MitarbeiterImageDelete()
-{
- person_id = document.getElementById('mitarbeiter-detail-textbox-person_id').value;
- if(person_id!='')
- {
- var url = 'content/fasDBDML.php';
- var req = new phpRequest(url,'','');
-
- req.add('type', 'imagedelete');
- req.add('person_id', person_id);
- req.add('studiengang_kz', '');
-
- 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
- {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- uid = document.getElementById('mitarbeiter-detail-textbox-uid').value;
- MitarbeiterSelectUid=uid;
- MitarbeiterTreeDatasource.Refresh(false); //non blocking
- SetStatusBarText('Bild wurde geloescht');
- }
- }
- else
- alert('Es wurde keine Person ausgewaehlt');
-}
-
-// ****
-// * Speichert die Mitarbeiterdaten
-// ****
-function MitarbeiterSave()
-{
- //Daten holen
- uid = document.getElementById('mitarbeiter-detail-textbox-uid').value;
- anrede = document.getElementById('mitarbeiter-detail-textbox-anrede').value;
- titelpre = document.getElementById('mitarbeiter-detail-textbox-titelpre').value;
- titelpost = document.getElementById('mitarbeiter-detail-textbox-titelpost').value;
- vorname = document.getElementById('mitarbeiter-detail-textbox-vorname').value;
- vornamen = document.getElementById('mitarbeiter-detail-textbox-vornamen').value;
- nachname = document.getElementById('mitarbeiter-detail-textbox-nachname').value;
- geburtsdatum = document.getElementById('mitarbeiter-detail-textbox-geburtsdatum').value;
- geburtsort = document.getElementById('mitarbeiter-detail-textbox-geburtsort').value;
- geburtszeit = document.getElementById('mitarbeiter-detail-textbox-geburtszeit').value;
- anmerkungen = document.getElementById('mitarbeiter-detail-textbox-anmerkung').value;
- homepage = document.getElementById('mitarbeiter-detail-textbox-homepage').value;
- svnr = document.getElementById('mitarbeiter-detail-textbox-svnr').value;
- ersatzkennzeichen = document.getElementById('mitarbeiter-detail-textbox-ersatzkennzeichen').value;
- familienstand = document.getElementById('mitarbeiter-detail-menulist-familienstand').value;
- geschlecht = document.getElementById('mitarbeiter-detail-menulist-geschlecht').value;
- aktiv = document.getElementById('mitarbeiter-detail-checkbox-aktiv').checked;
- anzahlderkinder = document.getElementById('mitarbeiter-detail-textbox-anzahlderkinder').value;
- staatsbuergerschaft = document.getElementById('mitarbeiter-detail-menulist-staatsbuergerschaft').value;
- geburtsnation = document.getElementById('mitarbeiter-detail-menulist-geburtsnation').value;
- sprache = document.getElementById('mitarbeiter-detail-menulist-sprache').value;
- person_id = document.getElementById('mitarbeiter-detail-textbox-person_id').value;
-
- //Mitarbeiterdaten
- personalnummer = document.getElementById('mitarbeiter-detail-textbox-personalnummer').value;
- kurzbezeichnung = document.getElementById('mitarbeiter-detail-textbox-kurzbezeichnung').value;
- stundensatz = document.getElementById('mitarbeiter-detail-textbox-stundensatz').value;
- telefonklappe = document.getElementById('mitarbeiter-detail-textbox-telefonklappe').value;
- lektor = document.getElementById('mitarbeiter-detail-checkbox-lektor').checked;
- fixangestellt = document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').checked;
- bismelden = document.getElementById('mitarbeiter-detail-checkbox-bismelden').checked;
- ausbildung = document.getElementById('mitarbeiter-detail-menulist-ausbildung').value;
- anmerkung = document.getElementById('mitarbeiter-detail-textbox-mitarbeiteranmerkung').value;
- ort_kurzbz = document.getElementById('mitarbeiter-detail-menulist-ort_kurzbz').value;
- standort_id = document.getElementById('mitarbeiter-detail-menulist-standort').value;
- alias = document.getElementById('mitarbeiter-detail-textbox-alias').value;
- kleriker = document.getElementById('mitarbeiter-detail-checkbox-kleriker').checked;
-
- urlaubsanspruch = document.getElementById('mitarbeiter-detail-textbox-urlaubsanspruch').value;
- resturlaubstage = document.getElementById('mitarbeiter-detail-textbox-resturlaubstage').value;
-
- if(geburtsdatum!='' && !CheckDatum(geburtsdatum))
- {
- alert('Geburtsdatum ist ungueltig');
- return false;
- }
-
- var url = 'content/mitarbeiter/mitarbeiterDBDML.php';
- var req = new phpRequest(url,'','');
-
- req.add('type', 'mitarbeitersave');
-
- req.add('uid', uid);
- req.add('anrede', anrede);
- req.add('titelpre', titelpre);
- req.add('titelpost', titelpost);
- req.add('vorname', vorname);
- req.add('vornamen', vornamen);
- req.add('nachname', nachname);
- req.add('geburtsdatum', ConvertDateToISO(geburtsdatum));
- req.add('geburtsort', geburtsort);
- req.add('geburtszeit', geburtszeit);
- req.add('anmerkungen', anmerkungen);
- req.add('homepage', homepage);
- req.add('svnr', svnr);
- req.add('ersatzkennzeichen', ersatzkennzeichen);
- req.add('familienstand', familienstand);
- req.add('geschlecht', geschlecht);
- req.add('aktiv', aktiv);
- req.add('anzahlderkinder', anzahlderkinder);
- req.add('staatsbuergerschaft', staatsbuergerschaft);
- req.add('geburtsnation', geburtsnation);
- req.add('sprache', sprache);
- req.add('kurzbezeichnung', kurzbezeichnung);
- req.add('stundensatz', stundensatz);
- req.add('telefonklappe', telefonklappe);
- req.add('lektor', lektor);
- req.add('fixangestellt', fixangestellt);
- req.add('bismelden', bismelden);
- req.add('ausbildung', ausbildung);
- req.add('anmerkung', anmerkung);
- req.add('ort_kurzbz', ort_kurzbz);
- req.add('standort_id', standort_id);
- req.add('alias', alias);
- req.add('urlaubsanspruch', urlaubsanspruch);
- req.add('resturlaubstage', resturlaubstage);
- req.add('kleriker', kleriker);
- req.add('personalnummer', personalnummer);
-
- var response = req.executePOST();
-
- var val = new ParseReturnValue(response)
-
- MitarbeiterDetailValueChanged=false;
-
- if (!val.dbdml_return)
- {
- if(val.dbdml_errormsg=='')
- alert(response)
- else
- alert(val.dbdml_errormsg)
- }
- else
- {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-
- MitarbeiterSelectUid=uid;
- MitarbeiterTreeDatasource.Refresh(false); //non blocking
- SetStatusBarText('Daten wurden gespeichert');
- }
-}
-
-// ****
-// * Ruft das Formular zum Eintragen des neuen Mitarbeiters auf
-// ****
-function MitarbeiterNeu()
-{
- window.open('vilesci/personen/import/mitarbeiterimport.php','Mitarbeiter anlegen', 'height=768,width=1024,resizable=yes,status=yes,scrollbars=yes,toolbar=yes,location=yes,menubar=yes');
-}
-
-// ****
-// * Exportiert die Daten in ein Excel File
-// ****
-function MitarbeiterExport()
-{
- var treeMitarbeiter=document.getElementById('mitarbeiter-tree');
- var treeMitarbeiterMenu=document.getElementById('tree-menu-mitarbeiter');
- 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 = "content/statistik/mitarbeiterexport.xls.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=='mitarbeiter-treecol-anrede') return 'anrede';
- if(id=='mitarbeiter-treecol-titelpre') return 'titelpre';
- if(id=='mitarbeiter-treecol-vorname') return 'vorname';
- if(id=='mitarbeiter-treecol-vornamen') return 'vornamen';
- if(id=='mitarbeiter-treecol-nachname') return 'nachname';
- if(id=='mitarbeiter-treecol-titelpost') return 'titelpost';
- if(id=='mitarbeiter-treecol-personalnummer') return 'personalnummer';
- if(id=='mitarbeiter-treecol-geburtsdatum') return 'gebdatum';
- if(id=='mitarbeiter-treecol-geburtsdatum_iso') return 'gebdatum';
- if(id=='mitarbeiter-treecol-svnr') return 'svnr';
- if(id=='mitarbeiter-treecol-ersatzkennzeichen') return 'ersatzkennzeichen';
- if(id=='mitarbeiter-treecol-uid') return 'uid';
- if(id=='mitarbeiter-treecol-kurzbz') return 'kurzbz';
- if(id=='mitarbeiter-treecol-geschlecht') return 'geschlecht';
- if(id=='mitarbeiter-treecol-ort_kurzbz') return 'ort_kurzbz';
- if(id=='mitarbeiter-treecol-telefonklappe') return 'telefonklappe';
- if(id=='mitarbeiter-treecol-aktiv') return 'bnaktiv';
- if(id=='mitarbeiter-treecol-person_id') return 'person_id';
- if(id=='mitarbeiter-treecol-fixangestellt') return 'fixangestellt';
- if(id=='mitarbeiter-treecol-lektor') return 'lektor';
- if(id=='mitarbeiter-treecol-insertamum') return 'insertamum';
- if(id=='mitarbeiter-treecol-insertamum_iso') return 'insertamum';
- if(id=='mitarbeiter-treecol-insertvon') return 'insertvon';
- if(id=='mitarbeiter-treecol-updateamum') return 'updateamum';
- if(id=='mitarbeiter-treecol-updateamum_iso') return 'updateamum';
- if(id=='mitarbeiter-treecol-updatevon') return 'updatevon';
-}
-
-function MitarbeiterSendMail()
-{
- mailempfaenger='';
- var treeMitarbeiter=document.getElementById('mitarbeiter-tree');
- var numRanges = treeMitarbeiter.view.selection.getRangeCount();
- var start = new Object();
- var end = new Object();
- var anzfault=0;
- //Markierte Datensaetze holen
- for (var t=0; t1)
- {
- if(mailempfaenger!='')
- mailempfaenger=mailempfaenger+'variable->emailadressentrennzeichen; ?>'+treeMitarbeiter.view.getCellText(v,col)+'@';
- else
- mailempfaenger='mailto:'+treeMitarbeiter.view.getCellText(v,col)+'@';
- }
- else
- {
- anzfault=anzfault+1;
- }
- }
- }
- if(anzfault!=0)
- alert(anzfault+' Mitarbeiter konnten nicht hinzugefuegt werden weil keine UID eingetragen ist!');
- window.location.href=mailempfaenger;
-}
-
-/**
- * Mail an Private EMailadresse senden
- */
-function MitarbeiterSendMailPrivat()
-{
- var treeMitarbeiter=document.getElementById('mitarbeiter-tree');
- var numRanges = treeMitarbeiter.view.selection.getRangeCount();
- var start = new Object();
- var end = new Object();
- var uids='';
- //Markierte Datensaetze holen
- for (var t=0; tcontent/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid+"&bisverwendung_id="+bisverwendung_id,"popup","chrome, status=no, width=500, height=400, centerscreen, resizable");
-}
-
-// ****
-// * Ruft den Dialog zum Eintragen der Verwendungen auf
-// ****
-function MitarbeiterVerwendungNeu()
-{
- var tree=document.getElementById('mitarbeiter-tree');
-
- //Uid der row holen
- col = tree.columns ? tree.columns["mitarbeiter-treecol-uid"] : "mitarbeiter-treecol-uid";
- mitarbeiter_uid=tree.view.getCellText(tree.currentIndex,col);
-
- window.open("content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid,"popup","chrome, status=no, width=500, height=350, centerscreen, resizable");
-}
-
-function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_uid, neu)
-{
- ba1code = dialog.getElementById('mitarbeiter-verwendung-detail-menulist-beschart1').value;
- ba2code = dialog.getElementById('mitarbeiter-verwendung-detail-menulist-beschart2').value;
- beschausmasscode = dialog.getElementById('mitarbeiter-verwendung-detail-menulist-ausmass').value;
- verwendung_code = dialog.getElementById('mitarbeiter-verwendung-detail-menulist-verwendung').value;
- hauptberufcode = dialog.getElementById('mitarbeiter-verwendung-detail-menulist-hauptberuf').value;
- hauptberuflich = dialog.getElementById('mitarbeiter-verwendung-detail-checkbox-hauptberuflich').checked;
- habilitation = dialog.getElementById('mitarbeiter-verwendung-detail-checkbox-habilitation').checked;
- beginn = dialog.getElementById('mitarbeiter-verwendung-detail-datum-beginn').value;
- ende = dialog.getElementById('mitarbeiter-verwendung-detail-datum-ende').value;
- vertragsstunden = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-vertragsstunden').value;
- dv_art = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-dv_art').value;
- inkludierte_lehre = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-inkludierte_lehre').value;
-
- if(verwendung_code=='1' || verwendung_code=='5' || verwendung_code=='6')
- {
- if(hauptberuflich==true)
- {
- hauptberufcode='';
- }
- else
- {
- if(hauptberufcode=='')
- {
- alert('Hauptberuf muss ausgewaehlt werden');
- return false;
- }
- }
- }
- else
- {
- if(hauptberuflich==true)
- {
- alert('Hauptberuflich darf bei dieser Verwendung nicht gesetzt sein');
- return false;
- }
- }
-
- if(beginn!='' && !CheckDatum(beginn))
- {
- alert('Beginn Datum ist ungueltig');
- return false;
- }
-
- if(ende!='' && !CheckDatum(ende))
- {
- alert('Ende Datum ist ungueltig');
- return false;
- }
-
- var url = 'content/mitarbeiter/mitarbeiterDBDML.php';
- var req = new phpRequest(url,'','');
-
- req.add('type', 'verwendungsave');
-
- req.add('neu', neu);
- req.add('mitarbeiter_uid', mitarbeiter_uid);
- req.add('bisverwendung_id', bisverwendung_id);
- req.add('ba1code', ba1code);
- req.add('ba2code', ba2code);
- req.add('beschausmasscode', beschausmasscode);
- req.add('verwendung_code', verwendung_code);
- req.add('hauptberufcode', hauptberufcode);
- req.add('hauptberuflich', hauptberuflich);
- req.add('habilitation', habilitation);
- req.add('beginn', ConvertDateToISO(beginn));
- req.add('ende', ConvertDateToISO(ende));
- req.add('vertragsstunden', vertragsstunden);
- req.add('dv_art', dv_art);
- req.add('inkludierte_lehre', inkludierte_lehre);
-
- var response = req.executePOST();
-
- var val = new ParseReturnValue(response)
-
- if (!val.dbdml_return)
- {
- if(val.dbdml_errormsg=='')
- alert(response)
- else
- alert(val.dbdml_errormsg)
- return false;
- }
- else
- {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- MitarbeiterVerwendungSelectID = val.dbdml_data;
- MitarbeiterVerwendungTreeDatasource.Refresh(false);
- return true;
- }
-}
-
-// ****
-// * Loescht eine Bisverwendung
-// ****
-function MitarbeiterVerwendungLoeschen()
-{
- var tree=document.getElementById('mitarbeiter-tree-verwendung');
-
- if (tree.currentIndex==-1)
- {
- alert('Bitte zuerst einen Eintrag auswaehlen');
- return false;
- }
- //Bisverwendung_id holen
- col = tree.columns ? tree.columns["mitarbeiter-verwendung-treecol-bisverwendung_id"] : "mitarbeiter-verwendung-treecol-bisverwendung_id";
- bisverwendung_id=tree.view.getCellText(tree.currentIndex,col);
-
- if(confirm('Diese Verwendung wirklich loeschen?'))
- {
-
- var url = 'content/mitarbeiter/mitarbeiterDBDML.php';
- var req = new phpRequest(url,'','');
-
- req.add('type', 'verwendungdelete');
-
- req.add('bisverwendung_id', bisverwendung_id);
-
- var response = req.executePOST();
-
- var val = new ParseReturnValue(response)
-
- if (!val.dbdml_return)
- {
- if(val.dbdml_errormsg=='')
- alert(response)
- else
- alert(val.dbdml_errormsg)
- return false;
- }
- else
- {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- MitarbeiterVerwendungTreeDatasource.Refresh(false);
- return true;
- }
- }
-}
-
-// *********** FUNKTION *************** //
-
-// ****
-// * Selectiert die Funktion nachdem der Tree
-// * rebuildet wurde.
-// ****
-function MitarbeiterFunktionTreeSelect()
-{
- var tree=document.getElementById('mitarbeiter-tree-funktion');
- var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
-
- //In der globalen Variable ist der zu selektierende Verwendung gespeichert
- if(MitarbeiterFunktionSelectStudiengangID!=null)
- {
- for(var i=0;i2)
- {
- //Datasource setzen und Felder deaktivieren
- url = "rdf/personal.rdf.php?filter="+encodeURIComponent(filter)+"&"+gettimestamp();
-
- var treeMitarbeiter=document.getElementById('mitarbeiter-tree');
-
- try
- {
- MitarbeiterTreeDatasource.removeXMLSinkObserver(MitarbeiterTreeSinkObserver);
- treeMitarbeiter.builder.removeListener(MitarbeiterTreeListener);
- }
- catch(e)
- {}
-
- //Alte DS entfernen
- var oldDatasources = treeMitarbeiter.database.GetDataSources();
- while(oldDatasources.hasMoreElements())
- {
- treeMitarbeiter.database.RemoveDataSource(oldDatasources.getNext());
- }
- treeMitarbeiter.builder.rebuild();
-
- var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
- MitarbeiterTreeDatasource = rdfService.GetDataSource(url);
- MitarbeiterTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
- MitarbeiterTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
- treeMitarbeiter.database.AddDataSource(MitarbeiterTreeDatasource);
- MitarbeiterTreeDatasource.addXMLSinkObserver(MitarbeiterTreeSinkObserver);
- treeMitarbeiter.builder.addListener(MitarbeiterTreeListener);
-
- //Detailfelder Deaktivieren
- MitarbeiterDetailDisableFields(true);
- }
- else
- alert('Es muessen mindestens 3 Zeichen eingegeben werden');
-}
-
-function MitarbeiterImageInfomail()
-{
- var uid = document.getElementById('mitarbeiter-detail-textbox-uid').value;
- var anrede = document.getElementById('mitarbeiter-detail-textbox-anrede').value;
- var nachname = document.getElementById('mitarbeiter-detail-textbox-nachname').value;
- var sg='';
- if(anrede=='Frau')
- sg = 'Sehr geehrte';
- else
- sg = 'Sehr geehrter';
- if(uid!='')
- {
- body=sg+" "+anrede+" "+nachname+"!%0A%0AIhr Profilbild wurde entfernt, da es nicht den aktuellen Bildrichtlinen entspricht.%0ABitte laden Sie unter CIS->Profil ein neues Profilbild hoch.";
- window.location.href="mailto:"+uid+"@?subject=Profilbild&body="+body;
- }
- else
- {
- alert('Nur bei Studenten verfügbar');
- }
-}
-
-// ****
-// * Wenn im Suchfeld Enter gedrueckt wird, dann die Suchfunktion starten
-// ****
-function MitarbeiterSearchFieldKeyPress(event)
-{
- if(event.keyCode==13) //Enter
- MitarbeiterSuche();
-}
-
-function MitarbeiterDetailValueChange()
-{
- MitarbeiterDetailValueChanged=true;
-}
-
-function MitarbeiterTreeFunktionSort()
-{
- debug('ToDo: MitarbeiterTreeFunktionSort');
-}
-
-function MitarbeiterTreeEntwicklungsteamSort()
-{
- debug('ToDo: MitarbeiterTreeEntwicklungsteamSort');
-}
-
-function MitarbeiterTreeVerwendungSort()
-{
- debug('ToDo: MitarbeiterTreeVerwendungSort');
-}
-
-
-// ****
-// * Oeffnet ein Fenster mit den Details der gesamten Person
-// ****
-function MitarbeiterShowPersonendetails()
-{
- person_id = document.getElementById('mitarbeiter-detail-textbox-person_id').value;
- window.open('vilesci/personen/personendetails.php?id='+person_id,'Personendetails','');
-}
-
-function MitarbeiterTermineIFrameLoad()
-{
- uid = document.getElementById('mitarbeiter-detail-textbox-uid').value;
- if(uid!='')
- {
- url = 'termine.xul.php?mitarbeiter_uid='+uid+'&ts='+gettimestamp();
- document.getElementById('mitarbeiter-termine').setAttribute('src',url);
- }
-}
+,
+ * Andreas Oesterreicher ,
+ * Rudolf Hangl and
+ * Andreas moik .
+ */
+
+require_once('../../config/vilesci.config.inc.php');
+require_once('../../include/functions.inc.php');
+require_once('../../include/variable.class.php');
+
+$user = get_uid();
+$variable = new variable();
+$variable->loadVariables($user);
+?>
+// *********** Globale Variablen *****************//
+var MitarbeiterSelectUid=null; //UID des zu selektierenden Mitarbeiters
+var MitarbeiterTreeDatasource=null; // Datasource des Mitarbeiter Trees
+var MitarbeiterTreeLoadDataOnSelect=true; // Gibt an ob die Details beim markieren eines Mitarbeiters geladen werden sollen
+var MitarbeiterVerwendungTreeDatasource=null; // Datasource des Verwendungstrees
+var MitarbeiterVerwendungSelectID=null; // ID der Verwendung die nach dem rebuild markiert werden soll
+var MitarbeiterFunktionTreeDatasource=null; // Datasource des Verwendungstrees
+var MitarbeiterFunktionSelectVerwendungID=null; // ID der Verwendung der Funktion die nach dem rebuild markiert werden soll
+var MitarbeiterFunktionSelectStudiengangID=null; // ID des Studiengangs der Funktion die nach dem rebuild markiert werden soll
+var MitarbeiterEntwicklungsteamTreeDatasource=null; // Datasource des Entwicklungsteamtrees
+var MitarbeiterEntwicklungsteamSelectMitarbeiterUID=null; // UID des Mitarbeiters des Entwicklugnsteams das nach dem rebuild markiert werden soll
+var MitarbeiterEntwicklungsteamSelectStudiengangID=null; // ID des Stg des Entwicklungsteams das nach dem rebuild markiert werden soll
+var MitarbeiterEntwicklungsteamDoubleRefresh=false; // Wenn auf einen Tree der eine leere Datasource enthaelt eine neue Datasource angehaengt wird, dann muss doppelt refresht werden
+var MitarbeiterTreeLoadDataOnSelect2=true; // Gibt an ob die Details beim markieren eines Mitarbeiters geladen werden sollen
+var MitarbeiterDetailValueChanged=false;
+// ********** Observer und Listener ************* //
+
+
+// ****
+// * Observer fuer Mitarbeiter Tree
+// * startet Rebuild nachdem das Refresh
+// * der Datasource fertig ist
+// ****
+var MitarbeiterTreeSinkObserver =
+{
+ onBeginLoad : function(pSink)
+ {
+ MitarbeiterTreeLoadDataOnSelect2=false;
+ },
+ onInterrupt : function(pSink) {},
+ onResume : function(pSink) {},
+ onError : function(pSink, pStatus, pError) {},
+ onEndLoad : function(pSink)
+ {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ document.getElementById('mitarbeiter-tree').builder.rebuild();
+ }
+};
+
+// ****
+// * Nach dem Rebuild wird der Mitarbeiter wieder
+// * markiert
+// ****
+var MitarbeiterTreeListener =
+{
+ willRebuild : function(builder)
+ {
+ },
+ didRebuild : function(builder)
+ {
+ //timeout nur bei Mozilla notwendig da sonst die rows
+ //noch keine values haben. Ab Seamonkey funktionierts auch
+ //ohne dem setTimeout
+ MitarbeiterTreeLoadDataOnSelect2=true;
+ window.setTimeout(MitarbeiterTreeSelectMitarbeiter,10);
+ }
+};
+
+// ****
+// * Observer fuer Mitarbeiter VerwendungTree
+// * startet Rebuild nachdem das Refresh
+// * der Datasource fertig ist
+// ****
+var MitarbeiterVerwendungTreeSinkObserver =
+{
+ onBeginLoad : function(pSink)
+ {
+ },
+ onInterrupt : function(pSink) {},
+ onResume : function(pSink) {},
+ onError : function(pSink, pStatus, pError) {},
+ onEndLoad : function(pSink)
+ {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ document.getElementById('mitarbeiter-tree-verwendung').builder.rebuild();
+ }
+};
+
+// ****
+// * Nach dem Rebuild wird der Mitarbeiter wieder
+// * markiert
+// ****
+var MitarbeiterVerwendungTreeListener =
+{
+ willRebuild : function(builder)
+ {
+ },
+ didRebuild : function(builder)
+ {
+ //timeout nur bei Mozilla notwendig da sonst die rows
+ //noch keine values haben. Ab Seamonkey funktionierts auch
+ //ohne dem setTimeout
+ window.setTimeout(MitarbeiterVerwendungTreeSelect,10);
+ }
+};
+
+// ****
+// * Observer fuer Mitarbeiter FunktionTree
+// * startet Rebuild nachdem das Refresh
+// * der Datasource fertig ist
+// ****
+var MitarbeiterFunktionTreeSinkObserver =
+{
+ onBeginLoad : function(pSink)
+ {
+ },
+ onInterrupt : function(pSink) {},
+ onResume : function(pSink) {},
+ onError : function(pSink, pStatus, pError) {},
+ onEndLoad : function(pSink)
+ {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ document.getElementById('mitarbeiter-tree-funktion').builder.rebuild();
+ }
+};
+
+// ****
+// * Nach dem Rebuild wird die Funktion wieder
+// * markiert
+// ****
+var MitarbeiterFunktionTreeListener =
+{
+ willRebuild : function(builder)
+ {
+ },
+ didRebuild : function(builder)
+ {
+ //timeout nur bei Mozilla notwendig da sonst die rows
+ //noch keine values haben. Ab Seamonkey funktionierts auch
+ //ohne dem setTimeout
+ window.setTimeout(MitarbeiterFunktionTreeSelect,10);
+ }
+};
+
+// ****
+// * Observer fuer Mitarbeiter EntwicklungsteamTree
+// * startet Rebuild nachdem das Refresh
+// * der Datasource fertig ist
+// ****
+var MitarbeiterEntwicklungsteamTreeSinkObserver =
+{
+ onBeginLoad : function(pSink)
+ {
+ },
+ onInterrupt : function(pSink) {},
+ onResume : function(pSink) {},
+ onError : function(pSink, pStatus, pError) {},
+ onEndLoad : function(pSink)
+ {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ document.getElementById('mitarbeiter-tree-entwicklungsteam').builder.rebuild();
+ }
+};
+
+// ****
+// * Nach dem Rebuild wird die Funktion wieder
+// * markiert
+// ****
+var MitarbeiterEntwicklungsteamTreeListener =
+{
+ willRebuild : function(builder)
+ {
+ },
+ didRebuild : function(builder)
+ {
+ //timeout nur bei Mozilla notwendig da sonst die rows
+ //noch keine values haben. Ab Seamonkey funktionierts auch
+ //ohne dem setTimeout
+ if(MitarbeiterEntwicklungsteamDoubleRefresh)
+ {
+ MitarbeiterEntwicklungsteamDoubleRefresh=false;
+ window.setTimeout("MitarbeiterEntwicklungsteamTreeRefresh()",10);
+ }
+ else
+ window.setTimeout(MitarbeiterEntwicklungsteamTreeSelect,10);
+ }
+};
+
+// ****************** FUNKTIONEN ************************** //
+
+// ****
+// * Beim Sortieren des Trees wird der markierte Eintrag gespeichert und nach dem sortieren
+// * wieder markiert.
+// ****
+function MitarbeiterTreeSort()
+{
+ var i;
+ var tree=document.getElementById('mitarbeiter-tree');
+ if(tree.currentIndex>=0)
+ i = tree.currentIndex;
+ else
+ i = 0;
+ col = tree.columns ? tree.columns["mitarbeiter-treecol-uid"] : "mitarbeiter-treecol-uid";
+ MitarbeiterSelectUid = tree.view.getCellText(i,col);
+ MitarbeiterTreeLoadDataOnSelect=false;
+ window.setTimeout("MitarbeiterTreeSelectMitarbeiter()",10);
+}
+
+// ****
+// * Beim Auswaehlen eines Mitarbeiter-Filters werden die Mitarbeiter
+// * die diesem Filter entsprechen geladen
+// ****
+function onMitarbeiterSelect()
+{
+ //Warnung falls Daten veraendert wurden aber noch nicht gespeichert
+ if(MitarbeiterDetailValueChanged)
+ {
+ if(!confirm('Achtung! Die Daten wurden veraendert aber noch nicht gespeichert. Neuen Datensatz trotzdem laden? (Die geaenderten Daten gehen dabei verloren)'))
+ return false;
+ }
+
+ MitarbeiterDetailValueChanged=false;
+
+ var tree=document.getElementById('tree-menu-mitarbeiter');
+ var col = tree.columns ? tree.columns["tree-menu-mitarbeiter-col-filter"] : "tree-menu-mitarbeiter-col-filter";
+
+ if(tree.currentIndex==-1)
+ return false;
+
+ var filter=tree.view.getCellText(tree.currentIndex,col);
+ var url = "rdf/personal.rdf.php";
+ var attributes="?type=unknown";
+
+ if(filter=="")
+ filter="Studiengangsleiter";
+
+ 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&aktiv=true";
+ }
+ if (filter=="ohneVerwendung")
+ {
+ attributes+="&verwendung=false&aktiv=true";
+ }
+ if (filter=="mitVerwendung")
+ {
+ attributes+="&verwendung=true&aktiv=false";
+ }
+ if (filter=="FreiAngestellte")
+ {
+ attributes+="&fix=false&aktiv=true";
+ }
+ if (filter=="FreiAngestellteAlle")
+ {
+ attributes+="&fix=false";
+ }
+ if(filter=="VertragNochNichtRetour")
+ {
+ attributes+="&VertragNochNichtRetour";
+ }
+ if(filter=="VertragHabilitiert")
+ {
+ attributes+="&VertragHabilitiert";
+ }
+ if(filter=="VertragNichtHabilitiert")
+ {
+ attributes+="&VertragNichtHabilitiert";
+ }
+ if(filter=="VertragNichtGedruckt")
+ {
+ attributes+="&VertragNichtGedruckt";
+ }
+ document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
+ //Timestamp anhaengen da beim Laden von Zwischengespeicherten Dateien kein
+ //Observer Event ausgeloest wird.
+ url+=attributes+'&'+gettimestamp();
+
+ //Mitarbeiter Detail Felder deaktivieren
+ MitarbeiterDetailDisableFields(true);
+
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+
+ var tree=document.getElementById('mitarbeiter-tree');
+
+ try
+ {
+ MitarbeiterTreeDatasource.removeXMLSinkObserver(MitarbeiterTreeSinkObserver);
+ tree.builder.removeListener(MitarbeiterTreeListener);
+ }
+ catch(e)
+ {}
+
+ ///Alte DS entfernen
+ var oldDatasources = tree.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ tree.database.RemoveDataSource(oldDatasources.getNext());
+ }
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ MitarbeiterTreeDatasource = rdfService.GetDataSource(url);
+ MitarbeiterTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ MitarbeiterTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
+ tree.database.AddDataSource(MitarbeiterTreeDatasource);
+ MitarbeiterTreeDatasource.addXMLSinkObserver(MitarbeiterTreeSinkObserver);
+ tree.builder.addListener(MitarbeiterTreeListener);
+}
+
+// ****
+// * Selectiert den Mitarbeiter nachdem der Tree
+// * rebuildet wurde.
+// ****
+function MitarbeiterTreeSelectMitarbeiter()
+{
+ var tree=document.getElementById('mitarbeiter-tree');
+ var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
+
+ //In der globalen Variable ist der zu selektierende Mitarbeiter gespeichert
+ if(MitarbeiterSelectUid!=null)
+ {
+ for(var i=0;i=0)
+ i = tree.currentIndex;
+ else
+ i = 0;
+ col = tree.columns ? tree.columns["mitarbeiter-treecol-uid"] : "mitarbeiter-treecol-uid";
+ MitarbeiterSelectUid = tree.view.getCellText(i,col);
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ MitarbeiterTreeDatasource.Refresh(false);
+}
+
+// ****
+// * De-/Aktiviert die Mitarbeiter Detail Felder
+// ****
+function MitarbeiterDetailDisableFields(val)
+{
+ //document.getElementById('mitarbeiter-detail-textbox-uid').disabled=val;
+ document.getElementById('mitarbeiter-detail-checkbox-aktiv').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-anrede').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-titelpre').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-titelpost').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-nachname').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-vorname').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-vornamen').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-geburtsdatum').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-geburtsort').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-geburtszeit').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-svnr').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-ersatzkennzeichen').disabled=val;
+ document.getElementById('mitarbeiter-detail-menulist-staatsbuergerschaft').disabled=val;
+ document.getElementById('mitarbeiter-detail-menulist-geburtsnation').disabled=val;
+ document.getElementById('mitarbeiter-detail-menulist-sprache').disabled=val;
+ document.getElementById('mitarbeiter-detail-menulist-geschlecht').disabled=val;
+ document.getElementById('mitarbeiter-detail-menulist-familienstand').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-anzahlderkinder').disabled=val;
+ document.getElementById('mitarbeiter-detail-button-image-upload').disabled=val;
+ document.getElementById('mitarbeiter-detail-button-image-delete').disabled=val;
+ document.getElementById('mitarbeiter-detail-button-image-infomail').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-anmerkung').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-homepage').disabled=val;
+
+ //document.getElementById('mitarbeiter-detail-textbox-personalnummer').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-kurzbezeichnung').disabled=val;
+ document.getElementById('mitarbeiter-detail-checkbox-lektor').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-stundensatz').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-telefonklappe').disabled=val;
+ document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').disabled=val;
+ document.getElementById('mitarbeiter-detail-checkbox-bismelden').disabled=val;
+ document.getElementById('mitarbeiter-detail-menulist-ort_kurzbz').disabled=val;
+ document.getElementById('mitarbeiter-detail-menulist-standort').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-mitarbeiteranmerkung').disabled=val;
+ document.getElementById('mitarbeiter-detail-menulist-ausbildung').disabled=val;
+ document.getElementById('mitarbeiter-detail-button-speichern').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-alias').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-urlaubsanspruch').disabled=val;
+ document.getElementById('mitarbeiter-detail-textbox-resturlaubstage').disabled=val;
+ document.getElementById('mitarbeiter-detail-checkbox-kleriker').disabled=val;
+}
+
+function MitarbeiterAuswahl()
+{
+ if(!MitarbeiterTreeLoadDataOnSelect)
+ {
+ MitarbeiterTreeLoadDataOnSelect=true;
+ return true;
+ }
+ if(!MitarbeiterTreeLoadDataOnSelect2)
+ return true;
+
+ //Warnung falls Daten veraendert aber noch nicht gespeichert wurden
+ if(MitarbeiterDetailValueChanged)
+ {
+ if(!confirm('Achtung! Die Daten wurden veraendert aber noch nicht gespeichert. Neuen Datensatz trotzdem laden? (Die geaenderten Daten gehen dabei verloren)'))
+ return false;
+ }
+
+ MitarbeiterDetailValueChanged=false;
+
+ // Trick 17 (sonst gibt's ein Permission denied)
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ var tree = document.getElementById('mitarbeiter-tree');
+
+ if (tree.currentIndex==-1) return;
+
+ try
+ {
+ //Ausgewaehlte UID holen
+ var col = tree.columns ? tree.columns["mitarbeiter-treecol-uid"] : "mitarbeiter-treecol-uid";
+ var uid=tree.view.getCellText(tree.currentIndex,col);
+ if(uid!='')
+ {
+ //Aktivieren der Felder
+ MitarbeiterDetailDisableFields(false);
+ MitarbeiterFunktionIFrameUnLoad();
+ }
+ else
+ {
+ return false;
+ }
+ }
+ catch(e)
+ {
+ alert(e);
+ return false;
+ }
+
+ var url = 'rdf/personal.rdf.php?uid='+uid+'&'+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/mitarbeiter/" + uid);
+
+ var predicateNS = "http://www.technikum-wien.at/mitarbeiter/rdf";
+
+ //Daten holen
+
+ anrede = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anrede" ));
+ titelpre=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#titelpre" ));
+ titelpost=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#titelpost" ));
+ vorname=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vorname" ));
+ vornamen=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vornamen" ));
+ nachname=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#nachname" ));
+ geburtsdatum=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsdatum" ));
+ geburtsort=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsort" ));
+ geburtszeit=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtszeit" ));
+ anmerkungen=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkungen" ));
+ homepage=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#homepage" ));
+ svnr=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#svnr" ));
+ ersatzkennzeichen=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ersatzkennzeichen" ));
+ familienstand=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#familienstand" ));
+ geschlecht=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geschlecht" ));
+ aktiv=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aktiv" ));
+ anzahlderkinder=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anzahlkinder" ));
+ staatsbuergerschaft=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#staatsbuergerschaft" ));
+ geburtsnation=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsnation" ));
+ sprache=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#sprache" ));
+ person_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#person_id" ));
+
+ personalnummer=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#personalnummer" ));
+ kurzbezeichnung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#kurzbz" ));
+ stundensatz=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatz" ));
+ telefonklappe=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#telefonklappe" ));
+ lektor=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lektor" ));
+ fixangestellt=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fixangestellt" ));
+ bismelden=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bismelden" ));
+ ausbildung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ausbildung" ));
+ anmerkung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
+ ort_kurzbz=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ort_kurzbz" ));
+ standort_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#standort_id" ));
+ alias=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#alias" ));
+ urlaubstageprojahr=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#urlaubstageprojahr" ));
+ resturlaubstage=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#resturlaubstage" ));
+ kleriker=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#kleriker" ));
+
+ //Daten den Feldern zuweisen
+
+ //Personendaten
+ document.getElementById('mitarbeiter-detail-textbox-uid').value=uid;
+ document.getElementById('mitarbeiter-detail-textbox-anrede').value=anrede;
+ document.getElementById('mitarbeiter-detail-textbox-titelpre').value=titelpre;
+ document.getElementById('mitarbeiter-detail-textbox-titelpost').value=titelpost;
+ document.getElementById('mitarbeiter-detail-textbox-vorname').value=vorname;
+ document.getElementById('mitarbeiter-detail-textbox-vornamen').value=vornamen;
+ document.getElementById('mitarbeiter-detail-textbox-nachname').value=nachname;
+ document.getElementById('mitarbeiter-detail-textbox-geburtsdatum').value=geburtsdatum;
+ document.getElementById('mitarbeiter-detail-textbox-geburtsort').value=geburtsort;
+ document.getElementById('mitarbeiter-detail-textbox-geburtszeit').value=geburtszeit;
+ document.getElementById('mitarbeiter-detail-textbox-anmerkung').value=anmerkungen;
+ document.getElementById('mitarbeiter-detail-textbox-homepage').value=homepage;
+ document.getElementById('mitarbeiter-detail-textbox-svnr').value=svnr;
+ document.getElementById('mitarbeiter-detail-textbox-ersatzkennzeichen').value=ersatzkennzeichen;
+ document.getElementById('mitarbeiter-detail-menulist-familienstand').value=familienstand;
+ document.getElementById('mitarbeiter-detail-menulist-geschlecht').value=geschlecht;
+
+ if(aktiv=='Ja')
+ document.getElementById('mitarbeiter-detail-checkbox-aktiv').checked=true;
+ else
+ document.getElementById('mitarbeiter-detail-checkbox-aktiv').checked=false;
+ document.getElementById('mitarbeiter-detail-textbox-anzahlderkinder').value=anzahlderkinder;
+ document.getElementById('mitarbeiter-detail-menulist-staatsbuergerschaft').value=staatsbuergerschaft;
+ document.getElementById('mitarbeiter-detail-menulist-geburtsnation').value=geburtsnation;
+ document.getElementById('mitarbeiter-detail-menulist-sprache').value=sprache;
+ document.getElementById('mitarbeiter-detail-image').src='content/bild.php?src=person&person_id='+person_id+'&'+gettimestamp();
+ document.getElementById('mitarbeiter-detail-textbox-person_id').value=person_id;
+
+ //Mitarbeiterdaten
+ document.getElementById('mitarbeiter-detail-textbox-personalnummer').value=personalnummer;
+ document.getElementById('mitarbeiter-detail-textbox-kurzbezeichnung').value=kurzbezeichnung;
+ document.getElementById('mitarbeiter-detail-textbox-stundensatz').value=stundensatz;
+ document.getElementById('mitarbeiter-detail-textbox-telefonklappe').value=telefonklappe;
+ if(lektor=='Ja')
+ document.getElementById('mitarbeiter-detail-checkbox-lektor').checked=true;
+ else
+ document.getElementById('mitarbeiter-detail-checkbox-lektor').checked=false;
+
+ if(fixangestellt=='Ja')
+ document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').checked=true;
+ else
+ document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').checked=false;
+
+ if(bismelden=='Ja')
+ document.getElementById('mitarbeiter-detail-checkbox-bismelden').checked=true;
+ else
+ document.getElementById('mitarbeiter-detail-checkbox-bismelden').checked=false;
+
+ if(kleriker=='Ja')
+ document.getElementById('mitarbeiter-detail-checkbox-kleriker').checked=true;
+ else
+ document.getElementById('mitarbeiter-detail-checkbox-kleriker').checked=false;
+
+ document.getElementById('mitarbeiter-detail-menulist-ausbildung').value=ausbildung;
+ document.getElementById('mitarbeiter-detail-textbox-mitarbeiteranmerkung').value=anmerkung;
+ document.getElementById('mitarbeiter-detail-menulist-ort_kurzbz').value=ort_kurzbz;
+ document.getElementById('mitarbeiter-detail-menulist-standort').value=standort_id;
+ document.getElementById('mitarbeiter-detail-textbox-alias').value=alias;
+ document.getElementById('mitarbeiter-detail-textbox-urlaubsanspruch').value=urlaubstageprojahr;
+ document.getElementById('mitarbeiter-detail-textbox-resturlaubstage').value=resturlaubstage;
+ // ***** KONTAKTE *****
+ document.getElementById('mitarbeiter-kontakt').setAttribute('src','kontakt.xul.php?person_id='+person_id);
+
+ // ***** BETRIEBSMITTEL *****
+ document.getElementById('mitarbeiter-betriebsmittel').setAttribute('src','betriebsmitteloverlay.xul.php?person_id='+person_id+'&uid='+uid);
+
+
+ if(document.getElementById('mitarbeiter-tabs').selectedItem==document.getElementById('mitarbeiter-tab-termine'))
+ {
+ // ***** Termine *****
+ document.getElementById('mitarbeiter-termine').setAttribute('src','termine.xul.php?mitarbeiter_uid='+uid);
+ }
+
+ // **** VERWENDUNG ****
+ verwendungtree = document.getElementById('mitarbeiter-tree-verwendung');
+ url='rdf/bisverwendung.rdf.php?uid='+uid+"&"+gettimestamp();
+
+ try
+ {
+ MitarbeiterVerwendungTreeDatasource.removeXMLSinkObserver(MitarbeiterVerwendungTreeSinkObserver);
+ verwendungtree.builder.removeListener(MitarbeiterVerwendungTreeListener);
+ }
+ catch(e)
+ {}
+
+ //Alte DS entfernen
+ var oldDatasources = verwendungtree.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ verwendungtree.database.RemoveDataSource(oldDatasources.getNext());
+ }
+ //Refresh damit die entfernten DS auch wirklich entfernt werden
+ verwendungtree.builder.rebuild();
+
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ MitarbeiterVerwendungTreeDatasource = rdfService.GetDataSource(url);
+ MitarbeiterVerwendungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ MitarbeiterVerwendungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
+ verwendungtree.database.AddDataSource(MitarbeiterVerwendungTreeDatasource);
+ MitarbeiterVerwendungTreeDatasource.addXMLSinkObserver(MitarbeiterVerwendungTreeSinkObserver);
+ verwendungtree.builder.addListener(MitarbeiterVerwendungTreeListener);
+
+ MitarbeiterVerwendungDisableFields(false);
+
+ // **** ENTWICKLUNGSTEAM ****
+ entwicklungsteamtree = document.getElementById('mitarbeiter-tree-entwicklungsteam');
+ url='rdf/entwicklungsteam.rdf.php?mitarbeiter_uid='+uid+"&"+gettimestamp();
+
+ try
+ {
+ MitarbeiterEntwicklungsteamTreeDatasource.removeXMLSinkObserver(MitarbeiterEntwicklungsteamTreeSinkObserver);
+ entwicklungsteamtree.builder.removeListener(MitarbeiterEntwicklungsteamTreeListener);
+ }
+ catch(e)
+ {}
+
+ //Alte DS entfernen
+ var oldDatasources = entwicklungsteamtree.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ entwicklungsteamtree.database.RemoveDataSource(oldDatasources.getNext());
+ }
+ //Refresh damit die entfernten DS auch wirklich entfernt werden
+ entwicklungsteamtree.builder.rebuild();
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ MitarbeiterEntwicklungsteamTreeDatasource = rdfService.GetDataSource(url);
+ MitarbeiterEntwicklungsteamTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ MitarbeiterEntwicklungsteamTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
+ entwicklungsteamtree.database.AddDataSource(MitarbeiterEntwicklungsteamTreeDatasource);
+ MitarbeiterEntwicklungsteamTreeDatasource.addXMLSinkObserver(MitarbeiterEntwicklungsteamTreeSinkObserver);
+ entwicklungsteamtree.builder.addListener(MitarbeiterEntwicklungsteamTreeListener);
+
+ MitarbeiterEntwicklungsteamDetailDisableFields(true);
+ MitarbeiterEntwicklungsteamDisableFields(false);
+
+ // Funktionen Tree Leeren
+ funktiontree = document.getElementById('mitarbeiter-tree-funktion');
+
+ //Alte DS entfernen
+ var oldDatasources = funktiontree.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ funktiontree.database.RemoveDataSource(oldDatasources.getNext());
+ }
+ //Refresh damit die entfernten DS auch wirklich entfernt werden
+ funktiontree.builder.rebuild();
+
+ MitarbeiterFunktionDisableFields(true);
+
+ //Funktionen Laden
+ if(document.getElementById('mitarbeiter-tabs').selectedItem==document.getElementById('mitarbeiter-tab-funktionen'))
+ {
+ 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)
+ {
+ if(typeof addon[i].selectMitarbeiter=='function')
+ addon[i].selectMitarbeiter(person_id, uid);
+ }
+}
+
+// ****
+// * Laedt ein Bild zu einer Person in die Datenbank
+// ****
+function MitarbeiterImageUpload()
+{
+ person_id = document.getElementById('mitarbeiter-detail-textbox-person_id').value;
+ if(person_id!='')
+ {
+ window.open('content/bildupload.php?person_id='+person_id,'Bild Upload', 'height=10,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
+ }
+ else
+ alert('Es wurde keine Person ausgewaehlt');
+}
+
+// ****
+// * Loescht das Bild aus der DB
+// ****
+function MitarbeiterImageDelete()
+{
+ person_id = document.getElementById('mitarbeiter-detail-textbox-person_id').value;
+ if(person_id!='')
+ {
+ var url = 'content/fasDBDML.php';
+ var req = new phpRequest(url,'','');
+
+ req.add('type', 'imagedelete');
+ req.add('person_id', person_id);
+ req.add('studiengang_kz', '');
+
+ 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
+ {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ uid = document.getElementById('mitarbeiter-detail-textbox-uid').value;
+ MitarbeiterSelectUid=uid;
+ MitarbeiterTreeDatasource.Refresh(false); //non blocking
+ SetStatusBarText('Bild wurde geloescht');
+ }
+ }
+ else
+ alert('Es wurde keine Person ausgewaehlt');
+}
+
+// ****
+// * Speichert die Mitarbeiterdaten
+// ****
+function MitarbeiterSave()
+{
+ //Daten holen
+ uid = document.getElementById('mitarbeiter-detail-textbox-uid').value;
+ anrede = document.getElementById('mitarbeiter-detail-textbox-anrede').value;
+ titelpre = document.getElementById('mitarbeiter-detail-textbox-titelpre').value;
+ titelpost = document.getElementById('mitarbeiter-detail-textbox-titelpost').value;
+ vorname = document.getElementById('mitarbeiter-detail-textbox-vorname').value;
+ vornamen = document.getElementById('mitarbeiter-detail-textbox-vornamen').value;
+ nachname = document.getElementById('mitarbeiter-detail-textbox-nachname').value;
+ geburtsdatum = document.getElementById('mitarbeiter-detail-textbox-geburtsdatum').value;
+ geburtsort = document.getElementById('mitarbeiter-detail-textbox-geburtsort').value;
+ geburtszeit = document.getElementById('mitarbeiter-detail-textbox-geburtszeit').value;
+ anmerkungen = document.getElementById('mitarbeiter-detail-textbox-anmerkung').value;
+ homepage = document.getElementById('mitarbeiter-detail-textbox-homepage').value;
+ svnr = document.getElementById('mitarbeiter-detail-textbox-svnr').value;
+ ersatzkennzeichen = document.getElementById('mitarbeiter-detail-textbox-ersatzkennzeichen').value;
+ familienstand = document.getElementById('mitarbeiter-detail-menulist-familienstand').value;
+ geschlecht = document.getElementById('mitarbeiter-detail-menulist-geschlecht').value;
+ aktiv = document.getElementById('mitarbeiter-detail-checkbox-aktiv').checked;
+ anzahlderkinder = document.getElementById('mitarbeiter-detail-textbox-anzahlderkinder').value;
+ staatsbuergerschaft = document.getElementById('mitarbeiter-detail-menulist-staatsbuergerschaft').value;
+ geburtsnation = document.getElementById('mitarbeiter-detail-menulist-geburtsnation').value;
+ sprache = document.getElementById('mitarbeiter-detail-menulist-sprache').value;
+ person_id = document.getElementById('mitarbeiter-detail-textbox-person_id').value;
+
+ //Mitarbeiterdaten
+ personalnummer = document.getElementById('mitarbeiter-detail-textbox-personalnummer').value;
+ kurzbezeichnung = document.getElementById('mitarbeiter-detail-textbox-kurzbezeichnung').value;
+ stundensatz = document.getElementById('mitarbeiter-detail-textbox-stundensatz').value;
+ telefonklappe = document.getElementById('mitarbeiter-detail-textbox-telefonklappe').value;
+ lektor = document.getElementById('mitarbeiter-detail-checkbox-lektor').checked;
+ fixangestellt = document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').checked;
+ bismelden = document.getElementById('mitarbeiter-detail-checkbox-bismelden').checked;
+ ausbildung = document.getElementById('mitarbeiter-detail-menulist-ausbildung').value;
+ anmerkung = document.getElementById('mitarbeiter-detail-textbox-mitarbeiteranmerkung').value;
+ ort_kurzbz = document.getElementById('mitarbeiter-detail-menulist-ort_kurzbz').value;
+ standort_id = document.getElementById('mitarbeiter-detail-menulist-standort').value;
+ alias = document.getElementById('mitarbeiter-detail-textbox-alias').value;
+ kleriker = document.getElementById('mitarbeiter-detail-checkbox-kleriker').checked;
+
+ urlaubsanspruch = document.getElementById('mitarbeiter-detail-textbox-urlaubsanspruch').value;
+ resturlaubstage = document.getElementById('mitarbeiter-detail-textbox-resturlaubstage').value;
+
+ if(geburtsdatum!='' && !CheckDatum(geburtsdatum))
+ {
+ alert('Geburtsdatum ist ungueltig');
+ return false;
+ }
+
+ var url = 'content/mitarbeiter/mitarbeiterDBDML.php';
+ var req = new phpRequest(url,'','');
+
+ req.add('type', 'mitarbeitersave');
+
+ req.add('uid', uid);
+ req.add('anrede', anrede);
+ req.add('titelpre', titelpre);
+ req.add('titelpost', titelpost);
+ req.add('vorname', vorname);
+ req.add('vornamen', vornamen);
+ req.add('nachname', nachname);
+ req.add('geburtsdatum', ConvertDateToISO(geburtsdatum));
+ req.add('geburtsort', geburtsort);
+ req.add('geburtszeit', geburtszeit);
+ req.add('anmerkungen', anmerkungen);
+ req.add('homepage', homepage);
+ req.add('svnr', svnr);
+ req.add('ersatzkennzeichen', ersatzkennzeichen);
+ req.add('familienstand', familienstand);
+ req.add('geschlecht', geschlecht);
+ req.add('aktiv', aktiv);
+ req.add('anzahlderkinder', anzahlderkinder);
+ req.add('staatsbuergerschaft', staatsbuergerschaft);
+ req.add('geburtsnation', geburtsnation);
+ req.add('sprache', sprache);
+ req.add('kurzbezeichnung', kurzbezeichnung);
+ req.add('stundensatz', stundensatz);
+ req.add('telefonklappe', telefonklappe);
+ req.add('lektor', lektor);
+ req.add('fixangestellt', fixangestellt);
+ req.add('bismelden', bismelden);
+ req.add('ausbildung', ausbildung);
+ req.add('anmerkung', anmerkung);
+ req.add('ort_kurzbz', ort_kurzbz);
+ req.add('standort_id', standort_id);
+ req.add('alias', alias);
+ req.add('urlaubsanspruch', urlaubsanspruch);
+ req.add('resturlaubstage', resturlaubstage);
+ req.add('kleriker', kleriker);
+ req.add('personalnummer', personalnummer);
+
+ var response = req.executePOST();
+
+ var val = new ParseReturnValue(response)
+
+ MitarbeiterDetailValueChanged=false;
+
+ if (!val.dbdml_return)
+ {
+ if(val.dbdml_errormsg=='')
+ alert(response)
+ else
+ alert(val.dbdml_errormsg)
+ }
+ else
+ {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+
+ MitarbeiterSelectUid=uid;
+ MitarbeiterTreeDatasource.Refresh(false); //non blocking
+ SetStatusBarText('Daten wurden gespeichert');
+ }
+}
+
+// ****
+// * Ruft das Formular zum Eintragen des neuen Mitarbeiters auf
+// ****
+function MitarbeiterNeu()
+{
+ window.open('vilesci/personen/import/mitarbeiterimport.php','Mitarbeiter anlegen', 'height=768,width=1024,resizable=yes,status=yes,scrollbars=yes,toolbar=yes,location=yes,menubar=yes');
+}
+
+// ****
+// * Exportiert die Daten in ein Excel File
+// ****
+function MitarbeiterExport()
+{
+ var treeMitarbeiter=document.getElementById('mitarbeiter-tree');
+ var treeMitarbeiterMenu=document.getElementById('tree-menu-mitarbeiter');
+ 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 = "content/statistik/mitarbeiterexport.xls.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=='mitarbeiter-treecol-anrede') return 'anrede';
+ if(id=='mitarbeiter-treecol-titelpre') return 'titelpre';
+ if(id=='mitarbeiter-treecol-vorname') return 'vorname';
+ if(id=='mitarbeiter-treecol-vornamen') return 'vornamen';
+ if(id=='mitarbeiter-treecol-nachname') return 'nachname';
+ if(id=='mitarbeiter-treecol-titelpost') return 'titelpost';
+ if(id=='mitarbeiter-treecol-personalnummer') return 'personalnummer';
+ if(id=='mitarbeiter-treecol-geburtsdatum') return 'gebdatum';
+ if(id=='mitarbeiter-treecol-geburtsdatum_iso') return 'gebdatum';
+ if(id=='mitarbeiter-treecol-svnr') return 'svnr';
+ if(id=='mitarbeiter-treecol-ersatzkennzeichen') return 'ersatzkennzeichen';
+ if(id=='mitarbeiter-treecol-uid') return 'uid';
+ if(id=='mitarbeiter-treecol-kurzbz') return 'kurzbz';
+ if(id=='mitarbeiter-treecol-geschlecht') return 'geschlecht';
+ if(id=='mitarbeiter-treecol-ort_kurzbz') return 'ort_kurzbz';
+ if(id=='mitarbeiter-treecol-telefonklappe') return 'telefonklappe';
+ if(id=='mitarbeiter-treecol-aktiv') return 'bnaktiv';
+ if(id=='mitarbeiter-treecol-person_id') return 'person_id';
+ if(id=='mitarbeiter-treecol-fixangestellt') return 'fixangestellt';
+ if(id=='mitarbeiter-treecol-lektor') return 'lektor';
+ if(id=='mitarbeiter-treecol-insertamum') return 'insertamum';
+ if(id=='mitarbeiter-treecol-insertamum_iso') return 'insertamum';
+ if(id=='mitarbeiter-treecol-insertvon') return 'insertvon';
+ if(id=='mitarbeiter-treecol-updateamum') return 'updateamum';
+ if(id=='mitarbeiter-treecol-updateamum_iso') return 'updateamum';
+ if(id=='mitarbeiter-treecol-updatevon') return 'updatevon';
+}
+
+function MitarbeiterSendMail()
+{
+ mailempfaenger='';
+ var treeMitarbeiter=document.getElementById('mitarbeiter-tree');
+ var numRanges = treeMitarbeiter.view.selection.getRangeCount();
+ var start = new Object();
+ var end = new Object();
+ var anzfault=0;
+ //Markierte Datensaetze holen
+ for (var t=0; t1)
+ {
+ if(mailempfaenger!='')
+ mailempfaenger=mailempfaenger+'variable->emailadressentrennzeichen; ?>'+treeMitarbeiter.view.getCellText(v,col)+'@';
+ else
+ mailempfaenger='mailto:'+treeMitarbeiter.view.getCellText(v,col)+'@';
+ }
+ else
+ {
+ anzfault=anzfault+1;
+ }
+ }
+ }
+ if(anzfault!=0)
+ alert(anzfault+' Mitarbeiter konnten nicht hinzugefuegt werden weil keine UID eingetragen ist!');
+ window.location.href=mailempfaenger;
+}
+
+/**
+ * Mail an Private EMailadresse senden
+ */
+function MitarbeiterSendMailPrivat()
+{
+ var treeMitarbeiter=document.getElementById('mitarbeiter-tree');
+ var numRanges = treeMitarbeiter.view.selection.getRangeCount();
+ var start = new Object();
+ var end = new Object();
+ var uids='';
+ //Markierte Datensaetze holen
+ for (var t=0; tcontent/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid+"&bisverwendung_id="+bisverwendung_id,"popup","chrome, status=no, width=500, height=400, centerscreen, resizable");
+}
+
+// ****
+// * Ruft den Dialog zum Eintragen der Verwendungen auf
+// ****
+function MitarbeiterVerwendungNeu()
+{
+ var tree=document.getElementById('mitarbeiter-tree');
+
+ //Uid der row holen
+ col = tree.columns ? tree.columns["mitarbeiter-treecol-uid"] : "mitarbeiter-treecol-uid";
+ mitarbeiter_uid=tree.view.getCellText(tree.currentIndex,col);
+
+ window.open("content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid,"popup","chrome, status=no, width=500, height=350, centerscreen, resizable");
+}
+
+function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_uid, neu)
+{
+ ba1code = dialog.getElementById('mitarbeiter-verwendung-detail-menulist-beschart1').value;
+ ba2code = dialog.getElementById('mitarbeiter-verwendung-detail-menulist-beschart2').value;
+ beschausmasscode = dialog.getElementById('mitarbeiter-verwendung-detail-menulist-ausmass').value;
+ verwendung_code = dialog.getElementById('mitarbeiter-verwendung-detail-menulist-verwendung').value;
+ hauptberufcode = dialog.getElementById('mitarbeiter-verwendung-detail-menulist-hauptberuf').value;
+ hauptberuflich = dialog.getElementById('mitarbeiter-verwendung-detail-checkbox-hauptberuflich').checked;
+ habilitation = dialog.getElementById('mitarbeiter-verwendung-detail-checkbox-habilitation').checked;
+ beginn = dialog.getElementById('mitarbeiter-verwendung-detail-datum-beginn').value;
+ ende = dialog.getElementById('mitarbeiter-verwendung-detail-datum-ende').value;
+ vertragsstunden = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-vertragsstunden').value;
+ dv_art = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-dv_art').value;
+ inkludierte_lehre = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-inkludierte_lehre').value;
+
+ if(verwendung_code=='1' || verwendung_code=='5' || verwendung_code=='6')
+ {
+ if(hauptberuflich==true)
+ {
+ hauptberufcode='';
+ }
+ else
+ {
+ if(hauptberufcode=='')
+ {
+ alert('Hauptberuf muss ausgewaehlt werden');
+ return false;
+ }
+ }
+ }
+ else
+ {
+ if(hauptberuflich==true)
+ {
+ alert('Hauptberuflich darf bei dieser Verwendung nicht gesetzt sein');
+ return false;
+ }
+ }
+
+ if(beginn!='' && !CheckDatum(beginn))
+ {
+ alert('Beginn Datum ist ungueltig');
+ return false;
+ }
+
+ if(ende!='' && !CheckDatum(ende))
+ {
+ alert('Ende Datum ist ungueltig');
+ return false;
+ }
+
+ var url = 'content/mitarbeiter/mitarbeiterDBDML.php';
+ var req = new phpRequest(url,'','');
+
+ req.add('type', 'verwendungsave');
+
+ req.add('neu', neu);
+ req.add('mitarbeiter_uid', mitarbeiter_uid);
+ req.add('bisverwendung_id', bisverwendung_id);
+ req.add('ba1code', ba1code);
+ req.add('ba2code', ba2code);
+ req.add('beschausmasscode', beschausmasscode);
+ req.add('verwendung_code', verwendung_code);
+ req.add('hauptberufcode', hauptberufcode);
+ req.add('hauptberuflich', hauptberuflich);
+ req.add('habilitation', habilitation);
+ req.add('beginn', ConvertDateToISO(beginn));
+ req.add('ende', ConvertDateToISO(ende));
+ req.add('vertragsstunden', vertragsstunden);
+ req.add('dv_art', dv_art);
+ req.add('inkludierte_lehre', inkludierte_lehre);
+
+ var response = req.executePOST();
+
+ var val = new ParseReturnValue(response)
+
+ if (!val.dbdml_return)
+ {
+ if(val.dbdml_errormsg=='')
+ alert(response)
+ else
+ alert(val.dbdml_errormsg)
+ return false;
+ }
+ else
+ {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ MitarbeiterVerwendungSelectID = val.dbdml_data;
+ MitarbeiterVerwendungTreeDatasource.Refresh(false);
+ return true;
+ }
+}
+
+// ****
+// * Loescht eine Bisverwendung
+// ****
+function MitarbeiterVerwendungLoeschen()
+{
+ var tree=document.getElementById('mitarbeiter-tree-verwendung');
+
+ if (tree.currentIndex==-1)
+ {
+ alert('Bitte zuerst einen Eintrag auswaehlen');
+ return false;
+ }
+ //Bisverwendung_id holen
+ col = tree.columns ? tree.columns["mitarbeiter-verwendung-treecol-bisverwendung_id"] : "mitarbeiter-verwendung-treecol-bisverwendung_id";
+ bisverwendung_id=tree.view.getCellText(tree.currentIndex,col);
+
+ if(confirm('Diese Verwendung wirklich loeschen?'))
+ {
+
+ var url = 'content/mitarbeiter/mitarbeiterDBDML.php';
+ var req = new phpRequest(url,'','');
+
+ req.add('type', 'verwendungdelete');
+
+ req.add('bisverwendung_id', bisverwendung_id);
+
+ var response = req.executePOST();
+
+ var val = new ParseReturnValue(response)
+
+ if (!val.dbdml_return)
+ {
+ if(val.dbdml_errormsg=='')
+ alert(response)
+ else
+ alert(val.dbdml_errormsg)
+ return false;
+ }
+ else
+ {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ MitarbeiterVerwendungTreeDatasource.Refresh(false);
+ return true;
+ }
+ }
+}
+
+// *********** FUNKTION *************** //
+
+// ****
+// * Selectiert die Funktion nachdem der Tree
+// * rebuildet wurde.
+// ****
+function MitarbeiterFunktionTreeSelect()
+{
+ var tree=document.getElementById('mitarbeiter-tree-funktion');
+ var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
+
+ //In der globalen Variable ist der zu selektierende Verwendung gespeichert
+ if(MitarbeiterFunktionSelectStudiengangID!=null)
+ {
+ for(var i=0;i2)
+ {
+ //Datasource setzen und Felder deaktivieren
+ url = "rdf/personal.rdf.php?filter="+encodeURIComponent(filter)+"&"+gettimestamp();
+
+ var treeMitarbeiter=document.getElementById('mitarbeiter-tree');
+
+ try
+ {
+ MitarbeiterTreeDatasource.removeXMLSinkObserver(MitarbeiterTreeSinkObserver);
+ treeMitarbeiter.builder.removeListener(MitarbeiterTreeListener);
+ }
+ catch(e)
+ {}
+
+ //Alte DS entfernen
+ var oldDatasources = treeMitarbeiter.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ treeMitarbeiter.database.RemoveDataSource(oldDatasources.getNext());
+ }
+ treeMitarbeiter.builder.rebuild();
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ MitarbeiterTreeDatasource = rdfService.GetDataSource(url);
+ MitarbeiterTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ MitarbeiterTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
+ treeMitarbeiter.database.AddDataSource(MitarbeiterTreeDatasource);
+ MitarbeiterTreeDatasource.addXMLSinkObserver(MitarbeiterTreeSinkObserver);
+ treeMitarbeiter.builder.addListener(MitarbeiterTreeListener);
+
+ //Detailfelder Deaktivieren
+ MitarbeiterDetailDisableFields(true);
+ }
+ else
+ alert('Es muessen mindestens 3 Zeichen eingegeben werden');
+}
+
+function MitarbeiterImageInfomail()
+{
+ var uid = document.getElementById('mitarbeiter-detail-textbox-uid').value;
+ var anrede = document.getElementById('mitarbeiter-detail-textbox-anrede').value;
+ var nachname = document.getElementById('mitarbeiter-detail-textbox-nachname').value;
+ var sg='';
+ if(anrede=='Frau')
+ sg = 'Sehr geehrte';
+ else
+ sg = 'Sehr geehrter';
+ if(uid!='')
+ {
+ body=sg+" "+anrede+" "+nachname+"!%0A%0AIhr Profilbild wurde entfernt, da es nicht den aktuellen Bildrichtlinen entspricht.%0ABitte laden Sie unter CIS->Profil ein neues Profilbild hoch.";
+ window.location.href="mailto:"+uid+"@?subject=Profilbild&body="+body;
+ }
+ else
+ {
+ alert('Nur bei Studenten verfügbar');
+ }
+}
+
+// ****
+// * Wenn im Suchfeld Enter gedrueckt wird, dann die Suchfunktion starten
+// ****
+function MitarbeiterSearchFieldKeyPress(event)
+{
+ if(event.keyCode==13) //Enter
+ MitarbeiterSuche();
+}
+
+function MitarbeiterDetailValueChange()
+{
+ MitarbeiterDetailValueChanged=true;
+}
+
+function MitarbeiterTreeFunktionSort()
+{
+ debug('ToDo: MitarbeiterTreeFunktionSort');
+}
+
+function MitarbeiterTreeEntwicklungsteamSort()
+{
+ debug('ToDo: MitarbeiterTreeEntwicklungsteamSort');
+}
+
+function MitarbeiterTreeVerwendungSort()
+{
+ debug('ToDo: MitarbeiterTreeVerwendungSort');
+}
+
+
+// ****
+// * Oeffnet ein Fenster mit den Details der gesamten Person
+// ****
+function MitarbeiterShowPersonendetails()
+{
+ person_id = document.getElementById('mitarbeiter-detail-textbox-person_id').value;
+ window.open('vilesci/personen/personendetails.php?id='+person_id,'Personendetails','');
+}
+
+function MitarbeiterTermineIFrameLoad()
+{
+ uid = document.getElementById('mitarbeiter-detail-textbox-uid').value;
+ if(uid!='')
+ {
+ url = 'termine.xul.php?mitarbeiter_uid='+uid+'&ts='+gettimestamp();
+ document.getElementById('mitarbeiter-termine').setAttribute('src',url);
+ }
+}
diff --git a/content/mitarbeiter/mitarbeiteroverlay.xul.php b/content/mitarbeiter/mitarbeiteroverlay.xul.php
index 6bd669ffa..3c8c5e411 100644
--- a/content/mitarbeiter/mitarbeiteroverlay.xul.php
+++ b/content/mitarbeiter/mitarbeiteroverlay.xul.php
@@ -1,281 +1,282 @@
-,
- * Andreas Oesterreicher and
- * Rudolf Hangl .
- */
-
-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");
-
-require_once('../../config/vilesci.config.inc.php');
-require_once('../../include/functions.inc.php');
-require_once('../../include/benutzerberechtigung.class.php');
-
-$user = get_uid();
-$rechte = new benutzerberechtigung();
-$rechte->getBerechtigungen($user);
-
-echo '';
-
-echo '';
-echo '';
-echo '';
-echo '';
-?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- isBerechtigt('mitarbeiter/persoenlich'))
- echo '
-
-
-
-
-
-
-
- ';
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- isBerechtigt('mitarbeiter/persoenlich'))
- echo '
-
-
-
- ';
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- isBerechtigt('buchung/mitarbeiter'))
- echo '';
- if($rechte->isBerechtigt('vertrag/mitarbeiter'))
- echo '';
-
- ?>
-
-
-
-
-
-
-
-
- isBerechtigt('buchung/mitarbeiter'))
- echo '';
- if($rechte->isBerechtigt('vertrag/mitarbeiter'))
- echo '';
- ?>
-
-
-
-
-
-
+,
+ * Andreas Oesterreicher ,
+ * Rudolf Hangl and
+ * Andreas moik .
+ */
+
+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");
+
+require_once('../../config/vilesci.config.inc.php');
+require_once('../../include/functions.inc.php');
+require_once('../../include/benutzerberechtigung.class.php');
+
+$user = get_uid();
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($user);
+
+echo '';
+
+echo '';
+echo '';
+echo '';
+echo '';
+?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ isBerechtigt('mitarbeiter/persoenlich'))
+ echo '
+
+
+
+
+
+
+
+ ';
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ isBerechtigt('mitarbeiter/persoenlich'))
+ echo '
+
+
+
+ ';
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ isBerechtigt('buchung/mitarbeiter'))
+ echo '';
+ if($rechte->isBerechtigt('vertrag/mitarbeiter'))
+ echo '';
+
+ ?>
+
+
+
+
+
+
+
+
+ isBerechtigt('buchung/mitarbeiter'))
+ echo '';
+ if($rechte->isBerechtigt('vertrag/mitarbeiter'))
+ echo '';
+ ?>
+
+
+
+
+
+
diff --git a/system/dbupdate_3.2.php b/system/dbupdate_3.2.php
index b7774c25c..d78c5bf3d 100644
--- a/system/dbupdate_3.2.php
+++ b/system/dbupdate_3.2.php
@@ -42,8 +42,8 @@ if(!@$db->db_query("SELECT dokumentbeschreibung_mehrsprachig FROM public.tbl_dok
if(!$db->db_query($qry))
echo 'public.tbl_dokument '.$db->db_last_error().'
';
- else
- echo '
Spalte dokumentbeschreibung_mehrsprachig in public.tbl_dokument hinzugefügt';
+ else
+ echo '
Spalte dokumentbeschreibung_mehrsprachig in public.tbl_dokument hinzugefügt';
}
// Neue Spalte beschreibung_mehrsprachig bei tbl_dokumentstudiengang
@@ -829,8 +829,9 @@ if (!$result = @$db->db_query("SELECT 1 FROM public.tbl_bewerbungstermine LIMIT
}
//Tabelle lehre.tbl_studienordnungstatus
-if (!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_studienordnungstatus LIMIT 1;")) {
- $qry = "CREATE TABLE lehre.tbl_studienordnungstatus
+if (!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_studienordnungstatus LIMIT 1;"))
+{
+ $qry = "CREATE TABLE lehre.tbl_studienordnungstatus
(
status_kurzbz varchar(32) NOT NULL,
bezeichnung varchar(256),
@@ -849,10 +850,33 @@ if (!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_studienordnungstatus LIMI
INSERT INTO lehre.tbl_studienordnungstatus (status_kurzbz, bezeichnung, reihenfolge) VALUES ('notApproved', 'nicht genehmigt', 5);
";
- if (!$db->db_query($qry))
- echo 'lehre.tbl_studienordnungstatus: ' . $db->db_last_error() . '
';
- else
- echo ' lehre.tbl_studienordnungstatus: Tabelle hinzugefuegt
';
+ if (!$db->db_query($qry))
+ echo 'lehre.tbl_studienordnungstatus: ' . $db->db_last_error() . '
';
+ else
+ echo ' lehre.tbl_studienordnungstatus: Tabelle hinzugefuegt
';
+}
+
+//Tabelle lehre.tbl_studienplatz Spalte APZ
+if (!$result = @$db->db_query("SELECT APZ FROM lehre.tbl_studienplatz LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_studienplatz ADD COLUMN APZ integer;";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_studienplatz '.$db->db_last_error().'
';
+ else
+ echo '
Spalte APZ in lehre.tbl_studienplatz hinzugefügt';
+}
+
+//Tabelle lehre.tbl_studienplatz Spalte studienplan_id
+if (!$result = @$db->db_query("SELECT studienplan_id FROM lehre.tbl_studienplatz LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_studienplatz ADD COLUMN studienplan_id integer;
+ ALTER TABLE lehre.tbl_studienplatz ADD CONSTRAINT fk_studienplatz_studienplan FOREIGN KEY (studienplan_id) REFERENCES lehre.tbl_studienplan (studienplan_id) ON DELETE RESTRICT ON UPDATE CASCADE;";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_studienplatz '.$db->db_last_error().'
';
+ else
+ echo '
Spalte studienplan_id in lehre.tbl_studienplatz hinzugefügt';
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
@@ -990,7 +1014,7 @@ $tabellen=array(
"lehre.tbl_studienplan" => array("studienplan_id","studienordnung_id","orgform_kurzbz","version","regelstudiendauer","sprache","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon","semesterwochen","testtool_sprachwahl","ext_id", "ects_stpl", "pflicht_sws", "pflicht_lvs"),
"lehre.tbl_studienplan_lehrveranstaltung" => array("studienplan_lehrveranstaltung_id","studienplan_id","lehrveranstaltung_id","semester","studienplan_lehrveranstaltung_id_parent","pflicht","koordinator","insertamum","insertvon","updateamum","updatevon","sort","ext_id", "curriculum"),
"lehre.tbl_studienplan_semester" => array("studienplan_semester_id", "studienplan_id", "studiensemester_kurzbz", "semester"),
- "lehre.tbl_studienplatz" => array("studienplatz_id","studiengang_kz","studiensemester_kurzbz","orgform_kurzbz","ausbildungssemester","gpz","npz","insertamum","insertvon","updateamum","updatevon","ext_id"),
+ "lehre.tbl_studienplatz" => array("studienplatz_id","studiengang_kz","studiensemester_kurzbz","orgform_kurzbz","ausbildungssemester","gpz","npz","insertamum","insertvon","updateamum","updatevon","ext_id", "apz", "studienplan_id"),
"lehre.tbl_stunde" => array("stunde","beginn","ende"),
"lehre.tbl_stundenplan" => array("stundenplan_id","unr","mitarbeiter_uid","datum","stunde","ort_kurzbz","gruppe_kurzbz","titel","anmerkung","lehreinheit_id","studiengang_kz","semester","verband","gruppe","fix","updateamum","updatevon","insertamum","insertvon"),
"lehre.tbl_stundenplandev" => array("stundenplandev_id","lehreinheit_id","unr","studiengang_kz","semester","verband","gruppe","gruppe_kurzbz","mitarbeiter_uid","ort_kurzbz","datum","stunde","titel","anmerkung","fix","updateamum","updatevon","insertamum","insertvon","ext_id"),
diff --git a/vilesci/personen/import/mitarbeiterimport.php b/vilesci/personen/import/mitarbeiterimport.php
index 19fa78da9..fda3ac0fd 100644
--- a/vilesci/personen/import/mitarbeiterimport.php
+++ b/vilesci/personen/import/mitarbeiterimport.php
@@ -763,7 +763,7 @@ echo '';
echo '';
echo '';
echo '';
-echo '| SVNR | |
';
+echo '| SVNR | |
';
echo '| Ersatzkennzeichen | |
';
echo '| Geburtsdatum * | (Format: TT.MM.JJJJ) |
';
echo ' |