From 280e3e06de15d40d180247f78d9d7ccd24391ba6 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Thu, 3 Oct 2024 17:15:35 +0200 Subject: [PATCH] Contract: Fixed finish- and cancel date by handling --- application/Contract/ContractController.php | 26 +++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/application/Contract/ContractController.php b/application/Contract/ContractController.php index 6626b9c6c..d8d409e08 100644 --- a/application/Contract/ContractController.php +++ b/application/Contract/ContractController.php @@ -805,6 +805,19 @@ class ContractController extends mfBaseController $finish_date->setTimezone(new DateTimeZone("Europe/Vienna")); $finish_date->setTime(0, 0, 0); $contract_data['finish_date'] = $finish_date->getTimestamp(); + if($mode == "add") { + $contract_data['finish_date_by'] = $this->me->id; + } else { + if($contract->finish_date) { + $contract_finish_date = new DateTime("@".$contract->finish_date); + $contract_finish_date->setTimezone(new DateTimeZone("Europe/Vienna")); + if($contract_finish_date->format("Y-m-d") != $finish_date->format("Y-m-d")) { + $contract_data['finish_date_by'] = $this->me->id; + } + } else { + $contract_data['finish_date_by'] = $this->me->id; + } + } } else { $contract_data['finish_date'] = null; } @@ -814,6 +827,19 @@ class ContractController extends mfBaseController $cancel_date->setTimezone(new DateTimeZone("Europe/Vienna")); $cancel_date->setTime(0, 0, 0); $contract_data['cancel_date'] = $cancel_date->getTimestamp(); + if($mode == "add") { + $contract_data['cancel_date_by'] = $this->me->id; + } else { + if($contract->cancel_date) { + $contract_cancel_date = new DateTime("@".$contract->cancel_date); + $contract_cancel_date->setTimezone(new DateTimeZone("Europe/Vienna")); + if($contract_cancel_date->format("Y-m-d") != $cancel_date->format("Y-m-d")) { + $contract_data['cancel_date_by'] = $this->me->id; + } + } else { + $contract_data['cancel_date_by'] = $this->me->id; + } + } } else { $contract_data['cancel_date'] = null; }