diff --git a/application/Address/AddressController.php b/application/Address/AddressController.php index b9b11a0bc..605f48447 100644 --- a/application/Address/AddressController.php +++ b/application/Address/AddressController.php @@ -258,7 +258,7 @@ class AddressController extends mfBaseController { } private function findAddressApi() { - $search = $this->request->q; + $search = trim($this->request->q); $autocomplete = $this->request->autocomplete; $po = 1; @@ -270,6 +270,16 @@ class AddressController extends mfBaseController { } $addresses = []; + + if(is_numeric($search)) { + $cnumbers = AddressModel::search(["parents_only" => $po, "addresstype" => [$role], "customer_number" => $search]); + if($cnumbers) { + $addresses = array_merge($addresses, $cnumbers); + } + } + + + $addresses = array_merge($addresses, AddressModel::search(["parents_only" => $po, "addresstype" => [$role], "mergedName" => $search])); $addresses = array_merge($addresses, AddressModel::search(["parents_only" => $po, "addresstype" => [$role], "company" => $search])); $addresses = array_merge($addresses, AddressModel::search(["parents_only" => $po, "addresstype" => [$role], "firstname" => $search])); $addresses = array_merge($addresses, AddressModel::search(["parents_only" => $po, "addresstype" => [$role], "lastname" => $search])); diff --git a/application/Address/AddressModel.php b/application/Address/AddressModel.php index 28e0fab42..60fd32f74 100644 --- a/application/Address/AddressModel.php +++ b/application/Address/AddressModel.php @@ -168,6 +168,7 @@ class AddressModel { return 0; } + public static function search($filter, $limit = false) { //var_dump($filter);exit; $items = []; @@ -259,6 +260,13 @@ class AddressModel { } } + if(array_key_exists("mergedName", $filter)) { + $name = FronkDB::singleton()->escape($filter["mergedName"]); + if($name) { + $where .= " AND (CONCAT(firstname, ' ', lastname) like '%$name%' OR CONCAT(lastname, ' ', firstname) like '%$name%' )"; + } + } + if(array_key_exists("street", $filter)) { $street = FronkDB::singleton()->escape($filter["street"]); if($street) {