Add optional ticket SLAs

Response/resolution targets stamped at creation from per-client/priority assignments, business-hours due date math, warn/breach alert stages via cron/ticket_sla.php, ticket list coloring, per-ticket SLA override, admin page for plans/assignments/business hours. DB update 2.5.0. No behavior change unless SLAs are assigned. Bulk reply now only counts Public replies as first response.
This commit is contained in:
johnnyq
2026-07-29 00:00:42 -04:00
parent 78ee38b39f
commit d08ef6184a
23 changed files with 1479 additions and 11 deletions

View File

@@ -25,11 +25,12 @@ if (!empty($ticket_id)) {
// Mark FR (if not)
if (empty($ticket_first_response_at)) {
mysqli_query($mysqli, "UPDATE tickets SET ticket_first_response_at = NOW() WHERE ticket_id = $ticket_id AND ticket_client_id = $client_id LIMIT 1");
setTicketFirstResponse($ticket_id);
}
// Resolve
$update_sql = mysqli_query($mysqli, "UPDATE tickets SET ticket_status = 4, ticket_resolved_at = NOW() WHERE ticket_id = $ticket_id AND ticket_client_id = $client_id LIMIT 1");
setTicketResolutionSlaMet($ticket_id);
// Check insert & get insert ID
if ($update_sql) {