diff --git a/README.md b/README.md
index d5c52ebe..2985a484 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@
View demo
- Username: demo@demo | Password: demo
+ Username: demo@demo.com | Password: demo
About
diff --git a/admin/database_updates.php b/admin/database_updates.php
index ee595709..b753cf0d 100644
--- a/admin/database_updates.php
+++ b/admin/database_updates.php
@@ -4134,10 +4134,30 @@ if (LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION) {
mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '2.3.8'");
}
- // if (CURRENT_DATABASE_VERSION == '2.3.8') {
- // // Insert queries here required to update to DB version 2.3.9
+ if (CURRENT_DATABASE_VERSION == '2.3.8') {
+
+ mysqli_query($mysqli, "
+ CREATE TABLE `task_approvals` (
+ `approval_id` int(11) NOT NULL AUTO_INCREMENT,
+ `approval_scope` enum('client','internal') NOT NULL,
+ `approval_type` enum('any','technical','billing','specific') NOT NULL,
+ `approval_required_user_id` int(11) DEFAULT NULL,
+ `approval_status` enum('pending','approved','declined') NOT NULL,
+ `approval_created_by` int(11) NOT NULL,
+ `approval_approved_by` varchar(255) DEFAULT NULL,
+ `approval_url_key` varchar(200) NOT NULL,
+ `approval_task_id` int(11) NOT NULL,
+ PRIMARY KEY (`approval_id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+ ");
+
+ mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '2.3.9'");
+ }
+
+ // if (CURRENT_DATABASE_VERSION == '2.3.9') {
+ // // Insert queries here required to update to DB version 2.4.0
// // Then, update the database to the next sequential version
- // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '2.3.9'");
+ // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '2.4.0'");
// }
} else {
diff --git a/agent/ajax.php b/agent/ajax.php
index 1fae441c..ea0f7064 100644
--- a/agent/ajax.php
+++ b/agent/ajax.php
@@ -992,3 +992,23 @@ if (isset($_GET['apex_domain_check'])) {
echo json_encode($response);
}
+
+// Get internal users/techs
+if (isset($_GET['get_internal_users'])) {
+ enforceUserPermission('module_support');
+
+ $sql = mysqli_query(
+ $mysqli,
+ "SELECT user_id, user_name
+ FROM users
+ WHERE user_type = 1 AND user_status = 1 AND user_archived_at IS NULL
+ ORDER BY user_name"
+ );
+
+ while ($row = mysqli_fetch_assoc($sql)) {
+ $response['users'][] = $row;
+ }
+
+ echo json_encode($response);
+ exit;
+}
diff --git a/agent/modals/ticket/ticket_task_approver_add.php b/agent/modals/ticket/ticket_task_approver_add.php
new file mode 100644
index 00000000..03064481
--- /dev/null
+++ b/agent/modals/ticket/ticket_task_approver_add.php
@@ -0,0 +1,140 @@
+
+
+