Add time tracking to ticket

This commit is contained in:
Marcus Hill
2022-01-08 16:12:04 +00:00
parent 19c90aac99
commit 8406779b3b
2 changed files with 61 additions and 2 deletions

View File

@@ -4949,8 +4949,9 @@ if(isset($_POST['add_ticket_reply'])){
$ticket_id = intval($_POST['ticket_id']);
$ticket_reply = trim(mysqli_real_escape_string($mysqli,$_POST['ticket_reply']));
$ticket_status = trim(mysqli_real_escape_string($mysqli,$_POST['status']));
$ticket_reply_time_worked = trim(mysqli_real_escape_string($mysqli,$_POST['time']));
mysqli_query($mysqli,"INSERT INTO ticket_replies SET ticket_reply = '$ticket_reply', ticket_reply_created_at = NOW(), ticket_reply_by = $session_user_id, ticket_reply_ticket_id = $ticket_id, company_id = $session_company_id") or die(mysqli_error($mysqli));
mysqli_query($mysqli,"INSERT INTO ticket_replies SET ticket_reply = '$ticket_reply', ticket_reply_time_worked = '$ticket_reply_time_worked', ticket_reply_created_at = NOW(), ticket_reply_by = $session_user_id, ticket_reply_ticket_id = $ticket_id, company_id = $session_company_id") or die(mysqli_error($mysqli));
//UPDATE Ticket Last Response Field
mysqli_query($mysqli,"UPDATE tickets SET ticket_status = '$ticket_status', ticket_updated_at = NOW() WHERE ticket_id = $ticket_id AND company_id = $session_company_id") or die(mysqli_error($mysqli));

View File

@@ -156,6 +156,7 @@ if(isset($_GET['ticket_id'])){
$user_id = $row['user_id'];
$user_avatar = $row['user_avatar'];
$user_initials = initials($row['user_name']);
$ticket_reply_time_worked = date_create($row['ticket_reply_time_worked']);
?>
<div class="card mb-3">
@@ -178,6 +179,8 @@ if(isset($_GET['ticket_id'])){
<?php echo $ticket_reply_by_display; ?>
<br>
<small class="text-muted"><?php echo $ticket_reply_created_at; ?> <?php if(!empty($ticket_reply_updated_at)){ echo "modified: $ticket_reply_updated_at"; } ?></small>
<br>
<small class="text-muted">Time worked: <?php echo date_format($ticket_reply_time_worked, 'H:i:s'); ?></small>
</div>
</div>
</h3>
@@ -215,7 +218,7 @@ if(isset($_GET['ticket_id'])){
<textarea class="form-control summernote" name="ticket_reply" required></textarea>
</div>
<div class="form-row">
<div class="col-md-3">
<div class="col-md-2">
<div class="form-group">
<div class="input-group">
<div class="input-group-prepend">
@@ -243,6 +246,10 @@ if(isset($_GET['ticket_id'])){
</div>
<?php } ?>
<div class="form-group">
<input id="time_worked" name="time" type="time" step="1" value="00:00:00" class="form-control timepicker" onchange="setTime()"/>
</div>
<div class="col-md-2">
<button type="submit" name="add_ticket_reply" class="btn btn-primary"><i class="fa fa-fw fa-check"></i> Save & Reply</button>
@@ -417,4 +424,55 @@ if(isset($_GET['ticket_id'])){
?>
<!-- Maybe move this to it's own JS file? -->
<script type="text/javascript">
// Default values
var hours = 0;
var minutes = 0;
var seconds = 0;
setInterval(countTime, 1000);
// Counter
function countTime()
{
++seconds;
if(seconds == 60) {
seconds = 0;
minutes++;
}
if(minutes == 60) {
minutes = 0;
hours++;
}
// Total timeworked
var time_worked = pad(hours) + ":" + pad(minutes) + ":" + pad(seconds);
document.getElementById("time_worked").value = time_worked;
}
// Allows manually adjusting the timer
function setTime()
{
var time_as_text = document.getElementById("time_worked").value;
const time_text_array = time_as_text.split(":");
hours = parseInt(time_text_array[0]);
minutes = parseInt(time_text_array[1]);
seconds = parseInt(time_text_array[2]);
}
// This function "pads" out the values, adding zeros if they are required
function pad(val)
{
var valString = val + "";
if(valString.length < 2)
{
return "0" + valString;
}
else
{
return valString;
}
}
</script>
<?php include("footer.php");