Updated Budget to now include easy updating and creating and viewing Yearly budgets in one POST

This commit is contained in:
johnnyq
2024-06-14 13:13:28 -04:00
parent 5352416dbe
commit 70dc64f05d
8 changed files with 301 additions and 189 deletions

View File

@@ -4,57 +4,48 @@
* ITFlow - GET/POST request handler for budget
*/
if (isset($_POST['create_budget'])) {
$month = intval($_POST['month']);
if (isset($_POST['save_budget'])) {
$budgets = $_POST['budget'];
$year = intval($_POST['year']);
$amount = floatval($_POST['amount']);
$description = sanitizeInput($_POST['description']);
$category = intval($_POST['category']);
foreach ($budgets as $category_id => $months) {
foreach ($months as $month => $amount) {
$amount = (int)$amount;
// Check if budget exists
$query = "SELECT * FROM budget WHERE budget_category_id = $category_id AND budget_month = $month AND budget_year = $year";
$result = mysqli_query($mysqli, $query);
if (mysqli_num_rows($result) > 0) {
// Update existing budget
$query = "UPDATE budget SET budget_amount = $amount WHERE budget_category_id = $category_id AND budget_month = $month AND budget_year = $year";
} else {
// Insert new budget
$query = "INSERT INTO budget SET budget_category_id = $category_id, budget_month = $month, budget_year = $year, budget_amount = $amount";
}
mysqli_query($mysqli, $query);
}
}
//Logging
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Budget', log_action = 'Edit', log_description = '$session_name updated the budget for $year', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id");
$_SESSION['alert_message'] = "Budget Updated for $year";
header("Location: " . $_SERVER["HTTP_REFERER"]);
mysqli_query($mysqli,"INSERT INTO budget SET budget_month = $month, budget_year = $year, budget_amount = $amount, budget_description = '$description', budget_category_id = $category");
$budget_id = mysqli_insert_id($mysqli);
//Logging
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Budget', log_action = 'Create', log_description = '$description', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id");
$_SESSION['alert_message'] = "Budget created";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
if (isset($_POST['edit_budget'])) {
$budget_id = intval($_POST['budget_id']);
$month = intval($_POST['month']);
if (isset($_POST['delete_budget'])) {
$year = intval($_POST['year']);
$amount = floatval($_POST['amount']);
$description = sanitizeInput($_POST['description']);
$category = intval($_POST['category']);
mysqli_query($mysqli,"UPDATE budget SET budget_month = $month, budget_year = $year, budget_amount = $amount, budget_description = '$description', budget_category_id = $category WHERE budget_id = $budget_id");
mysqli_query($mysqli,"DELETE FROM budget WHERE budget_year = $year");
//Logging
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Budget', log_action = 'Edit', log_description = '$description', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id");
$_SESSION['alert_message'] = "Budget edited";
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
if (isset($_GET['delete_budget'])) {
$budget_id = intval($_GET['delete_budget']);
mysqli_query($mysqli,"DELETE FROM budget WHERE budget_id = $budget_id");
//Logging
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Budget', log_action = 'Delete', log_description = '$budget_id', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id");
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Budget', log_action = 'Delete', log_description = '$session_name deleted the budget for $year', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id");
$_SESSION['alert_type'] = "error";
$_SESSION['alert_message'] = "Budget deleted";
$_SESSION['alert_message'] = "Budget deleted for $year";
header("Location: " . $_SERVER["HTTP_REFERER"]);