Merge branch 'fronkdev' into 'master'

Contract: Fixed finish- and cancel date by handling

See merge request fronk/thetool!648
This commit is contained in:
Frank Schubert
2024-10-03 15:16:29 +00:00
2 changed files with 28 additions and 0 deletions

View File

@@ -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;
}

View File

@@ -483,12 +483,14 @@ foreach ($clusters as $cluster_data) {
if(property_exists($service, "customerState") && is_object($service->customerState) && property_exists($service->customerState, "userLabel") && strtolower($service->customerState->userLabel) == "active") {
// active => order 500
$preorder = \PreorderModel::getFirst(["adb_wohneinheit_id" => $unit->id]);
$preorder->resetSaveNesting();
if($preorder) {
$new_status = \PreorderstatusModel::getFirst(["code" => 500]);
if($new_status) {
if($preorder->status->code < $new_status->code) {
$preorder->status_id = $new_status->id;
$preorder->save();
$preorder->resetSaveNesting();
}
}
}