bank account data will be saved to owner or billingaddress when adding

them to an order
This commit is contained in:
Frank Schubert
2022-02-17 22:28:10 +01:00
parent 2aa442dc94
commit 23ea8a0866
2 changed files with 62 additions and 15 deletions

View File

@@ -318,17 +318,27 @@
<h4>Verrechnung</h4>
<div class="card">
<div class="card-body">
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="billing_type">Verrechnungsart</label>
<div class="col-lg-10">
<select class="form-control" name="billing_type" id="billing_type">
<option value="invoice" <?=($order->billing_type == "invoice") ? "selected='selected'" : ""?>>Rechnung</option>
<option value="sepa" <?=($order->billing_type == "sepa") ? "selected='selected'" : ""?>>SEPA Bankeinzug</option>
<option value="invoice">Rechnung</option>
<option value="sepa">SEPA Bankeinzug</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="billing_delivery">Rechnungsversand</label>
<div class="col-lg-10">
<select class="form-control" name="billing_delivery" id="billing_delivery">
<option value="email">Email</option>
<option value="paper">Post</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="bank_account_bank">Kreditinstitut</label>
<div class="col-lg-10">
@@ -852,20 +862,26 @@
$('#owner_new').change(function() {
if($('#owner_new').prop('checked')) {
$('#owner-form').show();
$('#billing_block').show();
$('#accept_block').show();
$('#billing_block').show();
} else {
$('#owner-form').hide();
$('#billing_block').hide();
$('#accept_block').hide();
if(!$('#billingaddress_new').prop('checked')) {
$('#billing_block').hide();
}
}
});
$('#billingaddress_new').change(function() {
if($('#billingaddress_new').prop('checked')) {
$('#billingaddress-form').show();
$('#billing_block').show();
} else {
$('#billingaddress-form').hide();
if(!$('#owner_new').prop('checked')) {
$('#billing_block').hide();
}
}
});

View File

@@ -318,6 +318,8 @@ class OrderController extends mfBaseController {
return $this->add();
}*/
$owner_new = false;
if(is_numeric($r->owner_id) && $r->owner_id > 0) {
$owner = new Address($r->owner_id);
if(!$owner->id) {
@@ -326,6 +328,7 @@ class OrderController extends mfBaseController {
return $this->add();
}
} else {
$owner_new = true;
if(!$r->owner_company && !($r->owner_firstname && $r->owner_lastname)) {
$this->layout()->setFlash("Fehler in Vertragsinhaber: Firmenname oder Vor- und Nachname benötigt.");
$this->layout()->set("order", $r);
@@ -420,6 +423,42 @@ class OrderController extends mfBaseController {
}
}
if($billingaddress_new) {
if($r->billing_type == "sepa") {
$billing_data['billing_type'] = "sepa";
} else {
$billing_data['billing_type'] = "invoice";
}
if($r->billing_delivery == "paper") {
$billing_data['billing_delivery'] = "paper";
} else {
$billing_data['billing_delivery'] = "email";
}
$billing_data['bank_account_bank'] = $r->bank_account_bank;
$billing_data['bank_account_owner'] = $r->bank_account_owner;
$billing_data['bank_account_iban'] = $r->bank_account_iban;
$billing_data['bank_account_bic'] = $r->bank_account_bic;
} elseif($owner_new) {
if($r->billing_type == "sepa") {
$owner_data['billing_type'] = "sepa";
} else {
$owner_data['billing_type'] = "invoice";
}
if($r->billing_delivery == "paper") {
$owner_data['billing_delivery'] = "paper";
} else {
$owner_data['billing_delivery'] = "email";
}
$owner_data['bank_account_bank'] = $r->bank_account_bank;
$owner_data['bank_account_owner'] = $r->bank_account_owner;
$owner_data['bank_account_iban'] = $r->bank_account_iban;
$owner_data['bank_account_bic'] = $r->bank_account_bic;
}
if(!$owner) {
$owner = AddressModel::create($owner_data);
}
@@ -436,16 +475,8 @@ class OrderController extends mfBaseController {
if(is_numeric($r->billingaddress_id)) {
$order_data['billingaddress_id'] = $r->billingaddress_id;
}
if($r->billing_type == "sepa") {
$order_data['billing_type'] = "sepa";
} else {
$order_data['billing_type'] = "invoice";
}
$order_data['partner_number'] = $r->partner_number;
$order_data['bank_account_bank'] = $r->bank_account_bank;
$order_data['bank_account_owner'] = $r->bank_account_owner;
$order_data['bank_account_iban'] = $r->bank_account_iban;
$order_data['bank_account_bic'] = $r->bank_account_bic;
$order_data['allow_contact'] = ($r->allow_contact) ? 1 : 0;
$order_data['allow_spin'] = ($r->allow_spin) ? 1 : 0;
$order_data['note'] = $r->note;