Merge branch 'feature-27107/Vilesci_Erfassung_Abwesenheiten_Reinigung'

This commit is contained in:
Andreas Österreicher
2023-05-15 14:07:41 +02:00
4 changed files with 55 additions and 22 deletions
+2 -2
View File
@@ -53,7 +53,7 @@ $menu=array
(
'name'=>'Mitarbeiter','permissions'=>array('admin','lv-plan','support'),
'Übersicht'=>array('name'=>'Zeitwünsche', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main','permissions'=>array('mitarbeiter')),
'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre')),
'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre:begrenzt')),
),
'Vorrueckung'=> array
@@ -119,7 +119,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/Urlaub', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre')),
'Zeitsperren'=>array('name'=>'Zeitsperren/Urlaub', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre:begrenzt')),
),
'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')),
+1
View File
@@ -34,6 +34,7 @@ require_once('dbupdate_3.4/17512_fehlercode_constraints.php');
require_once('dbupdate_3.4/27388_anrechnungen_zeitfenster_pflegen.php');
require_once('dbupdate_3.4/19154_beurteilungsformulare_pruefungssenat.php');
require_once('dbupdate_3.4/27949_infocenter_zurueckstellen_mit_grund.php');
require_once('dbupdate_3.4/27107_vilesci_erfassung_abwesenheiten_reinigung.php');
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -0,0 +1,16 @@
<?php
if (! defined('DB_NAME')) exit('No direct script access allowed');
// system.tbl_berechtigung: add berechtigung mitarbeiter/zeitsperre:begrenzt
if($result = $db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz='mitarbeiter/zeitsperre:begrenzt'"))
{
if($db->db_num_rows($result)==0)
{
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('mitarbeiter/zeitsperre:begrenzt', 'Vilesci Verwaltung');";
if(!$db->db_query($qry))
echo '<strong>Berechtigung: '.$db->db_last_error().'</strong><br>';
else
echo '<br>Neue Berechtigung mitarbeiter/zeitsperre:begrenzt zu system.tbl_berechtigung hinzugefügt';
}
}
+36 -20
View File
@@ -33,6 +33,7 @@ require_once('../../include/mitarbeiter.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/addon.class.php');
require_once('../../include/benutzerfunktion.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
@@ -130,24 +131,37 @@ echo ' <script type="text/javascript" src="../../include/js/jquery.ui.datepicker
<h2>Zeitsperren (Urlaube) der MitarbeiterInnen</h2>
';
$redirect = basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']);
//Rechte Pruefen
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
$berechtigt = false;
if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid'))
die('Sie haben keine Berechtigung für diese Seite');
$bf = new benutzerfunktion();
$bf->getBenutzerFunktionByUid($uid);
foreach ($bf->result as $oe)
{
if($oe->funktion_kurzbz == "oezuordnung")
if($rechte->isBerechtigt('mitarbeiter/zeitsperre:begrenzt', $oe->oe_kurzbz, 'suid'))
$berechtigt = true;
}
//Formular zur Eingabe der UID
echo '<form accept-charset="UTF-8" action="'.$_SERVER['PHP_SELF'].'" mehtod="GET">';
echo '<form accept-charset="UTF-8" action="'.$_SERVER['PHP_SELF'].'" method="GET">';
echo 'Zeitsperren der UID <INPUT type="hidden" id="uid" name="uid" value="uid">
<input type="text" id="ma_name" name="uid" value="'.$uid.'">';
echo '<input type="submit" name="submit" value="Anzeigen">';
echo '</form>';
if(!$berechtigt)
die("Sie haben keine Berechtigung um Mitarbeiter*in " . $uid . " zu bearbeiten!<br><br> <a href='$redirect'>Zurück</a>");
//Loeschen von Zeitsperren
if($action=='delete')
{
if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid'))
if(!$berechtigt)
die('Sie haben keine Berechtigung für diese Aktion');
if($zeitsperre_id!='' && is_numeric($zeitsperre_id))
@@ -165,7 +179,7 @@ if($action=='delete')
//Kopieren einer Zeitsperre
if($action=='copy')
{
if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid'))
if(!$berechtigt)
die('Sie haben keine Berechtigung für diese Aktion');
if($zeitsperre_id!='' && is_numeric($zeitsperre_id))
@@ -188,7 +202,7 @@ if($action=='copy')
if(isset($_POST['save']))
{
if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid'))
if(!$berechtigt)
die('Sie haben keine Berechtigung für diese Aktion');
//Speichern der Daten
@@ -242,6 +256,7 @@ if($errormsg!='')
if($message!='')
echo "<br><div class='insertok'>$message</div><br>";
//Zeitsperren des Mitarbeiters anzeigen
if($uid!='')
{
@@ -265,19 +280,19 @@ if($uid!='')
<th>Bis</th>
<th>Vertretung</th>';
if($addoncasetime)
{
echo '<th>Status Monatsliste</th>';
}
if($addoncasetime)
{
echo '<th>Status Monatsliste</th>';
}
echo'
<th>Freigegeben von, am</th>
<th>Aktualisiert am</th>
<th>Aktualisiert von</th>
<th>Edit</th>
<th>Copy</th>
<th>Delete</th>
</tr>
echo'
<th>Freigegeben von, am</th>
<th>Aktualisiert am</th>
<th>Aktualisiert von</th>
<th>Edit</th>
<th>Copy</th>
<th>Delete</th>
</tr>
</thead>
<tbody>';
foreach ($zeitsperre->result as $row)
@@ -296,9 +311,9 @@ echo'
checkStatusMonatsliste($uid,$row->vondatum, $row->bisdatum) == '' ? $mlAbgeschickt = false : $mlAbgeschickt = true;
if($mlAbgeschickt)
echo "abgeschickt";
echo "abgeschickt";
else
echo "nicht abgeschickt";
echo "nicht abgeschickt";
echo '</td>';
}
@@ -322,6 +337,7 @@ echo'
echo '</tr>';
}
echo '</tbody></table>';