DB Optimizing in Ticket Selections and relogicify mark billable also more logging

This commit is contained in:
johnnyq
2024-11-19 18:46:07 -05:00
parent dea702b45f
commit 1e4306381f
8 changed files with 29 additions and 31 deletions

View File

@@ -25,8 +25,9 @@ if (isset($_POST['add_ticket'])) {
$asset_id = intval($_POST['asset']); $asset_id = intval($_POST['asset']);
$location_id = intval($_POST['location']); $location_id = intval($_POST['location']);
$project_id = intval($_POST['project']); $project_id = intval($_POST['project']);
$use_primary_contact = intval($_POST['use_primary_contact']); $use_primary_contact = intval($_POST['use_primary_contact'] ?? 0);
$ticket_template_id = intval($_POST['ticket_template_id']); $ticket_template_id = intval($_POST['ticket_template_id']);
$billable = intval($_POST['billable'] ?? 0);
// Add the primary contact as the ticket contact if "Use primary contact" is checked // Add the primary contact as the ticket contact if "Use primary contact" is checked
if ($use_primary_contact == 1) { if ($use_primary_contact == 1) {
@@ -35,12 +36,6 @@ if (isset($_POST['add_ticket'])) {
$contact = intval($row['contact_id']); $contact = intval($row['contact_id']);
} }
if (!isset($_POST['billable'])) {
$billable = 1;
} else {
$billable = intval($_POST['billable']);
}
//Get the next Ticket Number and add 1 for the new ticket number //Get the next Ticket Number and add 1 for the new ticket number
$ticket_number = $config_ticket_next_number; $ticket_number = $config_ticket_next_number;
$new_config_ticket_next_number = $config_ticket_next_number + 1; $new_config_ticket_next_number = $config_ticket_next_number + 1;
@@ -170,10 +165,10 @@ if (isset($_POST['edit_ticket'])) {
$ticket_id = intval($_POST['ticket_id']); $ticket_id = intval($_POST['ticket_id']);
$contact_id = intval($_POST['contact']); $contact_id = intval($_POST['contact']);
$notify = intval($_POST['contact_notify']); $notify = intval($_POST['contact_notify'] ?? 0);
$category_id = intval($_POST['category']); $category_id = intval($_POST['category']);
$ticket_subject = sanitizeInput($_POST['subject']); $ticket_subject = sanitizeInput($_POST['subject']);
$billable = intval($_POST['billable']); $billable = intval($_POST['billable'] ?? 0);
$ticket_priority = sanitizeInput($_POST['priority']); $ticket_priority = sanitizeInput($_POST['priority']);
$details = mysqli_real_escape_string($mysqli, $_POST['details']); $details = mysqli_real_escape_string($mysqli, $_POST['details']);
$vendor_ticket_number = sanitizeInput($_POST['vendor_ticket_number']); $vendor_ticket_number = sanitizeInput($_POST['vendor_ticket_number']);

View File

@@ -8,8 +8,6 @@
</button> </button>
</div> </div>
<form action="post.php" method="post" autocomplete="off"> <form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="billable" value="0">
<input type="hidden" name="use_primary_contact" value="0">
<div class="modal-body bg-white"> <div class="modal-body bg-white">
@@ -46,7 +44,7 @@
<option value="">- Client -</option> <option value="">- Client -</option>
<?php <?php
$sql = mysqli_query($mysqli, "SELECT * FROM clients WHERE client_archived_at IS NULL $access_permission_query ORDER BY client_name ASC"); $sql = mysqli_query($mysqli, "SELECT client_id, client_name FROM clients WHERE client_archived_at IS NULL $access_permission_query ORDER BY client_name ASC");
while ($row = mysqli_fetch_array($sql)) { while ($row = mysqli_fetch_array($sql)) {
$client_id = intval($row['client_id']); $client_id = intval($row['client_id']);
$client_name = nullable_htmlentities($row['client_name']); ?> $client_name = nullable_htmlentities($row['client_name']); ?>
@@ -174,7 +172,11 @@
$mysqli, $mysqli,
"SELECT users.user_id, user_name FROM users "SELECT users.user_id, user_name FROM users
LEFT JOIN user_settings on users.user_id = user_settings.user_id LEFT JOIN user_settings on users.user_id = user_settings.user_id
WHERE user_role > 1 AND user_status = 1 AND user_archived_at IS NULL ORDER BY user_name ASC" WHERE user_role > 1
AND user_type = 1
AND user_status = 1
AND user_archived_at IS NULL
ORDER BY user_name ASC"
); );
while ($row = mysqli_fetch_array($sql)) { while ($row = mysqli_fetch_array($sql)) {
$user_id = intval($row['user_id']); $user_id = intval($row['user_id']);
@@ -211,7 +213,7 @@
<select class="form-control select2" name="contact"> <select class="form-control select2" name="contact">
<option value="0">- No One -</option> <option value="0">- No One -</option>
<?php <?php
$sql = mysqli_query($mysqli, "SELECT * FROM contacts WHERE contact_client_id = $client_id AND contact_archived_at IS NULL ORDER BY contact_primary DESC, contact_technical DESC, contact_name ASC"); $sql = mysqli_query($mysqli, "SELECT contact_id, contact_name, contact_title, contact_primary, contact_technical FROM contacts WHERE contact_client_id = $client_id AND contact_archived_at IS NULL ORDER BY contact_primary DESC, contact_technical DESC, contact_name ASC");
while ($row = mysqli_fetch_array($sql)) { while ($row = mysqli_fetch_array($sql)) {
$contact_id = intval($row['contact_id']); $contact_id = intval($row['contact_id']);
$contact_name = nullable_htmlentities($row['contact_name']); $contact_name = nullable_htmlentities($row['contact_name']);
@@ -251,7 +253,7 @@
<select class="form-control select2" name="watchers[]" data-tags="true" data-placeholder="Enter or select email address" multiple> <select class="form-control select2" name="watchers[]" data-tags="true" data-placeholder="Enter or select email address" multiple>
<option value=""></option> <option value=""></option>
<?php <?php
$sql = mysqli_query($mysqli, "SELECT * FROM contacts WHERE contact_client_id = $client_id AND contact_archived_at IS NULL AND contact_email IS NOT NULL ORDER BY contact_email ASC"); $sql = mysqli_query($mysqli, "SELECT contact_email FROM contacts WHERE contact_client_id = $client_id AND contact_archived_at IS NULL AND contact_email IS NOT NULL ORDER BY contact_email ASC");
while ($row = mysqli_fetch_array($sql)) { while ($row = mysqli_fetch_array($sql)) {
$contact_email = nullable_htmlentities($row['contact_email']); $contact_email = nullable_htmlentities($row['contact_email']);
?> ?>
@@ -276,7 +278,7 @@
<option value="0">- None -</option> <option value="0">- None -</option>
<?php <?php
$sql_assets = mysqli_query($mysqli, "SELECT * FROM assets LEFT JOIN contacts ON contact_id = asset_contact_id WHERE asset_client_id = $client_id AND asset_archived_at IS NULL ORDER BY asset_name ASC"); $sql_assets = mysqli_query($mysqli, "SELECT asset_id, asset_name, contact_name FROM assets LEFT JOIN contacts ON contact_id = asset_contact_id WHERE asset_client_id = $client_id AND asset_archived_at IS NULL ORDER BY asset_name ASC");
while ($row = mysqli_fetch_array($sql_assets)) { while ($row = mysqli_fetch_array($sql_assets)) {
$asset_id_select = intval($row['asset_id']); $asset_id_select = intval($row['asset_id']);
$asset_name_select = nullable_htmlentities($row['asset_name']); $asset_name_select = nullable_htmlentities($row['asset_name']);
@@ -299,7 +301,7 @@
<option value="0">- None -</option> <option value="0">- None -</option>
<?php <?php
$sql_locations = mysqli_query($mysqli, "SELECT * FROM locations WHERE location_client_id = $client_id AND location_archived_at IS NULL ORDER BY location_name ASC"); $sql_locations = mysqli_query($mysqli, "SELECT location_id, location_name FROM locations WHERE location_client_id = $client_id AND location_archived_at IS NULL ORDER BY location_name ASC");
while ($row = mysqli_fetch_array($sql_locations)) { while ($row = mysqli_fetch_array($sql_locations)) {
$location_id_select = intval($row['location_id']); $location_id_select = intval($row['location_id']);
$location_name_select = nullable_htmlentities($row['location_name']); $location_name_select = nullable_htmlentities($row['location_name']);
@@ -325,7 +327,7 @@
<option value="0">- None -</option> <option value="0">- None -</option>
<?php <?php
$sql_vendors = mysqli_query($mysqli, "SELECT * FROM vendors WHERE vendor_client_id = $client_id AND vendor_template = 0 AND vendor_archived_at IS NULL ORDER BY vendor_name ASC"); $sql_vendors = mysqli_query($mysqli, "SELECT vendor_id, vendor_name FROM vendors WHERE vendor_client_id = $client_id AND vendor_template = 0 AND vendor_archived_at IS NULL ORDER BY vendor_name ASC");
while ($row = mysqli_fetch_array($sql_vendors)) { while ($row = mysqli_fetch_array($sql_vendors)) {
$vendor_id_select = intval($row['vendor_id']); $vendor_id_select = intval($row['vendor_id']);
$vendor_name_select = nullable_htmlentities($row['vendor_name']); ?> $vendor_name_select = nullable_htmlentities($row['vendor_name']); ?>
@@ -364,7 +366,7 @@
<option value="0">- None -</option> <option value="0">- None -</option>
<?php <?php
$sql_projects = mysqli_query($mysqli, "SELECT * FROM projects WHERE project_client_id = $client_id AND project_completed_at IS NULL AND project_archived_at IS NULL ORDER BY project_name ASC"); $sql_projects = mysqli_query($mysqli, "SELECT project_id, project_name FROM projects WHERE project_client_id = $client_id AND project_completed_at IS NULL AND project_archived_at IS NULL ORDER BY project_name ASC");
while ($row = mysqli_fetch_array($sql_projects)) { while ($row = mysqli_fetch_array($sql_projects)) {
$project_id_select = intval($row['project_id']); $project_id_select = intval($row['project_id']);
$project_name_select = nullable_htmlentities($row['project_name']); ?> $project_name_select = nullable_htmlentities($row['project_name']); ?>

View File

@@ -24,7 +24,7 @@
<option value="">-Select a contact-</option> <option value="">-Select a contact-</option>
<?php <?php
$sql_client_contacts_select = mysqli_query($mysqli, "SELECT * FROM contacts WHERE contact_client_id = $client_id AND contact_email <> '' ORDER BY contact_name ASC"); $sql_client_contacts_select = mysqli_query($mysqli, "SELECT contact_id, contact_name, contact_email FROM contacts WHERE contact_client_id = $client_id AND contact_email <> '' ORDER BY contact_name ASC");
while ($row = mysqli_fetch_array($sql_client_contacts_select)) { while ($row = mysqli_fetch_array($sql_client_contacts_select)) {
$contact_id_select = intval($row['contact_id']); $contact_id_select = intval($row['contact_id']);
$contact_name_select = nullable_htmlentities($row['contact_name']); $contact_name_select = nullable_htmlentities($row['contact_name']);

View File

@@ -21,9 +21,10 @@
<select class="form-control select2" name="assigned_to"> <select class="form-control select2" name="assigned_to">
<option value="0">Not Assigned</option> <option value="0">Not Assigned</option>
<?php <?php
$sql_users_select = mysqli_query($mysqli, "SELECT * FROM users $sql_users_select = mysqli_query($mysqli, "SELECT users.user_id, user_name FROM users
LEFT JOIN user_settings on users.user_id = user_settings.user_id LEFT JOIN user_settings on users.user_id = user_settings.user_id
WHERE user_role > 1 WHERE user_role > 1
AND user_type = 1
AND user_archived_at IS NULL AND user_archived_at IS NULL
ORDER BY user_name DESC" ORDER BY user_name DESC"
); );

View File

@@ -18,7 +18,7 @@
<select class="form-control select2" name="project_id"> <select class="form-control select2" name="project_id">
<option value="0">No Project</option> <option value="0">No Project</option>
<?php <?php
$sql_projects_select = mysqli_query($mysqli, "SELECT * FROM projects $sql_projects_select = mysqli_query($mysqli, "SELECT project_id, project_name, project_prefix, project_number FROM projects
WHERE project_archived_at IS NULL WHERE project_archived_at IS NULL
AND project_completed_at IS NULL AND project_completed_at IS NULL
ORDER BY project_name DESC" ORDER BY project_name DESC"

View File

@@ -21,6 +21,7 @@
$sql_users_select = mysqli_query($mysqli, "SELECT users.user_id, user_name FROM users $sql_users_select = mysqli_query($mysqli, "SELECT users.user_id, user_name FROM users
LEFT JOIN user_settings on users.user_id = user_settings.user_id LEFT JOIN user_settings on users.user_id = user_settings.user_id
WHERE user_role > 1 WHERE user_role > 1
AND user_type = 1
AND user_status = 1 AND user_status = 1
AND user_archived_at IS NULL AND user_archived_at IS NULL
ORDER BY user_name DESC" ORDER BY user_name DESC"

View File

@@ -21,7 +21,7 @@
<select class="form-control select2" name="contact"> <select class="form-control select2" name="contact">
<option value="">No One</option> <option value="">No One</option>
<?php <?php
$sql_client_contacts_select = mysqli_query($mysqli, "SELECT contact_id, contact_name, contact_title, contact_primary, contact_technical, contact_billing FROM contacts WHERE contact_client_id = $client_id AND contact_archived_at IS NULL ORDER BY contact_primary DESC, contact_technical DESC, contact_name ASC"); $sql_client_contacts_select = mysqli_query($mysqli, "SELECT contact_id, contact_name, contact_title, contact_primary, contact_technical FROM contacts WHERE contact_client_id = $client_id AND contact_archived_at IS NULL ORDER BY contact_primary DESC, contact_technical DESC, contact_name ASC");
while ($row = mysqli_fetch_array($sql_client_contacts_select)) { while ($row = mysqli_fetch_array($sql_client_contacts_select)) {
$contact_id_select = intval($row['contact_id']); $contact_id_select = intval($row['contact_id']);
$contact_name_select = nullable_htmlentities($row['contact_name']); $contact_name_select = nullable_htmlentities($row['contact_name']);

View File

@@ -9,8 +9,7 @@
</div> </div>
<form action="post.php" method="post" autocomplete="off"> <form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="ticket_id" value="<?php echo $ticket_id; ?>"> <input type="hidden" name="ticket_id" value="<?php echo $ticket_id; ?>">
<input type="hidden" name="contact_notify" value="0"> <!-- Default 0 -->
<input type="hidden" name="billable" value="0">
<div class="modal-body bg-white"> <div class="modal-body bg-white">
<ul class="nav nav-pills nav-justified mb-3"> <ul class="nav nav-pills nav-justified mb-3">
@@ -109,7 +108,7 @@
<select class="form-control select2" name="contact"> <select class="form-control select2" name="contact">
<option value="0">No One</option> <option value="0">No One</option>
<?php <?php
$sql_client_contacts_select = mysqli_query($mysqli, "SELECT * FROM contacts WHERE contact_client_id = $client_id AND contact_archived_at IS NULL ORDER BY contact_primary DESC, contact_technical DESC, contact_name ASC"); $sql_client_contacts_select = mysqli_query($mysqli, "SELECT contact_id, contact_name, contact_title, contact_primary, contact_technical FROM contacts WHERE contact_client_id = $client_id AND contact_archived_at IS NULL ORDER BY contact_primary DESC, contact_technical DESC, contact_name ASC");
while ($row = mysqli_fetch_array($sql_client_contacts_select)) { while ($row = mysqli_fetch_array($sql_client_contacts_select)) {
$contact_id_select = intval($row['contact_id']); $contact_id_select = intval($row['contact_id']);
$contact_name_select = nullable_htmlentities($row['contact_name']); $contact_name_select = nullable_htmlentities($row['contact_name']);
@@ -164,7 +163,7 @@
<option value="0">- None -</option> <option value="0">- None -</option>
<?php <?php
$sql_assets = mysqli_query($mysqli, "SELECT * FROM assets LEFT JOIN contacts ON contact_id = asset_contact_id WHERE asset_client_id = $client_id AND asset_archived_at IS NULL ORDER BY asset_name ASC"); $sql_assets = mysqli_query($mysqli, "SELECT asset_id, asset_name, contact_name FROM assets LEFT JOIN contacts ON contact_id = asset_contact_id WHERE asset_client_id = $client_id AND asset_archived_at IS NULL ORDER BY asset_name ASC");
while ($row = mysqli_fetch_array($sql_assets)) { while ($row = mysqli_fetch_array($sql_assets)) {
$asset_id_select = intval($row['asset_id']); $asset_id_select = intval($row['asset_id']);
$asset_name_select = nullable_htmlentities($row['asset_name']); $asset_name_select = nullable_htmlentities($row['asset_name']);
@@ -189,7 +188,7 @@
<option value="0">- None -</option> <option value="0">- None -</option>
<?php <?php
$sql_locations = mysqli_query($mysqli, "SELECT * FROM locations WHERE location_client_id = $client_id AND location_archived_at IS NULL ORDER BY location_name ASC"); $sql_locations = mysqli_query($mysqli, "SELECT location_id, location_name FROM locations WHERE location_client_id = $client_id AND location_archived_at IS NULL ORDER BY location_name ASC");
while ($row = mysqli_fetch_array($sql_locations)) { while ($row = mysqli_fetch_array($sql_locations)) {
$location_id_select = intval($row['location_id']); $location_id_select = intval($row['location_id']);
$location_name_select = nullable_htmlentities($row['location_name']); $location_name_select = nullable_htmlentities($row['location_name']);
@@ -217,7 +216,7 @@
<option value="0">- None -</option> <option value="0">- None -</option>
<?php <?php
$sql_vendors = mysqli_query($mysqli, "SELECT * FROM vendors WHERE vendor_client_id = $client_id AND vendor_template = 0 AND vendor_archived_at IS NULL ORDER BY vendor_name ASC"); $sql_vendors = mysqli_query($mysqli, "SELECT vendor_id, vendor_name FROM vendors WHERE vendor_client_id = $client_id AND vendor_template = 0 AND vendor_archived_at IS NULL ORDER BY vendor_name ASC");
while ($row = mysqli_fetch_array($sql_vendors)) { while ($row = mysqli_fetch_array($sql_vendors)) {
$vendor_id_select = intval($row['vendor_id']); $vendor_id_select = intval($row['vendor_id']);
$vendor_name_select = nullable_htmlentities($row['vendor_name']); $vendor_name_select = nullable_htmlentities($row['vendor_name']);
@@ -262,7 +261,7 @@
<option value="0">- None -</option> <option value="0">- None -</option>
<?php <?php
$sql_projects = mysqli_query($mysqli, "SELECT * FROM projects WHERE project_client_id = $client_id AND project_completed_at IS NULL AND project_archived_at IS NULL ORDER BY project_name ASC"); $sql_projects = mysqli_query($mysqli, "SELECT project_id, project_name FROM projects WHERE project_client_id = $client_id AND project_completed_at IS NULL AND project_archived_at IS NULL ORDER BY project_name ASC");
while ($row = mysqli_fetch_array($sql_projects)) { while ($row = mysqli_fetch_array($sql_projects)) {
$project_id_select = intval($row['project_id']); $project_id_select = intval($row['project_id']);
$project_name_select = nullable_htmlentities($row['project_name']); ?> $project_name_select = nullable_htmlentities($row['project_name']); ?>