WIP Contract/Billing/Invoice 2024-06-28
This commit is contained in:
@@ -350,9 +350,6 @@ class ContractController extends mfBaseController
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* TODO: alten Credit Vertag kündigen und neuen anlegen
|
||||
*/
|
||||
foreach (ContractLinkModel::search(['type' => "credit", 'contract_id' => $origin->id]) as $old_credit) {
|
||||
// verlinkten Contract kündigen (wenn nicht schon gekündigt)
|
||||
if ($old_credit->change_action == "recreate" && !$old_credit->contract->cancel_date) {
|
||||
@@ -368,7 +365,6 @@ class ContractController extends mfBaseController
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -379,9 +375,12 @@ class ContractController extends mfBaseController
|
||||
$this->redirect("Contract", "view", ['contract_id' => $id]);
|
||||
}
|
||||
|
||||
/*
|
||||
* bestehende Links übernehmen oder kündigen
|
||||
*/
|
||||
// create Journal
|
||||
$journal = ContractjournalModel::create([
|
||||
'contract_id' => $contract->id,
|
||||
'type' => "contract_finished"
|
||||
]);
|
||||
$journal_id = $journal->save();
|
||||
|
||||
$this->layout()->setFlash("Contract erfolgreich fertiggestellt", "success");
|
||||
$this->redirect("Contract", "view", ['contract_id' => $id]);
|
||||
@@ -475,6 +474,8 @@ class ContractController extends mfBaseController
|
||||
}
|
||||
|
||||
//var_dump($r->get());exit;
|
||||
|
||||
|
||||
$contract_data = [];
|
||||
$contract_data["owner_id"] = (int)$r->owner_id;
|
||||
$contract_data["billingaddress_id"] = ($r->billingaddress_id) ? (int)$r->billingaddress_id : null;
|
||||
@@ -489,11 +490,34 @@ class ContractController extends mfBaseController
|
||||
$contract_data['price_nbe'] = (float)$r->price_nbe;
|
||||
$contract_data['billing_period'] = (int)$r->billing_period;
|
||||
$contract_data['billing_delay'] = (int)$r->billing_delay;
|
||||
$contract_data['order_date'] = ($r->order_date) ? $this->dateToTimestamp($r->order_date) : null;
|
||||
$contract_data['finish_date'] = ($r->finish_date) ? $this->dateToTimestamp($r->finish_date) : null;
|
||||
$contract_data['cancel_date'] = ($r->cancel_date) ? $this->dateToTimestamp($r->cancel_date) : null;
|
||||
$contract_data['note'] = $r->note;
|
||||
|
||||
if($r->order_date) {
|
||||
$order_date = new DateTime("@" . $this->dateToTimestamp($r->order_date));
|
||||
$order_date->setTimezone(new DateTimeZone("Europe/Vienna"));
|
||||
$order_date->setTime(0, 0, 0);
|
||||
$contract_data['order_date'] = $order_date->getTimestamp();
|
||||
}
|
||||
|
||||
if($r->finish_date) {
|
||||
$finish_date = new DateTime("@" . $this->dateToTimestamp($r->finish_date));
|
||||
$finish_date->setTimezone(new DateTimeZone("Europe/Vienna"));
|
||||
$finish_date->setTime(0, 0, 0);
|
||||
$contract_data['finish_date'] = $finish_date->getTimestamp();
|
||||
}
|
||||
|
||||
if($r->cancel_date) {
|
||||
$cancel_date = new DateTime("@" . $this->dateToTimestamp($r->cancel_date));
|
||||
$cancel_date->setTimezone(new DateTimeZone("Europe/Vienna"));
|
||||
$cancel_date->setTime(0, 0, 0);
|
||||
$contract_data['cancel_date'] = $cancel_date->getTimestamp();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//var_dump($contract_data);exit;
|
||||
|
||||
@@ -513,7 +537,7 @@ class ContractController extends mfBaseController
|
||||
$this->layout()->setFlash("Bitte Produkt auswählen.", "error");
|
||||
return $this->addAction();
|
||||
}
|
||||
if (!$contract_data['billing_period']) {
|
||||
if (!in_array($contract_data['billing_period'], [0,1,12])) {
|
||||
$this->layout()->setFlash("Bitte Rechnungsperiode auswählen.", "error");
|
||||
return $this->addAction();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user