WIP Contract Form

This commit is contained in:
Frank Schubert
2022-06-09 17:05:34 +02:00
parent b2e72c35b0
commit 121312cdc3
11 changed files with 382 additions and 115 deletions

View File

@@ -220,6 +220,8 @@ class ProductController extends mfBaseController {
case "getProduct":
$return = $this->getProductApi();
break;
case "findProduct":
$return = $this->findProductApi();
default:
$return = false;
}
@@ -259,4 +261,38 @@ class ProductController extends mfBaseController {
return ["product" => $product->data, "form_id" => $form_id];
}
private function findProductApi() {
$search = trim($this->request->q);
$autocomplete = $this->request->autocomplete;
$products = [];
if(is_numeric($search)) {
$pnumbers = ProductModel::search(["id" => $search]);
if($pnumbers) {
$products = array_merge($products, $pnumbers);
}
}
$products = array_merge($products, ProductModel::search(["nameLike" => $search]));
if(!is_array($products) && !count($products)) {
return false;
}
$results = [];
// return bootstrap-autocomplete format
foreach($products as $product) {
$result = ['value' => $product->id, 'text' => str_replace("'", "\\'", str_replace(["\n", "\r"], " ",$product->name))];
$results[] = $result;
if(count($results) > 15) {
$results[] = ['value' => 0, 'text' => "&nbsp;&nbsp;--> &nbsp;&nbsp;Mehr Suchergebnisse vorhanden. Bitte Suchbegriff genauer definieren &nbsp;&nbsp;<--"];
break;
}
}
$this->returnJson($results);
}
}