Zeiterfassung

Neue Features:
* BP Stunden Aufbuchen/Mindern
* Spezialbuchungen ohne Verechnungstechnische relevanz
This commit is contained in:
Daniel Spitzer
2024-12-29 20:24:36 +01:00
parent 42703dd303
commit 085d8facdc
12 changed files with 151 additions and 27 deletions

View File

@@ -55,9 +55,13 @@
<label class="col-lg-2 col-form-label" for="hourday">Buchungszeitraum</label>
<div class="col-lg-2">
<select id="hourday" name="hourday" class="select2 form-control">
<?php foreach ($timerecordingcategorieshourday as $key => $value) : ?>
<option value="<?= $key ?>" <?= ($key == $timerecordingcategoriess->hourday) ? "selected='selected'" : "" ?>><?= $value ?></option>
<?php endforeach; ?>
<?php foreach ($timerecordingcategorieshourday as $key => $value) :
if (($me->superexpertEnabled() && $key == 8) || $key!= 8):
?>
<option value="<?= $key ?>" <?= ($key == $timerecordingcategoriess->hourday) ? "selected='selected'" : "" ?>><?= $value ?></option>
<?php
endif;
endforeach; ?>
</select>
</div>
</div>

View File

@@ -59,7 +59,9 @@
</tr>
</thead>
<tbody>
<?php foreach ($timerecordingcategoriess as $timerecordingcategories): ?>
<?php foreach ($timerecordingcategoriess as $timerecordingcategories):
if (($me->superexpertEnabled() && $timerecordingcategories->hourday==8) || $timerecordingcategories->hourday!=8):
?>
<tr>
<td class="text-center"><?= $timerecordingcategories->name ?></td>
<td class="text-center"><?= $timerecordingcategories->short ?></td>
@@ -76,7 +78,9 @@
title="Löschen"><i class="fas fa-trash"></i></a>
</td>
</tr>
<?php endforeach; ?>
<?php
endif;
endforeach; ?>
</tbody>
</table>

View File

@@ -72,6 +72,7 @@ $daysSelect .= "</select>";
</div>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="user_id">Mitarbeiter *</label>
<div class="col-lg-3">
@@ -146,7 +147,7 @@ $daysSelect .= "</select>";
<div class="form-group row" style="display:none">
<label class="col-lg-2 col-form-label" for="holidays">Initiale Urlaubstage</label>
<div class="col-lg-1">
<input type="number" id="holidays" name="holidays"
<input type="number" id="holidays" name="holidays"
class="form-control"
value="<?= $timerecordingemployees->holidays ?>"/>
</div>
@@ -191,6 +192,19 @@ $daysSelect .= "</select>";
</div>
</div>
</div>
<?php if ($me->superexpertEnabled()): ?>
<div class="form-group row">
<label class="col-lg-2 col-form-label"
for="bmd_active">Nur im Admin-Mode sichtbar</label>
<div class="col-lg-3">
<div class="form-check">
<input id="only_admin"
class="form-check-input" <?php if ($timerecordingemployees->only_admin) echo 'checked="checked"'; ?>
type="checkbox" name="only_admin" value="1"/>
</div>
</div>
</div>
<?php endif; ?>
<div id="workinghours_div">
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="workinghours">Sollzeiten

View File

@@ -5,7 +5,8 @@ $type[3] = "Lehrling";
?>
<link href="<?= self::getResourcePath() ?>assets/css/datatables-std.css?<?= $git_merge_ts ?>" rel="stylesheet"
type="text/css"/>
<link href="<?= self::getResourcePath() ?>datatables/DataTables-2x/datatables.min.css?<?= $git_merge_ts ?>" rel="stylesheet"
<link href="<?= self::getResourcePath() ?>datatables/DataTables-2x/datatables.min.css?<?= $git_merge_ts ?>"
rel="stylesheet"
type="text/css"/>
<style>
.border-dark {
@@ -92,6 +93,9 @@ $type[3] = "Lehrling";
</thead>
<tbody>
<?php foreach ($timerecordingusers as $timerecordinguser):
if ($timerecordingemployees[$timerecordinguser->id]['only_admin'] == 1 && !$me->superexpertEnabled()) {
continue;
}
if ($timerecordingworkinghours) {
$seconds = $timerecordingworkinghours[$timerecordinguser->id]['secondcounter'];
$minutes = floor(($seconds % 3600) / 60);
@@ -160,11 +164,11 @@ $type[3] = "Lehrling";
src="<?= self::getResourcePath() ?>datatables/DataTables-2x/datatables.min.js?<?= $git_merge_ts ?>"></script>
<script type="text/javascript">
var hidesearch = [ 6, 7, 8, 9, 10,13];
var columnfilter = [0,11,12];
var hidesearch = [6, 7, 8, 9, 10, 13];
var columnfilter = [0, 11, 12];
<?php if ($me->superexpertEnabled()): ?>
var columnfilter = [0,12,13];
hidesearch = [ 6, 7, 8, 9, 10, 11,14];
var columnfilter = [0, 12, 13];
hidesearch = [6, 7, 8, 9, 10, 11, 14];
<?php endif; ?>
var columnoptions = '<option value=""></option><option value="Ja">Ja</option><option value="Nein">Nein</option>';

View File

@@ -15,6 +15,9 @@ $monthger[12] = "Dezember";
$time = time();
foreach ($timerecordingusers as $timerecordinguser) {
if ($timerecordingEmployees[$timerecordinguser->id] && $timerecordingEmployees[$timerecordinguser->id]['only_admin'] == 1 && !$me->superexpertEnabled()) {
continue;
}
$timerecordingUsers[$timerecordinguser->name] = $timerecordinguser->id;
}
ksort($timerecordingUsers);
@@ -30,6 +33,8 @@ for ($i = 1; $i <= 25; $i++) {
}
$time = time();
$timenow = $time;
$time = strtotime('first day of this month', $time);
$time = strtotime('+3 month', $time);
for ($i = 1; $i <= 15; $i++) {
$mon = date('n', $time);
@@ -143,14 +148,18 @@ $years[time() - 31536000] = date('Y', time() - 31536000);
<select id="timerecordingCategory_id" name="timerecordingCategory_id"
class="select2 form-control" required="required">
<?php foreach ($timerecordingCategoriess as $timerecordingCategories): ?>
<option value="<?= $timerecordingCategories->id ?>"
data-approval="<?= $timerecordingCategories->approval ?>"
data-comment="<?= $timerecordingCategories->require_comment ?>"
data-hourday="<?= $timerecordingCategories->hourday ?>"
data-businesstrip="<?= $timerecordingCategories->businesstrip ?>"
data-homeoffice="<?= ($timerecordingCategories->hourday == 1) ? 1 : 0 ?>"><?= $timerecordingCategories->name ?></option>
<?php
<?php foreach ($timerecordingCategoriess as $timerecordingCategories):
if (($me->superexpertEnabled() && $timerecordingCategories->hourday == 8) || $timerecordingCategories->hourday != 8):
?>
<option value="<?= $timerecordingCategories->id ?>"
data-approval="<?= $timerecordingCategories->approval ?>"
data-comment="<?= $timerecordingCategories->require_comment ?>"
data-hourday="<?= $timerecordingCategories->hourday ?>"
data-businesstrip="<?= $timerecordingCategories->businesstrip ?>"
data-homeoffice="<?= ($timerecordingCategories->hourday == 1) ? 1 : 0 ?>"><?= $timerecordingCategories->name ?></option>
<?php
endif;
endforeach; ?>
</select>
@@ -313,7 +322,7 @@ $years[time() - 31536000] = date('Y', time() - 31536000);
<div class="input-group">
<select id="datamonth" class="form-control select2">
<?php foreach ($month as $key => $Month): ?>
<option <?= ($timenow == $key) ? 'selected="selected"' : '' ?>
<option <?= (date("Y-m",$timenow) == date("Y-m",$key)) ? 'selected="selected"' : '' ?>
value="<?= $key ?>"><?= $Month ?></option>
<?php endforeach; ?>
</select>