Löschen von Vertragsstatus hinzugefügt

Fehler beim Laden von Verwendungen korrigiert
This commit is contained in:
oesi
2015-05-19 19:33:58 +02:00
parent 57d0f238e3
commit 7f0b96307a
5 changed files with 148 additions and 20 deletions
+25
View File
@@ -617,6 +617,31 @@ if(!$error)
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='vertragsstatusdelete')
{
if(!$rechte->isBerechtigt('vertrag/mitarbeiter',null,'suid'))
{
$return = false;
$errormsg = 'Sie haben keine Berechtigung für diesen Vorgang';
}
else
{
$vertrag_id = filter_input(INPUT_POST, "vertrag_id");
$status = filter_input(INPUT_POST, "status");
$vertrag = new vertrag();
if($vertrag->deleteVertragsstatus($vertrag_id, $status))
{
$return=true;
}
else
{
$return = false;
$errormsg = 'Failed'.$vertrag->errormsg;
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='vertragsdetaildelete')
{
if(!$rechte->isBerechtigt('vertrag/mitarbeiter',null,'suid'))
+51 -10
View File
@@ -369,8 +369,6 @@ function MitarbeiterVertragSelectVertragsstatus()
var vertrag_id=tree.view.getCellText(tree.currentIndex,col);
var vertrag_status=tree.view.getCellText(tree.currentIndex,col_status);
// *** Zugeordnete Vertragselemente laden
vertragstatustree = document.getElementById('mitarbeiter-vertrag-tree-vertragsstatus');
url='<?php echo APP_ROOT;?>rdf/vertragsstatus.rdf.php?vertrag_id='+vertrag_id+'&vertragsstatus_kurzbz='+vertrag_status+'&'+gettimestamp();
@@ -384,16 +382,15 @@ function MitarbeiterVertragSelectVertragsstatus()
//Daten holen
vertragsdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" ));
// Uhrzeit wegschneiden
vertragsdatum = vertragsdatum.substring(0,10);
document.getElementById('mitarbeiter-vertrag-vertragsstatus-textbox-vertragsdatum').value=vertragsdatum;
document.getElementById('mitarbeiter-vertrag-vertragsstatus-textbox-vertragsdatum').disabled=false;
// var datasource = rdfService.GetDataSource(url);
// vertragstatustree.database.AddDataSource(datasource);
}
function MitarbeiterVertragVertragsstatusUpdate(){
function MitarbeiterVertragVertragsstatusUpdate()
{
var tree=document.getElementById('mitarbeiter-vertrag-tree-vertragsstatus');
var col = tree.columns ? tree.columns["mitarbeiter-vertrag-tree-vertragsstatus-vertrag_id"] : "mitarbeiter-vertrag-tree-vertragsstatus-vertrag_id";
var col_status = tree.columns ? tree.columns["mitarbeiter-vertrag-tree-vertragsstatus-vertragsstatus_kurzbz"] : "mitarbeiter-vertrag-tree-vertragsstatus-vertragsstatus_kurzbz";
@@ -427,6 +424,50 @@ function MitarbeiterVertragVertragsstatusUpdate(){
}
else
{
MitarbeiterVertragVertragsstatusReload(vertrag_id);
return true;
}
}
function MitarbeiterVertragStatusDelete()
{
var tree=document.getElementById('mitarbeiter-vertrag-tree-vertragsstatus');
var col = tree.columns ? tree.columns["mitarbeiter-vertrag-tree-vertragsstatus-vertrag_id"] : "mitarbeiter-vertrag-tree-vertragsstatus-vertrag_id";
var col_status = tree.columns ? tree.columns["mitarbeiter-vertrag-tree-vertragsstatus-vertragsstatus_kurzbz"] : "mitarbeiter-vertrag-tree-vertragsstatus-vertragsstatus_kurzbz";
if(tree.currentIndex==-1)
return false;
var vertrag_id=tree.view.getCellText(tree.currentIndex,col);
var vertrag_status=tree.view.getCellText(tree.currentIndex,col_status);
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'vertragsstatusdelete');
req.add('vertrag_id',vertrag_id);
req.add('status',vertrag_status);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
MitarbeiterVertragVertragsstatusReload(vertrag_id);
return true;
}
}
function MitarbeiterVertragVertragsstatusReload(vertrag_id)
{
// *** Status laden
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var vertragsstatustree = document.getElementById('mitarbeiter-vertrag-tree-vertragsstatus');
@@ -444,7 +485,7 @@ function MitarbeiterVertragVertragsstatusUpdate(){
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var datasource = rdfService.GetDataSource(url);
vertragsstatustree.database.AddDataSource(datasource);
return true;
}
}
@@ -47,6 +47,8 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<menuitem label="'.$row->bezeichnung.'" oncommand="MitarbeiterVertragStatusAdd(\''.$row->vertragsstatus_kurzbz.'\');" hidden="false"/>';
}
?>
<menuseparator />
<menuitem label="Eintrag löschen" oncommand="MitarbeiterVertragStatusDelete()" />
</menupopup>
<menupopup id="mitarbeiter-vertrag-tree-popup">
<menuitem label="Bearbeiten" oncommand="MitarbeiterVertragEdit()" />
@@ -273,14 +275,8 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</template>
</tree>
</vbox>
<vbox flex="1">
<groupbox id='groupbox-vertragsdatum'>
<caption label="Vertragsdatum" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:4px;"
>
<vbox>
<grid align="end" flex="1">
<columns >
<column flex="1"/>
<column flex="5"/>
@@ -295,7 +291,6 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</row>
</rows>
</grid>
</groupbox>
</vbox>
</vbox>
</hbox>
+2 -1
View File
@@ -361,6 +361,7 @@ class bisverwendung extends basis_db
*/
public function getVerwendungDatum($uid, $datum)
{
$datum_obj = new datum();
//laden des Datensatzes
$qry = "SELECT
*
@@ -369,7 +370,7 @@ class bisverwendung extends basis_db
WHERE
mitarbeiter_uid=".$this->db_add_param($uid)."
AND (beginn<=".$this->db_add_param($datum)." OR beginn is null)
AND (ende>=".$this->db_add_param($datum)." OR ende is null)
AND (ende>=".$this->db_add_param($datum_obj->formatDatum($datum,'Y-m-01'))." OR ende is null)
ORDER BY beginn;";
if($this->db_query($qry))
+66
View File
@@ -749,5 +749,71 @@ class vertrag extends basis_db
return false;
}
}
/**
* Laedt die uebergebenen Vertraege
* @param $vertrag_id_arr array mit VertragsIDs
* @return boolean
*/
public function getVertraege($vertrag_id_arr)
{
if(count($vertrag_id_arr)==0)
{
$this->result = array();
return false;
}
$qry = "SELECT * FROM lehre.tbl_vertrag WHERE vertrag_id in (".$this->db_implode4SQL($vertrag_id_arr).')';
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->vertrag_id = $row->vertrag_id;
$obj->vertragstyp_kurzbz = $row->vertragstyp_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$obj->betrag = $row->betrag;
$obj->person_id = $row->person_id;
$obj->anmerkung = $row->anmerkung;
$obj->vertragsdatum = $row->vertragsdatum;
$this->result[]=$obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Loescht einen Vertragsstatus
* @param vertrag_id
* @param vertragsstatus_kurzbz
* @return boolean
*/
public function deleteVertragsstatus($vertrag_id, $vertragsstatus_kurzbz)
{
// prüfen ob Vertrag bereits verwendet wird
$qry = "DELETE FROM lehre.tbl_vertrag_vertragsstatus
WHERE
vertragsstatus_kurzbz=".$this->db_add_param($vertragsstatus_kurzbz)."
AND vertrag_id=".$this->db_add_param($vertrag_id);
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = "Fehler beim Loeschen des Eintrages";
return false;
}
}
}
?>