mirror of
https://github.com/itflow-org/itflow
synced 2026-08-05 07:07:14 +00:00
Add Urgent Priority, move Per Client SLA Settings to notes tab in client add / edit modal remove unnessesary sla admin setting for client overide
This commit is contained in:
@@ -131,7 +131,7 @@ if (isset($_POST['save_sla_assignments'])) {
|
||||
|
||||
// Global defaults - one select per priority; 0 means no SLA, which for the
|
||||
// global row is simply no assignment
|
||||
foreach (['Low', 'Medium', 'High'] as $priority) {
|
||||
foreach (['Low', 'Medium', 'High', 'Urgent'] as $priority) {
|
||||
|
||||
$field = 'global_sla_' . strtolower($priority);
|
||||
$sla_id = intval($_POST[$field] ?? 0);
|
||||
@@ -157,61 +157,3 @@ if (isset($_POST['save_sla_assignments'])) {
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['save_client_sla_assignment'])) {
|
||||
|
||||
validateCSRFToken();
|
||||
|
||||
$client_id = intval($_POST['client_id']);
|
||||
|
||||
// Per-priority values: 'default' = follow the global default (no row),
|
||||
// '0' = explicitly no SLA for this client, otherwise an sla_id
|
||||
foreach (['Low', 'Medium', 'High'] as $priority) {
|
||||
|
||||
$field = 'client_sla_' . strtolower($priority);
|
||||
$value = $_POST[$field] ?? 'default';
|
||||
|
||||
mysqli_query($mysqli, "DELETE FROM sla_assignments WHERE sla_assignment_client_id = $client_id AND sla_assignment_priority = '$priority'");
|
||||
if ($value !== 'default') {
|
||||
$sla_id = intval($value);
|
||||
mysqli_query($mysqli, "INSERT INTO sla_assignments SET sla_assignment_client_id = $client_id, sla_assignment_priority = '$priority', sla_assignment_sla_id = $sla_id");
|
||||
}
|
||||
}
|
||||
|
||||
// Re-resolve this client's open tickets
|
||||
$restamped = 0;
|
||||
$sql_tickets = mysqli_query($mysqli, "SELECT ticket_id FROM tickets WHERE ticket_client_id = $client_id AND ticket_closed_at IS NULL AND ticket_archived_at IS NULL");
|
||||
while ($ticket_row = mysqli_fetch_assoc($sql_tickets)) {
|
||||
applyTicketSla($ticket_row['ticket_id']);
|
||||
$restamped++;
|
||||
}
|
||||
|
||||
logAudit("SLA", "Edit", "$session_name updated SLA assignments for client ID $client_id");
|
||||
|
||||
flashAlert("Client SLA assignments saved - $restamped open ticket(s) re-evaluated");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['delete_client_sla_assignments'])) {
|
||||
|
||||
validateCSRFToken();
|
||||
|
||||
$client_id = intval($_GET['delete_client_sla_assignments']);
|
||||
|
||||
mysqli_query($mysqli, "DELETE FROM sla_assignments WHERE sla_assignment_client_id = $client_id");
|
||||
|
||||
// Back on the global defaults - re-resolve this client's open tickets
|
||||
$sql_tickets = mysqli_query($mysqli, "SELECT ticket_id FROM tickets WHERE ticket_client_id = $client_id AND ticket_closed_at IS NULL AND ticket_archived_at IS NULL");
|
||||
while ($ticket_row = mysqli_fetch_assoc($sql_tickets)) {
|
||||
applyTicketSla($ticket_row['ticket_id']);
|
||||
}
|
||||
|
||||
logAudit("SLA", "Delete", "$session_name removed SLA overrides for client ID $client_id");
|
||||
|
||||
flashAlert("Client SLA overrides removed");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user