diff --git a/README.md b/README.md index 64b59883..8e8e1668 100644 --- a/README.md +++ b/README.md @@ -134,8 +134,7 @@ See the [forum](https://forum.itflow.org/d/11-road-map) and the [open issues](ht ## Support & Contributions ### Forum -For help using ITFlow, feature requests, and general ideas / discussions please use the community [forum](https://forum.itflow.org). -For bugs, please raise an [issue](https://github.com/itflow-org/itflow/issues). +For help using ITFlow, bugs, feature requests, and general ideas / discussions please use the community [forum](https://forum.itflow.org). ### Contributing If you want to improve ITFlow, feel free to fork the repo and create a pull request, but make sure to discuss significant changes or new features with fellow contributors on the forum first. This helps ensure that your contributions are aligned with project goals, and saves time for everyone. All contributions should follow our [code standards](https://docs.itflow.org/code_standards). diff --git a/client_tickets.php b/client_tickets.php index 4c2d1340..284acdbb 100644 --- a/client_tickets.php +++ b/client_tickets.php @@ -7,15 +7,13 @@ $order = "DESC"; require_once "inc_all_client.php"; -if (isset($_GET['status']) && ($_GET['status']) == 'Open') { - $status = 'Open'; - $ticket_status_snippet = "ticket_status != 'Closed'"; -} elseif (isset($_GET['status']) && ($_GET['status']) == 'Closed') { +if (isset($_GET['status']) && ($_GET['status']) == 'Closed') { $status = 'Closed'; - $ticket_status_snippet = "ticket_status = 'Closed'"; + $ticket_status_snippet = "ticket_closed_at IS NOT NULL"; } else { + // Default - Show open tickets $status = 'Open'; - $ticket_status_snippet = "ticket_status != 'Closed'"; + $ticket_status_snippet = "ticket_closed_at IS NULL"; } if (isset($_GET['billable']) && ($_GET['billable']) == '1') { @@ -40,6 +38,7 @@ $sql = mysqli_query( LEFT JOIN assets ON ticket_asset_id = asset_id LEFT JOIN locations ON ticket_location_id = location_id LEFT JOIN vendors ON ticket_vendor_id = vendor_id + LEFT JOIN ticket_statuses ON ticket_status = ticket_status_id WHERE ticket_client_id = $client_id AND $ticket_status_snippet AND $ticket_billable_snippet @@ -50,12 +49,12 @@ $sql = mysqli_query( $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); //Get Total tickets open -$sql_total_tickets_open = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS total_tickets_open FROM tickets WHERE ticket_client_id = $client_id AND ticket_status != 'Closed'"); +$sql_total_tickets_open = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS total_tickets_open FROM tickets WHERE ticket_client_id = $client_id AND ticket_closed_at IS NULL"); $row = mysqli_fetch_array($sql_total_tickets_open); $total_tickets_open = intval($row['total_tickets_open']); //Get Total tickets closed -$sql_total_tickets_closed = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS total_tickets_closed FROM tickets WHERE ticket_client_id = $client_id AND ticket_status = 'Closed'"); +$sql_total_tickets_closed = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS total_tickets_closed FROM tickets WHERE ticket_client_id = $client_id AND ticket_closed_at IS NOT NULL"); $row = mysqli_fetch_array($sql_total_tickets_closed); $total_tickets_closed = intval($row['total_tickets_closed']); @@ -142,14 +141,16 @@ $total_scheduled_tickets = intval($row['total_scheduled_tickets']); $ticket_number = nullable_htmlentities($row['ticket_number']); $ticket_subject = nullable_htmlentities($row['ticket_subject']); $ticket_priority = nullable_htmlentities($row['ticket_priority']); - $ticket_status = nullable_htmlentities($row['ticket_status']); + $ticket_status_id = intval($row['ticket_status_id']); + $ticket_status_name = nullable_htmlentities($row['ticket_status_name']); + $ticket_status_color = nullable_htmlentities($row['ticket_status_color']); $ticket_billable = intval($row['ticket_billable']); $ticket_created_at = nullable_htmlentities($row['ticket_created_at']); $ticket_created_at_time_ago = timeAgo($row['ticket_created_at']); $ticket_updated_at = nullable_htmlentities($row['ticket_updated_at']); $ticket_updated_at_time_ago = timeAgo($row['ticket_updated_at']); if (empty($ticket_updated_at)) { - if ($ticket_status == "Closed") { + if (!empty($ticket_closed_at)) { $ticket_updated_at_display = "
Never
"; } else { $ticket_updated_at_display = "Never
"; @@ -159,8 +160,6 @@ $total_scheduled_tickets = intval($row['total_scheduled_tickets']); } $ticket_closed_at = nullable_htmlentities($row['ticket_closed_at']); - $ticket_status_color = getTicketStatusColor($ticket_status); - if ($ticket_priority == "High") { $ticket_priority_display = "$ticket_priority"; } elseif ($ticket_priority == "Medium") { @@ -173,7 +172,7 @@ $total_scheduled_tickets = intval($row['total_scheduled_tickets']); $ticket_assigned_to = intval($row['ticket_assigned_to']); if (empty($ticket_assigned_to)) { - if ($ticket_status == "Closed") { + if (!empty($ticket_closed_at)) { $ticket_assigned_to_display = "Not Assigned
"; } else { $ticket_assigned_to_display = "Not Assigned
"; @@ -181,7 +180,7 @@ $total_scheduled_tickets = intval($row['total_scheduled_tickets']); } else { $ticket_assigned_to_display = nullable_htmlentities($row['user_name']); } - + $project_id = intval($row['ticket_project_id']); $contact_name = nullable_htmlentities($row['contact_name']); @@ -261,7 +260,7 @@ $total_scheduled_tickets = intval($row['total_scheduled_tickets']);Never
"; } else { $ticket_updated_at_display = "Never
"; @@ -791,17 +792,7 @@ if ($user_config_dashboard_technical_enable == 1) { $contact_id = intval($row['ticket_contact_id']); $contact_name = nullable_htmlentities($row['contact_name']); - if ($ticket_status == "New") { - $ticket_status_color = "danger"; - } elseif ($ticket_status == "Open") { - $ticket_status_color = "primary"; - } elseif ($ticket_status == "On Hold") { - $ticket_status_color = "success"; - } elseif ($ticket_status == "Auto Close") { - $ticket_status_color = "dark"; - } elseif ($ticket_status == "Closed") { - $ticket_status_color = "dark"; - } + $ticket_status_color = getTicketStatusColor($ticket_status_id); if ($ticket_priority == "High") { $ticket_priority_color = "danger"; @@ -831,7 +822,7 @@ if ($user_config_dashboard_technical_enable == 1) {