Tidy up Ticket to Invoice Description

This commit is contained in:
johnnyq
2026-01-29 13:13:24 -05:00
parent 018642cbb8
commit ff0bb49926

View File

@@ -33,16 +33,16 @@ $ticket_onsite = intval($row['ticket_onsite']);
$ticket_created_at = nullable_htmlentities($row['ticket_created_at']); $ticket_created_at = nullable_htmlentities($row['ticket_created_at']);
$ticket_created_by = intval($row['ticket_created_by']); $ticket_created_by = intval($row['ticket_created_by']);
$ticket_date = date('Y-m-d', strtotime($ticket_created_at)); $ticket_date = date('Y-m-d g:i A', strtotime($ticket_created_at));
$ticket_first_response_at = nullable_htmlentities($row['ticket_first_response_at']); $ticket_first_response_at = nullable_htmlentities($row['ticket_first_response_at']);
if ($ticket_first_response_at) { if ($ticket_first_response_at) {
$ticket_first_response_date_time = date('Y-m-d H:i', strtotime($ticket_first_response_at)); $ticket_first_response_date_time = date('Y-m-d g:i A', strtotime($ticket_first_response_at));
} else { } else {
$ticket_first_response_date_time = ''; $ticket_first_response_date_time = '';
} }
$ticket_resolved_at = nullable_htmlentities($row['ticket_resolved_at']); $ticket_resolved_at = nullable_htmlentities($row['ticket_resolved_at']);
if ($ticket_resolved_at) { if ($ticket_resolved_at) {
$ticket_resolved_date = date('Y-m-d', strtotime($ticket_resolved_at)); $ticket_resolved_date = date('Y-m-d g:i A', strtotime($ticket_resolved_at));
} else { } else {
$ticket_resolved_date = ''; $ticket_resolved_date = '';
} }
@@ -73,6 +73,7 @@ $location_phone = formatPhoneNumber($row['location_phone']);
$ticket_total_reply_time = mysqli_query($mysqli, "SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(ticket_reply_time_worked))) AS ticket_total_reply_time FROM ticket_replies WHERE ticket_reply_archived_at IS NULL AND ticket_reply_ticket_id = $ticket_id"); $ticket_total_reply_time = mysqli_query($mysqli, "SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(ticket_reply_time_worked))) AS ticket_total_reply_time FROM ticket_replies WHERE ticket_reply_archived_at IS NULL AND ticket_reply_ticket_id = $ticket_id");
$row = mysqli_fetch_assoc($ticket_total_reply_time); $row = mysqli_fetch_assoc($ticket_total_reply_time);
$ticket_total_reply_time = nullable_htmlentities($row['ticket_total_reply_time']); $ticket_total_reply_time = nullable_htmlentities($row['ticket_total_reply_time']);
$ticket_total_reply_time_display = formatDuration($ticket_total_reply_time);
$sql_invoices = mysqli_query($mysqli, "SELECT * FROM invoices WHERE invoice_status LIKE 'Draft' AND invoice_client_id = $client_id ORDER BY invoice_number ASC"); $sql_invoices = mysqli_query($mysqli, "SELECT * FROM invoices WHERE invoice_status LIKE 'Draft' AND invoice_client_id = $client_id ORDER BY invoice_number ASC");
@@ -221,15 +222,17 @@ ob_start();
<div class="input-group"> <div class="input-group">
<textarea class="form-control" rows="10" name="item_description"><?php <textarea class="form-control" rows="10" name="item_description"><?php
// Build description text cleanly in PHP, not mixed with HTML // Build description text cleanly in PHP, not mixed with HTML
$description = "#Ticket: {$ticket_prefix}{$ticket_number} - $ticket_subject\n"; $description = "Ticket: {$ticket_prefix}{$ticket_number} - $ticket_subject\n";
$description .= "Priority: {$ticket_priority}\n"; $description .= "Work Performed: Support (see ticket notes)\n";
$description .= "Opened at: {$ticket_date}\n"; $description .= "\n";
$description .= "Opened: {$ticket_date}\n";
if ($ticket_first_response_date_time) { if ($ticket_first_response_date_time) {
$description .= "Initial Response: {$ticket_first_response_date_time}\n"; $description .= "Initial Response: {$ticket_first_response_date_time}\n";
} }
if ($ticket_resolved_date) { if ($ticket_resolved_date) {
$description .= "Resolved at: {$ticket_resolved_date}\n"; $description .= "Resolved: {$ticket_resolved_date}\n";
} }
$description .= "\n";
if ($ticket_assigned_agent) { if ($ticket_assigned_agent) {
$description .= "Agent: {$ticket_assigned_agent}\n"; $description .= "Agent: {$ticket_assigned_agent}\n";
} }
@@ -243,7 +246,7 @@ ob_start();
$description .= "Asset: {$asset_name}\n"; $description .= "Asset: {$asset_name}\n";
} }
if ($ticket_total_reply_time) { if ($ticket_total_reply_time) {
$description .= "Agent Time Spent: {$ticket_total_reply_time}"; $description .= "Time Spent: {$ticket_total_reply_time_display}";
} }
echo trim($description); // Trim any leading/trailing spaces/newlines echo trim($description); // Trim any leading/trailing spaces/newlines