Merge branch 'master' into feature-18571/EntwicklungsteamBisMeldung

This commit is contained in:
Andreas Österreicher
2024-01-31 13:27:58 +01:00
296 changed files with 33535 additions and 1826 deletions
@@ -26,7 +26,6 @@ require_once('../../include/lehreinheitmitarbeiter.class.php');
require_once('../../include/lehreinheit.class.php');
require_once('../../include/projektbetreuer.class.php');
require_once('../../include/projektarbeit.class.php');
require_once('../../include/bisverwendung.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/phrasen.class.php');
require_once('../../include/benutzerberechtigung.class.php');
+57 -1
View File
@@ -40,6 +40,8 @@ require_once('../../include/vertrag.class.php');
require_once('../../include/lehreinheitmitarbeiter.class.php');
require_once('../../include/wawi_konto.class.php');
require_once('../../include/addon.class.php');
require_once('../../include/stundensatz.class.php');
$user = get_uid();
@@ -93,7 +95,6 @@ if(!$error)
$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);
@@ -806,6 +807,61 @@ if(!$error)
$errormsg = "";
}
}
else if (isset($_POST['type']) && $_POST['type'] === 'updateStundensatz')
{
$mitarbeiter_uid = $_POST['mitarbeiter_uid'];
$stundenbetrag = $_POST['stundensatz'];
$datum_von = $_POST['datum_von'];
$datum_bis = $_POST['datum_bis'];
$unternehmen = $_POST['unternehmen'];
$stundensatztyp = $_POST['typ'];
if (isset($_POST['stundensatz_id']))
{
$stundensatz = new stundensatz();
$stundensatz->load($_POST['stundensatz_id']);
$stundensatz->new = false;
}
else
{
$stundensatz = new stundensatz();
$stundensatz->new = true;
}
$stundensatz->uid = $mitarbeiter_uid;
$stundensatz->stundensatztyp = $stundensatztyp;
$stundensatz->stundensatz = $stundenbetrag;
$stundensatz->oe_kurzbz = $unternehmen;
$stundensatz->gueltig_von = $datum_von;
$stundensatz->gueltig_bis = $datum_bis;
$stundensatz->insertvon = $user;
$stundensatz->updatevon = $user;
$stundensatz->insertamum = date('Y-m-d H:i:s');
$stundensatz->updateamum = date('Y-m-d H:i:s');
if ($stundensatz->save())
{
$data = $stundensatz->stundensatz_id;
$return = true;
}
else
{
$errormsg = $stundensatz->errormsg;
$return = false;
}
}
else if (isset($_POST['type']) && $_POST['type'] === 'deleteStundensatz')
{
$stundensatz = new stundensatz();
if ($stundensatz->delete($_POST['stundensatz_id']))
{
$return = true;
}
else
{
$return = false;
$errormsg = $stundensatz->errormsg;
}
}
else
{
$return = false;
@@ -227,8 +227,6 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<checkbox label="Kleriker" id="mitarbeiter-detail-checkbox-kleriker" checked="false" disabled="true" hidden="true" onchange="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label align="end" control="mitarbeiter-detail-textbox-stundensatz" value="Stundensatz"/>
<textbox id="mitarbeiter-detail-textbox-stundensatz" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<label align="end" control="mitarbeiter-detail-textbox-telefonklappe" value="Telefonklappe"/>
<hbox>
<textbox id="mitarbeiter-detail-textbox-telefonklappe" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
@@ -437,7 +437,6 @@ function MitarbeiterDetailDisableFields(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;
@@ -558,7 +557,6 @@ function MitarbeiterAuswahl()
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" ));
@@ -606,7 +604,6 @@ function MitarbeiterAuswahl()
//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;
@@ -653,6 +650,8 @@ function MitarbeiterAuswahl()
document.getElementById('mitarbeiter-udf').setAttribute('src', 'udf.xul.php?person_id='+person_id);
}
document.getElementById('mitarbeiter-stundensatz').setAttribute('src','mitarbeiter/stundensatzoverlay.xul.php?mitarbeiter_uid='+uid);
// **** VERWENDUNG ****
verwendungtree = document.getElementById('mitarbeiter-tree-verwendung');
url='<?php echo APP_ROOT;?>rdf/bisverwendung.rdf.php?uid='+uid+"&"+gettimestamp();
@@ -845,7 +844,6 @@ function MitarbeiterSave()
//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;
@@ -897,7 +895,6 @@ function MitarbeiterSave()
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);
@@ -268,6 +268,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeitervertragover
?>
<tab id="mitarbeiter-tab-termine" label="Termine" onclick="MitarbeiterTermineIFrameLoad()" />
<tab id="mitarbeiter-tab-notizen" label="Notizen"/>
<tab id="mitarbeiter-tab-stundensatz" label="Stundensätze" />
<?php
if (!defined('FAS_UDF') || FAS_UDF == true)
echo '<tab id="mitarbeiter-tab-udf" label="Zusatzfelder" onclick="MitarbeiterUDFIFrameLoad()"/>';
@@ -289,6 +290,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeitervertragover
<vbox id="mitarbeiter-box-notiz">
<box class="Notiz" flex="1" id="mitarbeiter-box-notizen"/>
</vbox>
<iframe id="mitarbeiter-stundensatz" src="" style="margin-top:10px;" />
<?php
if (!defined('FAS_UDF') || FAS_UDF == true)
echo '<iframe id="mitarbeiter-udf" src="" style="margin-top:10px;" />';
@@ -0,0 +1,310 @@
<?php
require_once('../../config/vilesci.config.inc.php');
?>
var StundensaetzeTreeDatasource = ''; // Datasource des Stundensaetze Trees
var StundensatzSelectID = null;
var MitarbeiterUID = '';
var StundensatzChanged = false;
var DoubleRefresh = false
var StundensaetzeSinkObserver =
{
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('stundensaetze-tree').builder.rebuild();
}
};
var StundensaetzeTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
if(DoubleRefresh === true)
{
window.setTimeout('StundensatzTreeDatasourceRefresh()',10);
DoubleRefresh = false;
}
else
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StundensaetzeTreeSelectID, 10);
}
}
};
function StundensatzTreeDatasourceRefresh(StundensatzSelect)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
StundensaetzeTreeDatasource.Refresh(false);
}
function StundensatzDisableFields(val)
{
document.getElementById('mitarbeiter-stundensatz-button-neu').disabled = val;
document.getElementById('mitarbeiter-stundensatz-button-loeschen').disabled = val;
}
function StundensatzNeu()
{
StundensatzDetailResetFields();
StundensatzDetailsDisableFields(false);
StundensatzChanged = false;
}
function StundensatzDetailsDisableFields(val)
{
document.getElementById('mitarbeiter-stundensatz-textbox-stundensatz').disabled = val;
document.getElementById('mitarbeiter-stundensatz-textbox-unternehmen').disabled = val;
document.getElementById('mitarbeiter-stundensatz-textbox-typ').disabled = val;
document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-von').disabled = val;
document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-bis').disabled = val;
document.getElementById('mitarbeiter-stundensatz-button-speichern').disabled = val;
}
// ****
// * Setzt Defaultwerte fuer die Felder
// ****
function StundensatzDetailResetFields()
{
document.getElementById('mitarbeiter-stundensatz-textbox-stundensatz').value = '';
document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-von').value = '';
document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-bis').value = '';
document.getElementById('mitarbeiter-stundensatz-textbox-unternehmen').value = '';
document.getElementById('mitarbeiter-stundensatz-textbox-typ').value = '';
var Datum = new Date();
var Jahr = Datum.getFullYear();
var Tag = Datum.getDate();
var Monat = Datum.getMonth()+1;
document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-von').value = Tag+'.'+Monat+'.'+Jahr;
}
// ****
// * Laedt die Studensätze
// ****
function loadStundensaetze(mitarbeiter_uid)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
MitarbeiterUID = mitarbeiter_uid;
var url = "<?php echo APP_ROOT; ?>rdf/stundensatz.rdf.php?mitarbeiter_uid="+mitarbeiter_uid+'&'+gettimestamp();
var tree = document.getElementById('stundensaetze-tree');
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
tree.database.RemoveDataSource(oldDatasources.getNext());
}
tree.builder.rebuild();
try
{
StundensaetzeTreeDatasource.removeXMLSinkObserver(StundensaetzeSinkObserver);
tree.builder.removeListener(StundensaetzeTreeListener);
}
catch(e)
{}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StundensaetzeTreeDatasource = rdfService.GetDataSource(url);
StundensaetzeTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StundensaetzeTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
tree.database.AddDataSource(StundensaetzeTreeDatasource);
StundensaetzeTreeDatasource.addXMLSinkObserver(StundensaetzeSinkObserver);
tree.builder.addListener(StundensaetzeTreeListener);
StundensatzDisableFields(false);
}
// ****
// * Selectiert einen Stundensatz nachdem der Tree
// * rebuildet wurde.
// ****
function StundensaetzeTreeSelectID()
{
var tree = document.getElementById('stundensaetze-tree');
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
//In der globalen Variable ist der zu selektierender Stundensatz gespeichert
if(StundensatzSelectID != null)
{
for(var i = 0; i < items; i++)
{
//ID der row holen
col = tree.columns ? tree.columns["stundensatz-treecol-stundensatz_id"] : "stundensatz-treecol-stundensatz_id";
id = tree.view.getCellText(i,col);
if(id === StundensatzSelectID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
return true;
}
}
StundensatzSelectID = null;
}
}
function StundensatzDetailSpeichern()
{
var stundensatz = document.getElementById('mitarbeiter-stundensatz-textbox-stundensatz').value;
var datum_von = document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-von').value;
var datum_bis = document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-bis').value;
var unternehmen = document.getElementById('mitarbeiter-stundensatz-textbox-unternehmen').value;
var typ = document.getElementById('mitarbeiter-stundensatz-textbox-typ').value;
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
if (StundensatzChanged !== false)
req.add('stundensatz_id', StundensatzChanged);
req.add('type', 'updateStundensatz');
req.add('mitarbeiter_uid', MitarbeiterUID);
req.add('stundensatz', stundensatz);
req.add('datum_von', ConvertDateToISO(datum_von));
req.add('datum_bis', ConvertDateToISO(datum_bis));
req.add('unternehmen', unternehmen);
req.add('typ', typ);
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
{
if(val.dbdml_errormsg !== '' && val.dbdml_errormsg !== 'unknown')
alert(val.dbdml_errormsg);
if(document.getElementById('stundensaetze-tree').view.rowCount === 0)
{
DoubleRefresh = true;
}
StundensatzSelectID = val.dbdml_data;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
StundensaetzeTreeDatasource.Refresh(false);
StundensatzChanged = false;
StundensatzDetailResetFields();
StundensatzDetailsDisableFields(true);
return true;
}
}
function StundensatzBearbeiten()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('stundensaetze-tree');
if (tree.currentIndex === -1)
return;
//Ausgewaehlten Stundensatz holen
var col = tree.columns ? tree.columns["stundensatz-treecol-stundensatz_id"] : "stundensatz-treecol-stundensatz_id";
var stundensatz_id = tree.view.getCellText(tree.currentIndex,col);
//Daten holen
var url = "<?php echo APP_ROOT; ?>rdf/stundensatz.rdf.php?stundensatz_id="+stundensatz_id+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/stundensatz/"+stundensatz_id);
var predicateNS = "http://www.technikum-wien.at/stundensatz/rdf";
//Daten holen
var stundensatz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatz"));
var datum_von = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gueltig_von" ));
var datum_bis = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gueltig_bis" ));
var unternehmen = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#oe_kurzbz" ));
var typ = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatztyp" ));
StundensatzChanged = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatz_id" ));
document.getElementById('mitarbeiter-stundensatz-textbox-stundensatz').value = stundensatz;
document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-von').value = datum_von;
document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-bis').value = datum_bis;
document.getElementById('mitarbeiter-stundensatz-textbox-unternehmen').value = unternehmen;
document.getElementById('mitarbeiter-stundensatz-textbox-typ').value = typ;
StundensatzDetailsDisableFields(false);
}
function StundensatzDelete()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('stundensaetze-tree');
if (tree.currentIndex === -1)
{
alert('Bitte zuerst einen Stundensatz auswaehlen');
return;
}
StundensatzDetailsDisableFields(false);
//Ausgewaehlten Stundensatz holen
var col = tree.columns ? tree.columns["stundensatz-treecol-stundensatz_id"] : "stundensatz-treecol-stundensatz_id";
var stundensatz_id = tree.view.getCellText(tree.currentIndex,col);
if (confirm('Diesen Stundensatz wirklich loeschen?'))
{
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'deleteStundensatz');
req.add('stundensatz_id', stundensatz_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");
StundensaetzeTreeDatasource.Refresh(false);
StundensatzDetailResetFields();
StundensatzDetailsDisableFields(true);
return true;
}
}
}
@@ -0,0 +1,170 @@
<?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");
include('../../config/vilesci.config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type="text/css"?>';
if(isset($_GET['mitarbeiter_uid']))
$mitarbeiter_uid = $_GET['mitarbeiter_uid'];
else
die('Parameter mitarbeiter_uid muss uebergeben werden');
?>
<window id="stundensaetze-window" title="Stundensaetze"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="loadStundensaetze('<?php echo $mitarbeiter_uid; ?>');"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/mitarbeiter/stundensatzoverlay.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/fasoverlay.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/phpRequest.js.php" />
<hbox flex="1">
<!-- STUNDENSÄTZE -->
<vbox flex="4">
<tree id="stundensaetze-tree" seltype="single" hidecolumnpicker="false" flex="2"
datasources="rdf:null" ref="http://www.technikum-wien.at/stundensatz/liste"
onselect="StundensatzBearbeiten()"
flags="dont-build-content"
enableColumnDrag="true"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100"
persist="hidden, height"
>
<treecols>
<treecol id="stundensatz-treecol-stundensatz_id" label="StundensatzID" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/stundensatz/rdf#stundensatz_id"/>
<splitter class="tree-splitter"/>
<treecol id="stundensatz-treecol-stundensatz" label="Stundensatz" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/stundensatz/rdf#stundensatz"/>
<splitter class="tree-splitter"/>
<treecol id="stundensatz-treecol-oe_kurzbz_bezeichnung" label="Unternehmen" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/stundensatz/rdf#oe_kurzbz_bezeichnung"/>
<splitter class="tree-splitter"/>
<treecol id="stundensatz-treecol-stundensatz-typ" label="Stundensatztyp" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/stundensatz/rdf#stundensatztyp_bezeichnung"/>
<splitter class="tree-splitter"/>
<treecol id="stundensatz-treecol-gueltig_von" label="Gültig von" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/stundensatz/rdf#gueltig_von"/>
<splitter class="tree-splitter"/>
<treecol id="stundensatz-treecol-gueltig_bis" label="Gültig bis" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/stundensatz/rdf#gueltig_bis"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/stundensatz/rdf#stundensatz_id" />
<treecell label="rdf:http://www.technikum-wien.at/stundensatz/rdf#stundensatz" />
<treecell label="rdf:http://www.technikum-wien.at/stundensatz/rdf#oe_kurzbz_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/stundensatz/rdf#stundensatztyp_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/stundensatz/rdf#gueltig_von" />
<treecell label="rdf:http://www.technikum-wien.at/stundensatz/rdf#gueltig_bis" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
</vbox>
<vbox flex="1">
<hbox>
<button id="mitarbeiter-stundensatz-button-neu" label="Neu" oncommand="StundensatzNeu();" disabled="true"/>
<button id="mitarbeiter-stundensatz-button-loeschen" label="Loeschen" oncommand="StundensatzDelete();" disabled="true"/>
</hbox>
<vbox hidden="true">
<label value="Stundensatz" control="mitarbeiter-stundensatz-textbox-stundensatz_id"/>
<textbox id="mitarbeiter-stundensatz-textbox-stundensatz_id" disabled="true"/>
</vbox>
<groupbox id="mitarbeiter-stundensatz-groupbox">
<caption label="Details"/>
<grid id="mitarbeiter-stundensatz-grid-detail" style="overflow:auto;margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Stundensatz" control="mitarbeiter-stundensatz-textbox-stundensatz"/>
<hbox>
<textbox id="mitarbeiter-stundensatz-textbox-stundensatz" disabled="true" maxlength="9" size="9"/>
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Stundensatztyp" control="mitarbeiter-stundensatz-textbox-typ"/>
<menulist id="mitarbeiter-stundensatz-textbox-typ"
flex="1"
disabled="true"
xmlns:STUNDENSATZTYP="http://www.technikum-wien.at/stundensatztyp/rdf#"
datasources="<?php echo APP_ROOT;?>rdf/stundensatztyp.rdf.php"
ref="http://www.technikum-wien.at/stundensatztyp/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/stundensatztyp/rdf#typ"
label="rdf:http://www.technikum-wien.at/stundensatztyp/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Unternehmen" control="mitarbeiter-stundensatz-textbox-unternehmen"/>
<menulist id="mitarbeiter-stundensatz-textbox-unternehmen"
flex="1"
disabled="true"
xmlns:ORGANISATIONSEINHEIT="http://www.technikum-wien.at/organisationseinheit/rdf#"
datasources="<?php echo APP_ROOT;?>rdf/organisationseinheit.rdf.php?onlyRoots=true"
ref="http://www.technikum-wien.at/organisationseinheit/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/organisationseinheit/rdf#oe_kurzbz"
label="rdf:http://www.technikum-wien.at/organisationseinheit/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Gültig von" control="mitarbeiter-stundensatz-textbox-gueltig-von"/>
<hbox>
<box class="Datum" id="mitarbeiter-stundensatz-textbox-gueltig-von" disabled="true"/>
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Gültig bis" control="mitarbeiter-stundensatz-textbox-gueltig-bis"/>
<hbox>
<box class="Datum" id="mitarbeiter-stundensatz-textbox-gueltig-bis" disabled="true"/>
<spacer flex="1" />
</hbox>
</row>
</rows>
</grid>
<hbox>
<spacer flex="1" />
<button id="mitarbeiter-stundensatz-button-speichern" oncommand="StundensatzDetailSpeichern()" label="Speichern" disabled="true"/>
</hbox>
</groupbox>
</vbox>
</hbox>
</window>