Merge remote-tracking branch 'origin/master'

This commit is contained in:
Manfred Kindl
2018-01-22 13:37:19 +01:00
40 changed files with 1080 additions and 2002 deletions
+1
View File
@@ -20,6 +20,7 @@
- **[FAS]** Mitarbeiterexport exportiert jetzt nur noch die markierten Personen
- **[CORE]** Has many as possible javascripts and css present in the repository were removed. Their lack is overcome by the packages in the composer. In the meanwhile also the versions were updated
- **[CIS]** Die Fotoliste wird jetzt mit unoconv erstellt. Die bestehende Vorlage für den Dokumentenexport muss hier angepasst werden
- **[CORE]** Resturlaubstage und Mehrarbeitsstunden wurden aus dem Core entfernt und können nicht mehr mit FH-Complete verwaltet werden.
### Updateinfo
- **[CORE]** Infoscreen wurde umbenannt (informationsbildschirm.php)
-1
View File
@@ -59,7 +59,6 @@ $config['fhc_acl'] = array
'campus.tbl_pruefungsstatus' => 'basis/pruefungsstatus',
'campus.tbl_pruefungstermin' => 'basis/pruefungstermin',
'campus.tbl_reservierung' => 'basis/reservierung',
'campus.tbl_resturlaub' => 'basis/resturlaub',
'campus.tbl_studentbeispiel' => 'basis/studentbeispiel',
'campus.tbl_studentuebung' => 'basis/studentuebung',
'campus.tbl_template' => 'basis/template',
+1 -1
View File
@@ -55,7 +55,7 @@ $config['roles'] = array
(
'basis/adresse','basis/akte','basis/kontakt','basis/log','basis/nation','basis/notiz','basis/notizzuordnung',
'basis/person','basis/prestudent','basis/prestudentstatus','basis/status','basis/zgv','basis/zgvmaster',
'lehre/studienplan','system/filters'
'lehre/studienplan','system/filters','fs/dms'
)
)
);
@@ -1,78 +0,0 @@
<?php
/**
* FH-Complete
*
* @package FHC-API
* @author FHC-Team
* @copyright Copyright (c) 2016, fhcomplete.org
* @license GPLv3
* @link http://fhcomplete.org
* @since Version 1.0
* @filesource
*/
// ------------------------------------------------------------------------
if (!defined('BASEPATH')) exit('No direct script access allowed');
class Resturlaub extends APIv1_Controller
{
/**
* Resturlaub API constructor.
*/
public function __construct()
{
parent::__construct();
// Load model ResturlaubModel
$this->load->model('ressource/resturlaub_model', 'ResturlaubModel');
}
/**
* @return void
*/
public function getResturlaub()
{
$resturlaubID = $this->get('resturlaub_id');
if (isset($resturlaubID))
{
$result = $this->ResturlaubModel->load($resturlaubID);
$this->response($result, REST_Controller::HTTP_OK);
}
else
{
$this->response();
}
}
/**
* @return void
*/
public function postResturlaub()
{
if ($this->_validate($this->post()))
{
if (isset($this->post()['resturlaub_id']))
{
$result = $this->ResturlaubModel->update($this->post()['resturlaub_id'], $this->post());
}
else
{
$result = $this->ResturlaubModel->insert($this->post());
}
$this->response($result, REST_Controller::HTTP_OK);
}
else
{
$this->response();
}
}
private function _validate($resturlaub = NULL)
{
return true;
}
}
@@ -9,8 +9,16 @@ if (! defined("BASEPATH")) exit("No direct script access allowed");
*/
class InfocenterDetails extends VileSci_Controller
{
//app name for logging
//app and Verarbeitungstaetigkeit name for logging
const APP = 'aufnahme';
const TAETIGKEIT = 'bewerbung';
const LOGPARAMS = array(
'saveformalgep' => array('logtype' => 'Action', 'name' => 'document formally checked', 'message' => 'document %s formally checked, set to %s'),
'savezgv' => array('logtype' => 'Action', 'name' => 'ZGV saved', 'message' => 'ZGV saved for degree program %s, prestudentid %s'),
'abgewiesen' => array('logtype' => 'Processstate', 'name' => 'Interessent rejected', 'message' => 'Interessent with prestudentid %s was rejected for degree program %s'),
'freigegeben' => array('logtype' => 'Processstate', 'name' => 'Interessent confirmed', 'message' => 'status Interessent for prestudentid %s was confirmed for degree program %s'),
'savenotiz' => array('logtype' => 'Action', 'name' => 'note added', 'message' => 'note with title %s was added')
);
/**
* constructor
@@ -55,15 +63,6 @@ class InfocenterDetails extends VileSci_Controller
if(!isset($stammdaten->retval))
return null;
/* $dokumente = $this->AkteModel->loadWhere(array('person_id' => $person_id));
if ($dokumente->error)
{
show_error($dokumente->retval);
}
var_dump($dokumente->retval);*/
$dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false);
if ($dokumente->error)
@@ -78,9 +77,7 @@ class InfocenterDetails extends VileSci_Controller
show_error($dokumente->retval);
}
//var_dump($dokumente->retval);die();
$logs = $this->personloglib->getLogs($person_id, $this::APP);
$logs = $this->personloglib->getLogs($person_id);
$notizen = $this->NotizModel->getNotiz($person_id);
@@ -107,7 +104,7 @@ class InfocenterDetails extends VileSci_Controller
*/
private function __loadPrestudentData($person_id)
{
$zgvpruefungen = [];
$zgvpruefungen = array();
$prestudenten = $this->PrestudentModel->loadWhere(array('person_id' => $person_id));
@@ -140,7 +137,7 @@ class InfocenterDetails extends VileSci_Controller
return 0;
elseif($a->prestudentstatus->status_kurzbz === 'Interessent' && $b->prestudentstatus->status_kurzbz === 'Interessent')
{
//infoonly Interessenten are behind new Interessenten
//infoonly Interessenten come after new Interessenten
if($a->infoonly)
return 1;
elseif($b->infoonly)
@@ -207,8 +204,8 @@ class InfocenterDetails extends VileSci_Controller
}
//write person log
$this->personloglib->log($person_id, 'Action', array('name' => 'Dokument formal geprüft', 'message' => 'Dokument '.$akte->titel.' formal geprüft, gesetzt auf '.(is_null($timestamp) ? 'NULL' : $timestamp), 'success' => 'true'), $this::APP, null, $this->uid);
//redirect to start page
$this->__log($person_id, 'saveformalgep', array(empty($akte->retval[0]->titel) ? $akte->retval[0]->bezeichnung : $akte->retval[0]->titel, is_null($timestamp) ? 'NULL' : $timestamp));
redirect('/system/infocenter/InfocenterDetails/showDetails/'.$person_id.'#DokPruef');
}
@@ -243,7 +240,7 @@ class InfocenterDetails extends VileSci_Controller
//get extended Prestudent data for logging
$logdata = $this->__getPersonAndStudiengangFromPrestudent($prestudent_id);
$this->personloglib->log($logdata['person_id'], 'Action', array('name' => 'Zgv gespeichert', 'message' => 'Zgv für Studiengang '.$logdata['studiengang_kurzbz'].' wurde gespeichert', 'success' => 'true'), $this::APP, null, $this->uid);
$this->__log($logdata['person_id'], 'savezgv', array($logdata['studiengang_kurzbz'], $prestudent_id));
$this->__redirectToStart($prestudent_id, 'ZgvPruef');
}
@@ -274,7 +271,7 @@ class InfocenterDetails extends VileSci_Controller
$logdata = $this->__getPersonAndStudiengangFromPrestudent($prestudent_id);
$this->personloglib->log($logdata['person_id'], 'Processstate', array('name' => 'Interessent abgewiesen', 'message' => 'Interessent wurde für Studiengang '.$logdata['studiengang_kurzbz'].' abgewiesen', 'success' => 'true'), $this::APP, null, $this->uid);
$this->__log($logdata['person_id'], 'abgewiesen', array($prestudent_id, $logdata['studiengang_kurzbz']));
$this->__redirectToStart($prestudent_id, 'ZgvPruef');
}
@@ -303,7 +300,7 @@ class InfocenterDetails extends VileSci_Controller
$logdata = $this->__getPersonAndStudiengangFromPrestudent($prestudent_id);
$this->personloglib->log($logdata['person_id'], 'Processstate', array('name' => 'Interessent freigegeben', 'message' => 'Interessent wurde für Studiengang '.$logdata['studiengang_kurzbz'].' freigegeben', 'success' => 'true'), $this::APP, null, $this->uid);
$this->__log($logdata['person_id'], 'freigegeben', array($prestudent_id, $logdata['studiengang_kurzbz']));
$this->__redirectToStart($prestudent_id, 'ZgvPruef');
}
@@ -325,7 +322,7 @@ class InfocenterDetails extends VileSci_Controller
show_error($result->retval);
}
$this->personloglib->log($person_id, 'Action', array('name' => 'Notiz hinzugefügt', 'message' => 'Notiz mit Titel '.$titel.' wurde hinzugefügt', 'success' => 'true'), $this::APP, null, $this->uid);
$this->__log($person_id, 'savenotiz', array($titel));
redirect('/system/infocenter/InfocenterDetails/showDetails/'.$person_id.'#NotizAkt');
}
@@ -390,4 +387,18 @@ class InfocenterDetails extends VileSci_Controller
return array('person_id' => $person_id, 'studiengang_kurzbz' => $studiengang_kurzbz);
}
/**
* helper function for logging
* @param $person_id
* @param $logname
* @param $messageparams
*/
private function __log($person_id, $logname, $messageparams)
{
$logparams = $this::LOGPARAMS[$logname];
$this->personloglib->log($person_id, $logparams['logtype'],
array('name' => $logparams['name'], 'message' => vsprintf($logparams['message'], $messageparams), 'success' => 'true'),
$this::TAETIGKEIT, $this::APP, null, $this->uid);
}
}
+9 -6
View File
@@ -21,16 +21,18 @@ class PersonLogLib
* @param int $person_id ID of the Person.
* @param string $logtype_kurzbz Type of Log.
* @param array $logdata Array of the JSON Data to save.
* @param string $taetigkeit_kurzbz
* @param string $app Application that log belongs to.
* @param string $oe_kurzbz Organisation Unit the Log belongs to.
* @param string $user User who created the log.
* @return boolean true if success
* @return bool true if success
*/
public function log($person_id, $logtype_kurzbz, $logdata, $app = 'core', $oe_kurzbz = null, $user = null)
public function log($person_id, $logtype_kurzbz, $logdata, $taetigkeit_kurzbz, $app = 'core', $oe_kurzbz = null, $user = null)
{
$data = array(
'person_id' => $person_id,
'zeitpunkt' => date('Y-m-d H:i:s'),
'taetigkeit_kurzbz' => $taetigkeit_kurzbz,
'app' => $app,
'oe_kurzbz' => $oe_kurzbz,
'logtype_kurzbz' => $logtype_kurzbz,
@@ -49,13 +51,14 @@ class PersonLogLib
* Gets Logs for a Person, filtered by parameters.
* Requirements for retrieving log: name is set
* @param int $person_id ID of the Person.
* @param string $taetigkeit_kurzbz Verarbeitungstätigkeit
* @param string $app Name of the App.
* @param string $oe_kurzbz Organisations Unit.
* @return object $result
* @param string $oe_kurzbz Organisation Unit.
* @return array
*/
public function getLogs($person_id, $app = null, $oe_kurzbz = null)
public function getLogs($person_id, $taetigkeit_kurzbz = null, $app = null, $oe_kurzbz = null)
{
$result = $this->ci->PersonLogModel->filterLog($person_id, $app, $oe_kurzbz);
$result = $this->ci->PersonLogModel->filterLog($person_id, $taetigkeit_kurzbz, $app, $oe_kurzbz);
if (isSuccess($result))
{
@@ -1,14 +0,0 @@
<?php
class Resturlaub_model extends DB_Model
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct();
$this->dbTable = 'campus.tbl_resturlaub';
$this->pk = 'mitarbeiter_uid';
}
}
@@ -35,11 +35,12 @@ class PersonLog_model extends CI_Model
/**
* Loads the last Log Entry of a Person
* @param int $person_id ID of the Person.
* @param string $taetigkeit_kurzbz Verarbeitungstätigkeit
* @param string $app Name of the App.
* @param string $oe_kurzbz Organisations Unit.
* @return object $result
*/
public function getLastLog($person_id, $app = null, $oe_kurzbz = null)
public function getLastLog($person_id, $taetigkeit_kurzbz = null, $app = null, $oe_kurzbz = null)
{
// Check Permissions
$this->load->library('PermissionLib');
@@ -49,6 +50,8 @@ class PersonLog_model extends CI_Model
$this->db->order_by('zeitpunkt', 'DESC');
$this->db->order_by('log_id', 'DESC');
$this->db->limit(1);
if (!is_null($taetigkeit_kurzbz))
$this->db->where('taetigkeit_kurzbz='.$this->db->escape($oe_kurzbz));
if (!is_null($app))
$this->db->where('app='.$this->db->escape($app));
if (!is_null($oe_kurzbz))
@@ -62,11 +65,12 @@ class PersonLog_model extends CI_Model
/**
* Load logs for a person, filtered by parameters
* @param int $person_id ID of the Person.
* @param string $taetigkeit_kurzbz Verarbeitungstätigkeit
* @param string $app Name of the App.
* @param string $oe_kurzbz Organisations Unit.
* @return object $result
*/
public function filterLog($person_id, $app = null, $oe_kurzbz = null)
public function filterLog($person_id, $taetigkeit_kurzbz = null, $app = null, $oe_kurzbz = null)
{
// Check Permissions
$this->load->library('PermissionLib');
@@ -75,6 +79,8 @@ class PersonLog_model extends CI_Model
$this->db->order_by('zeitpunkt', 'DESC');
$this->db->order_by('log_id', 'DESC');
if (!is_null($taetigkeit_kurzbz))
$this->db->where('taetigkeit_kurzbz='.$this->db->escape($taetigkeit_kurzbz));
if (!is_null($app))
$this->db->where('app='.$this->db->escape($app));
if (!is_null($oe_kurzbz))
@@ -1,27 +1,56 @@
<?php
$this->load->view('templates/FHC-Header', array('title' => 'Info Center', 'jquery3' => true, 'tablesorter' => true));
$this->load->view('templates/FHC-Header', array('title' => 'Info Center', 'jquery3' => true, 'bootstrap' => true, 'fontawesome' => true, 'sbadmintemplate' => true, 'tablesorter' => false, 'customCSSs' => 'vendor/FHC-vendor/jquery-tableso
rter/css/theme.default.css', 'customJSs' => array('vendor/FHC-vendor/jquery-tablesorter/js/jquery.tablesorter.js', 'vendor/FHC-vendor/jquery-tablesorter/js/jquery.tablesorter.widgets.js')));
?>
<body>
<span>
<body>
<div id="wrapper">
<nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
<?php
echo $this->widgetlib->widget(
'FHC_navheader'
);
echo $this->widgetlib->widget(
'FHC_navigation'
);
?>
</nav>
<div id="page-wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">Infocenter &Uuml;bersicht</h3>
</div>
</div>
<!-- <span>
<?php
$this->load->view(
'system/infocenter/infocenterFilters.php',
array(
'listFiltersSent' => $listFiltersSent,
'listFiltersNotSent' => $listFiltersNotSent
)
);
/* $this->load->view(
'system/infocenter/infocenterFilters.php',
array(
'listFiltersSent' => $listFiltersSent,
'listFiltersNotSent' => $listFiltersNotSent
)
);
*/ ?>
</span>-->
<span>
<?php
$this->load->view('system/infocenter/infocenterData.php');
?>
</span>
<span>
<?php
$this->load->view('system/infocenter/infocenterData.php');
?>
</span>
</body>
</div>
</div>
</div>
<script>
//javascript hacks for bootstrap
$("select").addClass("form-control");
$("input[type=text]").addClass("form-control");
$("input[type=button]").addClass("btn btn-default");
$("#tableDataset").addClass('table-bordered');
</script>
</body>
<?php $this->load->view('templates/FHC-Footer'); ?>
@@ -1,5 +1,4 @@
<?php
$filterWidgetArray = array(
'query' => '
SELECT
@@ -29,10 +28,12 @@
FROM
public.tbl_prestudentstatus pss
INNER JOIN public.tbl_prestudent ps USING(prestudent_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE pss.status_kurzbz = \'Interessent\'
AND pss.bestaetigtam IS NULL
AND pss.bestaetigtvon IS NULL
AND ps.person_id = p.person_id
AND tbl_studiengang.typ in(\'b\',\'m\')
ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC
LIMIT 1
) AS "Studiensemester",
@@ -41,10 +42,12 @@
FROM
public.tbl_prestudentstatus pss
INNER JOIN public.tbl_prestudent ps USING(prestudent_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE pss.status_kurzbz = \'Interessent\'
AND pss.bestaetigtam IS NULL
AND pss.bestaetigtvon IS NULL
AND ps.person_id = p.person_id
AND tbl_studiengang.typ in(\'b\',\'m\')
ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC
LIMIT 1
) AS "SendDate"
@@ -52,28 +55,38 @@
WHERE
EXISTS(
SELECT 1
FROM public.tbl_prestudent
WHERE person_id=p.person_id
AND \'Interessent\' = (SELECT status_kurzbz FROM public.tbl_prestudentstatus
WHERE prestudent_id=tbl_prestudent.prestudent_id
ORDER BY datum DESC, insertamum DESC, ext_id DESC
LIMIT 1
)
AND EXISTS (SELECT 1 FROM public.tbl_prestudentstatus
WHERE prestudent_id=tbl_prestudent.prestudent_id
AND status_kurzbz=\'Interessent\' AND bestaetigtam IS NULL and bestaetigtvon IS NULL
AND studiensemester_kurzbz IN (
SELECT studiensemester_kurzbz
FROM public.tbl_studiensemester
WHERE (NOW() >= start AND NOW() <= ende)
OR start > NOW()
)
FROM
public.tbl_prestudent
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
person_id=p.person_id
AND tbl_studiengang.typ in(\'b\',\'m\')
AND \'Interessent\' = (SELECT status_kurzbz FROM public.tbl_prestudentstatus
WHERE prestudent_id=tbl_prestudent.prestudent_id
ORDER BY datum DESC, insertamum DESC, ext_id DESC
LIMIT 1
)
AND EXISTS (
SELECT
1
FROM
public.tbl_prestudentstatus
WHERE
prestudent_id=tbl_prestudent.prestudent_id
AND status_kurzbz=\'Interessent\'
AND bestaetigtam IS NULL
AND bestaetigtvon IS NULL
AND studiensemester_kurzbz IN (
SELECT studiensemester_kurzbz
FROM public.tbl_studiensemester
WHERE ende >= NOW()
)
)
)
ORDER BY "LastAction" DESC
',
'hideHeader' => false,
'hideSave' => false,
'hideHeader' => true,
'hideSave' => true,
'additionalColumns' => array('Details'),
'formatRaw' => function($fieldName, $fieldValue, $datasetRaw) {
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,39 @@
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Men&uuml; umschalten </span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="<?php echo $headertextlink ?>"><?php echo $headertext ?></a>
</div>
<ul class="nav navbar-top-links navbar-right">
<?php foreach($items as $name => $item): ?>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
<i class="fa fa-<?php echo $item['icon'] ?> fa-fw"></i> <i class="fa fa-caret-down"></i>
</a>
<ul class="dropdown-menu dropdown-<?php echo $name ?>">
<?php foreach($item['children'] as $child): ?>
<li>
<a href="<?php echo $child['link'] ?>">
<?php echo $child['html'] ?>
</a>
</li>
<li class="divider"></li>
<?php endforeach;
if(isset($item['showall'])):
?>
<li>
<a class="text-center" href="<?php echo $item['showall']['showalllink'] ?>">
<strong><?php echo $item['showall']['showalltext'] ?></strong>
<i class="fa fa-angle-right"></i>
</a>
</li>
<?php endif; ?>
</ul>
</li>
<?php endforeach; ?>
</ul>
@@ -0,0 +1,44 @@
<div class="navbar-default sidebar" role="navigation">
<div class="sidebar-nav navbar-collapse">
<ul class="nav" id="side-menu">
<!-- <li class="sidebar-search">
<div class="input-group custom-search-form">
<input type="text" class="form-control" placeholder="Search...">
<span class="input-group-btn">
<button class="btn btn-default" type="button">
<i class="fa fa-search"></i>
</button>
</span>
</div> -->
<!-- /input-group -->
<!-- </li>-->
<?php
foreach ($items as $item)
printNavItem($item); ?>
</ul>
</div>
<!-- /.sidebar-collapse -->
</div>
<!-- /.navbar-static-side -->
<?php
function printNavItem($item, $depth = 1)
{
$expanded = isset($item['expand']) && $item['expand'] === true ? ' active' : '';
echo '<li class="'.$expanded.'">
<a href="'.$item['link'].'"'.$expanded.'>'.(isset($item['icon']) ? '<i class="fa fa-'.$item['icon'].' fa-fw"></i> ' : '').$item['description'].(!empty($item['children']) ? '<span class="fa arrow"></span>':'').'</a>';
if (!empty($item['children']))
{
$level = '';
if ($depth === 1)
$level = 'second';
elseif ($depth > 1)
$level = 'third';
echo '<ul class="nav nav-'.$level.'-level" '.$expanded.'>';
foreach ($item['children'] as $child)
printNavItem($child, ++$depth);
echo '</ul>';
}
echo '</li>';
}
?>
+21 -19
View File
@@ -7,7 +7,7 @@
{
$("#tableDataset").tablesorter(
{
widgets: ["zebra"]
widgets: ["zebra", "filter"]
});
}
@@ -51,28 +51,30 @@
});
</script>
<div>
<form id="filterForm" method="POST" action="<?php echo current_url(); ?>">
<div>
<?php FilterWidget::loadViewSelectFields($listFields); ?>
</div>
<div class="row">
<div class="col-lg-12">
<form class="form-inline" id="filterForm" method="POST" action="<?php echo current_url(); ?>">
<div>
<?php FilterWidget::loadViewSelectFields($listFields); ?>
</div>
<br>
<br>
<div>
<?php FilterWidget::loadViewSelectFilters($metaData); ?>
</div>
<div>
<?php FilterWidget::loadViewSelectFilters($metaData); ?>
</div>
<br>
<br>
<div>
<?php FilterWidget::loadViewSaveFilter(); ?>
</div>
<div>
<?php FilterWidget::loadViewSaveFilter(); ?>
</div>
<br>
<br>
<div>
<?php FilterWidget::loadViewTableDataset($dataset); ?>
</div>
</form>
<div>
<?php FilterWidget::loadViewTableDataset($dataset); ?>
</div>
</form>
</div>
</div>
+56
View File
@@ -0,0 +1,56 @@
<?php
class FHC_navheader extends Widget
{
public function display($data)
{
if (!isset($data['items']))
{
//default nav header
$data = array('headertext' => 'Infocenter', 'headertextlink' => base_url('index.ci.php/system/infocenter/InfoCenter'));
$data['items'] = array(
'messages' =>
array(
'icon' => 'envelope', 'showall' => array('showalllink' => '#', 'showalltext' => 'Alle Nachrichten anzeigen'), 'children' =>
array(array('link' => '#', 'html' => '
<div>
<strong>Maximillion Pegasus</strong>
<span class="pull-right text-muted">
<em>Gestern</em>
</span>
</div>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eleifend...</div>
'), array('link' => '#', 'html' => '
<div>
<strong>Yugi Muto</strong>
<span class="pull-right text-muted">
<em>Vorgestern</em>
</span>
</div>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eleifend...</div>
'))
),
'alerts' =>
array(
'icon' => 'bell', 'showall' => array('showalllink' => '#', 'showalltext' => 'Alle Aktionen anzeigen'), 'children' =>
array(array('link' => '#', 'html' => '
<div>
<i class="fa fa-upload fa-fw"></i> Dokument hochgeladen
<span class="pull-right text-muted small">vor 2 Minuten</span>
</div>'), array('link' => '#', 'html' => '
<div>
<i class="fa fa-envelope fa-fw"></i> Nachricht versandt
<span class="pull-right text-muted small">vor 4 Minuten</span>
</div>'), array('link' => '#', 'html' => '
<div>
<i class="fa fa-share fa-fw"></i> InteressentIn freigegeben
<span class="pull-right text-muted small">vor 5 Minuten</span>
</div>'))
)
);
}
$this->view('widgets/fhcnavheader', $data);
}
}
+75
View File
@@ -0,0 +1,75 @@
<?php
class FHC_navigation extends Widget
{
public function display($data)
{
if (!isset($data['items']))
{
//default menu with filters abgeschickt/not abgeschickt
$listFiltersSent = array();
$listFiltersNotSent = array();
$listFiltersSent = $this->_getFilterList('%InfoCenterSentApplication%');
$listFiltersNotSent = $this->_getFilterList('%InfoCenterNotSentApplication%');
$filtersarray = array('abgeschickt' => array('link' => '#', 'description' => 'Abgeschickt', 'expand' => true, 'children' => array()),
'nichtabgeschickt' => array('link' => '#', 'description' => 'Nicht abgeschickt','expand' => true,'children' => array()));
$this->_fillFilters($listFiltersSent, $filtersarray['abgeschickt']);
$this->_fillFilters($listFiltersNotSent, $filtersarray['nichtabgeschickt']);
$data = array();
$data['items'] = array('dashboard' => array('link' => '#', 'description' => 'Dashboard', 'icon' => 'dashboard'),
'filters' => array('link' => '#', 'description' => 'Filter', 'icon' => 'filter','expand' => true, 'children' =>
$filtersarray
));
}
$this->view('widgets/fhcnavigation', $data);
}
private function _getFilterList($filter_kurzbz)
{
$this->load->model('system/Filters_model', 'FiltersModel');
$listFilters = array();
$personActionsArray = array(
'app' => 'aufnahme',
'dataset_name' => 'PersonActions',
'person_id' => null,
'default_filter' => false,
'array_length(description, 1) >' => 0
);
$this->FiltersModel->resetQuery();
$this->FiltersModel->addSelect('filter_id, description');
$this->FiltersModel->addOrder('sort', 'ASC');
$personActionsArray['filter_kurzbz ILIKE'] = $filter_kurzbz;
$filters = $this->FiltersModel->loadWhere($personActionsArray);
if (hasData($filters))
{
for ($filtersCounter = 0; $filtersCounter < count($filters->retval); $filtersCounter++)
{
$filter = $filters->retval[$filtersCounter];
$listFilters[$filter->filter_id] = $filter->description[0];
}
}
return $listFilters;
}
private function _fillFilters($filters, &$tofill)
{
foreach ($filters as $filterId => $description)
{
$toPrint = "%s=%s";
$tofill['children'][] = array('link' => sprintf($toPrint, base_url('index.ci.php/system/infocenter/InfoCenter?filterId'), $filterId), 'description' => $description);
}
}
}
+12 -1
View File
@@ -291,6 +291,7 @@ class FilterWidget extends Widget
<span>
<select name="%s" class="select-filter-operation">
<option value="'.self::OP_LESS_THAN.'" '.($activeFilterOperationValue == self::OP_LESS_THAN ? 'selected' : '').'>less than</option>
<option value="'.self::OP_GREATER_THAN.'" '.($activeFilterOperationValue == self::OP_GREATER_THAN ? 'selected' : '').'>greater than</option>
<option value="'.self::OP_SET.'" '.($activeFilterOperationValue == self::OP_SET ? 'selected' : '').'>is set</option>
<option value="'.self::OP_NOT_SET.'" '.($activeFilterOperationValue == self::OP_NOT_SET ? 'selected' : '').'>is not set</option>
</select>
@@ -1046,7 +1047,17 @@ class FilterWidget extends Widget
break;
case self::OP_GREATER_THAN:
if (!is_numeric($activeFilterValue)) $activeFilterValue = 0;
$condition = ' > '.$activeFilterValue;
if (isset($activeFiltersOption[$field])
&& ($activeFiltersOption[$field] == self::OPT_DAYS
|| $activeFiltersOption[$field] == self::OPT_MONTHS))
{
$condition = ' > (NOW() - \''.$activeFilterValue.' '.$activeFiltersOption[$field].'\'::interval)';
}
else
{
$condition = ' > '.$activeFilterValue;
}
break;
case self::OP_LESS_THAN:
if (!is_numeric($activeFilterValue)) $activeFilterValue = 0;
-131
View File
@@ -1,131 +0,0 @@
<?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>
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
// **
// * @brief Uebersicht der Resturlaubstage
require_once('../../../config/cis.config.inc.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/resturlaub.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/phrasen.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if (!$rechte->isBerechtigt('admin',0) && !$rechte->isBerechtigt('mitarbeiter'))
die($p->t('global/keineBerechtigungFuerDieseSeite'));
$db = new basis_db();
$jahr=date('Y');
if (date('m')>8)
{
$datum_beginn_iso=$jahr.'-09-01';
$datum_beginn='1.Sept.'.$jahr;
$datum_ende_iso=($jahr+1).'-08-31';
$datum_ende='31.Aug.'.($jahr+1);
$geschaeftsjahr=$jahr.'/'.($jahr+1);
}
else
{
$datum_beginn_iso=($jahr-1).'-09-01';
$datum_beginn='1.Sept.'.($jahr-1);
$datum_ende_iso=$jahr.'-08-31';
$datum_ende='31.Aug.'.$jahr;
$geschaeftsjahr=($jahr-1).'/'.$jahr;
}
echo '
<html>
<head>
<title>'.$p->t('zeitsperre/resturlaubstage').'</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
</head>
<body>
<h1>Resturlaubstage</H1>
<TABLE >
<TR class="liste">
<TH>'.$p->t('global/nachname').'</TH>
<TH>'.$p->t('global/vorname').'</TH>
<TH>'.$p->t('zeitsperre/resturlaubstagePerDatum',array($datum_beginn)).'</TH>
<TH>'.$p->t('zeitsperre/aktuellerStand').'</TH>
<TH>'.$p->t('zeitsperre/resturlaubstagePerDatum',array($datum_ende)).'</TH>
</TR>
';
$obj=new resturlaub();
$obj->getResturlaubFixangestellte();
$i=0;
foreach ($obj->result as $row)
{
echo '<TR class="liste'.($i%2).'">';
echo "<TD>$row->nachname</TD><TD>$row->vorname $row->vornamen</TD>";
echo "<TD>$row->resturlaubstage</TD>";
//Urlaub berechnen (date_part('month', vondatum)>9 AND date_part('year', vondatum)='".(date('Y')-1)."') OR (date_part('month', vondatum)<9 AND date_part('year', vondatum)='".date('Y')."')
$qry = "SELECT
(SELECT sum(bisdatum-vondatum+1) as anzahltage FROM campus.tbl_zeitsperre
WHERE zeitsperretyp_kurzbz='Urlaub' AND mitarbeiter_uid='".addslashes($row->mitarbeiter_uid)."' AND
(
vondatum>='".addslashes($datum_beginn_iso)."' AND bisdatum<='".addslashes($datum_ende_iso)."'
)) as anzahltage,
(SELECT sum(bisdatum-vondatum+1) as anzahltage FROM campus.tbl_zeitsperre
WHERE zeitsperretyp_kurzbz='Urlaub' AND mitarbeiter_uid='".addslashes($row->mitarbeiter_uid)."' AND
(
vondatum>='".addslashes($datum_beginn_iso)."' AND bisdatum<=now()
)) as anzahltageaktuell
";
$tttt="\n";
if($result_summe = $db->db_query($qry))
{
if($row_summe = $db->db_fetch_object($result_summe))
{
$gebuchterurlaub = $row_summe->anzahltage;
$gebuchterurlaubaktuell = $row_summe->anzahltageaktuell;
}
}
if($gebuchterurlaub=='')
$gebuchterurlaub=0;
if($gebuchterurlaubaktuell=='')
$gebuchterurlaubaktuell=0;
echo '<td>'.($row->urlaubstageprojahr+$row->resturlaubstage-$gebuchterurlaubaktuell).'</td>';
echo '<td>'.($row->urlaubstageprojahr+$row->resturlaubstage-$gebuchterurlaub).'</td>';
echo '</TR>';
$i++;
}
echo '
</table>
</body>
</html>';
?>
-97
View File
@@ -26,7 +26,6 @@ require_once('../../../include/zeitsperre.class.php');
require_once('../../../include/person.class.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/mitarbeiter.class.php');
require_once('../../../include/resturlaub.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/addon.class.php');
@@ -156,26 +155,6 @@ if(isset($_GET['action']) && $_GET['action']=='freigabe')
}
//Speichern der Resturlaubstage
if(isset($_POST['saveresturlaub']))
{
if(isset($_POST['resturlaubstage']) && is_numeric($_POST['resturlaubstage']))
{
$resturlaub = new resturlaub();
$resturlaub->load($uid);
$resturlaub->resturlaubstage=$_POST['resturlaubstage'];
$resturlaub->updateamum=date('Y-m-d H:i:s');
$resturlaub->updatevon = $user;
if($resturlaub->save())
echo 'Resturlaubstage wurden erfolgreich gespeichert';
else
echo '<span class="error">Fehler beim Speichern der Resturlaubstage: '.$resturlaub->errormsg.'</span>';
}
else
echo '<span class="error">Fehler beim Speichern der Resturlaubstage: Resturlaub muss eine gueltige Zahl sein</span>';
}
//Monat zeichenen
function draw_monat($monat)
{
@@ -225,93 +204,17 @@ function draw_monat($monat)
}
//Jahr mit Pfeilen zum blaettern anzeigen
if($uid!='')
{
echo '<table width="100%"><tr><td style="width:33%">';
echo "<a href='".$_SERVER['PHP_SELF']."?year=$year' class='Item'>Alle Mitarbeiter anzeigen</a><br></td>";
echo '<td style="width:33%">';
echo '</td><td style="width:33%">';
//echo '<div id="resturlaub"></div>';
//echo '</td></tr></table>';
//Anzeige Resturlaubsberechnung
$resturlaub = new resturlaub();
if($resturlaub->load($uid))
{
$resturlaubstage = $resturlaub->resturlaubstage;
$mehrarbeitsstunden = $resturlaub->mehrarbeitsstunden;
$anspruch = $resturlaub->urlaubstageprojahr;
}
else
{
$resturlaubstage=0;
$mehrarbeitsstunden=0;
// wenn mitarbeiter ist kein fixangestellter --> kein urlaubsanspruch
$mitarbeiter_anspruch = new mitarbeiter();
$mitarbeiter_anspruch->load($uid);
if($mitarbeiter_anspruch->fixangestellt == true)
$anspruch=25;
else
$anspruch = 0;
}
$jahr=date('Y');
if (date('m')>8)
{
$datum_beginn_iso=$jahr.'-09-01';
$datum_beginn='1.Sept.'.$jahr;
$datum_ende_iso=($jahr+1).'-08-31';
$datum_ende='31.Aug.'.($jahr+1);
$geschaeftsjahr=$jahr.'/'.($jahr+1);
}
else
{
$datum_beginn_iso=($jahr-1).'-09-01';
$datum_beginn='1.Sept.'.($jahr-1);
$datum_ende_iso=$jahr.'-08-31';
$datum_ende='31.Aug.'.$jahr;
$geschaeftsjahr=($jahr-1).'/'.$jahr;
}
//Urlaub berechnen
$gebuchterurlaub=0;
$qry = "SELECT sum(bisdatum-vondatum+1) as anzahltage FROM campus.tbl_zeitsperre
WHERE zeitsperretyp_kurzbz='Urlaub' AND mitarbeiter_uid='$uid' AND
(
vondatum>='$datum_beginn_iso' AND bisdatum<='$datum_ende_iso'
)";
$result = $db->db_query($qry);
$row = $db->db_fetch_object($result);
$gebuchterurlaub = $row->anzahltage;
if($gebuchterurlaub=='')
$gebuchterurlaub=0;
echo '<div id="resturlaub">';
echo "<table ><tr><td nowrap><h3>Urlaub im Gesch&auml;ftsjahr $geschaeftsjahr</h3></td></tr>";
echo "<tr><td nowrap>Anspruch</td><td align='right' nowrap>$anspruch Tage</td><td class='grey' nowrap>&nbsp;&nbsp;&nbsp( j&auml;hrlich )</td></tr>";
echo "<tr><td nowrap>+ Resturlaub</td><td align='right' nowrap>";
if(date('m')>8 && date('m')<11)
{
echo "<form action='".$_SERVER['PHP_SELF']."?uid=$uid' method='POST' style='margin:0px'>";
echo "<input type='text' size='2' value='$resturlaubstage' name='resturlaubstage'> Tage";
echo "<input type='submit' value='OK' name='saveresturlaub'>";
echo "</form>";
}
else
{
echo "$resturlaubstage Tage";
}
echo "</td><td class='grey' nowrap>&nbsp;&nbsp;&nbsp;( Stichtag: $datum_beginn )</td>";
echo "<tr><td nowrap>- aktuell gebuchter Urlaub&nbsp;</td><td align='right' nowrap>$gebuchterurlaub Tage</td><td class='grey' nowrap>&nbsp;&nbsp;&nbsp;( $datum_beginn - $datum_ende )</td></tr>";
echo "<tr><td style='border-top: 1px solid black;' nowrap>aktueller Stand</td><td style='border-top: 1px solid black;' align='right' nowrap>".($anspruch+$resturlaubstage-$gebuchterurlaub)." Tage</td><td class='grey' nowrap>&nbsp;&nbsp;&nbsp;( Stichtag: $datum_ende )</td></tr>";
echo "</table>";
echo '</div>';
echo '</td></tr></table>';
}
echo '<br><center>';
+5 -67
View File
@@ -26,7 +26,6 @@ require_once('../../../config/cis.config.inc.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/zeitsperre.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/resturlaub.class.php');
require_once('../../../include/person.class.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/mitarbeiter.class.php');
@@ -35,7 +34,6 @@ require_once('../../../include/phrasen.class.php');
require_once('../../../include/globals.inc.php');
require_once('../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
@@ -503,77 +501,17 @@ echo '
</head>
<body>
<?php
echo "<H1>".$p->t('urlaubstool/urlaubstool')." (".$uid.")</H1>";
//Anzeige Resturlaubsberechnung
echo '<table width="100%">';
echo '<tr><td colspan=2>';
$resturlaub = new resturlaub();
echo "<H1>".$p->t('urlaubstool/urlaubstool')." (".$uid.")</H1>";
if($resturlaub->load($uid))
{
$resturlaubstage = $resturlaub->resturlaubstage;
$mehrarbeitsstunden = $resturlaub->mehrarbeitsstunden;
$anspruch = $resturlaub->urlaubstageprojahr;
}
else
{
$resturlaubstage=0;
$mehrarbeitsstunden=0;
// wenn mitarbeiter ist kein fixangestellter --> kein urlaubsanspruch
$mitarbeiter_anspruch = new mitarbeiter();
$mitarbeiter_anspruch->load($uid);
if($mitarbeiter_anspruch->fixangestellt == true)
$anspruch = 25;
else
$anspruch = 0;
}
$jahr=date('Y');
if (date('m')>8)
{
$datum_beginn_iso=$jahr.'-09-01';
$datum_beginn='1.Sept.'.$jahr;
$datum_ende_iso=($jahr+1).'-08-31';
$datum_ende='31.Aug.'.($jahr+1);
$geschaeftsjahr=$jahr.'/'.($jahr+1);
}
else
{
$datum_beginn_iso=($jahr-1).'-09-01';
$datum_beginn='1.Sept.'.($jahr-1);
$datum_ende_iso=$jahr.'-08-31';
$datum_ende='31.Aug.'.$jahr;
$geschaeftsjahr=($jahr-1).'/'.$jahr;
}
//Urlaub berechnen
$gebuchterurlaub=0;
$qry = "SELECT sum(bisdatum-vondatum+1) as anzahltage FROM campus.tbl_zeitsperre
WHERE zeitsperretyp_kurzbz='Urlaub' AND mitarbeiter_uid='$uid' AND
(
vondatum>='$datum_beginn_iso' AND bisdatum<='$datum_ende_iso'
)";
$result = $db->db_query($qry);
$row = $db->db_fetch_object($result);
$gebuchterurlaub = $row->anzahltage;
if($gebuchterurlaub=='')
$gebuchterurlaub=0;
$content_resturlaub .= '<div id="resturlaub">';
$content_resturlaub .= "<table><tr><td nowrap><h3>".$p->t('urlaubstool/urlaubImGeschaeftsjahr')." $geschaeftsjahr</h3></td><td></td></tr>";
$content_resturlaub .= "<tr><td nowrap>".$p->t('urlaubstool/anspruch')."</td><td align='right' nowrap>$anspruch ".$p->t('urlaubstool/tage')."</td><td class='grey' nowrap>&nbsp;&nbsp;&nbsp;( ".$p->t('urlaubstool/jaehrlich')." )</td></tr>";
$content_resturlaub .= "<tr><td nowrap>+ ".$p->t('urlaubstool/resturlaub')."</td><td align='right' nowrap>$resturlaubstage ".$p->t('urlaubstool/tage')."</td><td class='grey' nowrap>&nbsp;&nbsp;&nbsp;( ".$p->t('urlaubstool/stichtag').": $datum_beginn )</td>";
$content_resturlaub .= "<tr><td nowrap>- ".$p->t('urlaubstool/aktuellGebuchterUrlaub')."&nbsp;</td><td align='right' nowrap>$gebuchterurlaub ".$p->t('urlaubstool/tage')."</td><td class='grey' nowrap>&nbsp;&nbsp;&nbsp;( $datum_beginn - $datum_ende )</td>";
$content_resturlaub .= "</tr>";
$content_resturlaub .= "<tr><td style='border-top: 1px solid black;' nowrap>".$p->t('urlaubstool/aktuellerStand')."</td><td style='border-top: 1px solid black;' align='right' nowrap>".($anspruch+$resturlaubstage-$gebuchterurlaub)." ".$p->t('urlaubstool/tage')."</td><td class='grey' nowrap>&nbsp;&nbsp;&nbsp;( ".$p->t('urlaubstool/stichtag').": $datum_ende )</td></tr>";
$content_resturlaub .= "</table>";
$content_resturlaub .= '</div>';
//Anzeige Resturlaubsberechnung
echo '<table width="100%">';
echo '<tr><td colspan=2>';
//Formular Auswahl Monat und Jahr für Kalender
echo '
<table width="95%" align="left">
<tr>
<td class="tdvertical" align="left" colspan="2">'.$content_resturlaub.'</td>
<td class="tdvertical" align="left" colspan="2"><div id="resturlaub"></div></td>
<td style="vertical-align:top; width: 20%;">
<table cellspacing="0" cellpadding="0">
<tr>
+18 -109
View File
@@ -27,7 +27,6 @@ require_once('../../../config/cis.config.inc.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/zeitsperre.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/resturlaub.class.php');
require_once('../../../include/person.class.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/mitarbeiter.class.php');
@@ -109,20 +108,19 @@ $( document ).ready(function()
}
}
$( ".datepicker_datum" ).datepicker({
changeMonth: true,
changeYear: true,
dateFormat: "dd.mm.yy",
});
$( ".datepicker_datum" ).datepicker({
changeMonth: true,
changeYear: true,
dateFormat: "dd.mm.yy",
});
$( ".timepicker" ).timepicker({
showPeriodLabels: false,
hourText: "'.$p->t("global/stunde").'",
minuteText: "'.$p->t("global/minute").'",
hours: {starts: 7,ends: 22},
rows: 4,
});
$( ".timepicker" ).timepicker({
showPeriodLabels: false,
hourText: "'.$p->t("global/stunde").'",
minuteText: "'.$p->t("global/minute").'",
hours: {starts: 7,ends: 22},
rows: 4,
});
});
</script>';
@@ -229,6 +227,10 @@ function showHideBezeichnungDropDown()
sp.innerHTML = str;
}
else if (dd.options[dd.selectedIndex].value == 'DienstF')
{
sp.innerHTML = '<font color="red"><b>Dienstfreistellungen</b> nur in Absprache mit Personalservice eintragen!</font><br><input type="text" name="bezeichnung" maxlength="32" size="32" value="">';
}
else
{
@@ -250,16 +252,6 @@ function setBisDatum()
<body id="inhalt">
<div class="flexcroll" style="outline: none;">
<!--<H2><table class="tabcontent">
<tr>
<td>
&nbsp;<a class="Item" href="index.php">Userprofil</a> &gt;&gt;
&nbsp;Zeitsperren
</td>
<td align="right"></td>
</tr>
</table>
</H2>-->
<table id="inhalt">
<tr>
<td>
@@ -365,11 +357,6 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$zeitsperre->insertvon = $uid;
}
/* if(!$error && $zeitsperre->freigabeamum!='')
{
$error = true;
$error_msg.=$p->t('zeitsperre/urlaubKannNichtMehrEditiertWerden');
} */
if(!$error && $_POST['zeitsperretyp_kurzbz']=='Urlaub')
{
if($zeitsperre->zeitsperre_id!='')
@@ -414,9 +401,7 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$to.=',';
$to.=trim($vg.'@'.DOMAIN);
}
# $to_len=mb_strlen($to)-1;
# $to = mb_substr($to, 0,$to_len);
//$to = 'oesi@technikum-wien.at';
$benutzer = new benutzer();
$benutzer->load($uid);
if($datum_obj->formatDatum($zeitsperre->vondatum, 'm')>=9)
@@ -627,8 +612,6 @@ for($i=0;$i<$num_rows_stunde;$i++)
$content_form.= "</SELECT></td></tr>";
$content_form.= "<tr><td>".$p->t('urlaubstool/vertretung')."</td><td colspan='2'><SELECT name='vertretung_uid' id='vertretung_uid' class='dd_breit'>";
//dropdown fuer vertretung
$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE uid not LIKE '\\\_%' ORDER BY nachname, vorname";
@@ -670,86 +653,12 @@ $content_form .= '<tr><td colspan="3">&nbsp;</td></tr>';
$content_form.= "<tr><td colspan='3' style='color:red'>".$p->t('zeitsperre/achtungEsWerdenAlleEingegebenenTage')."</td></tr>";
$content_form.= '</table></form>';
// ******* RESTURLAUB ******** //
$content_resturlaub = '';
$resturlaubstage = '0';
$mehrarbeitsstunden = '0';
$anspruch = '25';
$resturlaub = new resturlaub();
if($resturlaub->load($uid))
{
$resturlaubstage = $resturlaub->resturlaubstage;
$mehrarbeitsstunden = $resturlaub->mehrarbeitsstunden;
$anspruch = $resturlaub->urlaubstageprojahr;
}else
{
// wenn mitarbeiter ist kein fixangestellter --> kein urlaubsanspruch
$mitarbeiter_anspruch = new mitarbeiter();
$mitarbeiter_anspruch->load($uid);
if($mitarbeiter_anspruch->fixangestellt == true)
$anspruch=25;
else
$anspruch = 0;
}
//Den Bereich fuer die Resturlaubstage nur anzeigen wenn dies
//im config angegeben ist
if(URLAUB_TOOLS)
{
$jahr=date('Y');
if (date('m')>8)
{
$datum_beginn_iso=$jahr.'-09-01';
$datum_beginn='1.Sept.'.$jahr;
$datum_ende_iso=($jahr+1).'-08-31';
$datum_ende='31.Aug.'.($jahr+1);
$geschaeftsjahr=$jahr.'/'.($jahr+1);
}
else
{
$datum_beginn_iso=($jahr-1).'-09-01';
$datum_beginn='1.Sept.'.($jahr-1);
$datum_ende_iso=$jahr.'-08-31';
$datum_ende='31.Aug.'.$jahr;
$geschaeftsjahr=($jahr-1).'/'.$jahr;
}
$content_resturlaub.="<h3>".$p->t('zeitsperre/urlaubImGeschaeftsjahr')." $geschaeftsjahr</h3>";
/*
$content_resturlaub.='<form method="POST" action="'.$PHP_SELF.'?type=save_resturlaub"><table>';
$content_resturlaub.='<tr><td>Resturlaubstage (31.08.)</td><td><input type="text" size="6" '.$disabled.' id="resturlaubstage" name="resturlaubstage" value="'.$resturlaubstage.'" oninput="berechnen()"/></td></tr>';
$content_resturlaub.='<tr><td>Anspruch (01.09.)</td><td><input type="text" size="6" '.$disabled.' id="anspruch" name="anspruch" value="'.$anspruch.'" oninput="berechnen()"/></td></tr>';
$content_resturlaub.='<tr><td>Gesamturlaub</td><td><input type="text" disabled="true" size="6" name="summe" id="summe" value="'.($anspruch+$resturlaubstage).'" /></td></tr>';
$content_resturlaub.='<tr><td>&nbsp;</td></tr>';
$content_resturlaub.='<tr><td>Aktuelle Mehrarbeitsstunden:</td><td><input type="text" size="6" name="mehrarbeitsstunden" value="'.$mehrarbeitsstunden.'" /></td></tr>';
$content_resturlaub.='<tr><td></td><td><input type="submit" name="save_resturlaub" value="Speichern" /></td></tr></table>';
*/
$gebuchterurlaub=0;
//Urlaub berechnen (date_part('month', vondatum)>9 AND date_part('year', vondatum)='".(date('Y')-1)."') OR (date_part('month', vondatum)<9 AND date_part('year', vondatum)='".date('Y')."')
$qry = "SELECT sum(bisdatum-vondatum+1) as anzahltage FROM campus.tbl_zeitsperre
WHERE zeitsperretyp_kurzbz='Urlaub' AND mitarbeiter_uid=".$db->db_add_param($uid)." AND
(
vondatum>=".$db->db_add_param($datum_beginn_iso)." AND bisdatum<=".$db->db_add_param($datum_ende_iso)."
)";
$tttt="\n";
$result = $db->db_query($qry);
$row = $db->db_fetch_object($result);
$gebuchterurlaub = $row->anzahltage;
if($gebuchterurlaub=='')
$gebuchterurlaub=0;
$content_resturlaub.="<table><tr><td nowrap>".$p->t('urlaubstool/anspruch')."</td><td align='right' nowrap>$anspruch ".$p->t('urlaubstool/tage')."</td><td nowrap class='grey'>&nbsp;&nbsp;&nbsp( ".$p->t('urlaubstool/jaehrlich')." )</td></tr>";
$content_resturlaub.="<tr><td nowrap>+ ".$p->t('urlaubstool/resturlaub')."</td><td align='right' nowrap>$resturlaubstage ".$p->t('urlaubstool/tage')."</td><td nowrap class='grey'>&nbsp;&nbsp;&nbsp;( ".$p->t('urlaubstool/stichtag').": $datum_beginn )</td></tr>";
$content_resturlaub.="<tr><td nowrap>- ".$p->t('urlaubstool/aktuellGebuchterUrlaub')."&nbsp;</td><td align='right' nowrap>$gebuchterurlaub ".$p->t('urlaubstool/tage')."</td><td nowrap class='grey'>&nbsp;&nbsp;&nbsp;( $datum_beginn - $datum_ende )</td></tr>";
$content_resturlaub.="<tr><td style='border-top: 1px solid black;' nowrap>".$p->t('urlaubstool/aktuellerStand')."</td><td style='border-top: 1px solid black;' align='right' nowrap>".($anspruch+$resturlaubstage-$gebuchterurlaub)." ".$p->t('urlaubstool/tage')."</td><td nowrap class='grey'>&nbsp;&nbsp;&nbsp;( ".$p->t('urlaubstool/stichtag').": $datum_ende )</td></tr>";
$content_resturlaub .="<tr></tr><tr><td><a href='../../../cms/dms.php?id=".$p->t('dms_link/cisHandbuch')."'> ".$p->t('zeitsperre/beschreibungSieheCisHandbuch')." </a></td><td><button type='button' name='hilfe' value='Hilfe' onclick='alert(\"".$p->t('urlaubstool/anspruchAnzahlDerUrlaubstage')."\");'>".$p->t('global/hilfe')."</button></td></tr>";
$content_resturlaub .='<tr><td></td></tr>';
$content_resturlaub.="</table>";
}
echo '<table width="100%">';
echo '<tr>';
echo "<td class='tdvertical'>";
echo $content_form;
echo '</td>';
echo "<td class='tdvertical'><div id='resturlaub' style='visibility:hidden;'>$content_resturlaub</div></td>";
echo "<td class='tdvertical'><div id='resturlaub' style='visibility:hidden;'></div></td>";
echo '</tr><tr><td colspan=2>';
echo $content_table;
echo '</td>';
+11 -7
View File
@@ -102,7 +102,11 @@ else
$activities_str = "'".implode("','", $activities)."'";
// definiert bis zu welchem Datum die Eintragung nicht mehr möglich ist
$gesperrt_bis = '2015-08-31';
if (defined('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS') && CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS != '')
$gesperrt_bis = CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS;
else
$gesperrt_bis = '2015-08-31';
$sperrdatum = date('c', strtotime($gesperrt_bis));
// Uses urlencode to avoid XSS issues
@@ -431,9 +435,9 @@ echo '
}
return true;
}
/**
* kontrolliert Start- und Enddatum für CSV Export -
* kontrolliert Start- und Enddatum für CSV Export -
* ob Startdatum nicht größer als Enddatum ist und ob die Zeitspanne nicht größer als 1000 Tage ist
*/
function checkdatumCSVExp(vondatumid, bisdatumid)
@@ -452,7 +456,7 @@ echo '
Jahr=Datum.substring(6,10);
bisDatum=Jahr+\'\'+Monat+\'\'+Tag;
diff=bisDatum-vonDatum;
if (bisDatum>=vonDatum)
{
if (diff>2000 && bisDatum != "" && vonDatum != "")
@@ -724,9 +728,9 @@ if($projekt->getProjekteMitarbeiter($user, true))
<tr>
<td>
<a href='".$_SERVER['PHP_SELF']."' style='font-size: larger;'>".$p->t("zeitaufzeichnung/neu")."</a><a style='font-size: larger; text-decoration: none; cursor: default'> | </a>
<a href='".$_SERVER['PHP_SELF']."?csvimport=1' style='font-size: larger;'>CSV Import</a><a style='font-size: larger; text-decoration: none; cursor: default'> | </a>
<a href='".$_SERVER['PHP_SELF']."?csvexport=1' style='font-size: larger;'>CSV Export</a>";
if($anzprojekte > 0)
echo "<a style='font-size: larger; text-decoration: none; cursor: default'> | </a><a href='".$_SERVER['PHP_SELF']."?projektexport=1' style='font-size: larger;'>".$p->t("zeitaufzeichnung/projektexport")."</a>";
@@ -1262,7 +1266,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
if(!$za_simple)
{
echo '<td '.$style.' title = "'.$service->bezeichnung.'" > '.StringCut($db->convert_html_chars($service->bezeichnung),20,null,'...').' </td>';
}
}
echo '<td '.$style.' nowrap>'.date('H:i', $datum->mktime_fromtimestamp($row->start)).'</td>
<td '.$style.' nowrap>'.date('H:i', $datum->mktime_fromtimestamp($row->ende)).'</td>
<td '.$style.' align="right">'.$db->convert_html_chars($row->diff).'</td>
-11
View File
@@ -51,17 +51,6 @@ class menu_addon_zeitsperren extends menu_addon
'name' => $p->t('menu/zeitsperren')
);
/*
if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter'))
{
$this->items[] = array('title' => $p->t('menu/resturlaub'),
'target'=> 'content',
'link' => 'private/profile/resturlaub.php',
'name' => $p->t('menu/resturlaub')
);
}
*/
if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter')
|| $fkt->checkFunktion('stvLtg')|| $fkt->checkFunktion('gLtg')
|| $fkt->checkFunktion('Leitung') || $fkt->checkFunktion('ass'))
+3
View File
@@ -41,6 +41,9 @@ define('CIS_PROFIL_FUNKTIONEN_ANZEIGEN',true);
define('CIS_PROFIL_BETRIEBSMITTEL_ANZEIGEN',true);
define('CIS_PROFIL_STUDIENINFORMATION_ANZEIGEN',true);
// Zeitaufzeichnung gesperrt_bis Datum YYYY-MM-DD
define('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS','');
// Anzeige des Links zur Noteneingabe in der LVA Uebersicht
define('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN',true);
+2 -29
View File
@@ -33,7 +33,6 @@ require_once('../../include/mitarbeiter.class.php');
require_once('../../include/bisverwendung.class.php');
require_once('../../include/bisfunktion.class.php');
require_once('../../include/entwicklungsteam.class.php');
require_once('../../include/resturlaub.class.php');
require_once('../../include/buchung.class.php');
require_once('../../include/pruefung.class.php');
require_once('../../include/projektbetreuer.class.php');
@@ -108,37 +107,11 @@ if(!$error)
$mitarbeiter->kleriker = ($_POST['kleriker'] == 'true'?true:false);
if($rechte->isBerechtigt('mitarbeiter/personalnummer'))
{
$mitarbeiter->personalnummer = $_POST['personalnummer'];
$mitarbeiter->personalnummer = $_POST['personalnummer'];
}
if($mitarbeiter->save())
{
$resturlaub = new resturlaub();
if($resturlaub->load($_POST['uid']))
{
$resturlaub->new = false;
}
else
{
$resturlaub->new = true;
$resturlaub->insertamum = date('Y-m-d H:i:s');
$resturlaub->insertvon = $user;
$resturlaub->mitarbeiter_uid = $_POST['uid'];
}
$resturlaub->updateamum = date('Y-m-d H:i:s');
$resturlaub->updatevon = $user;
$resturlaub->urlaubstageprojahr = $_POST['urlaubsanspruch'];
$resturlaub->resturlaubstage = $_POST['resturlaubstage'];
if($resturlaub->save())
{
$return = true;
}
else
{
$return = false;
$errormsg = 'Fehler beim Speichern der Resturlaubstage/Urlaubsanspruch'.$resturlaub->errormsg;
}
$return = true;
}
else
{
@@ -265,15 +265,12 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<textbox id="mitarbeiter-detail-textbox-mitarbeiteranmerkung" disabled="true" multiline="true" oninput="MitarbeiterDetailValueChange()"/>
<vbox>
<label value="Alias" control="mitarbeiter-detail-textbox-alias"/>
<label value="Urlaubsanspruch" control="mitarbeiter-detail-textbox-urlaubsanspruch" style="margin-top: 10px;" />
</vbox>
<vbox>
<textbox id="mitarbeiter-detail-textbox-alias" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<textbox id="mitarbeiter-detail-textbox-urlaubsanspruch" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</vbox>
<vbox>
<label align="end" control="mitarbeiter-detail-menulist-ausbildung" value="Ausbildung"/>
<label control="mitarbeiter-detail-textbox-resturlaubstage" value="Resturlaubstage" style="margin-top: 10px;"/>
</vbox>
<vbox>
<menulist id="mitarbeiter-detail-menulist-ausbildung" disabled="true"
@@ -286,14 +283,13 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</menupopup>
</template>
</menulist>
<textbox id="mitarbeiter-detail-textbox-resturlaubstage" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</vbox>
</row>
</rows>
</grid>
<hbox class="style-groupbox">
</row>
</rows>
</grid>
<hbox class="style-groupbox">
</hbox>
</hbox>
</groupbox>
</hbox>
<hbox>
+1 -10
View File
@@ -445,8 +445,6 @@ function MitarbeiterDetailDisableFields(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;
document.getElementById('mitarbeiter-detail-textbox-urlaubsanspruch').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-resturlaubstage').disabled=val;
document.getElementById('mitarbeiter-detail-checkbox-kleriker').disabled=val;
}
@@ -545,7 +543,6 @@ function MitarbeiterAuswahl()
standort_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#standort_id" ));
alias=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#alias" ));
urlaubstageprojahr=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#urlaubstageprojahr" ));
resturlaubstage=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#resturlaubstage" ));
kleriker=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#kleriker" ));
//Daten den Feldern zuweisen
@@ -609,8 +606,7 @@ function MitarbeiterAuswahl()
document.getElementById('mitarbeiter-detail-menulist-ort_kurzbz').value=ort_kurzbz;
document.getElementById('mitarbeiter-detail-menulist-standort').value=standort_id;
document.getElementById('mitarbeiter-detail-textbox-alias').value=alias;
document.getElementById('mitarbeiter-detail-textbox-urlaubsanspruch').value=urlaubstageprojahr;
document.getElementById('mitarbeiter-detail-textbox-resturlaubstage').value=resturlaubstage;
// ***** KONTAKTE *****
document.getElementById('mitarbeiter-kontakt').setAttribute('src','kontakt.xul.php?person_id='+person_id);
@@ -832,9 +828,6 @@ function MitarbeiterSave()
alias = document.getElementById('mitarbeiter-detail-textbox-alias').value;
kleriker = document.getElementById('mitarbeiter-detail-checkbox-kleriker').checked;
urlaubsanspruch = document.getElementById('mitarbeiter-detail-textbox-urlaubsanspruch').value;
resturlaubstage = document.getElementById('mitarbeiter-detail-textbox-resturlaubstage').value;
if(geburtsdatum!='' && !CheckDatum(geburtsdatum))
{
alert('Geburtsdatum ist ungueltig');
@@ -878,8 +871,6 @@ function MitarbeiterSave()
req.add('ort_kurzbz', ort_kurzbz);
req.add('standort_id', standort_id);
req.add('alias', alias);
req.add('urlaubsanspruch', urlaubsanspruch);
req.add('resturlaubstage', resturlaubstage);
req.add('kleriker', kleriker);
req.add('personalnummer', personalnummer);
+7 -18
View File
@@ -70,7 +70,7 @@ class mitarbeiter extends benutzer
if(!benutzer::load($uid))
return false;
$qry = "SELECT * FROM public.tbl_mitarbeiter LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid)
$qry = "SELECT * FROM public.tbl_mitarbeiter
WHERE mitarbeiter_uid=".$this->db_add_param($uid).";";
if($this->db_query($qry))
@@ -90,9 +90,6 @@ class mitarbeiter extends benutzer
$this->ext_id_mitarbeiter = $row->ext_id;
$this->bismelden = $this->db_parse_bool($row->bismelden);
$this->kleriker = $this->db_parse_bool($row->kleriker);
$this->urlaubstageprojahr = $row->urlaubstageprojahr;
$this->resturlaubstage = $row->resturlaubstage;
return true;
}
else
@@ -663,7 +660,6 @@ class mitarbeiter extends benutzer
$qry .= " FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid))
JOIN public.tbl_person USING(person_id))
LEFT JOIN public.tbl_benutzerfunktion USING(uid)
LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid)
WHERE true";
if($fix=='true')
@@ -786,9 +782,6 @@ class mitarbeiter extends benutzer
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->urlaubstageprojahr = $row->urlaubstageprojahr;
$obj->resturlaubstage = $row->resturlaubstage;
if ($hasUDF)
{
$obj->p_udf_values = $row->p_udf_values;
@@ -925,7 +918,10 @@ class mitarbeiter extends benutzer
$qry = "SELECT
distinct on(mitarbeiter_uid) *, tbl_benutzer.aktiv as aktiv, tbl_mitarbeiter.insertamum,
tbl_mitarbeiter.insertvon, tbl_mitarbeiter.updateamum, tbl_mitarbeiter.updatevon, tbl_person.svnr
FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)) JOIN public.tbl_person USING(person_id)) LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid)
FROM
public.tbl_mitarbeiter
JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)
JOIN public.tbl_person USING(person_id)
WHERE lower(COALESCE(nachname,'') ||' '|| COALESCE(vorname,'')) ~* lower(".$this->db_add_param($filter).") OR
lower(COALESCE(vorname,'') ||' '|| COALESCE(nachname,'')) ~* lower(".$this->db_add_param($filter).") OR
uid ~* ".$this->db_add_param($filter)." ";
@@ -977,9 +973,6 @@ class mitarbeiter extends benutzer
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->urlaubstageprojahr = $row->urlaubstageprojahr;
$obj->resturlaubstage = $row->resturlaubstage;
$this->result[] = $obj;
}
return false;
@@ -1353,9 +1346,8 @@ class mitarbeiter extends benutzer
$qry .= " FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid))
JOIN public.tbl_person USING(person_id))
LEFT JOIN public.tbl_benutzerfunktion USING(uid)
LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid)
WHERE uid in(".$this->db_implode4SQL($uid_arr).")";;
LEFT JOIN public.tbl_benutzerfunktion USING(uid)
WHERE uid in(".$this->db_implode4SQL($uid_arr).")";;
if($this->db_query($qry))
{
@@ -1402,9 +1394,6 @@ class mitarbeiter extends benutzer
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->urlaubstageprojahr = $row->urlaubstageprojahr;
$obj->resturlaubstage = $row->resturlaubstage;
if ($hasUDF)
{
$obj->p_udf_values = $row->p_udf_values;
-207
View File
@@ -1,207 +0,0 @@
<?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>.
*/
/**
* Klasse bankverbindung
* @create 20-12-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class resturlaub extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $mitarbeiter_uid;
public $resturlaubstage;
public $mehrarbeitsstunden;
public $urlaubstageprojahr;
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
public $vorname;
public $vornamen;
public $nachname;
/**
* Konstruktor
* @param $uid
*/
public function __construct($uid=null)
{
parent::__construct();
if($uid!=null)
$this->load($uid);
}
/**
* Laedt die Resturlaubstage eines Mitarbeiters
* @param $mitarbeiter_uid ID der zu ladenden Resturlaubstage
* @return true wenn ok, false im Fehlerfall
*/
public function load($mitarbeiter_uid)
{
$qry = "SELECT * FROM campus.tbl_resturlaub WHERE mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
$this->resturlaubstage = $row->resturlaubstage;
$this->mehrarbeitsstunden = $row->mehrarbeitsstunden;
$this->urlaubstageprojahr = $row->urlaubstageprojahr;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
return true;
}
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if($this->resturlaubstage!='' && !is_numeric($this->resturlaubstage))
{
$this->errormsg ='Resturlaubstage muss eine gueltige Zahl sein';
return false;
}
if($this->mehrarbeitsstunden!='' && !is_numeric($this->mehrarbeitsstunden))
{
$this->errormsg ='Mehrarbeitsstunden muss eine gueltige Zahl sein';
return false;
}
if($this->urlaubstageprojahr<0)
{
$this->errormsg = 'Urlaubsanspruch darf nicht negativ sein';
return false;
}
if($this->urlaubstageprojahr=='')
$this->urlaubstageprojahr='0';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $bankverbindung_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save()
{
//Variablen pruefen
if(!$this->validate())
return false;
if($this->new)
{
//Neuen Datensatz einfuegen
$qry = 'INSERT INTO campus.tbl_resturlaub (mitarbeiter_uid, resturlaubstage, mehrarbeitsstunden, urlaubstageprojahr, insertamum, insertvon, updateamum, updatevon) VALUES('.
$this->db_add_param($this->mitarbeiter_uid).', '.
$this->db_add_param($this->resturlaubstage).', '.
$this->db_add_param($this->mehrarbeitsstunden).', '.
$this->db_add_param($this->urlaubstageprojahr).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).');';
}
else
{
//Updaten des bestehenden Datensatzes
$qry='UPDATE campus.tbl_resturlaub SET '.
'resturlaubstage='.$this->db_add_param($this->resturlaubstage).', '.
'mehrarbeitsstunden='.$this->db_add_param($this->mehrarbeitsstunden).', '.
'urlaubstageprojahr='.$this->db_add_param($this->urlaubstageprojahr).', '.
'updateamum='.$this->db_add_param($this->updateamum).', '.
'updatevon='.$this->db_add_param($this->updatevon).
' WHERE mitarbeiter_uid='.$this->db_add_param($this->mitarbeiter_uid).';';
}
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Liefert die Resturlaubstage der
* Fixangestellten
*/
public function getResturlaubFixangestellte()
{
$qry = "SELECT * FROM campus.vw_mitarbeiter LEFT JOIN campus.tbl_resturlaub ON(uid=mitarbeiter_uid)
WHERE fixangestellt=true AND aktiv=true ORDER BY nachname, vorname";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new resturlaub();
$obj->mitarbeiter_uid = $row->uid;
$obj->resturlaubstage = $row->resturlaubstage;
$obj->mehrarbeitsstunden = $row->mehrarbeitsstunden;
$obj->urlaubstageprojahr = $row->urlaubstageprojahr;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->vorname = $row->vorname;
$obj->vornamen = $row->vornamen;
$obj->nachname = $row->nachname;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+1 -2
View File
@@ -118,8 +118,7 @@ $menu=array
(
'name'=>'Mitarbeiter','permissions'=>array('admin','mitarbeiter','support'),
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main'),
'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre')),
'Resturlaub'=>array('name'=>'Urlaub', 'link'=>'personen/resturlaub_frameset.html', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre'))
'Zeitsperren'=>array('name'=>'Zeitsperren/Urlaub', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre')),
),
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')),
'AnwesenheitslistenBarcode'=>array('name'=>'Anwesenheitslisten mit Barcodes', 'link'=>'personen/anwesenheitslisten_barcode.php', 'target'=>'main','permissions'=>array('basis/person')),
Regular → Executable
+39 -39
View File
@@ -52,7 +52,7 @@ class zeitsperre extends basis_db
public function __construct($zeitsperre_id=null)
{
parent::__construct();
if($zeitsperre_id != null)
$this->load($zeitsperre_id);
}
@@ -60,7 +60,7 @@ class zeitsperre extends basis_db
/**
* Laedt alle Zeitsperren eines Benutzers wo ende>=now() ist
* @param $uid
* @param $bisgrenze wenn true werden nur die Zeitsperren des
* @param $bisgrenze wenn true werden nur die Zeitsperren des
* aktuellen Geschaeftsjahres geholt (1.9.-31.8.)
* @return true wenn ok, false im Fehlerfall
*/
@@ -81,9 +81,9 @@ class zeitsperre extends basis_db
(date_part('month',vondatum)<9 AND date_part('year', vondatum)>='".(date('Y'))."')
)";
}
$qry.= " ORDER BY vondatum DESC";
if($this->db_query($qry))
{
@@ -242,7 +242,7 @@ class zeitsperre extends basis_db
if(!is_null($new))
$this->new = $new;
if($this->new)
{
//Neuen Datensatz anlegen
@@ -344,7 +344,7 @@ class zeitsperre extends basis_db
}
return $erbk;
}
/**
* Liefert die Vertretung der Zeitsperre
* @return array wenn ok, false im Fehlerfall
@@ -356,13 +356,13 @@ class zeitsperre extends basis_db
foreach ($this->result as $zs)
{
$beginn=$datum_obj->mktime_fromdate($zs->vondatum);
$ende=$datum_obj->mktime_fromdate($zs->bisdatum);
$ende=$datum_obj->mktime_fromdate($zs->bisdatum);
if ($datum>=$beginn && ((int)($datum/60/60/24)<=(int)($ende/60/60/24) || date('Y-m-d', $datum)==date('Y-m-d', $ende)))
$vertretung[]=$zs->vertretung_uid;
}
return array_unique($vertretung);
}
/**
* Liefert die Zeitsperren eines Users zu einem bestimmten Datum und Stunde
*
@@ -374,22 +374,22 @@ class zeitsperre extends basis_db
public function getSperreByDate($user, $datum, $stunde)
{
$qry = "
SELECT
*
FROM
campus.tbl_zeitsperre
WHERE
vondatum<=".$this->db_add_param($datum)."
SELECT
*
FROM
campus.tbl_zeitsperre
WHERE
vondatum<=".$this->db_add_param($datum)."
AND bisdatum>=".$this->db_add_param($datum)." AND
((vondatum=".$this->db_add_param($datum)." AND vonstunde<=".$this->db_add_param($stunde).") OR vonstunde is null OR vondatum<>".$this->db_add_param($datum).") AND
((bisdatum=".$this->db_add_param($datum)." AND bisstunde>=".$this->db_add_param($stunde).") OR bisstunde is null OR bisdatum<>".$this->db_add_param($datum).") AND
((vondatum=".$this->db_add_param($datum)." AND vonstunde<=".$this->db_add_param($stunde).") OR vonstunde is null OR vondatum<>".$this->db_add_param($datum).") AND
((bisdatum=".$this->db_add_param($datum)." AND bisstunde>=".$this->db_add_param($stunde).") OR bisstunde is null OR bisdatum<>".$this->db_add_param($datum).") AND
mitarbeiter_uid=".$this->db_add_param($user);
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new zeitsperre();
$obj->zeitsperre_id = $row->zeitsperre_id;
@@ -420,10 +420,10 @@ class zeitsperre extends basis_db
return false;
}
}
/**
* Prueft ob innerhalb des angegebenen Zeitraums bereits ein Urlaub eingetragen ist
*
*
* @param $uid
* @param $von
* @param $bis
@@ -431,15 +431,15 @@ class zeitsperre extends basis_db
*/
function UrlaubEingetragen($uid, $von, $bis, $id=null)
{
$qry = "SELECT
1
FROM
campus.tbl_zeitsperre
WHERE
1
FROM
campus.tbl_zeitsperre
WHERE
zeitsperretyp_kurzbz='Urlaub'
AND mitarbeiter_uid=".$this->db_add_param($uid)."
AND
AND mitarbeiter_uid=".$this->db_add_param($uid)."
AND
(
(vondatum BETWEEN ".$this->db_add_param($von)." AND ".$this->db_add_param($bis).")
OR
@@ -449,7 +449,7 @@ class zeitsperre extends basis_db
)";
if(!is_null($id))
$qry.=" AND zeitsperre_id<>".$this->db_add_param($id);
if($result = $this->db_query($qry))
{
if($this->db_num_rows($result)>0)
@@ -467,13 +467,13 @@ class zeitsperre extends basis_db
return false;
}
}
/**
* Liefert die Zeitsperren eines Users für die Zeitaufzeichnung
*
* @param $uid
* @param $anz_tage
* @return array 'datum'->'zeitsperre_kurzbz'
* @return array 'datum'->'zeitsperre_kurzbz'
*/
public function getZeitsperrenForZeitaufzeichnung($uid, $anz_tage=50)
{
@@ -481,21 +481,21 @@ class zeitsperre extends basis_db
$this->result=array();
$qry = "select datum::date, freigabevon, zeitsperretyp_kurzbz
from (SELECT generate_series(vondatum::timestamp, bisdatum::timestamp, '1 day') as datum, freigabevon, mitarbeiter_uid, zeitsperretyp_kurzbz FROM campus.tbl_zeitsperre where vonstunde is null and bisstunde is null) a
where a.mitarbeiter_uid = ".$this->db_add_param($uid)." and datum>(now() - interval '".$anz_tage." Days') and zeitsperretyp_kurzbz in ('Krank','Urlaub', 'ZA', 'DienstV','PflegeU')";
from (SELECT generate_series(vondatum::timestamp, bisdatum::timestamp, '1 day') as datum, freigabevon, mitarbeiter_uid, zeitsperretyp_kurzbz FROM campus.tbl_zeitsperre where vonstunde is null and bisstunde is null) a
where a.mitarbeiter_uid = ".$this->db_add_param($uid)." and datum>(now() - interval '".$anz_tage." Days') and zeitsperretyp_kurzbz in ('Krank','Urlaub', 'ZA', 'DienstV','PflegeU', 'DienstF')";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
if ($row->zeitsperretyp_kurzbz == 'Urlaub' && $row->freigabevon == NULL)
if ($row->zeitsperretyp_kurzbz == 'Urlaub' && $row->freigabevon == NULL)
$result[$row->datum] = "Urlaubsantrag (Freigabe fehlt)";
else
else
$result[$row->datum] = $row->zeitsperretyp_kurzbz;
$this->result = $result;
@@ -508,8 +508,8 @@ class zeitsperre extends basis_db
$this->errormsg = 'Fehler beim Laden der Zeitsperren';
return false;
}
}
}
}
?>
?>
+22 -22
View File
@@ -60,12 +60,12 @@ else
if(isset($_GET['studiengang_kz']))
$berechtigt_studiengang=array_merge($berechtigt_studiengang,array($_GET['studiengang_kz']));
// Pruefen ob Variable fuer number_displayed_studiensemester gesetzt ist, wenn nicht, einen neuen Eintrag anlegen
$variable = new variable();
if ($variable->load($uid, 'number_displayed_past_studiensemester'))
{
$number_displayed_past_studiensemester = $variable->wert;
$number_displayed_past_studiensemester = $variable->wert;
}
else
{
@@ -74,7 +74,7 @@ else
$variable->name = 'number_displayed_past_studiensemester';
$variable->wert = '';
$variable->save();
$number_displayed_past_studiensemester = '';
}
}
@@ -214,15 +214,6 @@ function draw_orgformsubmenu($stg_kz, $orgform)
<VERBAND:orgform><![CDATA['.$orgform.']]></VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/interessenten/statusbestaetigt" >
<VERBAND:name>Status bestätigt</VERBAND:name>
<VERBAND:stg><![CDATA['.$stg_kurzbz.']]></VERBAND:stg>
<VERBAND:stg_kz><![CDATA['.$stg_kz.']]></VERBAND:stg_kz>
<VERBAND:stsem><![CDATA['.$stsem->studiensemester_kurzbz.']]></VERBAND:stsem>
<VERBAND:typ>statusbestaetigt</VERBAND:typ>
<VERBAND:orgform><![CDATA['.$orgform.']]></VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/interessenten/zgv" >
<VERBAND:name>ZGV erfüllt</VERBAND:name>
<VERBAND:stg><![CDATA['.$stg_kurzbz.']]></VERBAND:stg>
@@ -232,6 +223,15 @@ function draw_orgformsubmenu($stg_kz, $orgform)
<VERBAND:orgform><![CDATA['.$orgform.']]></VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/interessenten/statusbestaetigt" >
<VERBAND:name>Status bestätigt</VERBAND:name>
<VERBAND:stg><![CDATA['.$stg_kurzbz.']]></VERBAND:stg>
<VERBAND:stg_kz><![CDATA['.$stg_kz.']]></VERBAND:stg_kz>
<VERBAND:stsem><![CDATA['.$stsem->studiensemester_kurzbz.']]></VERBAND:stsem>
<VERBAND:typ>statusbestaetigt</VERBAND:typ>
<VERBAND:orgform><![CDATA['.$orgform.']]></VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/interessenten/reihungstestangemeldet" >
<VERBAND:name>Reihungstest angemeldet</VERBAND:name>
<VERBAND:stg><![CDATA['.$stg_kurzbz.']]></VERBAND:stg>
@@ -301,8 +301,8 @@ function draw_orgformsubmenu($stg_kz, $orgform)
$orgform_sequence[$stg_kz].= "\n\t\t\t\t<RDF:Seq RDF:about=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten\">\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/bewerbungnichtabgeschickt\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/bewerbungabgeschickt\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/statusbestaetigt\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/zgv\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/statusbestaetigt\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/reihungstestangemeldet\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/reihungstestnichtangemeldet\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t</RDF:Seq>";
@@ -531,14 +531,6 @@ while ($row=$dbo->db_fetch_object())
<VERBAND:typ><![CDATA[bewerbungabgeschickt]]></VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/interessenten/statusbestaetigt'; ?>" >
<VERBAND:name><![CDATA[Status bestätigt]]></VERBAND:name>
<VERBAND:stg><![CDATA[<?php echo $stg_kurzbz; ?>]]></VERBAND:stg>
<VERBAND:stg_kz><![CDATA[<?php echo $row->studiengang_kz; ?>]]></VERBAND:stg_kz>
<VERBAND:stsem><![CDATA[<?php echo $stsem->studiensemester_kurzbz; ?>]]></VERBAND:stsem>
<VERBAND:typ><![CDATA[statusbestaetigt]]></VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/interessenten/zgv'; ?>" >
<VERBAND:name><![CDATA[ZGV erfüllt]]></VERBAND:name>
<VERBAND:stg><![CDATA[<?php echo $stg_kurzbz; ?>]]></VERBAND:stg>
@@ -547,6 +539,14 @@ while ($row=$dbo->db_fetch_object())
<VERBAND:typ><![CDATA[zgv]]></VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/interessenten/statusbestaetigt'; ?>" >
<VERBAND:name><![CDATA[Status bestätigt]]></VERBAND:name>
<VERBAND:stg><![CDATA[<?php echo $stg_kurzbz; ?>]]></VERBAND:stg>
<VERBAND:stg_kz><![CDATA[<?php echo $row->studiengang_kz; ?>]]></VERBAND:stg_kz>
<VERBAND:stsem><![CDATA[<?php echo $stsem->studiensemester_kurzbz; ?>]]></VERBAND:stsem>
<VERBAND:typ><![CDATA[statusbestaetigt]]></VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/interessenten/reihungstestangemeldet'; ?>" >
<VERBAND:name><![CDATA[Reihungstest angemeldet]]></VERBAND:name>
<VERBAND:stg><![CDATA[<?php echo $stg_kurzbz; ?>]]></VERBAND:stg>
@@ -768,8 +768,8 @@ draw_orgformpart($stg_kz);
echo "\n\t\t\t\t<RDF:Seq RDF:about=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten\">\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten/bewerbungnichtabgeschickt\" />\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten/bewerbungabgeschickt\" />\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten/statusbestaetigt\" />\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten/zgv\" />\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten/statusbestaetigt\" />\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten/reihungstestangemeldet\" />\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten/reihungstestnichtangemeldet\" />\n";
echo "\t\t\t\t</RDF:Seq>";
-2
View File
@@ -190,8 +190,6 @@ function draw_row($mitarbeiter)
<MITARBEITER:updateamum><![CDATA['.date('d.m.Y H:i:s',$datum->mktime_fromtimestamp($mitarbeiter->updateamum)).']]></MITARBEITER:updateamum>
<MITARBEITER:updateamum_iso><![CDATA['.$mitarbeiter->updateamum.']]></MITARBEITER:updateamum_iso>
<MITARBEITER:updatevon><![CDATA['.$mitarbeiter->updatevon.']]></MITARBEITER:updatevon>
<MITARBEITER:resturlaubstage><![CDATA['.$mitarbeiter->resturlaubstage.']]></MITARBEITER:resturlaubstage>
<MITARBEITER:urlaubstageprojahr><![CDATA['.$mitarbeiter->urlaubstageprojahr.']]></MITARBEITER:urlaubstageprojahr>
<MITARBEITER:kleriker><![CDATA['.($mitarbeiter->kleriker?'Ja':'Nein').']]></MITARBEITER:kleriker>
</RDF:Description>
</RDF:li>
+16 -1
View File
@@ -1080,6 +1080,8 @@ if (!$result = @$db->db_query("SELECT 1 FROM system.tbl_verarbeitungstaetigkeit"
VALUES('bewertung','Bewertung/Benotung','{\'Bewertung/Benotung\',\'Bewertung/Benotung\'}', true);
INSERT INTO system.tbl_verarbeitungstaetigkeit(taetigkeit_kurzbz, bezeichnung, bezeichnung_mehrsprachig, aktiv)
VALUES('lehrauftraege','Lehraufträge','{\'Lehraufträge\',\'Lehraufträge\'}', true);
INSERT INTO system.tbl_verarbeitungstaetigkeit(taetigkeit_kurzbz, bezeichnung, bezeichnung_mehrsprachig, aktiv)
VALUES('datenwartung','Datenwartung','{\'Datenwartung\',\'Datenwartung\'}', true);
GRANT SELECT, UPDATE, INSERT, DELETE ON system.tbl_verarbeitungstaetigkeit TO vilesci;
GRANT SELECT ON system.tbl_verarbeitungstaetigkeit TO web;
@@ -1103,6 +1105,20 @@ if (!$result = @$db->db_query("SELECT taetigkeit_kurzbz FROM system.tbl_log"))
echo '<br>Added Column taetigkeit_kurzbz to system.tbl_log';
}
// Add missing primary Key to system.tbl_filters.filter_id
if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'pk_filters_filter_id'"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "ALTER TABLE system.tbl_filters ADD CONSTRAINT pk_filters_filter_id PRIMARY KEY (filter_id);";
if (!$db->db_query($qry))
echo '<strong>system.tbl_filters '.$db->db_last_error().'</strong><br>';
else
echo '<br>system.tbl_filters: added primary key on column filter_id';
}
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -1181,7 +1197,6 @@ $tabellen=array(
"campus.tbl_pruefungsanmeldung" => array("pruefungsanmeldung_id","uid","pruefungstermin_id","lehrveranstaltung_id","status_kurzbz","wuensche","reihung","kommentar","statusupdatevon","statusupdateamum","anrechnung_id","pruefungstyp_kurzbz","insertamum"),
"campus.tbl_pruefungsstatus" => array("status_kurzbz","bezeichnung"),
"campus.tbl_reservierung" => array("reservierung_id","ort_kurzbz","studiengang_kz","uid","stunde","datum","titel","beschreibung","semester","verband","gruppe","gruppe_kurzbz","veranstaltung_id","insertamum","insertvon"),
"campus.tbl_resturlaub" => array("mitarbeiter_uid","resturlaubstage","mehrarbeitsstunden","updateamum","updatevon","insertamum","insertvon","urlaubstageprojahr"),
"campus.tbl_studentbeispiel" => array("student_uid","beispiel_id","vorbereitet","probleme","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_studentuebung" => array("student_uid","mitarbeiter_uid","abgabe_id","uebung_id","note","mitarbeitspunkte","punkte","anmerkung","benotungsdatum","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_template" => array("template_kurzbz","bezeichnung","xsd","xslt_xhtml","xslfo_pdf"),
+1 -5
View File
@@ -61,7 +61,6 @@ DELETE FROM system.tbl_rolleberechtigung WHERE berechtigung_kurzbz IN (
'basis/pruefungsstatus',
'basis/pruefungstermin',
'basis/reservierung',
'basis/resturlaub',
'basis/studentbeispiel',
'basis/studentuebung',
'basis/template',
@@ -293,7 +292,6 @@ DELETE FROM system.tbl_berechtigung WHERE berechtigung_kurzbz IN (
'basis/pruefungsstatus',
'basis/pruefungstermin',
'basis/reservierung',
'basis/resturlaub',
'basis/studentbeispiel',
'basis/studentuebung',
'basis/template',
@@ -524,7 +522,6 @@ INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/pruefungsstatus', 'Tbl_pruefungsstatus');
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/pruefungstermin', 'Tbl_pruefungstermin');
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/reservierung', 'Tbl_reservierung');
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/resturlaub', 'Tbl_resturlaub');
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/studentbeispiel', 'Tbl_studentbeispiel');
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/studentuebung', 'Tbl_studentuebung');
INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/template', 'Tbl_template');
@@ -754,7 +751,6 @@ INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/pruefungsstatus', 'admin', 'suid');
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/pruefungstermin', 'admin', 'suid');
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/reservierung', 'admin', 'suid');
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/resturlaub', 'admin', 'suid');
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/studentbeispiel', 'admin', 'suid');
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/studentuebung', 'admin', 'suid');
INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/template', 'admin', 'suid');
@@ -1147,4 +1143,4 @@ INSERT INTO public.tbl_person VALUES (3, NULL, NULL, NULL, NULL, NULL, NULL, 'Mc
-- INSERT INTO public.tbl_statistik VALUES ('Verplanungsübersicht', 'Verplanungsübersicht', 4, '../lehre/check/verplanungsuebersicht.php', 'LV-Plan', NULL, NULL, NULL, '2011-04-01 10:51:53', 'oesi', '2011-04-01 11:15:20', 'oesi', NULL, false, NULL);
-- INSERT INTO public.tbl_statistik VALUES ('Zeitwünsche', 'Zeitwünsche', 5, '../lehre/zeitwuensche.php', 'LV-Plan', NULL, NULL, NULL, '2011-04-01 10:52:37', 'oesi', '2011-04-01 11:15:27', 'oesi', NULL, false, NULL);
-- INSERT INTO public.tbl_statistik VALUES ('AnzahlStudierende', 'Aktuell Studierende im Haus', 16, '../../cis/private/lvplan/stpl_week_anzahl_studenten.php', 'Studierende', NULL, NULL, NULL, '2011-04-01 11:11:52', 'oesi', '2012-02-20 19:09:16', 'kindlm', NULL, false, NULL);
-- INSERT INTO public.tbl_statistik VALUES ('ALVS-Statistik', 'ALVS-Statistik', 7, '../../content/statistik/alvsstatistik.php', 'Lehre', NULL, NULL, NULL, '2011-04-01 10:54:03', 'oesi', '2011-04-01 11:23:12', 'oesi', NULL, false, NULL);
-- INSERT INTO public.tbl_statistik VALUES ('ALVS-Statistik', 'ALVS-Statistik', 7, '../../content/statistik/alvsstatistik.php', 'Lehre', NULL, NULL, NULL, '2011-04-01 10:54:03', 'oesi', '2011-04-01 11:23:12', 'oesi', NULL, false, NULL);
@@ -1,11 +0,0 @@
<?php
$I = new ApiTester($scenario);
$I->wantTo("Test API call v1/ressource/Resturlaub/: Resturlaub");
$I->amHttpAuthenticated("admin", "1q2w3");
$I->haveHttpHeader("FHC-API-KEY", "testapikey@fhcomplete.org");
$I->sendGET("v1/ressource/Resturlaub/Resturlaub", array("resturlaub_id" => "1"));
$I->seeResponseCodeIs(200);
$I->seeResponseIsJson();
$I->seeResponseContainsJson(["error" => 0]);
$I->wait();
-242
View File
@@ -1,242 +0,0 @@
<?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 >
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/person.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/mitarbeiter.class.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/resturlaub.class.php');
require_once('../../include/zeitsperre.class.php');
require_once('../../include/benutzerberechtigung.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Resturlaub</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
<script language="Javascript">
function gesamt()
{
document.getElementById("gesamturlaub").value=parseInt(document.getElementById("resturlaubstage").value)+parseInt(document.getElementById("anspruch").value);
}
function conf_del()
{
return confirm("Wollen Sie diesen Eintrag wirklich löschen?");
}
</script>
</head>
<body class="background_main">
<h2>Resturlaubstage</h2>
<br><br>
';
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre'))
die('Sie haben keine Berechtigung fuer diese Seite');
$uid=(isset($_GET['uid'])?$_GET['uid']:'');
if(isset($_GET['type']) && $_GET['type']=='edit' && isset($_GET['uid']))
{
if(isset($_GET['del']) && isset($_GET['zeitsperre_id']))
{
if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Aktion');
$zs_obj = new zeitsperre();
if(!$zs_obj->delete($_GET['zeitsperre_id']))
{
die("Zeitsperren konnte nicht gelo&uml;scht werden!");
}
}
$ma = new mitarbeiter();
$ma->load($_GET['uid']);
$resturlaub = new resturlaub();
$resturlaub->load($_GET['uid']);
echo 'Resturlaubstage von <b>'.$ma->nachname.' '.$ma->vorname.'</b>:<br><br>';
echo '<form action="'.$_SERVER['PHP_SELF'].'?type=save&uid='.$ma->uid.'" method="POST">
<table>
<tr>
<td>Resturlaubstage</td>
<td><input type="text" id="resturlaubstage" oninput="gesamt()" name="resturlaubstage" value="'.$resturlaub->resturlaubstage.'"></td>
</tr>
<tr>
<td>Anspruch</td>
<td><input type="text" id="anspruch" oninput="gesamt()" name="anspruch" value="'.$resturlaub->urlaubstageprojahr.'"></td>
</tr>
<tr>
<td>Gesamturlaub</td>
<td><input type="text" name="gesamturlaub" id="gesamturlaub" value="'.($resturlaub->resturlaubstage+$resturlaub->urlaubstageprojahr).'"></td>
</tr>
<tr>
<td>Mehrarbeitsstunden</td>
<td><input type="text" name="mehrarbeitsstunden" value="'.$resturlaub->mehrarbeitsstunden.'"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Speichern"></td>
</tr>
</table>
</form>';
echo "<h3>Übersicht Zeitsperren</h3>";
echo "<input type='button' onclick='parent.lv_detail.location=\"resturlaub_details.php?neu=true&uid=$uid\"' value='Neu'/>";
echo"<table class='liste table-autosort:5 table-stripeclass:alternate table-autostripe'>
<thead>
<tr class='liste'>";
echo "<th>&nbsp;</th>
<th>&nbsp;</th>
<th class='table-sortable:default'>ID</th>
<th class='table-sortable:default'>Kurzbz</th>
<th class='table-sortable:default'>Bezeichnung</th>
<th class='table-sortable:default'>Von-Datum</th>
<th class='table-sortable:default'>Von-Stunde</th>
<th class='table-sortable:default'>Bis-Datum</th>
<th class='table-sortable:default'>Bis-Stunde</th>
<th class='table-sortable:default'>Vertretung</th>
<th class='table-sortable:default'>Erreichbarkeit</th>
<th class='table-sortable:default'>Freigabe</th>
<th class='table-sortable:default'>Freigabedatum</th>\n";
echo "</tr></thead>";
echo "<tbody>";
$zeitsperre = new zeitsperre();
$zeitsperre->getzeitsperren($uid);
if (count($zeitsperre->result>0))
{
foreach($zeitsperre->result as $row_urlaub)
{
echo "<tr>";
echo "<td><a href='resturlaub_details.php?zeitsperre_id=$row_urlaub->zeitsperre_id' target='lv_detail'>edit</a></td>";
echo "<td><a href='".$_SERVER['PHP_SELF']."?type=edit&del=true&uid=$uid&zeitsperre_id=$row_urlaub->zeitsperre_id' onclick='return conf_del()' target='uebersicht'>delete</a></td>";
echo "<td>".$row_urlaub->zeitsperre_id."</td>";
echo "<td>".$row_urlaub->zeitsperretyp_kurzbz."</td>";
echo "<td>".$row_urlaub->bezeichnung."</td>";
echo "<td>".$row_urlaub->vondatum."</td>";
echo "<td>".$row_urlaub->vonstunde."</td>";
echo "<td>".$row_urlaub->bisdatum."</td>";
echo "<td>".$row_urlaub->bisstunde."</td>";
echo "<td>".$row_urlaub->vertretung_uid."</td>";
echo "<td>".$row_urlaub->erreichbarkeit_kurzbz."</td>";
echo "<td>".$row_urlaub->freigabevon."</td>";
echo "<td>".$row_urlaub->freigabeamum."</td>";
echo "</td></tr>";
}
}
else
echo "<tr><td colspan=5>Kein Eintrag gefunden!</td></tr>";
exit;
}
if(isset($_GET['type']) && $_GET['type']=='save')
{
if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Aktion');
$resturlaub = new resturlaub();
if($resturlaub->load($_GET['uid']))
{
$resturlaub->new = false;
}
else
{
$resturlaub->new = true;
$resturlaub->insertamum = date('Y-m-d H:i:s');
$resturlaub->insertvon = $user;
$resturlaub->mitarbeiter_uid=$_GET['uid'];
}
$resturlaub->mehrarbeitsstunden = $_POST['mehrarbeitsstunden'];
if($resturlaub->mehrarbeitsstunden=='')
$resturlaub->mehrarbeitsstunden=0;
$resturlaub->resturlaubstage = $_POST['resturlaubstage'];
if($resturlaub->resturlaubstage=='')
$resturlaub->resturlaubstage=0;
$resturlaub->urlaubstageprojahr = $_POST['anspruch'];
if($resturlaub->urlaubstageprojahr=='')
$resturlaub->urlaubstageprojahr=0;
$resturlaub->updateamum = date('Y-m-d H:i:s');
$resturlaub->updatevon = $user;
if($resturlaub->save())
{
echo '<b>Daten wurden gespeichert</b><br><br>';
}
else
{
die('Fehler beim Speichern der Daten: '.$resturlaub->errormsg.'<br><a href="javascript:history.back()">Zurück</a><br>');
}
}
$qry = "SELECT * FROM campus.vw_mitarbeiter LEFT JOIN campus.tbl_resturlaub ON(uid=mitarbeiter_uid)
WHERE aktiv AND fixangestellt ORDER BY nachname, vorname";
echo "<table class='liste table-autosort:0 table-stripeclass:alternate table-autostripe'>";
echo "<thead>
<tr>
<th class='table-sortable:default'>Nachname</th>
<th class='table-sortable:default'>Vorname</th>
<th class='table-sortable:default'>Resturlaubstage</th>
<th class='table-sortable:default'>Anspruch</th>
<th class='table-sortable:default'>Gesamturlaub</th>
<th class='table-sortable:default'>Mehrarbeitsstunden</th>
<th class='table-sortable:default'>Aktion</th>
</tr>
</thead>";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
echo '<tr>';
echo "<td>$row->nachname</td>";
echo "<td>$row->vorname</td>";
echo "<td align='center'>$row->resturlaubstage</td>";
echo "<td align='center'>$row->urlaubstageprojahr</td>";
echo "<td align='center'>".($row->resturlaubstage+$row->urlaubstageprojahr)."</td>";
echo "<td align='center'>$row->mehrarbeitsstunden</td>";
echo "<td><a href='".$_SERVER['PHP_SELF']."?type=edit&uid=$row->uid'>Bearbeiten</a></td>";
echo '</tr>';
}
}
echo '</table>';
?>
</body>
</html>
-252
View File
@@ -1,252 +0,0 @@
<?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 >
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/person.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/mitarbeiter.class.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/resturlaub.class.php');
require_once('../../include/zeitsperre.class.php');
require_once('../../include/benutzerberechtigung.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre'))
die('Sie haben keine Berechtigung fuer diese Seite');
$reloadstr = ""; // neuladen der liste im oberen frame
$errorstr='';
$htmlstr='';
$zeitsperre_arr=array();
$vertretung_arr=array();
$erreichbarkeit_arr=array();
$freigabe_arr=array();
if(isset($_POST["schick"]) && $_POST['uid']!='')
{
if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Aktion');
$zs = new zeitsperre();
if(isset($_POST['zeitsperre_id']) && $_POST['zeitsperre_id']!='')
{
if($zs->load($_POST['zeitsperre_id']))
{
$zs->new=false;
}
}
else
{
$zs->new=true;
$zs->insertamum=date('Y-m-d H:i:s');
$zs->insertvon = $user;
}
$zs->zeitsperretyp_kurzbz = $_POST['zeitsperretyp_kurzbz'];
$zs->bezeichnung = $_POST['bezeichnung'];
$zs->mitarbeiter_uid = $_POST['uid'];
$zs->vondatum = $_POST['vondatum'];
$zs->vonstunde = $_POST['vonstunde'];
$zs->bisdatum = $_POST['bisdatum'];
$zs->bisstunde = $_POST['bisstunde'];
$zs->vertretung_uid = $_POST['vertretung_uid'];
$zs->erreichbarkeit_kurzbz = $_POST['erreichbarkeit_kurzbz'];
$zs->freigabeamum = $_POST['freigabeamum'];
$zs->freigabevon = $_POST['freigabevon'];
$zs->updateamum = date('Y-m-d H:i:s');
$zs->updatevon = $user;
if(!$zs->save())
$errorstr = "Fehler beim Speichern der Daten: $zs->errormsg";
else
{
$reloadstr .= "<script type='text/javascript'>\n";
$reloadstr .= "parent.uebersicht.location.href='resturlaub.php?type=edit&uid=$zs->mitarbeiter_uid';";
$reloadstr .= " window.location.href='".$_SERVER['PHP_SELF']."?zeitsperre_id=$zs->zeitsperre_id&neu=true';";
$reloadstr .= "</script>\n";
}
}
$qry = "SELECT * FROM campus.tbl_zeitsperretyp ORDER BY zeitsperretyp_kurzbz";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$zeitsperre_arr[] = $row->zeitsperretyp_kurzbz;
}
}
$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE uid not LIKE '\\\_%' ORDER BY nachname, vorname";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$vertretung_arr[] = $row->uid;
}
}
$qry = "SELECT * FROM campus.tbl_erreichbarkeit ORDER BY erreichbarkeit_kurzbz";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$erreichbarkeit_arr[] = $row->erreichbarkeit_kurzbz;
}
}
$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE uid not LIKE '\\\_%' ORDER BY nachname, vorname";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$freigabe_arr[] = $row->uid;
}
}
if (isset($_REQUEST['zeitsperre_id']) || isset($_REQUEST['neu']))
{
$zs = new zeitsperre();
if (isset($_REQUEST['zeitsperre_id']))
{
$zsid = $_REQUEST['zeitsperre_id'];
if (!$zs->load($zsid))
$htmlstr .= "<br><div class='kopf'>Zeitsperre <b>".$zsid."</b> existiert nicht</div>";
}
else
{
$zs->mitarbeiter_uid=$_REQUEST['uid'];
}
$htmlstr .= "<br><div class='kopf'>Zeitsperre ".(!isset($zs->zeitsperre_id)?'':$zs->zeitsperre_id)."</div>\n";
$htmlstr .= "<form accept-charset='UTF-8' action='resturlaub_details.php' method='POST'>\n";
$htmlstr .= "<input type='hidden' name='zeitsperre_id' value='".$zs->zeitsperre_id."'>\n";
$htmlstr .= "<input type='hidden' name='uid' value='".$zs->mitarbeiter_uid."'>\n";
$htmlstr .= "<table class='detail' style='padding-top:10px;'>\n";
$htmlstr .= "<tr></tr>\n";
$htmlstr .= " <tr>\n";
$htmlstr .= " <td>Typ</td>";
$htmlstr .= " <td><select name='zeitsperretyp_kurzbz'>\n";
$htmlstr .= "<option value=''>---ausw&auml;hlen---</option>";
foreach ($zeitsperre_arr as $zeitsperre)
{
if ($zs->zeitsperretyp_kurzbz == $zeitsperre)
$sel = " selected";
else
$sel = "";
$htmlstr .= " <option value='".$zeitsperre."' ".$sel.">".$zeitsperre."</option>";
}
$htmlstr .= " </select></td>";
$htmlstr .= " <td>Bezeichnung</td>";
$htmlstr .= " <td colspan='3'><input type='text' name='bezeichnung' value='".$zs->bezeichnung."' size='32' maxlength='32'></td>\n";
$htmlstr .= " </select></td>";
$htmlstr .= "</tr>";
$htmlstr .= "<tr>";
$htmlstr .= " <td>Vertretung</td>";
$htmlstr .= " <td><select name='vertretung_uid'>\n";
$htmlstr .= "<option value=''>---ausw&auml;hlen---</option>";
foreach ($vertretung_arr as $vertretung)
{
if ($zs->vertretung_uid == $vertretung)
$sel = " selected";
else
$sel = "";
$htmlstr .= " <option value='".$vertretung."' ".$sel.">".$vertretung."</option>";
}
$htmlstr .= " </select></td>";
$htmlstr .= " <td>Erreichbarkeit</td>";
$htmlstr .= " <td><select name='erreichbarkeit_kurzbz'>\n";
$htmlstr .= "<option value=''>---ausw&auml;hlen---</option>";
foreach ($erreichbarkeit_arr as $erreichbarkeit)
{
if ($zs->erreichbarkeit_kurzbz == $erreichbarkeit)
$sel = " selected";
else
$sel = "";
$htmlstr .= " <option value='".$erreichbarkeit."' ".$sel.">".$erreichbarkeit."</option>";
}
$htmlstr .= " </select></td>";
$htmlstr .= "</tr>";
$htmlstr .= "<tr>";
$htmlstr .= " <td>Von-Datum</td>";
$htmlstr .= " <td><input type='text' name='vondatum' value='$zs->vondatum' maxlength='11'></td>";
$htmlstr .= " <td>Von-Stunde</td>";
$htmlstr .= " <td><input type='text' name='vonstunde' value='$zs->vonstunde' maxlength='5'></td>";
$htmlstr .= "</tr><tr>";
$htmlstr .= " <td>Bis-Datum</td>";
$htmlstr .= " <td><input type='text' name='bisdatum' value='$zs->bisdatum' maxlength='11'></td>";
$htmlstr .= " <td>Bis-Stunde</td>";
$htmlstr .= " <td><input type='text' name='bisstunde' value='$zs->bisstunde' maxlength='5'></td>";
$htmlstr .= "</tr>";
$htmlstr .= "<tr><td>Freigabedatum</td>";
$htmlstr .= " <td><input type='text' name='freigabeamum' value='$zs->freigabeamum' maxlength='19'></td>";
$htmlstr .= " <td>Freigabe</td>";
$htmlstr .= " <td><select name='freigabevon'>\n";
$htmlstr .= "<option value=''>---ausw&auml;hlen---</option>";
foreach ($freigabe_arr as $freigabe)
{
if ($zs->freigabevon == $freigabe)
$sel = " selected";
else
$sel = "";
$htmlstr .= " <option value='".$freigabe."' ".$sel.">".$freigabe."</option>";
}
$htmlstr .= " </select></td>";
$htmlstr .= "</tr><tr>";
$htmlstr .= " <td></td>";
$htmlstr .= " <td><input type='submit' value='Speichern' name='schick'></td>";
$htmlstr .= " </tr>\n";
$htmlstr .= "</table>\n";
$htmlstr .= "<br>\n";
$htmlstr .= "</form>\n";
}
$htmlstr .= "<div class='inserterror'>".$errorstr."</div>\n";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Zeitsperren - Details</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</head>
<body style="background-color:#eeeeee;">
<?php
echo $htmlstr;
echo $reloadstr;
?>
</body>
</html>
-21
View File
@@ -1,21 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<html lang="de_AT">
<head>
<title>VileSci</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css" />
</head>
<frameset rows="400,*">
<frame src="resturlaub.php" id="uebersicht" name="uebersicht" frameborder="0" />
<frame src="resturlaub_details.php" id="lv_detail" name="lv_detail" frameborder="0" />
<noframes>
<body bgcolor="#FFFFFF">
This application works only with a frames-enabled browser.<br />
<a href="main.php">Use without frames</a>
</body>
</noframes>
</frameset>
</html>
+2
View File
@@ -127,6 +127,8 @@ if(isset($radio_1) && isset($radio_2) && $radio_1>=0 && $radio_2>=0)
$msg = "Daten erfolgreich gespeichert<br>";
$msg .= "<br>".mb_eregi_replace(';',';<br>',$sql_query_upd1);
$db->db_query("COMMIT;");
//Logeintrag schreiben
PersonLog($radio_2, 'Action', array('name' => 'Persons merged', 'message' => 'person with id '.$radio_1.' merged into person with id '.$radio_2, 'success' => 'true'), 'datenwartung', 'core', null, $uid);
}
else
{