diff --git a/Layout/default/Order/Form.php b/Layout/default/Order/Form.php index db83bac30..76f20265d 100644 --- a/Layout/default/Order/Form.php +++ b/Layout/default/Order/Form.php @@ -318,17 +318,27 @@

Verrechnung

- +
- + +
+ +
+ +
+
+
@@ -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(); + } } }); diff --git a/application/Order/OrderController.php b/application/Order/OrderController.php index ddd074cfd..5c4870721 100644 --- a/application/Order/OrderController.php +++ b/application/Order/OrderController.php @@ -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;