diff --git a/client_tickets.php b/client_tickets.php index 3cf4d718..32b64d3f 100644 --- a/client_tickets.php +++ b/client_tickets.php @@ -113,11 +113,16 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $ticket_status = $row['ticket_status']; $ticket_created_at = $row['ticket_created_at']; $ticket_updated_at = $row['ticket_updated_at']; - if(empty($ticket_updated_at)){ - $ticket_updated_at_display = "

Never

"; - }else{ - $ticket_updated_at_display = $ticket_updated_at; - } + if (empty($ticket_updated_at)) { + if($ticket_status == "Closed"){ + $ticket_updated_at_display = "

Never

"; + } + else{ + $ticket_updated_at_display = "

Never

"; + } + } else { + $ticket_updated_at_display = $ticket_updated_at; + } $ticket_closed_at = $row['ticket_closed_at']; if($ticket_status == "Open"){ @@ -137,12 +142,17 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); }else{ $ticket_priority_display = "-"; } - $ticket_assigned_to = $row['ticket_assigned_to']; - if(empty($ticket_assigned_to)){ - $ticket_assigned_to_display = "

Not Assigned

"; - }else{ - $ticket_assigned_to_display = $row['user_name']; - } + $ticket_assigned_to = $row['ticket_assigned_to']; + if (empty($ticket_assigned_to)) { + if($ticket_status == "Closed"){ + $ticket_assigned_to_display = "

Not Assigned

"; + } + else{ + $ticket_assigned_to_display = "

Not Assigned

"; + } + } else { + $ticket_assigned_to_display = $row['user_name']; + } $contact_id = $row['contact_id']; $contact_name = $row['contact_name']; if(empty($contact_name)){ diff --git a/db.sql b/db.sql index d41a67c0..e6ab1c3d 100644 --- a/db.sql +++ b/db.sql @@ -1281,7 +1281,7 @@ CREATE TABLE `tickets` ( `ticket_archived_at` datetime DEFAULT NULL, `ticket_closed_at` datetime DEFAULT NULL, `ticket_created_by` int(11) NOT NULL, - `ticket_assigned_to` int(11) DEFAULT NULL, + `ticket_assigned_to` int(11) NOT NULL DEFAULT '0', `ticket_closed_by` int(11) DEFAULT NULL, `ticket_vendor_id` int(11) DEFAULT NULL, `ticket_client_id` int(11) DEFAULT NULL, diff --git a/ticket.php b/ticket.php index ac91ddf6..54751873 100644 --- a/ticket.php +++ b/ticket.php @@ -103,18 +103,18 @@ if(isset($_GET['ticket_id'])){ $ticket_assigned_to_display = $row['user_name']; } - if($contact_id == $primary_contact){ - $primary_contact_display = "Primary Contact"; - }else{ - $primary_contact_display = "Needs approval"; - } +// if($contact_id == $primary_contact){ +// $primary_contact_display = "Primary Contact"; +// }else{ +// $primary_contact_display = "Needs approval"; +// } //Get Contact Ticket Stats - $ticket_related_open = mysqli_query($mysqli,"SELECT COUNT(ticket_id) AS ticket_related_open FROM tickets WHERE ticket_status = 'open' AND ticket_contact_id = $contact_id "); + $ticket_related_open = mysqli_query($mysqli,"SELECT COUNT(ticket_id) AS ticket_related_open FROM tickets WHERE ticket_status != 'Closed' AND ticket_contact_id = $contact_id "); $row = mysqli_fetch_array($ticket_related_open); $ticket_related_open = $row['ticket_related_open']; - $ticket_related_closed = mysqli_query($mysqli,"SELECT COUNT(ticket_id) AS ticket_related_closed FROM tickets WHERE ticket_status = 'closed' AND ticket_contact_id = $contact_id "); + $ticket_related_closed = mysqli_query($mysqli,"SELECT COUNT(ticket_id) AS ticket_related_closed FROM tickets WHERE ticket_status = 'Closed' AND ticket_contact_id = $contact_id "); $row = mysqli_fetch_array($ticket_related_closed); $ticket_related_closed = $row['ticket_related_closed']; @@ -346,8 +346,8 @@ if(isset($_GET['ticket_id'])){

Contact


- -
+ + Related tickets: Open | Closed | Total
- + $sb, 'o' => $o, 'status' => $status))); +$url_query_strings_sb = http_build_query(array_merge($_GET, array('sb' => $sb, 'o' => $o, 'status' => $status, 'assigned' => $ticket_assigned_filter))); // Main ticket query: +$sql = mysqli_query($mysqli, "SELECT SQL_CALC_FOUND_ROWS * FROM tickets +LEFT JOIN clients ON ticket_client_id = client_id +LEFT JOIN contacts ON ticket_contact_id = contact_id +LEFT JOIN users ON ticket_assigned_to = user_id +LEFT JOIN assets ON ticket_asset_id = asset_id +LEFT JOIN locations ON ticket_location_id = location_id +WHERE tickets.company_id = $session_company_id +AND ticket_assigned_to LIKE '%$ticket_assigned_filter%' +AND $ticket_status_snippet +AND DATE(ticket_created_at) BETWEEN '$dtf' AND '$dtt' +AND (CONCAT(ticket_prefix,ticket_number) LIKE '%$q%' OR client_name LIKE '%$q%' OR ticket_subject LIKE '%$q%' OR user_name LIKE '%$q%') +ORDER BY $sb $o LIMIT $record_from, $record_to"); -// Separate queries for Unassigned, Open / Closed tickets as Open tickets need to include tickets in state "Working" and "On Hold" as well as "Open". -if ($view_unassigned_only) { - $sql = mysqli_query($mysqli, "SELECT SQL_CALC_FOUND_ROWS * FROM tickets - LEFT JOIN clients ON ticket_client_id = client_id - LEFT JOIN contacts ON ticket_contact_id = contact_id - LEFT JOIN users ON ticket_assigned_to = user_id - LEFT JOIN assets ON ticket_asset_id = asset_id - LEFT JOIN locations ON ticket_location_id = location_id - WHERE tickets.company_id = $session_company_id - AND ticket_assigned_to = '0' - AND ticket_status != 'Closed' - AND DATE(ticket_created_at) BETWEEN '$dtf' AND '$dtt' - AND (CONCAT(ticket_prefix,ticket_number) LIKE '%$q%' OR client_name LIKE '%$q%' OR ticket_subject LIKE '%$q%' OR user_name LIKE '%$q%') - ORDER BY $sb $o LIMIT $record_from, $record_to"); -} -elseif ($status == "Open") { - $sql = mysqli_query($mysqli, "SELECT SQL_CALC_FOUND_ROWS * FROM tickets - LEFT JOIN clients ON ticket_client_id = client_id - LEFT JOIN contacts ON ticket_contact_id = contact_id - LEFT JOIN users ON ticket_assigned_to = user_id - LEFT JOIN assets ON ticket_asset_id = asset_id - LEFT JOIN locations ON ticket_location_id = location_id - WHERE tickets.company_id = $session_company_id - AND ticket_status != 'Closed' - AND DATE(ticket_created_at) BETWEEN '$dtf' AND '$dtt' - AND (CONCAT(ticket_prefix,ticket_number) LIKE '%$q%' OR client_name LIKE '%$q%' OR ticket_subject LIKE '%$q%' OR user_name LIKE '%$q%') - ORDER BY $sb $o LIMIT $record_from, $record_to"); -} -else { - $sql = mysqli_query($mysqli, "SELECT SQL_CALC_FOUND_ROWS * FROM tickets - LEFT JOIN clients ON ticket_client_id = client_id - LEFT JOIN contacts ON ticket_contact_id = contact_id - LEFT JOIN users ON ticket_assigned_to = user_id - LEFT JOIN assets ON ticket_asset_id = asset_id - LEFT JOIN locations ON ticket_location_id = location_id - WHERE tickets.company_id = $session_company_id - AND ticket_status LIKE '%$status%' - AND DATE(ticket_created_at) BETWEEN '$dtf' AND '$dtt' - AND (CONCAT(ticket_prefix,ticket_number) LIKE '%$q%' OR client_name LIKE '%$q%' OR ticket_subject LIKE '%$q%' OR user_name LIKE '%$q%') - ORDER BY $sb $o LIMIT $record_from, $record_to"); -} $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); -//Get Total tickets -$sql_total_tickets = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS total_tickets FROM tickets WHERE company_id = $session_company_id"); -$row = mysqli_fetch_array($sql_total_tickets); -$total_tickets = $row['total_tickets']; - //Get Total tickets open $sql_total_tickets_open = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS total_tickets_open FROM tickets WHERE ticket_status != 'Closed' AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_total_tickets_open); $total_tickets_open = $row['total_tickets_open']; //Get Total tickets closed -$sql_total_tickets_closed = mysqli_query($mysqli, "SELECT COUNT(DISTINCT 'ticket_status') AS total_tickets_closed FROM tickets WHERE ticket_status = 'closed' AND company_id = $session_company_id"); +$sql_total_tickets_closed = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS total_tickets_closed FROM tickets WHERE ticket_status = 'Closed' AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_total_tickets_closed); $total_tickets_closed = $row['total_tickets_closed']; @@ -169,14 +144,13 @@ $total_tickets_unassigned = $row['total_tickets_unassigned']; //Get Total tickets assigned to me $sql_total_tickets_assigned = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS total_tickets_assigned FROM tickets WHERE ticket_assigned_to = $session_user_id AND ticket_status != 'Closed' AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_total_tickets_assigned); -$total_tickets_assigned = $row['total_tickets_assigned']; +$user_active_assigned_tickets = $row['total_tickets_assigned']; ?>

Tickets - Total | Open | Closed @@ -210,20 +184,15 @@ $total_tickets_assigned = $row['total_tickets_assigned'];

@@ -297,6 +266,27 @@ $total_tickets_assigned = $row['total_tickets_assigned']; +
+
+ + +
+
@@ -348,7 +338,12 @@ $total_tickets_assigned = $row['total_tickets_assigned']; $ticket_created_at = $row['ticket_created_at']; $ticket_updated_at = $row['ticket_updated_at']; if (empty($ticket_updated_at)) { - $ticket_updated_at_display = "

Never

"; + if($ticket_status == "Closed"){ + $ticket_updated_at_display = "

Never

"; + } + else{ + $ticket_updated_at_display = "

Never

"; + } } else { $ticket_updated_at_display = $ticket_updated_at; } @@ -388,7 +383,12 @@ $total_tickets_assigned = $row['total_tickets_assigned']; } $ticket_assigned_to = $row['ticket_assigned_to']; if (empty($ticket_assigned_to)) { - $ticket_assigned_to_display = "

Not Assigned

"; + if($ticket_status == "Closed"){ + $ticket_assigned_to_display = "

Not Assigned

"; + } + else{ + $ticket_assigned_to_display = "

Not Assigned

"; + } } else { $ticket_assigned_to_display = $row['user_name']; }