From 3b35bd561e8cddefeb3382dd52d8f2cbe3f531a4 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Thu, 11 Jul 2024 14:07:29 +0200 Subject: [PATCH] Finished Contract Cancel --- Layout/default/Address/View.php | 2 +- Layout/default/Contract/CancelForm.php | 9 ++++--- application/Contract/ContractController.php | 27 +++++++++++++++++++++ 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/Layout/default/Address/View.php b/Layout/default/Address/View.php index a8c0b8253..fddef87d5 100644 --- a/Layout/default/Address/View.php +++ b/Layout/default/Address/View.php @@ -290,7 +290,7 @@ price_setup < 0) ? "text-danger" : ""?>">€ price_setup,4,",",".")?> ">order_date) ? date('d.m.Y', $contract->order_date) : ""?> ">finish_date) ? date('d.m.Y', $contract->finish_date) : ""?> - ">cancel_date) ? date('d.m.Y', $contract->cancel_date) : ""?> + cancel_date) ? "font-weight-bold text-danger" : ""?>">cancel_date) ? date('d.m.Y', $contract->cancel_date) : ""?> diff --git a/Layout/default/Contract/CancelForm.php b/Layout/default/Contract/CancelForm.php index f0275976c..85764a9a8 100644 --- a/Layout/default/Contract/CancelForm.php +++ b/Layout/default/Contract/CancelForm.php @@ -75,16 +75,17 @@
- + ">
- - - + + + +
diff --git a/application/Contract/ContractController.php b/application/Contract/ContractController.php index 9b791b0c2..e789f89ae 100644 --- a/application/Contract/ContractController.php +++ b/application/Contract/ContractController.php @@ -135,6 +135,33 @@ class ContractController extends mfBaseController $this->redirect("Contract"); } + if($contract->finish_date) { + $today = new DateTime(); + $tomorrow = clone($today); + $tomorrow->modify("+1 day"); + $finish_date = new DateTime("@".$contract->finish_date); + $finish_date->setTimezone(new DateTimeZone("Europe/Vienna")); + $period_end_date = clone($finish_date); + $period_end_date->modify("+".$contract->contract_term." months"); + while($period_end_date->format("Y-m-d") <= $today->format("Y-m-d")) { + $period_end_date = $finish_date->modify("+".$contract->billing_period." months"); + + } + $period_end_date->modify("-1 day"); + + $next_billing_period = clone($finish_date); + $next_billing_period->modify("+".$contract->billing_period." months"); + while($next_billing_period->format("Y-m-d") <= $today->format("Y-m-d")) { + $next_billing_period->modify("+".$contract->billing_period." months"); + } + $next_billing_period->modify("-1 day"); + + $this->layout()->set("tomorrow", $tomorrow); + $this->layout()->set("term_end_date", $period_end_date); + $this->layout()->set("period_end_date", $next_billing_period); + } + + $this->layout()->set("contract", $contract); }