From 3ee38c3fdd296b896a89855ee00d52c6612ac65b Mon Sep 17 00:00:00 2001 From: johnnyq Date: Thu, 17 Aug 2023 15:08:25 -0400 Subject: [PATCH] Feature - Recurring Expenses - Phase 3 - Completed POST Logic and create edit modals --- blank.php | 13 +- post/expense.php | 74 ++++++++- recurring_expense_create_modal.php | 232 +++++++++++++++++++++++++++++ recurring_expense_edit_modal.php | 230 ++++++++++++++++++++++++++++ recurring_expenses.php | 12 ++ 5 files changed, 555 insertions(+), 6 deletions(-) create mode 100644 recurring_expense_create_modal.php create mode 100644 recurring_expense_edit_modal.php diff --git a/blank.php b/blank.php index 28ffd955..d4e03e18 100644 --- a/blank.php +++ b/blank.php @@ -13,7 +13,14 @@

This is a great starting point for new custom pages.

- +$start_date"; + + +?>
@@ -31,10 +38,6 @@ echo ''; - - diff --git a/post/expense.php b/post/expense.php index 0229c2b8..dfbace24 100644 --- a/post/expense.php +++ b/post/expense.php @@ -98,7 +98,7 @@ if (isset($_GET['delete_expense'])) { mysqli_query($mysqli,"DELETE FROM expenses WHERE expense_id = $expense_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Expense', log_action = 'Delete', log_description = '$epense_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 = 'Expense', log_action = 'Delete', log_description = '$expense_id', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Expense deleted"; @@ -160,3 +160,75 @@ if (isset($_POST['export_expenses_csv'])) { exit; } + +if (isset($_POST['create_recurring_expense'])) { + + $frequency = intval($_POST['frequency']); + $day = intval($_POST['day']); + $month = intval($_POST['month']); + $amount = floatval($_POST['amount']); + $account = intval($_POST['account']); + $vendor = intval($_POST['vendor']); + $client = intval($_POST['client']); + $category = intval($_POST['category']); + $description = sanitizeInput($_POST['description']); + $reference = sanitizeInput($_POST['reference']); + + $start_date = date('Y') . "-$month-$day"; + + mysqli_query($mysqli,"INSERT INTO recurring_expenses SET recurring_expense_frequency = $frequency, recurring_expense_day = $day, recurring_expense_month = $month, recurring_expense_next_date = '$start_date', recurring_expense_description = '$description', recurring_expense_payment_reference = '$reference', recurring_expense_amount = $amount, recurring_expense_currency_code = '$session_company_currency', recurring_expense_vendor_id = $vendor, recurring_expense_client_id = $client, recurring_expense_category_id = $category, recurring_expense_account_id = $account"); + + $recurring_expense_id = mysqli_insert_id($mysqli); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Recurring Expense', 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'] = "Recurring Expense added"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if (isset($_POST['edit_recurring_expense'])) { + + $recurring_expense_id = intval($_POST['recurring_expense_id']); + $frequency = intval($_POST['frequency']); + $day = intval($_POST['day']); + $month = intval($_POST['month']); + $amount = floatval($_POST['amount']); + $account = intval($_POST['account']); + $vendor = intval($_POST['vendor']); + $client = intval($_POST['client']); + $category = intval($_POST['category']); + $description = sanitizeInput($_POST['description']); + $reference = sanitizeInput($_POST['reference']); + + $start_date = date('Y') . "-$month-$day"; + + mysqli_query($mysqli,"UPDATE recurring_expenses SET recurring_expense_frequency = $frequency, recurring_expense_day = $day, recurring_expense_month = $month, recurring_expense_next_date = '$start_date', recurring_expense_description = '$description', recurring_expense_payment_reference = '$reference', recurring_expense_amount = $amount, recurring_expense_currency_code = '$session_company_currency', recurring_expense_vendor_id = $vendor, recurring_expense_client_id = $client, recurring_expense_category_id = $category, recurring_expense_account_id = $account WHERE recurring_expense_id = $recurring_expense_id"); + + $recurring_expense_id = mysqli_insert_id($mysqli); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Recurring Expense', 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'] = "Recurring Expense edited"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if (isset($_GET['delete_recurring_expense'])) { + $recurring_expense_id = intval($_GET['delete_recurring_expense']); + + mysqli_query($mysqli,"DELETE FROM recurring_expenses WHERE recurring_expense_id = $recurring_expense_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Recurring Expense', log_action = 'Delete', log_description = '$recurring_expense_id', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id"); + + $_SESSION['alert_type'] = "error"; + $_SESSION['alert_message'] = "Recurring Expense deleted"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} diff --git a/recurring_expense_create_modal.php b/recurring_expense_create_modal.php new file mode 100644 index 00000000..60a1762b --- /dev/null +++ b/recurring_expense_create_modal.php @@ -0,0 +1,232 @@ + diff --git a/recurring_expense_edit_modal.php b/recurring_expense_edit_modal.php new file mode 100644 index 00000000..818bf40b --- /dev/null +++ b/recurring_expense_edit_modal.php @@ -0,0 +1,230 @@ + diff --git a/recurring_expenses.php b/recurring_expenses.php index cebc1b30..ba686bbf 100644 --- a/recurring_expenses.php +++ b/recurring_expenses.php @@ -104,9 +104,19 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); while ($row = mysqli_fetch_array($sql)) { $recurring_expense_id = intval($row['recurring_expense_id']); $recurring_expense_frequency = intval($row['recurring_expense_frequency']); + if($recurring_expense_frequency == 1) { + $recurring_expense_frequency_display = "Monthly"; + } else { + $recurring_expense_frequency_display = "Annually"; + } $recurring_expense_day = intval($row['recurring_expense_day']); $recurring_expense_month = intval($row['recurring_expense_month']); $recurring_expense_last_sent = nullable_htmlentities($row['recurring_expense_last_sent']); + if(empty($client_name)) { + $recurring_expense_last_sent_display = "-"; + } else { + $recurring_expense_last_sent_display = $recurring_expense_last_sent; + } $recurring_expense_next_date = nullable_htmlentities($row['recurring_expense_next_date']); $recurring_expense_status = intval($row['recurring_expense_status']); $recurring_expense_description = nullable_htmlentities($row['recurring_expense_description']); @@ -137,6 +147,8 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); + +