Bestehende Codebasis als Ausgangsstand aufgenommen. - .gitignore: Kundendaten (uploads_*), Smarty-Compile-Cache (templates_c), Laufzeit-Temp und Datenbank-Dumps ausgeschlossen; Verzeichnisstruktur ueber .gitkeep erhalten - .gitattributes: Zeilenenden normalisiert (LF im Repo), Binaerformate markiert - db-backup.php: MySQL-Zugangsdaten kommen jetzt wie im Rest der Anwendung aus der externen Konfiguration statt hartkodiert aus der Datei; Passwort wird ueber eine temporaere Optionsdatei statt per Kommandozeile uebergeben, Fehler von mysqldump/gzip werden gemeldet, Aufraeumen aelterer Backups berechnet Jahr und Monat konsistent Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
88 lines
3.4 KiB
Smarty
88 lines
3.4 KiB
Smarty
{*<a href='?action=termin'><span class='cal' title="Terminkalender anzeigen" style='margin-left: 50%;'></span></a><br />*}
|
|
<div id="tabs">
|
|
{* ANZEIGE PANE *}
|
|
<div class='widthlimiter'>
|
|
<ul>
|
|
{foreach $users as $user}
|
|
<li><a href="#tabs-{$user.id}" class='noloading' onclick='ajax_searchzeit(0,{$user.id})'>{$user.vname} {$user.nname|substr:0:1}.</a></li>
|
|
{/foreach}
|
|
</ul>
|
|
|
|
{* PANES *}
|
|
{$tabnr = 0}
|
|
{foreach $users as $user}
|
|
<div id="tabs-{$user.id}">
|
|
<h3>{$user.vname} {$user.nname}</h3>
|
|
<div class='fifty'>
|
|
<table><tr><td>
|
|
Überstunden (Dieser Monat):</td><td>{if $user.Mueberstd < 0}<font color="#AA0000">{else}<font color="#00AA00">{/if}{$user.Mueberstd|intval}h, {(($user.Mueberstd*60)%60)|abs}min </font></td></tr>
|
|
<tr><td>
|
|
Überstunden (Gesamt):</td><td> {if $user.ueberstd < 0}<font color="#AA0000">{else}<font color="#00AA00">{/if}{$user.ueberstd|intval}h, {(($user.ueberstd*60)%60)|abs}min</font></td></tr>
|
|
<tr><td>
|
|
Ungeplante Urlaubstage:</td><td> {$user.urlaub}</td></tr>
|
|
</table>
|
|
</div>
|
|
<div class='fifty'>
|
|
<table><tr><td>
|
|
Stunden (Mo.-Fr.):</td><td> {$user.weekhours|intval}h, {(($user.weekhours*60)%60)|abs}min</td></tr>
|
|
<tr><td>
|
|
Stunden Samstag:</td><td>{$user.sahours|intval}h, {(($user.sahours*60)%60)|abs}min</td></tr>
|
|
<tr><td>
|
|
Urlaubstage:</td><td> {$user.vacation} + {$user.oldvacation}</td></tr>
|
|
</table>
|
|
</div>
|
|
<div class='centersmallsrc'>
|
|
<input type = 'hidden' name='zeit_src-{$user.id}' id='zeit_src-{$user.id}' value='' class='searchform' onKeyUp='ajax_searchzeit(0,{$user.id})' title='Geben Sie hier das Suchmuster ein - % ist ein Platzhalter für eine beliebige Anzahl Zeichen<br />_ ist der Platzhalter für ein einziges Zeichen.' />
|
|
{*<br />*}
|
|
<form action="?action=zeiten&do=save&user={$user.id}&formsent=1&tabs={$tabnr}" method='POST' enctype="multipart/form-data">
|
|
<label class='artlabel'>Farbe:</label>{html_options name={$user.colorname} id={$user.colorname} options=$colors selected=$user.color class='searchform' title='Bitte wählen Sie die Farbe, in der der Mitarbeiter in der Terminliste geführt wird.' onchange='#'}
|
|
<br />
|
|
<label class='artlabel'>RFID: {$user.rfid}</label>
|
|
<br />
|
|
<input type="submit" value="Speichern" />
|
|
</form>
|
|
<span class='printcenter' title='Drucken' onClick='askmonth("",{$user.id})'></span><br />
|
|
</div>
|
|
<div id='termcontainer-{$user.id}'>
|
|
|
|
</div>
|
|
<br />
|
|
</div>
|
|
{$tabnr = $tabnr + 1}
|
|
{/foreach}
|
|
</div>
|
|
</div>
|
|
|
|
<div id="question">
|
|
Welchen Monat möchten Sie drucken?<br />
|
|
<div id="print_month"></div>
|
|
<input type="hidden" id="printmonth" name="printmonth" />
|
|
<input type="hidden" id="printuser" name="printuser" />
|
|
</div>
|
|
|
|
<script>
|
|
$(function() {
|
|
$( "#tabs" ).tabs();
|
|
{if $tabs}
|
|
$( "#tabs" ).tabs( "option", "selected", {$tabs} );
|
|
{/if}
|
|
});
|
|
$('#print_month').datepicker({
|
|
changeMonth: true,
|
|
changeYear: true,
|
|
showButtonPanel: true,
|
|
dateFormat: 'mm.yy',
|
|
onClose: function(dateText, inst) {
|
|
},
|
|
onSelect: function (selectedDate){
|
|
var date = $(this).datepicker('getDate');
|
|
window.location= "?action=zeitenprint&user=" + document.getElementById("printuser").value + "&month="+(date.getMonth()+1) + "&year="+date.getYear();
|
|
}
|
|
});
|
|
</script>
|
|
{if $tabs}
|
|
<script language='javascript'>ajax_searchzeit(0,{$users[{$tabs}].id});</script>
|
|
{else}
|
|
<script language='javascript'>ajax_searchzeit(0,{$users[0].id});</script>
|
|
{/if}
|
|
<br /> |