From 72f96e0ebf2ccca80c22c7bf775f5efa096be9d1 Mon Sep 17 00:00:00 2001 From: johnnyq Date: Mon, 8 Apr 2024 12:22:16 -0400 Subject: [PATCH] Added Project Manager field to projects --- database_updates.php | 13 +++-- database_version.php | 2 +- post/project.php | 6 ++- project_add_modal.php | 27 +++++++++- project_details.php | 14 ++++- project_edit_modal.php | 120 ++++++++++++++++++++++++----------------- projects.php | 13 ++++- 7 files changed, 137 insertions(+), 58 deletions(-) diff --git a/database_updates.php b/database_updates.php index ee17c8e4..02564742 100644 --- a/database_updates.php +++ b/database_updates.php @@ -1843,10 +1843,17 @@ if (LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION) { mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.3'"); } - // if (CURRENT_DATABASE_VERSION == '1.2.3') { - // // Insert queries here required to update to DB version 1.2.4 + if (CURRENT_DATABASE_VERSION == '1.2.3') { + + mysqli_query($mysqli, "ALTER TABLE `projects` ADD `project_manager` INT(11) NOT NULL DEFAULT 0 AFTER `project_due`"); + + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.4'"); + } + + // if (CURRENT_DATABASE_VERSION == '1.2.4') { + // // Insert queries here required to update to DB version 1.2.5 // // Then, update the database to the next sequential version - // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.4"); + // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.2.5"); // } } else { diff --git a/database_version.php b/database_version.php index 55dd5a23..c8d96e02 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.2.3"); +DEFINE("LATEST_DATABASE_VERSION", "1.2.4"); diff --git a/post/project.php b/post/project.php index a1f0ee19..054534de 100644 --- a/post/project.php +++ b/post/project.php @@ -11,10 +11,11 @@ if (isset($_POST['add_project'])) { $project_name = sanitizeInput($_POST['name']); $project_description = sanitizeInput($_POST['description']); $due_date = sanitizeInput($_POST['due_date']); + $project_manager = intval($_POST['project_manager']); $client_id = intval($_POST['client_id']); $project_template_id = intval($_POST['project_template_id']); - mysqli_query($mysqli, "INSERT INTO projects SET project_name = '$project_name', project_description = '$project_description', project_due = '$due_date', project_client_id = $client_id"); + mysqli_query($mysqli, "INSERT INTO projects SET project_name = '$project_name', project_description = '$project_description', project_due = '$due_date', project_manager = $project_manager, project_client_id = $client_id"); $project_id = mysqli_insert_id($mysqli); @@ -74,9 +75,10 @@ if (isset($_POST['edit_project'])) { $project_name = sanitizeInput($_POST['name']); $project_description = sanitizeInput($_POST['description']); $due_date = sanitizeInput($_POST['due_date']); + $project_manager = intval($_POST['project_manager']); $client_id = intval($_POST['client_id']); - mysqli_query($mysqli, "UPDATE projects SET project_name = '$project_name', project_description = '$project_description', project_due = '$due_date' WHERE project_id = $project_id"); + mysqli_query($mysqli, "UPDATE projects SET project_name = '$project_name', project_description = '$project_description', project_due = '$due_date', project_manager = $project_manager WHERE project_id = $project_id"); // Logging mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Project', log_action = 'Edit', log_description = '$session_name edited project $project_name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_client_id = $client_id, log_user_id = $session_user_id, log_entity_id = $project_id"); diff --git a/project_add_modal.php b/project_add_modal.php index 6517e0bb..4f14e05c 100644 --- a/project_add_modal.php +++ b/project_add_modal.php @@ -63,12 +63,37 @@ +
+ +
+
+ +
+ +
+
+
- +
- - diff --git a/projects.php b/projects.php index 50ea65ed..6f3c0694 100644 --- a/projects.php +++ b/projects.php @@ -28,8 +28,9 @@ $sql_projects = mysqli_query( $mysqli, "SELECT SQL_CALC_FOUND_ROWS * FROM projects LEFT JOIN clients ON client_id = project_client_id + LEFT JOIN users ON user_id = project_manager WHERE DATE(project_created_at) BETWEEN '$dtf' AND '$dtt' - AND (project_name LIKE '%$q%' OR project_description LIKE '%$q%') + AND (project_name LIKE '%$q%' OR project_description LIKE '%$q%' OR user_name LIKE '%$q%') AND project_archived_at IS NULL AND project_completed_at $status_query ORDER BY $sort $order LIMIT $record_from, $record_to" @@ -114,6 +115,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); Completed + Manager Client Created Action @@ -136,6 +138,14 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); $client_id = intval($row['client_id']); $client_name = nullable_htmlentities($row['client_name']); + $project_manager = intval($row['user_id']); + if ($project_manager) { + $project_manager_display = nullable_htmlentities($row['user_name']); + } else { + $project_manager_display = "-"; + } + + // Get Tasks and Tickets Stats // Get Tickets $sql_tickets = mysqli_query($mysqli, "SELECT * FROM tickets WHERE ticket_project_id = $project_id"); @@ -204,6 +214,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); +