javascript, berechnet Schicht-Enddatum via Checkbox
This commit is contained in:
parent
806c35a02e
commit
7abd8f46c4
|
|
@ -19,7 +19,7 @@ if ($AdminStatus != 1) {
|
|||
|
||||
<link rel="stylesheet" href="css/style_desktop.css" media="screen and (min-width:781px)"/>
|
||||
<link rel="stylesheet" href="css/style_mobile.css" media="screen and (max-width:780px)"/>
|
||||
|
||||
<script src="js/helferdb.js" type="text/javascript"></script>
|
||||
<meta name="viewport" content="width=480" />
|
||||
</head>
|
||||
<body>
|
||||
|
|
@ -195,6 +195,11 @@ echo "<p><noscript><button name='ShowSchichten' value='1'>Schichten Anzeigen</bu
|
|||
// Aktueller Dienst und dessen Schichten Anzeigen
|
||||
////////////////////////////////////////////////////////
|
||||
|
||||
if( !isset($DienstID))
|
||||
{
|
||||
echo "<img src='Bilder/Attention_Sign.svg' width='20px'> Bitte erst Dienst Auswählen </body></html>";
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
|
|
@ -267,7 +272,7 @@ echo "<p><noscript><button name='ShowSchichten' value='1'>Schichten Anzeigen</bu
|
|||
</td></tr>
|
||||
</table>
|
||||
|
||||
<p><button name="ChangeDienst" value="1">Ändern</button><button name="NewDienst" value="1">Neue</button><button name='DeleteDienst' value='1'>Löschen</button></p>
|
||||
<p><button name="ChangeDienst" value="1">Ändern</button><button name="NewDienst" value="1">Schicht anlegen</button><button name='DeleteDienst' value='1'>Löschen</button></p>
|
||||
|
||||
</form>
|
||||
|
||||
|
|
@ -319,23 +324,23 @@ echo "<p><noscript><button name='ShowSchicht' value='1'>Schicht Anzeigen</button
|
|||
<table border="0" class='commontable'">
|
||||
<tr>
|
||||
<td style="border: 0px solid black;">Von</td></tr><tr><td style="border: 0px solid black;">
|
||||
<input name="Schicht-Von" type="datetime-local" value="<?php echo htmlspecialchars($Von ?? '')?>" required>
|
||||
<input id="Schicht-Von" name="Schicht-Von" type="datetime-local" value="<?php echo htmlspecialchars($Von ?? '')?>" required>
|
||||
</td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td style="border: 0px solid black;">Dauer</td></tr><tr><td style="border: 0px solid black;">
|
||||
<input name="Schicht-Dauer" type="time" value="<?php echo htmlspecialchars($Dauer ?? '')?>" required>
|
||||
<input id="Schicht-Dauer" name="Schicht-Dauer" type="time" onKeyUp="setEndDate()" value="<?php echo htmlspecialchars($Dauer ?? '01:00')?>" required>
|
||||
</td>
|
||||
<tr>
|
||||
</tr>
|
||||
<tr>
|
||||
</tr>
|
||||
<td style="border: 0px solid black;">Bis </td></tr><tr><td style="border: 0px solid black;">
|
||||
<input name="Schicht-Bis" type="datetime-local" value="<?php echo htmlspecialchars($Bis ?? '')?>" required>
|
||||
<input id="Schicht-Bis" name="Schicht-Bis" type="datetime-local" value="<?php echo htmlspecialchars($Bis ?? '')?>" required>
|
||||
</td>
|
||||
<tr>
|
||||
</tr>
|
||||
<td style="border: 0px solid black;">Soll</td></tr><tr><td style="border: 0px solid black;">
|
||||
<td style="border: 0px solid black;">Anzahl Helfer (Soll)</td></tr><tr><td style="border: 0px solid black;">
|
||||
<input name="Schicht-Soll" type="number" min=1 value="<?php echo htmlspecialchars((int)$Soll ?? '')?>" required>
|
||||
</td>
|
||||
<tr>
|
||||
|
|
@ -343,9 +348,9 @@ echo "<p><noscript><button name='ShowSchicht' value='1'>Schicht Anzeigen</button
|
|||
|
||||
</table>
|
||||
<?php if ($AutomaticBis) { ?>
|
||||
<input style="width:unset" width = 20 name="Schicht-Automatic-Bis" type="checkbox" checked > Endzeit von Dauer<br>
|
||||
<input style="width:unset" width = 20 "Schicht-Automatic-Bis" name="Schicht-Automatic-Bis" type="checkbox" onclick="setEndDate()" checked > Endzeit von Dauer<br>
|
||||
<?php } else { ?>
|
||||
<input style="width:unset" width = 20 name="Schicht-Automatic-Bis" type="checkbox" > Endzeit von Dauer<br>
|
||||
<input style="width:unset" width = 20 id="Schicht-Automatic-Bis" name="Schicht-Automatic-Bis" type="checkbox" onclick="setEndDate()"> Endzeit von Dauer<br>
|
||||
<?php }?>
|
||||
|
||||
<?php if ($Anschlussschicht) { ?>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ SESSION_START();
|
|||
require_once 'konfiguration.php';
|
||||
require 'SQL.php';
|
||||
$db_link = ConnectDB();
|
||||
require '_login.php';
|
||||
|
||||
?>
|
||||
<!doctype html>
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ function HelferdatenAendern($db_link, $HelferName, $HelferEmail, $HelferHandy, $
|
|||
} else {
|
||||
$sql = "UPDATE Helfer SET Name='$HelferName',Email='$HelferEmail',Handy='$HelferHandy',Admin=$HelferIsAdmin,HelferLevel='$HelferLevel' Where HelferId=" . $HelferID;
|
||||
}
|
||||
echo $sql;
|
||||
//echo $sql;
|
||||
$db_erg = mysqli_query($db_link, $sql);
|
||||
echo "<li>Helferdaten geändert</li>";
|
||||
if ($AdminID != 0) {
|
||||
|
|
@ -554,8 +554,7 @@ function ChangeDienst($db_link, $DienstID, $Was, $Wo, $Info, $Leiter, $Gruppe, $
|
|||
$Gruppe = mysqli_real_escape_string($db_link, $Gruppe);
|
||||
$HelferLevel = mysqli_real_escape_string($db_link, $HelferLevel); // int (1,2) Teilnehmer oder Dauerhelfer
|
||||
|
||||
$sql = "UPDATE Dienst SET Was='" . $Was . "', Wo='" . $Wo . "', Info='" . $Info . "', Leiter=" . $Leiter . ", ElternDienstID=" . $Gruppe . " where DienstID=" . $DienstID;
|
||||
|
||||
$sql = "UPDATE Dienst SET Was='{$Was}', Wo='{$Wo}', Info='{$Info}', Leiter={$Leiter}, ElternDienstID={$Gruppe} where DienstID={$DienstID}";
|
||||
$db_erg = mysqli_query($db_link, $sql);
|
||||
if (! $db_erg) {
|
||||
echo "Fehler Change Dienst";
|
||||
|
|
|
|||
|
|
@ -8,6 +8,28 @@ function showPassword(id)
|
|||
}
|
||||
}
|
||||
|
||||
function setEndDate()
|
||||
{
|
||||
// js Date .toISOString automatically converts to UTC marking the string by "Z" at the end
|
||||
// This is not understood by the browser when setting the value of the string
|
||||
// UTC is 1h off resulting in a 1h wrong time if the Z is removed
|
||||
// so we add the "Z" here, then remove it in the end
|
||||
// this works for my local firefox. There should be a check if there already is a Z
|
||||
// because maybe browsers also convert to UTC for the internal value
|
||||
// but I guess in the worst case we have ZZ at the end and the js autofill fails
|
||||
var checkBox = document.getElementById("Schicht-Automatic-Bis");
|
||||
if (checkBox.checked == true)
|
||||
{
|
||||
var start = new Date(document.getElementById("Schicht-Von").value+'Z');
|
||||
var delta = new Date("0000-01-01T"+ document.getElementById("Schicht-Dauer").value);
|
||||
var end = new Date(start);
|
||||
var endHours=start.getHours()+delta.getHours();
|
||||
end.setHours(endHours);
|
||||
end.setMinutes(start.getMinutes()+delta.getMinutes());
|
||||
document.getElementById("Schicht-Bis").value=end.toISOString().replace(/.000Z/,"");;
|
||||
}
|
||||
}
|
||||
|
||||
//// https://www.w3schools.com/howto/howto_js_collapsible.asp
|
||||
//var coll = document.getElementsByClassName("collapsible");
|
||||
//var i;
|
||||
|
|
|
|||
Loading…
Reference in New Issue