- MitarbeiterModul FASo

- Jahresplan aktualisiert
This commit is contained in:
Andreas Österreicher
2007-06-27 15:22:57 +00:00
parent 51a853bd30
commit 452e6fa460
20 changed files with 1796 additions and 123 deletions
+1
View File
@@ -26,6 +26,7 @@ require_once('../include/functions.inc.php');
require_once('../include/person.class.php');
require_once('../include/benutzerberechtigung.class.php');
$PHP_SELF = $_SERVER['PHP_SELF'];
echo "<html><body>";
//wandelt einen String in HEX-Werte um
function strhex($string)
+30 -7
View File
@@ -24,6 +24,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
require_once('../vilesci/config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/fas/benutzer.class.php');
require_once('../include/benutzerberechtigung.class.php');
// Testumgebung
$user=get_uid();
@@ -38,6 +39,10 @@ $error_msg.=loadVariables($conn,$user);
$benutzer = new benutzer($conn);
if(!$benutzer->loadVariables($user))
$error_msg = $benutzer->errormsg;
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
/*echo '<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>';*/
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css" ?>';
@@ -211,14 +216,32 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
<hbox flex="1">
<tabbox id="tabbox-left" orient="vertical" flex="1">
<tabs orient="horizontal">
<tab id="tab-verband" label="Verband" />
<tab id="tab-fachbereich" label="Fachbereich" />
<tab id="tab-lektor" label="Lektor" />
<?php
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('lva-verwaltung'))
{
echo '<tab id="tab-verband" label="Verband" />';
echo '<tab id="tab-fachbereich" label="Fachbereich" />';
echo '<tab id="tab-lektor" label="Lektor" />';
}
if($rechte->isBerechtigt('admin','0') || $rechte->isBerechtigt('mitarbeiter'))
{
echo '<tab id="tab-menu-mitarbeiter" label="Mitarbeiter" />';
}
?>
</tabs>
<tabpanels id="tabpanels-left" flex="1">
<tree id="tree-verband" />
<tree id="tree-fachbereich" />
<tree id="tree-lektor" />
<?php
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('lva-verwaltung'))
{
echo '<tree id="tree-verband" />';
echo '<tree id="tree-fachbereich" />';
echo '<tree id="tree-lektor" />';
}
if($rechte->isBerechtigt('admin','0') || $rechte->isBerechtigt('mitarbeiter'))
{
echo '<tree id="tree-menu-mitarbeiter"/>';
}
?>
</tabpanels>
</tabbox>
<splitter collapse="before" persist="state">
@@ -229,7 +252,7 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
<statusbar id="status-bar" persist="collapsed">
<statusbarpanel class="statusbarpanel-iconic" id="logo-icon" />
<statusbarpanel id="statusbarpanel-semester" label="<?php echo $semester_aktuell; ?>"/>
<!-- <statusbarpanel id="statusbarpanel-db_table" label="<?php //echo $db_stpl_table; ?>"/> -->
<statusbarpanel id="statusbarpanel-db_table" label="<?php echo substr(CONN_STRING,strpos(CONN_STRING,'dbname=')+7,strpos(CONN_STRING,'user=')-strpos(CONN_STRING,'dbname=')-7); ?>"/>
<statusbarpanel id="statusbarpanel-text" label="<?php echo htmlspecialchars($error_msg); ?>" flex="4" crop="right" />
<statusbarpanel id="progress-panel" class="statusbarpanel-progress">
<progressmeter id="statusbar-progressmeter" class="progressmeter-statusbar" mode="determined" value="0%"/>
+1 -1
View File
@@ -53,7 +53,7 @@ $error = false;
//Berechtigungen laden
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('admin'))
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('mitarbeiter'))
{
$return = false;
$errormsg = 'Keine Berechtigung';
+126 -11
View File
@@ -22,11 +22,22 @@
header("Content-type: application/vnd.mozilla.xul+xml");
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
include('../vilesci/config.inc.php');
require_once('../vilesci/config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/benutzerberechtigung.class.php');
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Herstellen der DB Verbindung');
$user = get_uid();
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentenoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/interessentenoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiteroverlay.xul.php"?>';
/*echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-week-overlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-semester-overlay.xul.php"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
@@ -36,7 +47,7 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
<!DOCTYPE overlay >
<!-- [<?php require_once("../locale/de-AT/tempus.dtd"); ?>] -->
<overlay id="TempusOverlay"
<overlay id="FasOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
@@ -169,6 +180,90 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
</template>
</tree>
<tree id="tree-menu-mitarbeiter" onselect="onMitarbeiterSelect();"
seltype="single" hidecolumnpicker="true" flex="1"
>
<treecols>
<treecol id="tree-menu-mitarbeiter-col-name" label="Filter" primary="true" flex="1"/>
<treecol id="tree-menu-mitarbeiter-col-filter" label="ColFilter" hidden="true" flex="1"/>
</treecols>
<treechildren>
<treeitem>
<treerow>
<treecell label="Alle"/>
<treecell label="Alle"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="FixAngestellte"/>
<treecell label="FixAngestellteAlle"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="FreiAngestellte"/>
<treecell label="FreiAngestellteAlle"/>
</treerow>
</treeitem>
<treeitem container="true" open="true">
<treerow>
<treecell label="Aktive"/>
<treecell label="Aktive"/>
</treerow>
<treechildren>
<treeitem>
<treerow>
<treecell label="FixAngestellte"/>
<treecell label="FixAngestellte"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="FreiAngestellte"/>
<treecell label="FreiAngestellte"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="Studiengangsleiter"/>
<treecell label="Studiengangsleiter"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="Fachbereichsleiter"/>
<treecell label="Fachbereichsleiter"/>
</treerow>
</treeitem>
</treechildren>
</treeitem>
<treeitem container="true" open="true">
<treerow>
<treecell label="Inaktive"/>
<treecell label="Inaktive"/>
</treerow>
<treechildren>
<treeitem>
<treerow>
<treecell label="Karenziert"/>
<treecell label="Karenziert"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="Ausgeschieden"/>
<treecell label="Ausgeschieden"/>
</treerow>
</treeitem>
</treechildren>
</treeitem>
</treechildren>
</tree>
<vbox id="vbox-main">
<popupset>
<popup id="fasoverlay-lektor-tree-popup">
@@ -177,17 +272,37 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
</popupset>
<tabbox id="tabbox-main" flex="3" orient="vertical">
<tabs orient="horizontal">
<tab id="tab-interessenten" label="Interessenten"/>
<tab id="tab-studenten" label="Studenten"/>
<tab id="tab-lfvt" label="Lehrveranstaltungen" />
<?php
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('lva-verwaltung'))
{
echo '<tab id="tab-interessenten" label="Interessenten"/>';
echo '<tab id="tab-studenten" label="Studenten"/>';
echo '<tab id="tab-lfvt" label="Lehrveranstaltungen" />';
}
if($rechte->isBerechtigt('admin','0') || $rechte->isBerechtigt('mitarbeiter'))
{
echo '<tab id="tab-mitarbeiter" label="Mitarbeiter" oncommand="MitarbeiterTabSelect()" />';
}
?>
</tabs>
<tabpanels id="tabpanels-main" flex="1">
<!-- Interessenten -->
<vbox id="InteressentenEditor" />
<!-- Studenten -->
<vbox id="studentenEditor" />
<!-- Lehrfachverteilung -->
<vbox id="LehrveranstaltungEditor" />
<?php
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('lva-verwaltung'))
{
echo '
<!-- Interessenten -->
<vbox id="InteressentenEditor" />
<!-- Studenten -->
<vbox id="studentenEditor" />
<!-- Lehrfachverteilung -->
<vbox id="LehrveranstaltungEditor" />
';
}
if($rechte->isBerechtigt('admin','0') || $rechte->isBerechtigt('mitarbeiter'))
{
echo '<vbox id="MitarbeiterEditor" />';
}
?>
</tabpanels>
</tabbox>
</vbox>
+146
View File
@@ -0,0 +1,146 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
// ****************************************
// * Script sorgt fuer den Datenbanzugriff
// * der folgender FASonline Daten:
// *
// * - Adressen
// * - Kontakte
// * - Bankverbindungen
// ****************************************
require_once('../../vilesci/config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/log.class.php');
require_once('../../include/person.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/mitarbeiter.class.php');
$user = get_uid();
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$return = false;
$errormsg = 'unknown';
$data = '';
$error = false;
//Berechtigungen laden
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('admin','0') && !$rechte->isBerechtigt('mitarbeiter'))
{
$return = false;
$errormsg = 'Keine Berechtigung';
$data = '';
$error = true;
}
if(!$error)
{
//in der Variable type wird die auszufuehrende Aktion mituebergeben
if(isset($_POST['type']) && $_POST['type']=='mitarbeitersave')
{
//Speichert die Mitarbeiterdaten
$mitarbeiter = new mitarbeiter($conn, null, true);
if($mitarbeiter->load($_POST['uid']))
{
//Werte zuweisen
$mitarbeiter->anrede = $_POST['anrede'];
$mitarbeiter->titelpre = $_POST['titelpre'];
$mitarbeiter->titelpost = $_POST['titelpost'];
$mitarbeiter->vorname = $_POST['vorname'];
$mitarbeiter->vornamen = $_POST['vornamen'];
$mitarbeiter->nachname = $_POST['nachname'];
$mitarbeiter->gebdatum = $_POST['geburtsdatum'];
$mitarbeiter->gebort = $_POST['geburtsort'];
$mitarbeiter->gebzeit = $_POST['geburtszeit'];
$mitarbeiter->anmerkungen = $_POST['anmerkungen'];
$mitarbeiter->homepage = $_POST['homepage'];
$mitarbeiter->svnr = $_POST['svnr'];
$mitarbeiter->ersatzkennzeichen = $_POST['ersatzkennzeichen'];
$mitarbeiter->familienstand = $_POST['familienstand'];
$mitarbeiter->geschlecht = $_POST['geschlecht'];
$mitarbeiter->aktiv = ($_POST['aktiv']=='true'?true:false);
$mitarbeiter->anzahlkinder = $_POST['anzahlderkinder'];
$mitarbeiter->staatsbuergerschaft = $_POST['staatsbuergerschaft'];
$mitarbeiter->geburtsnation = $_POST['geburtsnation'];
$mitarbeiter->sprache = $_POST['sprache'];
$mitarbeiter->kurzbz = $_POST['kurzbezeichnung'];
$mitarbeiter->stundensatz = $_POST['stundensatz'];
$mitarbeiter->telefonklappe = $_POST['telefonklappe'];
$mitarbeiter->lektor = ($_POST['lektor']=='true'?true:false);
$mitarbeiter->fixangestellt = ($_POST['fixangestellt']=='true'?true:false);
$mitarbeiter->ausbildungcode = $_POST['ausbildung'];
$mitarbeiter->anmerkung = $_POST['anmerkung'];
$mitarbeiter->ort_kurzbz = $_POST['ort_kurzbz'];
$mitarbeiter->standort_kurzbz = $_POST['standort_kurzbz'];
$mitarbeiter->alias = $_POST['alias'];
if($mitarbeiter->save())
{
$return = true;
}
else
{
$errormsg = $mitarbeiter->errormsg;
$return = false;
}
}
else
{
$errormsg = $mitarbeiter->errormsg;
$return = false;
}
}
else
{
$return = false;
$errormsg = 'Unkown type';
$data = '';
}
}
//RDF mit den Returnwerden ausgeben
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns:DBDML="http://www.technikum-wien.at/dbdml/rdf#"
>
<RDF:Seq RDF:about="http://www.technikum-wien.at/dbdml/msg">
<RDF:li>
<RDF:Description RDF:about="http://www.technikum-wien.at/dbdml/0" >
<DBDML:return>'.($return?'true':'false').'</DBDML:return>
<DBDML:errormsg><![CDATA['.$errormsg.']]></DBDML:errormsg>
<DBDML:data><![CDATA['.$data.']]></DBDML:data>
</RDF:Description>
</RDF:li>
</RDF:Seq>
</RDF:RDF>
';
?>
@@ -0,0 +1,267 @@
<?php
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('../../vilesci/config.inc.php');
require_once('../../include/functions.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<!DOCTYPE overlay>
<overlay id="MitarbeiterDetailOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<!-- datasources="rdf:null" ref="http://www.technikum-wien.at/mitarbeiter/alle" -->
<vbox id="mitarbeiter-detail-stammdaten" flex="1" style="overflow:auto">
<textbox id="mitarbeiter-detail-textbox-person_id" hidden="true" />
<groupbox id='groupbox-personendaten'>
<!--PersonenDaten-->
<caption label="Personendaten" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns >
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="UID" control="mitarbeiter-detail-textbox-uid"/>
<hbox><textbox id="mitarbeiter-detail-textbox-uid" disabled="true" maxlength="16" size="16"/></hbox>
<spacer />
<spacer />
<label value="Aktiv" control="mitarbeiter-detail-checkbox-aktiv"/>
<checkbox id="mitarbeiter-detail-checkbox-aktiv" checked="true" disabled="true"/>
</row>
<row>
<label value="Anrede" control="mitarbeiter-detail-textbox-anrede"/>
<hbox><textbox id="mitarbeiter-detail-textbox-anrede" disabled="true" maxlength="16" size="16"/></hbox>
<label value="TitelPre" control="mitarbeiter-detail-textbox-titelpre"/>
<textbox id="mitarbeiter-detail-textbox-titelpre" disabled="true" maxlength="64"/>
<label value="TitelPost" control="mitarbeiter-detail-textbox-titelpost"/>
<textbox id="mitarbeiter-detail-textbox-titelpost" disabled="true" maxlength="32"/>
</row>
<row>
<label value="Nachname" control="mitarbeiter-detail-textbox-nachname"/>
<textbox id="mitarbeiter-detail-textbox-nachname" disabled="true" maxlength="64"/>
<label value="Vorname" control="mitarbeiter-detail-textbox-vorname"/>
<textbox id="mitarbeiter-detail-textbox-vorname" disabled="true" maxlength="32"/>
<label value="Vornamen" control="mitarbeiter-detail-textbox-vornamen"/>
<textbox id="mitarbeiter-detail-textbox-vornamen" disabled="true" maxlength="128"/>
</row>
<row>
<label value="Geburtsdatum" control="mitarbeiter-detail-textbox-geburtsdatum"/>
<hbox>
<box class="Datum" id="mitarbeiter-detail-textbox-geburtsdatum" disabled="true"/>
<!--<textbox id="mitarbeiter-detail-textbox-geburtsdatum" disabled="true" maxlength="10" size="10" tooltiptext="Format: JJJJ-MM-DD Beispiel: 1970-01-31"/>-->
</hbox>
<label value="Geburtsort" control="mitarbeiter-detail-textbox-geburtsort"/>
<textbox id="mitarbeiter-detail-textbox-geburtsort" disabled="true" maxlength="128"/>
<label value="Geburtszeit" control="mitarbeiter-detail-textbox-geburtszeit"/>
<hbox><textbox id="mitarbeiter-detail-textbox-geburtszeit" disabled="true" maxlength="5" size="5" tooltiptext="Format: hh:mm Beispiel: 10:30"/></hbox>
</row>
<row>
<label value="SVNR" control="mitarbeiter-detail-textbox-svnr"/>
<hbox><textbox id="mitarbeiter-detail-textbox-svnr" disabled="true" maxlength="10" size="10"/></hbox>
<label value="Ersatzkennzeichen" control="mitarbeiter-detail-textbox-ersatzkennzeichen"/>
<hbox><textbox id="mitarbeiter-detail-textbox-ersatzkennzeichen" disabled="true" maxlength="10" size="10"/></hbox>
</row>
<row>
<label value="Staatsbuergerschaft" control="mitarbeiter-detail-menulist-staatsbuergerschaft"/>
<menulist id="mitarbeiter-detail-menulist-staatsbuergerschaft" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php" flex="1"
ref="http://www.technikum-wien.at/nation/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Geburtsnation" control="mitarbeiter-detail-menulist-geburtsnation"/>
<menulist id="mitarbeiter-detail-menulist-geburtsnation" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php" flex="1"
ref="http://www.technikum-wien.at/nation/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Sprache" control="mitarbeiter-detail-menulist-sprache" />
<menulist id="mitarbeiter-detail-menulist-sprache" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/sprache.rdf.php" flex="1"
ref="http://www.technikum-wien.at/sprachen/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/sprachen/rdf#bezeichnung"
label="rdf:http://www.technikum-wien.at/sprachen/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Geschlecht" control="mitarbeiter-detail-menulist-geschlecht"/>
<menulist id="mitarbeiter-detail-menulist-geschlecht" disabled="true">
<menupopup>
<menuitem value="m" label="maennlich"/>
<menuitem value="w" label="weiblich"/>
</menupopup>
</menulist>
<label value="Familienstand" control="mitarbeiter-detail-menulist-familienstand"/>
<menulist id="mitarbeiter-detail-menulist-familienstand" disabled="true">
<menupopup>
<menuitem value="g" label="geschieden"/>
<menuitem value="l" label="ledig"/>
<menuitem value="v" label="verheiratet"/>
<menuitem value="w" label="verwittwet"/>
</menupopup>
</menulist>
<label value="Anzahl der Kinder" control="mitarbeiter-detail-textbox-anzahlderkinder"/>
<textbox id="mitarbeiter-detail-textbox-anzahlderkinder" disabled="true" maxlength="2"/>
</row>
<row>
<vbox>
<label value="Foto" />
<hbox>
<button id="mitarbeiter-detail-button-image-upload" label="Upload" oncommand="MitarbeiterImageUpload();" disabled="true"/>
<spacer flex="1" />
</hbox>
</vbox>
<hbox>
<image src='' id="mitarbeiter-detail-image" width="60" height="60" style="margin-left:5px;"/>
<spacer flex="1"/>
</hbox>
<label value="Anmerkung" control="mitarbeiter-detail-textbox-anmerkung"/>
<textbox id="mitarbeiter-detail-textbox-anmerkung" disabled="true" multiline="true"/>
<label value="Homepage" control="mitarbeiter-detail-textbox-homepage"/>
<vbox><textbox id="mitarbeiter-detail-textbox-homepage" disabled="true" maxlength="256"/></vbox>
</row>
</rows>
</grid>
</groupbox>
<!-- MITARBEITER DATEN -->
<hbox>
<groupbox flex="8">
<caption label="Mitarbeiterdaten" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<label align="end" control="mitarbeiter-detail-textbox-personalnummer" value="Personalnummer:"/>
<textbox id="mitarbeiter-detail-textbox-personalnummer" size="10" maxlength="10" disabled="true"/>
<label align="end" control="mitarbeiter-detail-textbox-kurzbezeichnung" value="Kurzbezeichnung:"/>
<hbox>
<textbox id="mitarbeiter-detail-textbox-kurzbezeichnung" class="pflichtfeld" size="10" maxlength="10" disabled="true"/>
<spacer />
</hbox>
<spacer />
<checkbox label="Lektor" id="mitarbeiter-detail-checkbox-lektor" checked="false" disabled="true"/>
</row>
<row>
<label align="end" control="mitarbeiter-detail-textbox-stundensatz" value="Stundensatz:"/>
<textbox id="mitarbeiter-detail-textbox-stundensatz" size="10" maxlength="10" disabled="true"/>
<label align="end" control="mitarbeiter-detail-textbox-telefonklappe" value="Telefonklappe:"/>
<hbox>
<textbox id="mitarbeiter-detail-textbox-telefonklappe" size="10" maxlength="10" disabled="true"/>
<spacer />
</hbox>
<spacer />
<checkbox label="Fixangestellt" id="mitarbeiter-detail-checkbox-fixangestellt" checked="false" disabled="true"/>
</row>
<row>
<label align="end" control="mitarbeiter-detail-menulist-ort_kurzbz" value="Buero"/>
<vbox>
<menulist id="mitarbeiter-detail-menulist-ort_kurzbz" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/orte.rdf.php?optional=true"
ref="http://www.technikum-wien.at/ort/liste">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/ort/rdf#ort_kurzbz"
value="rdf:http://www.technikum-wien.at/ort/rdf#ort_kurzbz"/>
</menupopup>
</template>
</menulist>
<spacer flex="1"/>
</vbox>
<label align="end" control="mitarbeiter-detail-menulist-standort" value="Standort"/>
<vbox>
<menulist id="mitarbeiter-detail-menulist-standort" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/standort.rdf.php?optional=true"
ref="http://www.technikum-wien.at/standort/liste">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/standort/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/standort/rdf#standort_kurzbz"/>
</menupopup>
</template>
</menulist>
<spacer flex="1"/>
</vbox>
<label align="end" control="mitarbeiter-detail-menulist-ausbildung" value="Ausbildung:"/>
<menulist id="mitarbeiter-detail-menulist-ausbildung" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/ausbildung.rdf.php?optional=true"
ref="http://www.technikum-wien.at/ausbildung/alle" flex="1">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/ausbildung/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/ausbildung/rdf#code"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Anmerkung" control="mitarbeiter-detail-textbox-mitarbeiteranmerkung"/>
<textbox id="mitarbeiter-detail-textbox-mitarbeiteranmerkung" disabled="true" multiline="true"/>
<label value="Alias" control="mitarbeiter-detail-textbox-alias"/>
<vbox>
<textbox id="mitarbeiter-detail-textbox-alias" disabled="true"/>
<spacer />
</vbox>
</row>
</rows>
</grid>
<hbox class="style-groupbox">
</hbox>
</groupbox>
</hbox>
<hbox>
<spacer flex="1"/>
<button id="mitarbeiter-detail-button-speichern" disabled="true" label="Speichern" oncommand="MitarbeiterSave();"/>
</hbox>
</vbox>
</overlay>
@@ -0,0 +1,521 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/functions.inc.php');
$conn = pg_pconnect(CONN_STRING);
$user = get_uid();
loadVariables($conn, $user);
?>
// *********** Globale Variablen *****************//
var MitarbeiterSelectUid=null; //UID des zu selektierenden Mitarbeiters
var MitarbeiterTreeLoadDataOnSelect=true; // Gibt an ob die Details beim markieren eines Mitarbeiters geladen werden sollen
// ********** Observer und Listener ************* //
// ****
// * Observer fuer Mitarbeiter Tree
// * startet Rebuild nachdem das Refresh
// * der Datasource fertig ist
// ****
var MitarbeiterTreeSinkObserver =
{
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').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
window.setTimeout(MitarbeiterTreeSelectMitarbeiter,10);
}
};
// ****************** FUNKTIONEN ************************** //
// ****
// * Wenn der Mitarbeiter Tab markiert wird, dann wird
// * automatisch der Mitarbeiter Reiter im linken Tree
// * markiert.
// ****
function MitarbeiterTabSelect()
{
//Index des Mitarbeiter Tabs ermitteln
//Tab markieren
}
// ****
// * Beim Auswaehlen eines Mitarbeiter-Filters werden die Mitarbeiter
// * die diesem Filter entsprechen geladen
// ****
function onMitarbeiterSelect()
{
var tree=document.getElementById('tree-menu-mitarbeiter');
var col = tree.columns ? tree.columns["tree-menu-mitarbeiter-col-filter"] : "tree-menu-mitarbeiter-col-filter";
var filter=tree.view.getCellText(tree.currentIndex,col);
var url = "<?php echo APP_ROOT; ?>rdf/personal.rdf.php";
var attributes="?type=unknown";
if(filter=="")
filter="Studiengangsleiter";
if (filter=="Studiengangsleiter")
{
attributes+="&stgl=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=true;
}
if (filter=="Fachbereichsleiter")
{
attributes+="&fbl=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=true;
}
if (filter=="Alle")
{
attributes+="&alle=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
}
if (filter=="Aktive")
{
attributes+="&aktiv=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
}
if (filter=="FixAngestellte")
{
attributes+="&fix=true&aktiv=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
}
if (filter=="FixAngestellteAlle")
{
attributes+="&fix=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
}
if (filter=="Inaktive")
{
attributes+="&aktiv=false";
document.getElementById('mitarbeiter-toolbar-neu').disabled=true;
}
if (filter=="Karenziert")
{
attributes+="&karenziert=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=true;
}
if (filter=="Ausgeschieden")
{
attributes+="&ausgeschieden=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=true;
}
if (filter=="FreiAngestellte")
{
attributes+="&fix=false&aktiv=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
}
if (filter=="FreiAngestellteAlle")
{
attributes+="&fix=false";
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');
///Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
tree.database.RemoveDataSource(oldDatasources.getNext());
}
try
{
MitarbeiterTreeDatasource.removeXMLSinkObserver(MitarbeiterTreeSinkObserver);
tree.builder.removeListener(MitarbeiterTreeListener);
}
catch(e)
{}
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<items;i++)
{
//Uid der row holen
col = tree.columns ? tree.columns["mitarbeiter-treecol-uid"] : "mitarbeiter-treecol-uid";
uid=tree.view.getCellText(i,col);
if(uid == MitarbeiterSelectUid)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
return true;
}
}
}
document.getElementById('mitarbeiter-toolbar-label-anzahl').value='Anzahl: '+items;
}
// ****
// * 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-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-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;
}
function MitarbeiterAuswahl()
{
if(!MitarbeiterTreeLoadDataOnSelect)
{
MitarbeiterTreeLoadDataOnSelect=true;
return true;
}
// 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);
}
else
{
return false;
}
}
catch(e)
{
alert(e);
return false;
}
var url = '<?php echo APP_ROOT ?>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" ));
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_kurzbz=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#standort_kurzbz" ));
alias=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#alias" ));
//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='<?php echo APP_ROOT?>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;
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_kurzbz;
document.getElementById('mitarbeiter-detail-textbox-alias').value=alias;
// ***** KONTAKTE *****
document.getElementById('mitarbeiter-kontakt').setAttribute('src','kontakt.xul.php?person_id='+person_id);
}
// ****
// * 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('<?php echo APP_ROOT; ?>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');
}
// ****
// * 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
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;
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_kurzbz = document.getElementById('mitarbeiter-detail-menulist-standort').value;
alias = document.getElementById('mitarbeiter-detail-textbox-alias').value;
if(geburtsdatum!='' && !CheckDatum(geburtsdatum))
{
alert('Geburtsdatum ist ungueltig');
return false;
}
var url = '<?php echo APP_ROOT ?>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', 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('ausbildung', ausbildung);
req.add('anmerkung', anmerkung);
req.add('ort_kurzbz', ort_kurzbz);
req.add('standort_kurzbz', standort_kurzbz);
req.add('alias', alias);
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");
MitarbeiterSelectUid=uid;
MitarbeiterTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden gespeichert');
}
}
@@ -0,0 +1,199 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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('../../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterdetailoverlay.xul.php"?>';
?>
<!DOCTYPE overlay >
<overlay id="MitarbeiterOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiteroverlay.js.php" />
<!-- **************** -->
<!-- * MITARBEITER * -->
<!-- **************** -->
<vbox id="MitarbeiterEditor" persist="height">
<hbox>
<toolbox flex="1">
<toolbar id="mitarbeiter-nav-toolbar">
<toolbarbutton id="mitarbeiter-toolbar-neu" label="Neu" oncommand="MitarbeiterNeu()" disabled="false" image="../skin/images/new.png" tooltiptext="Neuen Mitarbeiter anlegen"/>
<toolbarbutton id="mitarbeiter-toolbar-refresh" label="Aktualisieren" oncommand="MitarbeiterTreeRefresh()" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
<spacer flex="1"/>
<label id="mitarbeiter-toolbar-label-anzahl"/>
</toolbar>
</toolbox>
</hbox>
<!-- ************ -->
<!-- * TREE * -->
<!-- ************ -->
<tree id="mitarbeiter-tree" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/mitarbeiter/alle"
onselect="MitarbeiterAuswahl();"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:0px;"
persist="hidden, height"
>
<treecols>
<treecol id="mitarbeiter-treecol-uid" label="UID" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-anrede" label="Anrede" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-titelpre" label="TitelPre" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-nachname" label="Nachname" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-vorname" label="Vorname" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-vornamen" label="Vornamen" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-titelpost" label="TitelPost" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-geburtsdatum" label="Geburtsdatum" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-svnr" label="SVNR" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#svnr" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-ersatzkennzeichen" label="Ersatzkennzeichen" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ersatzkennzeichen" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-aktiv" label="Aktiv" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-personalnummer" label="PNr" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personalnummer" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-kurzbz" label="Kurzbz" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-lektor" label="Lektor" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#lektor" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-fixangestellt" label="Fix" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-telefonklappe" label="Klappe" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#telefonklappe" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-ort_kurzbz" label="Buero" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ort_kurzbz" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-person_id" label="Person_id" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#svnr" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ersatzkennzeichen" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personalnummer" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#lektor" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#telefonklappe" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ort_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<splitter collapse="after" persist="state">
<grippy />
</splitter>
<!-- ************ -->
<!-- * TABS * -->
<!-- ************ -->
<vbox flex="1" style="overflow:auto;margin:0px;" persist="height">
<tabbox id="mitarbeiter-tabbox" flex="3" orient="vertical">
<tabs orient="horizontal" id="mitarbeiter-tabs">
<tab id="mitarbeiter-tab-detail" label="Stammdaten" />
<tab id="mitarbeiter-tab-kontakt" label="Kontaktdaten" />
<tab id="mitarbeiter-tab-funktionen" label="Funktionen" />
</tabs>
<tabpanels id="mitarbeiter-tabpanels-main" flex="1">
<vbox id="mitarbeiter-detail-stammdaten" style="margin-top:10px;" />
<iframe id="mitarbeiter-kontakt" src="" style="margin-top:10px;" />
<vbox id="mitarbeiter-detail-funktionen" style="margin-top:10px;" />
</tabpanels>
</tabbox>
</vbox>
</vbox>
</overlay>
@@ -385,7 +385,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</grid>
</groupbox>
<groupbox id="interessent-detail-groupbox-rollen">
<caption label="Rollen" />
<caption label="Status" />
<tree id="interessent-prestudent-tree-rolle" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/prestudentrolle/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100px" enableColumnDrag="true"
+1 -1
View File
@@ -432,7 +432,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</grid>
</groupbox>
<groupbox id="student-detail-groupbox-rollen">
<caption label="Rollen" />
<caption label="Status" />
<tree id="student-prestudent-tree-rolle" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/prestudentrolle/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100px" enableColumnDrag="true"