Order/Form: Changed owner and billingaddress to autocomplete instead of
select
This commit is contained in:
@@ -312,20 +312,20 @@ class OrderController extends mfBaseController {
|
||||
|
||||
// validate owner
|
||||
$owner = false;
|
||||
if(!$r->owner_id) {
|
||||
/*if(!$r->owner_id) {
|
||||
$this->layout()->setFlash("Bitte Vertragsinhaber auswählen oder eintragen.", "error");
|
||||
$this->layout()->set("order", $r);
|
||||
return $this->add();
|
||||
}
|
||||
}*/
|
||||
|
||||
if(is_numeric($r->owner_id)) {
|
||||
if(is_numeric($r->owner_id) && $r->owner_id > 0) {
|
||||
$owner = new Address($r->owner_id);
|
||||
if(!$owner->id) {
|
||||
$this->layout()->setFlash("Ungültiger Vertragsinhaber.", "error");
|
||||
$this->layout()->set("order", $r);
|
||||
return $this->add();
|
||||
}
|
||||
} elseif($r->owner_id == "new") {
|
||||
} else {
|
||||
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);
|
||||
@@ -339,11 +339,11 @@ class OrderController extends mfBaseController {
|
||||
return $this->add();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
}/* else {
|
||||
$this->layout()->setFlash("Ungültiger Vertragsinhaber.");
|
||||
$this->layout()->set("order", $r);
|
||||
return $this->add();
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
// validate billindaddress
|
||||
@@ -357,26 +357,34 @@ class OrderController extends mfBaseController {
|
||||
$this->layout()->set("order", $r);
|
||||
return $this->add();
|
||||
}
|
||||
} elseif($r->billingaddress_id == "new") {
|
||||
if(!$r->billing_company && !($r->billingr_firstname && $r->billing_lastname)) {
|
||||
$this->layout()->setFlash("Fehler in Rechnungsqmpfänger: Firmenname oder Vor- und Nachname benötigt.");
|
||||
$this->layout()->set("order", $r);
|
||||
return $this->add();
|
||||
}
|
||||
|
||||
foreach(["street", "zip", "city", "phone", "email"] as $required) {
|
||||
if(!$r->{"owner_$required"}) {
|
||||
$this->layout()->setFlash("Fehler in Rechnungsempfänger: Bitte alle benötigten Felder ausfüllen.");
|
||||
$this->layout()->set("order", $r);
|
||||
return $this->add();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$this->layout()->setFlash("Ungültiger Rechnungsempfänger.");
|
||||
}
|
||||
}
|
||||
|
||||
// if any required part of new billingaddress is set
|
||||
$billingaddress_new = false;
|
||||
if(!$r->billingaddress_id
|
||||
&& ($r->billing_company || $r->billing_firstname || $r->billing_lastname
|
||||
|| $r->billing_street || $r->billing_zip || $r->billing_city || $r->billing_phone || $r->billing_email)
|
||||
) {
|
||||
$billingaddress_new = true;
|
||||
if(!$r->billing_company && !($r->billing_firstname && $r->billing_lastname)) {
|
||||
$this->layout()->setFlash("Fehler in Rechnungsqmpfänger: Firmenname oder Vor- und Nachname benötigt.");
|
||||
$this->layout()->set("order", $r);
|
||||
return $this->add();
|
||||
}
|
||||
}
|
||||
|
||||
foreach(["street", "zip", "city", "phone", "email"] as $required) {
|
||||
if(!$r->{"billing_$required"}) {
|
||||
$this->layout()->setFlash("Fehler in Rechnungsempfänger: Bitte alle benötigten Felder ausfüllen.");
|
||||
$this->layout()->set("order", $r);
|
||||
return $this->add();
|
||||
}
|
||||
}
|
||||
} /*else {
|
||||
$this->layout()->setFlash("Ungültiger Rechnungsempfänger.");
|
||||
$this->layout()->set("order", $r);
|
||||
return $this->add();
|
||||
}*/
|
||||
|
||||
// validate sepa
|
||||
if(!$r->billing_type) {
|
||||
@@ -499,7 +507,7 @@ class OrderController extends mfBaseController {
|
||||
}
|
||||
|
||||
// save owner and billingaddress if new
|
||||
if($r->owner_id == "new") {
|
||||
if(!$r->owner_id) {
|
||||
$owner_id = $owner->save();
|
||||
if(!$owner_id) {
|
||||
$this->layout()->setFlash("Fehler beim Speichern des Inhabers", "error");
|
||||
@@ -508,13 +516,17 @@ class OrderController extends mfBaseController {
|
||||
$order->owner_id = $owner_id;
|
||||
$order->save();
|
||||
}
|
||||
if($r->billingaddress_id == "new") {
|
||||
if($billingaddress_new) {
|
||||
$billingaddress_id = $billingaddress->save();
|
||||
if(!$billingaddress_id) {
|
||||
$this->layout()->setFlash("Fehler beim Speichern des Rechnungsempfängers", "error");
|
||||
$this->redirect("Order", "edit", ['id' => $new_id]);
|
||||
}
|
||||
$owner->billingaddress_id = $billingaddress_id;
|
||||
// create addresstype (billing)
|
||||
$at = AddresstypeModel::create(['address_id' => $billingaddress_id, 'type' => "billing"]);
|
||||
$at->save();
|
||||
|
||||
$order->billingaddress_id = $billingaddress_id;
|
||||
$order->save();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user