DV Art bei Verwendung hinzugefuegt, Vertragsdatum hinzugefuegt, Diverse Security Fixes

This commit is contained in:
Andreas Österreicher
2014-12-11 06:33:56 +00:00
parent 6fc662de27
commit 865aa1be8f
24 changed files with 725 additions and 169 deletions
+10 -10
View File
@@ -72,23 +72,23 @@ else
<row>
<label value="Anschrift" control="bankverbindung-textbox-anschrift"/>
<textbox id="bankverbindung-textbox-anschrift" maxlength="128"/>
</row>
<row>
<label value="BIC" control="bankverbindung-textbox-bic"/>
<textbox id="bankverbindung-textbox-bic" maxlength="64"/>
</row>
<row>
<label value="BLZ" control="bankverbindung-textbox-blz"/>
<textbox id="bankverbindung-textbox-blz" checked="true"/>
</row>
<row>
<label value="IBAN" control="bankverbindung-textbox-iban"/>
<textbox id="bankverbindung-textbox-iban" checked="true"/>
</row>
<row>
<label value="BIC" control="bankverbindung-textbox-bic"/>
<textbox id="bankverbindung-textbox-bic" maxlength="64"/>
</row>
<row>
<label value="Kontonummer" control="bankverbindung-textbox-kontonr"/>
<textbox id="bankverbindung-textbox-kontonr" checked="true"/>
</row>
</row>
<row>
<label value="BLZ" control="bankverbindung-textbox-blz"/>
<textbox id="bankverbindung-textbox-blz" checked="true"/>
</row>
<row>
<label value="Typ" control="bankverbindung-textbox-typ"/>
<menulist id="bankverbindung-menulist-typ" flex="1">
@@ -110,4 +110,4 @@ else
</hbox>
</groupbox>
</vbox>
</window>
</window>
+5 -5
View File
@@ -260,19 +260,19 @@ echo '
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#anschrift" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-bankverbindung-treecol-bic" label="BIC" flex="1" hidden="true"
<treecol id="kontakt-bankverbindung-treecol-bic" label="BIC" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#bic" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-bankverbindung-treecol-blz" label="BLZ" flex="1" hidden="false"
<treecol id="kontakt-bankverbindung-treecol-blz" label="BLZ" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#blz" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-bankverbindung-treecol-iban" label="IBAN" flex="1" hidden="true"
<treecol id="kontakt-bankverbindung-treecol-iban" label="IBAN" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#iban" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-bankverbindung-treecol-kontonr" label="Kontonummer" flex="1" hidden="false"
<treecol id="kontakt-bankverbindung-treecol-kontonr" label="Kontonummer" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#kontonr" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
@@ -325,4 +325,4 @@ echo '
</groupbox>';
?>
</vbox>
</window>
</window>
+3 -1
View File
@@ -192,7 +192,8 @@ if(!$error)
$verwendung->ende = $_POST['ende'];
$verwendung->vertragsstunden = str_replace(',','.',$_POST['vertragsstunden']);
$verwendung->updateamum = date('Y-m-d H:i:s');
$verwendung->updatevon = $user;
$verwendung->updatevon = $user;
$verwendung->dv_art = $_POST['dv_art'];
if($verwendung->save())
{
@@ -453,6 +454,7 @@ if(!$error)
$vertrag->betrag=str_replace(',','.',$_POST['betrag']);
$vertrag->bezeichnung = $_POST['bezeichnung'];
$vertrag->anmerkung = $_POST['anmerkung'];
$vertrag->vertragsdatum = $_POST['vertragsdatum'];
if($errormsg=='')
{
@@ -1142,6 +1142,7 @@ function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_ui
beginn = dialog.getElementById('mitarbeiter-verwendung-detail-datum-beginn').value;
ende = dialog.getElementById('mitarbeiter-verwendung-detail-datum-ende').value;
vertragsstunden = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-vertragsstunden').value;
dv_art = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-dv_art').value;
if(verwendung_code=='1' || verwendung_code=='5' || verwendung_code=='6')
{
@@ -1197,6 +1198,7 @@ function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_ui
req.add('beginn', ConvertDateToISO(beginn));
req.add('ende', ConvertDateToISO(ende));
req.add('vertragsstunden', vertragsstunden);
req.add('dv_art', dv_art);
var response = req.executePOST();
@@ -171,8 +171,12 @@ function MitarbeiterVertragGenerateVertrag(windowdocument)
var bezeichnung = windowdocument.getElementById('mitarbeiter-vertrag-neu-textbox-bezeichnung').value;
var vertrag_id = windowdocument.getElementById('mitarbeiter-vertrag-neu-textbox-vertrag_id').value;
var anmerkung = windowdocument.getElementById('mitarbeiter-vertrag-neu-textbox-anmerkung').value;
var vertragsdatum = windowdocument.getElementById('mitarbeiter-vertrag-neu-box-vertragsdatum').iso;
if(windowdocument.getElementById("mitarbeiter-vertrag-neu-textbox-fahrten") != null)
var fahrten = windowdocument.getElementById("mitarbeiter-vertrag-neu-textbox-fahrten").value;
else
var fahrten = 1;
if(betrag=='')
{
@@ -188,6 +192,7 @@ function MitarbeiterVertragGenerateVertrag(windowdocument)
req.add('bezeichnung',bezeichnung);
req.add('vertrag_id',vertrag_id);
req.add('anmerkung',anmerkung);
req.add('vertragsdatum',vertragsdatum);
var anzahl=0;
for (var t = 0; t < numRanges; t++)
@@ -238,7 +243,7 @@ function MitarbeiterVertragGenerateVertrag(windowdocument)
*/
function MitarbeiterVertragAddVertrag()
{
window.open('<?php echo APP_ROOT?>content/mitarbeiter/mitarbeitervertragneudialog.xul.php?person_id='+MitarbeiterVertragLoadedPerson,"Vertrag","status=no, width=500, height=300, centerscreen, resizable");
window.open('<?php echo APP_ROOT?>content/mitarbeiter/mitarbeitervertragneudialog.xul.php?person_id='+MitarbeiterVertragLoadedPerson,"Vertrag","status=no, width=500, height=400, centerscreen, resizable");
}
/**
@@ -293,7 +298,7 @@ function MitarbeiterVertragEdit()
var vertrag_id=tree.view.getCellText(tree.currentIndex,col);
window.open('<?php echo APP_ROOT?>content/mitarbeiter/mitarbeitervertragneudialog.xul.php?person_id='+MitarbeiterVertragLoadedPerson+'&vertrag_id='+vertrag_id,"Vertrag","status=no, width=500, height=300, centerscreen, resizable");
window.open('<?php echo APP_ROOT?>content/mitarbeiter/mitarbeitervertragneudialog.xul.php?person_id='+MitarbeiterVertragLoadedPerson+'&vertrag_id='+vertrag_id,"Vertrag","status=no, width=500, height=400, centerscreen, resizable");
}
function MitarbeiterVertragDetailDelete()
@@ -63,6 +63,7 @@ function MitarbeiterVertragNeuInit(person_id, vertrag_id)
tag = ((tag<10)?"0":"")+tag;
document.getElementById('mitarbeiter-vertrag-neu-textbox-bezeichnung').value=jahr+monat+tag+'';
document.getElementById('mitarbeiter-vertrag-neu-box-vertragsdatum').value=tag+'.'+monat+'.'+jahr;
}
else
{
@@ -82,6 +83,7 @@ function MitarbeiterVertragNeuInit(person_id, vertrag_id)
betrag = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#betrag" ));
bezeichnung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bezeichnung" ));
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
vertragsdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vertragsdatum" ));
MitarbeiterVertragNeuBetragOld = betrag;
@@ -90,6 +92,7 @@ function MitarbeiterVertragNeuInit(person_id, vertrag_id)
MenulistSelectItemOnValue('mitarbeiter-vertrag-neu-menulist-vertragstyp', vertragstyp_kurzbz)
document.getElementById('mitarbeiter-vertrag-neu-textbox-vertrag_id').value=vertrag_id;
document.getElementById('mitarbeiter-vertrag-neu-textbox-anmerkung').value=anmerkung;
document.getElementById('mitarbeiter-vertrag-neu-box-vertragsdatum').value=vertragsdatum;
}
for(i in addon)
@@ -139,6 +139,13 @@ foreach($addon_obj->result as $addon)
<column flex="8"/>
</columns>
<rows id="mitarbeiter-buchung-grid-detail-rows">
<row>
<label value="Vertragsdatum" control="mitarbeiter-vertrag-neu-box-vertragsdatum" />
<hbox>
<box class="Datum" id="mitarbeiter-vertrag-neu-box-vertragsdatum"/>
<spacer />
</hbox>
</row>
<row>
<label value="Bezeichnung" control="mitarbeiter-vertrag-neu-textbox-bezeichnung" />
<hbox>
@@ -176,10 +183,7 @@ foreach($addon_obj->result as $addon)
</row>
<row>
<label value="Anmerkung" control="mitarbeiter-vertrag-neu-textbox-anmerkung" />
<hbox>
<textbox id="mitarbeiter-vertrag-neu-textbox-anmerkung" value="" size="80" />
<spacer />
</hbox>
<textbox id="mitarbeiter-vertrag-neu-textbox-anmerkung" value="" size="100" multiline="true"/>
</row>
</rows>
</grid>
@@ -98,6 +98,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertrag/rdf#status" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-vertragsdatum" label="Vertragsdatum" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertrag/rdf#vertragsdatum_iso" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-vertragstyp_kurzbz" label="VertragstypKurzbz" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertrag/rdf#vertragstyp_kurzbz" />
@@ -106,6 +110,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertrag/rdf#vertrag_id" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-vertragsdatumiso" label="VertragsdatumISO" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertrag/rdf#vertragsdatum_iso" />
<splitter class="tree-splitter"/>
</treecols>
<template>
@@ -116,8 +124,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treecell label="rdf:http://www.technikum-wien.at/vertrag/rdf#betrag"/>
<treecell label="rdf:http://www.technikum-wien.at/vertrag/rdf#vertragstyp_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/vertrag/rdf#status"/>
<treecell label="rdf:http://www.technikum-wien.at/vertrag/rdf#vertragsdatum"/>
<treecell label="rdf:http://www.technikum-wien.at/vertrag/rdf#vertragstyp_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/vertrag/rdf#vertrag_id"/>
<treecell label="rdf:http://www.technikum-wien.at/vertrag/rdf#vertragsdatum_iso"/>
</treerow>
</treeitem>
</treechildren>
@@ -67,6 +67,7 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
beginn = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#beginn" ));
ende = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ende" ));
vertragsstunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vertragsstunden" ));
dv_art = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#dv_art" ));
}
else
{
@@ -84,6 +85,7 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
beginn = '<?php echo date('d.m.Y') ?>';
ende='';
vertragsstunden='38.5';
dv_art='';
}
document.getElementById('mitarbeiter-verwendung-detail-menulist-beschart1').value=ba1code;
@@ -104,6 +106,7 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
document.getElementById('mitarbeiter-verwendung-detail-datum-beginn').value=beginn;
document.getElementById('mitarbeiter-verwendung-detail-datum-ende').value=ende;
document.getElementById('mitarbeiter-verwendung-detail-textbox-vertragsstunden').value=vertragsstunden;
document.getElementById('mitarbeiter-verwendung-detail-textbox-dv_art').value=dv_art;
MitarbeiterVerwendungDetailToggleHauptberuf();
MitarbeiterVerwendungVerwendungChange();
@@ -140,4 +143,4 @@ function MitarbeiterVerwendungDetailSpeichern()
function MitarbeiterVerwendungVerwendungChange()
{
}
}
@@ -154,6 +154,10 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
<row>
<label value="Vertragsstunden" control="mitarbeiter-verwendung-detail-textbox-vertragsstunden" />
<textbox id="mitarbeiter-verwendung-detail-textbox-vertragsstunden" />
</row>
<row>
<label value="DV-Art" control="mitarbeiter-verwendung-detail-textbox-dv_art" />
<textbox id="mitarbeiter-verwendung-detail-textbox-dv_art" />
</row>
<row>
<spacer />
@@ -166,4 +170,4 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
</grid>
</groupbox>
</window>
</window>
@@ -0,0 +1,153 @@
<?php
/* Copyright (C) 2014 fhcomplete.org
*
* 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: Andreas Oesterreicher <[email protected]>
*/
/**
* Exportiert eine Liste der Personen die einen Vertrag zugeordnet haben
* inklusive Start und Endezeiten fuer die Anmeldung der SV
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/Excel/excel.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/datum.class.php');
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('vertrag/mitarbeiter'))
die('Sie haben keine Berechtigung fuer diese Seite');
$studiensemester_kurzbz=(isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:'');
$db = new basis_db();
$datum_obj = new datum();
if($studiensemester_kurzbz=='')
{
$stsem = new studiensemester();
$studiensemester_kurzbz = $stsem->getAktOrNext();
}
if($studiensemester_kurzbz!='')
{
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
// sending HTTP headers
$workbook->send("Vertraege_".$studiensemester_kurzbz.".xls");
$workbook->setVersion(8);
// Creating a worksheet
$worksheet =& $workbook->addWorksheet($studiensemester_kurzbz);
$worksheet->setInputEncoding('utf-8');
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$spalte=0;
$zeile=0;
$worksheet->write($zeile,$spalte,'Nachname',$format_bold);
$maxlength[$spalte]=8;
$worksheet->write($zeile,++$spalte,'Vorname',$format_bold);
$maxlength[$spalte]=8;
$worksheet->write($zeile,++$spalte,'Anmeldedatum',$format_bold);
$maxlength[$spalte]=15;
$worksheet->write($zeile,++$spalte,'Abmeldedatum',$format_bold);
$maxlength[$spalte]=15;
$worksheet->write($zeile,++$spalte,'Gesamthonorar',$format_bold);
$maxlength[$spalte]=15;
$stsem = new studiensemester($studiensemester_kurzbz);
$start = $stsem->start;
$ende = $stsem->ende;
// Daten holen
$qry = "SELECT
vorname, nachname, tbl_bisverwendung.beginn, tbl_bisverwendung.ende,
sum(betrag) as gesamthonorar
FROM
lehre.tbl_vertrag
JOIN campus.vw_mitarbeiter USING(person_id)
JOIN bis.tbl_bisverwendung ON(uid=mitarbeiter_uid)
WHERE
NOT EXISTS(SELECT * FROM lehre.tbl_vertrag_vertragsstatus WHERE vertrag_id=tbl_vertrag.vertrag_id AND vertragsstatus_kurzbz='storno')
AND tbl_vertrag.vertragsdatum>=".$db->db_add_param($start)." AND tbl_vertrag.vertragsdatum<=".$db->db_add_param($ende)."
AND (tbl_bisverwendung.beginn is null
OR (tbl_bisverwendung.beginn>=".$db->db_add_param($start)." AND tbl_bisverwendung.beginn<=".$db->db_add_param($ende)."))
GROUP BY vorname, nachname, tbl_bisverwendung.beginn, tbl_bisverwendung.ende, person_id
";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$zeile++;
$spalte=0;
$worksheet->write($zeile,$spalte,$row->nachname);
if(mb_strlen($row->nachname)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->nachname);
$worksheet->write($zeile,++$spalte, $row->vorname);
if(mb_strlen($row->vorname)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->vorname);
$worksheet->write($zeile,++$spalte, $datum_obj->formatDatum($row->beginn,'d.m.Y'));
if(mb_strlen($row->beginn)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->beginn);
$worksheet->write($zeile,++$spalte, $datum_obj->formatDatum($row->ende,'d.m.Y'));
if(mb_strlen($row->ende)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->ende);
$worksheet->write($zeile,++$spalte, $row->gesamthonorar);
if(mb_strlen($row->gesamthonorar)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->gesamthonorar);
}
}
//Die Breite der Spalten setzen
foreach($maxlength as $i=>$breite)
$worksheet->setColumn($i, $i, $breite+2);
$workbook->close();
}
else
{
echo '<!DOCTYPE HTML>
<html>
<head>
<title>Vertraege</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</head>
<body>
<h2>Vertraege</h2>
Studiensemester muss uebergeben werden
</body>
</html>
';
}
?>