diff --git a/all_requests.php b/all_requests.php index 9f542c9..3c90ccf 100644 --- a/all_requests.php +++ b/all_requests.php @@ -14,7 +14,7 @@ $pageTitle = 'All Change Requests'; // Fetch all requests from the database try { $pdoconn = db(); - $stmt = $pdoconn->prepare('SELECT cr.*, u.username as requester_name FROM change_requests cr JOIN users u ON cr.requester_id = u.id ORDER BY cr.created_at DESC'); + $stmt = $pdoconn->prepare('SELECT cr.*, u.username as requester_name, cr.related_cr_no FROM change_requests cr JOIN users u ON cr.requester_id = u.id ORDER BY cr.created_at DESC'); $stmt->execute(); $requests = $stmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { @@ -45,6 +45,7 @@ try { ID + Related CR No. Change Title Requester Status @@ -56,6 +57,7 @@ try { + diff --git a/assets/pasted-20251205-060902-d519a095.png b/assets/pasted-20251205-060902-d519a095.png new file mode 100644 index 0000000..ce924b6 Binary files /dev/null and b/assets/pasted-20251205-060902-d519a095.png differ diff --git a/create_user.php b/create_user.php new file mode 100644 index 0000000..e43ba32 --- /dev/null +++ b/create_user.php @@ -0,0 +1,75 @@ +prepare('SELECT id FROM users WHERE username = :username'); + $stmt->execute(['username' => $username]); + if ($stmt->fetch()) { + $error = 'Username or email already exists.'; + } else { + $hashed_password = password_hash($password, PASSWORD_DEFAULT); + $stmt = $pdo->prepare('INSERT INTO users (username, password, role) VALUES (:username, :password, :role)'); + if ($stmt->execute(['username' => $username, 'password' => $hashed_password, 'role' => $role])) { + $success = 'User created successfully.'; + } else { + $error = 'Failed to create user.'; + } + } + } +} +?> + + + +
+

Create User

+ + +
+ + +
+ + +
+
+ + +
+ +
+ + +
+
+ + +
+ + Back to Manage Users +
+
+ + \ No newline at end of file diff --git a/delete_user.php b/delete_user.php new file mode 100644 index 0000000..d835a45 --- /dev/null +++ b/delete_user.php @@ -0,0 +1,36 @@ +prepare('DELETE FROM users WHERE id = :id'); +if ($stmt->execute(['id' => $user_id])) { + $_SESSION['success_message'] = 'User deleted successfully.'; +} else { + $_SESSION['error_message'] = 'Failed to delete user.'; +} + +header('Location: manage_users.php'); +exit; +?> \ No newline at end of file diff --git a/edit_user.php b/edit_user.php new file mode 100644 index 0000000..8e7c6ac --- /dev/null +++ b/edit_user.php @@ -0,0 +1,93 @@ + $username, 'role' => $role, 'id' => $user_id]; + + if (!empty($password)) { + $sql .= ', password = :password'; + $params['password'] = password_hash($password, PASSWORD_DEFAULT); + } + + $sql .= ' WHERE id = :id'; + + $stmt = $pdo->prepare($sql); + if ($stmt->execute($params)) { + $success = 'User updated successfully.'; + } else { + $error = 'Failed to update user.'; + } + } +} + +$stmt = $pdo->prepare('SELECT username, role FROM users WHERE id = :id'); +$stmt->execute(['id' => $user_id]); +$user = $stmt->fetch(); + +if (!$user) { + header('Location: manage_users.php'); + exit; +} +?> + + + +
+

Edit User

+ + +
+ + +
+ + +
+
+ + +
+ +
+ + +
+
+ + +
+ + Back to Manage Users +
+
+ + \ No newline at end of file diff --git a/footer.php b/footer.php new file mode 100644 index 0000000..6d8521c --- /dev/null +++ b/footer.php @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/header.php b/header.php index cade30b..5fa1e67 100644 --- a/header.php +++ b/header.php @@ -5,8 +5,22 @@ if (session_status() === PHP_SESSION_NONE) { $is_logged_in = isset($_SESSION["user_id"]); $username = $is_logged_in ? $_SESSION["username"] : ""; $is_admin = $is_logged_in && $_SESSION['role'] === 'admin'; +$page_title = basename($_SERVER['PHP_SELF'], '.php'); +$page_title = str_replace('_', ' ', $page_title); +$page_title = ucwords($page_title); ?> -