diff --git a/cron.php b/cron.php index 3b6f685b..c7532c26 100644 --- a/cron.php +++ b/cron.php @@ -252,6 +252,7 @@ if (mysqli_num_rows($sql_scheduled_tickets) > 0) { $details = mysqli_real_escape_string($mysqli, $row['scheduled_ticket_details']); $priority = sanitizeInput($row['scheduled_ticket_priority']); $frequency = sanitizeInput(strtolower($row['scheduled_ticket_frequency'])); + $billable = intval($row['scheduled_ticket_billable']); $created_id = intval($row['scheduled_ticket_created_by']); $assigned_id = intval($row['scheduled_ticket_assigned_to']); $client_id = intval($row['scheduled_ticket_client_id']); @@ -272,7 +273,7 @@ if (mysqli_num_rows($sql_scheduled_tickets) > 0) { mysqli_query($mysqli, "UPDATE settings SET config_ticket_next_number = $new_config_ticket_next_number WHERE company_id = 1"); // Raise the ticket - mysqli_query($mysqli, "INSERT INTO tickets SET ticket_prefix = '$config_ticket_prefix', ticket_number = $ticket_number, ticket_subject = '$subject', ticket_details = '$details', ticket_priority = '$priority', ticket_status = '$ticket_status', ticket_created_by = $created_id, ticket_assigned_to = $assigned_id, ticket_contact_id = $contact_id, ticket_client_id = $client_id, ticket_asset_id = $asset_id"); + mysqli_query($mysqli, "INSERT INTO tickets SET ticket_prefix = '$config_ticket_prefix', ticket_number = $ticket_number, ticket_subject = '$subject', ticket_details = '$details', ticket_priority = '$priority', ticket_status = '$ticket_status', ticket_billable = $billable, ticket_created_by = $created_id, ticket_assigned_to = $assigned_id, ticket_contact_id = $contact_id, ticket_client_id = $client_id, ticket_asset_id = $asset_id"); $id = mysqli_insert_id($mysqli); // Logging diff --git a/database_updates.php b/database_updates.php index 41660673..5ad87177 100644 --- a/database_updates.php +++ b/database_updates.php @@ -1918,10 +1918,16 @@ if (LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION) { mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.3.2'"); } - // if (CURRENT_DATABASE_VERSION == '1.3.2') { - // // Insert queries here required to update to DB version 1.3.2 + if (CURRENT_DATABASE_VERSION == '1.3.2') { + mysqli_query($mysqli, "ALTER TABLE `settings` ADD `config_ticket_default_billable` TINYINT(1) NOT NULL DEFAULT 0 AFTER `config_ticket_new_ticket_notification_email`"); + mysqli_query($mysqli, "ALTER TABLE `scheduled_tickets` ADD `scheduled_ticket_billable` TINYINT(1) NOT NULL DEFAULT 0 AFTER `scheduled_ticket_frequency`"); + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.3.3'"); + } + + // if (CURRENT_DATABASE_VERSION == '1.3.3') { + // // Insert queries here required to update to DB version 1.3.3 // // Then, update the database to the next sequential version - // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.3.3'"); + // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.3.4'"); // } } else { diff --git a/database_version.php b/database_version.php index c976e9a1..8ddd52ae 100644 --- a/database_version.php +++ b/database_version.php @@ -5,4 +5,4 @@ * It is used in conjunction with database_updates.php */ -DEFINE("LATEST_DATABASE_VERSION", "1.3.2"); +DEFINE("LATEST_DATABASE_VERSION", "1.3.3"); diff --git a/get_settings.php b/get_settings.php index 0b53b9bc..58d5b3a6 100644 --- a/get_settings.php +++ b/get_settings.php @@ -72,6 +72,7 @@ $config_ticket_client_general_notifications = intval($row['config_ticket_client_ $config_ticket_autoclose = intval($row['config_ticket_autoclose']); $config_ticket_autoclose_hours = intval($row['config_ticket_autoclose_hours']); $config_ticket_new_ticket_notification_email = $row['config_ticket_new_ticket_notification_email']; +$config_ticket_default_billable = intval($row['config_ticket_default_billable']); // Cron $config_enable_cron = intval($row['config_enable_cron']); diff --git a/js/recurring_tickets_edit_modal.js b/js/recurring_tickets_edit_modal.js index 67966341..eeb5b1d2 100644 --- a/js/recurring_tickets_edit_modal.js +++ b/js/recurring_tickets_edit_modal.js @@ -19,6 +19,7 @@ function populateRecurringTicketEditModal(client_id, ticket_id) { document.getElementById("editHeader").innerText = " Edit Recurring ticket: " + ticket.scheduled_ticket_subject; document.getElementById("editTicketId").value = ticket_id; document.getElementById("editClientId").value = client_id; + document.getElementById("editTicketBillable").value = ticket.scheduled_ticket_billable; document.getElementById("editTicketSubject").value = ticket.scheduled_ticket_subject; document.getElementById("editTicketNextRun").value = ticket.scheduled_ticket_next_run; tinyMCE.get('editTicketDetails').setContent(ticket.scheduled_ticket_details); diff --git a/post/recurring_ticket_model.php b/post/recurring_ticket_model.php index ae42ccb9..c5dec4dd 100644 --- a/post/recurring_ticket_model.php +++ b/post/recurring_ticket_model.php @@ -5,6 +5,7 @@ $subject = sanitizeInput($_POST['subject']); $priority = sanitizeInput($_POST['priority']); $details = mysqli_real_escape_string($mysqli, $_POST['details']); $frequency = sanitizeInput($_POST['frequency']); +$billable = intval($_POST['billable']); $asset_id = "0"; if (isset($_POST['asset'])) { diff --git a/post/setting.php b/post/setting.php index b312c194..7e9b03b6 100644 --- a/post/setting.php +++ b/post/setting.php @@ -286,11 +286,12 @@ if (isset($_POST['edit_ticket_settings'])) { $config_ticket_prefix = sanitizeInput($_POST['config_ticket_prefix']); $config_ticket_next_number = intval($_POST['config_ticket_next_number']); $config_ticket_email_parse = intval($_POST['config_ticket_email_parse']); + $config_ticket_default_billable = intval($_POST['config_ticket_default_billable']); $config_ticket_autoclose = intval($_POST['config_ticket_autoclose']); $config_ticket_autoclose_hours = intval($_POST['config_ticket_autoclose_hours']); $config_ticket_new_ticket_notification_email = sanitizeInput($_POST['config_ticket_new_ticket_notification_email']); - mysqli_query($mysqli,"UPDATE settings SET config_ticket_prefix = '$config_ticket_prefix', config_ticket_next_number = $config_ticket_next_number, config_ticket_email_parse = $config_ticket_email_parse, config_ticket_autoclose = $config_ticket_autoclose, config_ticket_autoclose_hours = $config_ticket_autoclose_hours, config_ticket_new_ticket_notification_email = '$config_ticket_new_ticket_notification_email' WHERE company_id = 1"); + mysqli_query($mysqli,"UPDATE settings SET config_ticket_prefix = '$config_ticket_prefix', config_ticket_next_number = $config_ticket_next_number, config_ticket_email_parse = $config_ticket_email_parse, config_ticket_autoclose = $config_ticket_autoclose, config_ticket_autoclose_hours = $config_ticket_autoclose_hours, config_ticket_new_ticket_notification_email = '$config_ticket_new_ticket_notification_email', config_ticket_default_billable = $config_ticket_default_billable WHERE company_id = 1"); //Logging mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modify', log_description = '$session_name modified ticket settings', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id"); diff --git a/post/ticket.php b/post/ticket.php index 51ddf780..972a5611 100644 --- a/post/ticket.php +++ b/post/ticket.php @@ -1597,7 +1597,7 @@ if (isset($_POST['add_recurring_ticket'])) { } // Add scheduled ticket - mysqli_query($mysqli, "INSERT INTO scheduled_tickets SET scheduled_ticket_subject = '$subject', scheduled_ticket_details = '$details', scheduled_ticket_priority = '$priority', scheduled_ticket_frequency = '$frequency', scheduled_ticket_start_date = '$start_date', scheduled_ticket_next_run = '$start_date', scheduled_ticket_assigned_to = $assigned_to, scheduled_ticket_created_by = $session_user_id, scheduled_ticket_client_id = $client_id, scheduled_ticket_contact_id = $contact_id, scheduled_ticket_asset_id = $asset_id"); + mysqli_query($mysqli, "INSERT INTO scheduled_tickets SET scheduled_ticket_subject = '$subject', scheduled_ticket_details = '$details', scheduled_ticket_priority = '$priority', scheduled_ticket_frequency = '$frequency', scheduled_ticket_billable = $billable, scheduled_ticket_start_date = '$start_date', scheduled_ticket_next_run = '$start_date', scheduled_ticket_assigned_to = $assigned_to, scheduled_ticket_created_by = $session_user_id, scheduled_ticket_client_id = $client_id, scheduled_ticket_contact_id = $contact_id, scheduled_ticket_asset_id = $asset_id"); $scheduled_ticket_id = mysqli_insert_id($mysqli); @@ -1626,7 +1626,7 @@ if (isset($_POST['edit_recurring_ticket'])) { } // Edit scheduled ticket - mysqli_query($mysqli, "UPDATE scheduled_tickets SET scheduled_ticket_subject = '$subject', scheduled_ticket_details = '$details', scheduled_ticket_priority = '$priority', scheduled_ticket_frequency = '$frequency', scheduled_ticket_next_run = '$next_run_date', scheduled_ticket_assigned_to = $assigned_to, scheduled_ticket_asset_id = $asset_id, scheduled_ticket_contact_id = $contact_id WHERE scheduled_ticket_id = $scheduled_ticket_id"); + mysqli_query($mysqli, "UPDATE scheduled_tickets SET scheduled_ticket_subject = '$subject', scheduled_ticket_details = '$details', scheduled_ticket_priority = '$priority', scheduled_ticket_frequency = '$frequency', scheduled_ticket_billable = $billable, scheduled_ticket_next_run = '$next_run_date', scheduled_ticket_assigned_to = $assigned_to, scheduled_ticket_asset_id = $asset_id, scheduled_ticket_contact_id = $contact_id WHERE scheduled_ticket_id = $scheduled_ticket_id"); // Logging mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Recurring Ticket', log_action = 'Modify', log_description = '$session_name modified recurring ticket for $subject - $frequency', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_client_id = $client_id, log_user_id = $session_user_id, log_entity_id = $scheduled_ticket_id"); diff --git a/recurring_ticket_add_modal.php b/recurring_ticket_add_modal.php index 16e24bdb..bac39608 100644 --- a/recurring_ticket_add_modal.php +++ b/recurring_ticket_add_modal.php @@ -11,6 +11,7 @@ + + +
+
+ value="1" id="billable"> + +
+
+ + diff --git a/recurring_ticket_edit_modal.php b/recurring_ticket_edit_modal.php index e07f15ad..cbb13735 100644 --- a/recurring_ticket_edit_modal.php +++ b/recurring_ticket_edit_modal.php @@ -10,6 +10,7 @@
+ + +
+
+ + +
+
+ +
diff --git a/settings_ticket.php b/settings_ticket.php index 18ef56de..75b106fb 100644 --- a/settings_ticket.php +++ b/settings_ticket.php @@ -11,6 +11,7 @@ require_once "inc_all_admin.php"; +
@@ -39,6 +40,15 @@ require_once "inc_all_admin.php";
+ +
+
+ value="1" id="ticketBillableSwitch"> + +
+
+ +
value="1" id="ticketAutoCloseSwitch"> diff --git a/ticket_add_modal.php b/ticket_add_modal.php index 7b2922f1..9cb3f7cb 100644 --- a/ticket_add_modal.php +++ b/ticket_add_modal.php @@ -8,6 +8,7 @@
+