Betriebsmittel können übers FAS Personen zugeordnet werden

This commit is contained in:
Andreas Österreicher
2011-12-07 11:45:04 +00:00
parent 4495717d2a
commit 10ea80e5df
4 changed files with 170 additions and 78 deletions
+85 -2
View File
@@ -190,6 +190,7 @@ function BetriebsmittelAuswahl()
ausgegebenam = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ausgegebenam" ));
retouram = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#retouram" ));
betriebsmitteltyp = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#betriebsmitteltyp" ));
inventarnummer = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#inventarnummer" ));
nummer = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#nummer" ));
beschreibung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#beschreibung" ));
@@ -200,10 +201,21 @@ function BetriebsmittelAuswahl()
document.getElementById('betriebsmittel-textbox-kaution').value=kaution;
document.getElementById('betriebsmittel-textbox-ausgegebenam').value=ausgegebenam;
document.getElementById('betriebsmittel-textbox-retouram').value=retouram;
document.getElementById('betriebsmittel-menulist-betriebsmitteltyp').value=betriebsmitteltyp;
if(inventarnummer=='')
document.getElementById('betriebsmittel-menulist-betriebsmitteltyp').value=betriebsmitteltyp;
else
document.getElementById('betriebsmittel-menulist-betriebsmitteltyp').value='Inventar';
document.getElementById('betriebsmittel-textbox-nummer').value=nummer;
document.getElementById('betriebsmittel-textbox-nummerold').value=nummer;
document.getElementById('betriebsmittel-textbox-beschreibung').value=beschreibung;
BetriebsmittelTypChange();
menulist = document.getElementById('betriebsmittel-menulist-inventarnummer');
BetriebsmittelMenulistInventarLoad(menulist, inventarnummer);
MenulistSelectItemOnValue('betriebsmittel-menulist-inventarnummer',betriebsmittel_id);
//Typ darf nach nach Anlegen nicht mehr geändert werden, da sonst normales Inventar
//angelegt werden koennte, das soll aber nur der Zentraleinkauf machen
document.getElementById('betriebsmittel-menulist-betriebsmitteltyp').disabled=true;
}
// ****
@@ -229,6 +241,7 @@ function BetriebsmittelDetailDisableFields(val)
document.getElementById('betriebsmittel-textbox-ausgegebenam').disabled=val;
document.getElementById('betriebsmittel-textbox-retouram').disabled=val;
document.getElementById('betriebsmittel-button-speichern').disabled=val;
document.getElementById('betriebsmittel-menulist-inventarnummer').disabled=val;
if(val)
BetriebsmittelDetailResetFields();
@@ -247,6 +260,7 @@ function BetriebsmittelDetailResetFields()
document.getElementById('betriebsmittel-textbox-ausgegebenam').value='';
document.getElementById('betriebsmittel-textbox-retouram').value='';
document.getElementById('betriebsmittel-textbox-nummerold').value='';
document.getElementById('betriebsmittel-menulist-inventarnummer').value='';
}
// ****
@@ -317,6 +331,9 @@ function BetriebsmittelDetailSpeichern()
nummerold = document.getElementById('betriebsmittel-textbox-nummerold').value;
beschreibung = document.getElementById('betriebsmittel-textbox-beschreibung').value;
neu = document.getElementById('betriebsmittel-checkbox-neu').checked;
inventarnummer = MenulistGetSelectedValue('betriebsmittel-menulist-inventarnummer');
if(inventarnummer!='')
betriebsmittel_id=inventarnummer;
if(ausgegebenam!='' && !CheckDatum(ausgegebenam))
{
@@ -402,4 +419,70 @@ function BetriebsmittelNeu()
document.getElementById('betriebsmittel-textbox-ausgegebenam').value=tag+'.'+monat+'.'+jahr;
document.getElementById('betriebsmittel-textbox-kaution').value = '0.0';
document.getElementById('betriebsmittel-textbox-nummerold').value='';
}
document.getElementById('betriebsmittel-menulist-inventarnummer').value='';
BetriebsmittelTypChange();
}
// ****
// * Wird aufgerufen, wenn der Betriebsmitteltyp geändert wird
// * Wenn als Betriebsmitteltyp Inventar ausgewaehlt wird, dann wird ein DropDown fuer die
// * Inventarnummer angezeigt, sonst ein Feld fuer die Nummer und Beschreibung
// ****
function BetriebsmittelTypChange()
{
betriebsmitteltyp = document.getElementById('betriebsmittel-menulist-betriebsmitteltyp').value;
if(betriebsmitteltyp=='Inventar')
{
document.getElementById('betriebsmittel-row-nummer').hidden=true;
document.getElementById('betriebsmittel-row-beschreibung').hidden=true;
document.getElementById('betriebsmittel-row-inventarnummer').hidden=false;
}
else
{
document.getElementById('betriebsmittel-row-nummer').hidden=false;
document.getElementById('betriebsmittel-row-beschreibung').hidden=false;
document.getElementById('betriebsmittel-row-inventarnummer').hidden=true;
}
}
// ****
// * Laedt dynamisch das Inventarnummern DropDown
// * Es muessen mindestens 3 Zeichen in das DropDown Menue eingegeben werden
// ****
function BetriebsmittelMenulistInventarLoad(menulist, filter)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if(typeof(filter)=='undefined')
v = menulist.value;
else
v = filter;
if(v.length>2)
{
var url = '<?php echo APP_ROOT; ?>rdf/betriebsmittel.rdf.php?filter='+encodeURIComponent(v)+'&'+gettimestamp();
var oldDatasources = menulist.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
menulist.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
menulist.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
if(typeof(filter)=='undefined')
var datasource = rdfService.GetDataSource(url);
else
var datasource = rdfService.GetDataSourceBlocking(url);
datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
menulist.database.AddDataSource(datasource);
if(typeof(filter)!='undefined')
menulist.builder.rebuild();
}
}
+32 -12
View File
@@ -113,6 +113,10 @@ else
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#betriebsmittelperson_id" />
<splitter class="tree-splitter"/>
<treecol id="betriebsmittel-tree-beschreibung" label="Beschreibung" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#beschreibung" />
<splitter class="tree-splitter"/>
</treecols>
<template>
@@ -128,6 +132,7 @@ else
<treecell label="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#betriebsmittel_id"/>
<treecell label="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#person_id"/>
<treecell label="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#betriebsmittelperson_id"/>
<treecell label="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#beschreibung"/>
</treerow>
</treeitem>
</treechildren>
@@ -158,19 +163,17 @@ else
<rows>
<row>
<label value="Typ" control="betriebsmittel-menulist-betriebsmitteltyp"/>
<menulist id="betriebsmittel-menulist-betriebsmitteltyp" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/betriebsmitteltyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/betriebsmitteltyp/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/betriebsmitteltyp/rdf#betriebsmitteltyp"
label="rdf:http://www.technikum-wien.at/betriebsmitteltyp/rdf#betriebsmitteltyp"
uri="rdf:*"/>
</menupopup>
</template>
<menulist id="betriebsmittel-menulist-betriebsmitteltyp"
disabled="true" flex="1"
oncommand="BetriebsmittelTypChange();">
<menupopup>
<menuitem value="Zutrittskarte" label="Zutrittskarte"/>
<menuitem value="Schluessel" label="Schluessel"/>
<menuitem value="Inventar" label="Inventar"/>
</menupopup>
</menulist>
</row>
<row>
<row id="betriebsmittel-row-nummer">
<label value="Nummer" control="betriebsmittel-textbox-nummer"/>
<hbox>
<textbox id="betriebsmittel-textbox-nummerold" hidden="true"/>
@@ -178,10 +181,27 @@ else
<spacer flex="1" />
</hbox>
</row>
<row>
<row id="betriebsmittel-row-beschreibung">
<label value="Beschreibung" control="betriebsmittel-textbox-beschreibung"/>
<textbox id="betriebsmittel-textbox-beschreibung" disabled="true" multiline="true"/>
</row>
<row id="betriebsmittel-row-inventarnummer" hidden="true">
<label value="Inventarnummer" control="betriebsmittel-menulist-inventarnummer"/>
<menulist id="betriebsmittel-menulist-inventarnummer"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/betriebsmittel/liste"
oninput="BetriebsmittelMenulistInventarLoad(this)"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#betriebsmittel_id"
label="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#inventarnummer rdf:http://www.technikum-wien.at/betriebsmittel/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Kaution" control="betriebsmittel-textbox-kaution"/>
<hbox>
+52 -64
View File
@@ -1772,8 +1772,12 @@ if(!$error)
}
else
{
$betriebsmittel_id = $_POST['betriebsmittel_id'];
$bm = new betriebsmittel();
//Nur Zutrittskarten und Schluessel koennen neu angelegt werden
//Das andere Inventar wird vom Zentraleinkauf inventarisiert
//Es kann nur ausgewaehlt, aber nicht neu angelegt werden
if($_POST['betriebsmitteltyp']=='Zutrittskarte' || $_POST['betriebsmitteltyp']=='Schluessel')
{
if($_POST['betriebsmitteltyp']=='Zutrittskarte')
@@ -1869,74 +1873,58 @@ if(!$error)
$errormsg = 'Fehler beim Laden der Zutrittskarte';
}
}
if(!$error)
{
//Zuordnung Betriebsmittel-Person anlegen
$bmp = new betriebsmittelperson();
if($_POST['neu']!='true')
{
if($bmp->load($_POST['betriebsmittelperson_id']))
{
$bmp->updateamum = date('Y-m-d H:i:s');
$bmp->updatevon = $user;
$bmp->betriebsmittelperson_id = $_POST['betriebsmittelperson_id'];
$bmp->new = false;
}
else
{
/*
$bmp->insertamum = date('Y-m-d H:i:s');
$bmp->insertvon = $user;
$bmp->new = true;
*/
$error = true;
$errormsg = "Zuordnung unbekannt:".$_POST['betriebsmittelperson_id'];
$return = false;
}
}
else
{
$bmp->insertamum = date('Y-m-d H:i:s');
$bmp->insertvon = $user;
$bmp->new = true;
}
if(!$error)
{
$bmp->person_id = $_POST['person_id'];
$bmp->betriebsmittel_id=$betriebsmittel_id;
$bmp->anmerkung = $_POST['anmerkung'];
$bmp->kaution = trim(str_replace(',','.',$_POST['kaution']));
$bmp->ausgegebenam = $_POST['ausgegebenam'];
$bmp->retouram = $_POST['retouram'];
if($bmp->save())
{
$return = true;
$data = $bmp->betriebsmittelperson_id;
}
else
{
$return = false;
$errormsg = $bmp->errormsg;
}
}
}
}
else
{
$errormsg = 'Fehler:'.$bm->errormsg;
$return = false;
}
}
}
else
if(!$error)
{
$error = true;
$return = false;
$errormsg = 'Derzeit koennen nur Zutrittskarten und Schluessel geaendert werden!';
}
//Zuordnung Betriebsmittel-Person anlegen
$bmp = new betriebsmittelperson();
if($_POST['neu']!='true')
{
if($bmp->load($_POST['betriebsmittelperson_id']))
{
$bmp->updateamum = date('Y-m-d H:i:s');
$bmp->updatevon = $user;
$bmp->betriebsmittelperson_id = $_POST['betriebsmittelperson_id'];
$bmp->new = false;
}
else
{
$error = true;
$errormsg = "Zuordnung unbekannt:".$_POST['betriebsmittelperson_id'];
$return = false;
}
}
else
{
$bmp->insertamum = date('Y-m-d H:i:s');
$bmp->insertvon = $user;
$bmp->new = true;
}
if(!$error)
{
$bmp->person_id = $_POST['person_id'];
$bmp->betriebsmittel_id=$betriebsmittel_id;
$bmp->anmerkung = $_POST['anmerkung'];
$bmp->kaution = trim(str_replace(',','.',$_POST['kaution']));
$bmp->ausgegebenam = $_POST['ausgegebenam'];
$bmp->retouram = $_POST['retouram'];
if($bmp->save())
{
$return = true;
$data = $bmp->betriebsmittelperson_id;
}
else
{
$return = false;
$errormsg = $bmp->errormsg;
}
}
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='deletebisio')
+1
View File
@@ -164,6 +164,7 @@ class betriebsmittel extends basis_db
public function searchBetriebsmittel($filter)
{
$qry = "SELECT * FROM wawi.tbl_betriebsmittel where inventarnummer LIKE '%".addslashes($filter)."%'";
$this->result = array();
if($this->db_query($qry))
{