Fixed external_id filter

This commit is contained in:
Frank Schubert
2023-02-28 13:35:58 +01:00
parent 3b4772ca4e
commit 5610efdb94
3 changed files with 12 additions and 3 deletions

View File

@@ -63,7 +63,7 @@
<div class="col-2">
<label class="form-label" for="filter_external_id">Produktbesitzer</label>
<select class="select2 form-control" name="external_id" id="filter_external_id">
<select class="select2 form-control" name="filter[external_id]" id="filter_external_id">
<option></option>
<?php foreach(AddressModel::search(['addresstype' => ['productowner']]) as $owner): ?>
<option value="<?=$owner->id?>" <?=(is_array($filter) && array_key_exists('external_id', $filter) && $filter['external_id'] == $owner->id) ? "selected='selected'" : ""?>><?=$owner->getCompanyOrName()?></option>

View File

@@ -32,7 +32,7 @@ class ProductController extends mfBaseController {
$filter = $_SESSION[MFAPPNAME.'-Product-filter'];
}
}
//var_dump($filter);
$this->layout->set("filter", $filter);
$filter = $this->getPreparedFilter($filter);
@@ -46,7 +46,7 @@ class ProductController extends mfBaseController {
if(is_numeric($this->request->s)) {
$pagination['start'] = intval($this->request->s);
}
//var_dump($filter);exit;
$pagination['maxItems'] = ProductModel::count($filter);
$this->layout()->set("pagination", $pagination);

View File

@@ -228,6 +228,15 @@ class ProductModel {
}
}
if(array_key_exists("external_id", $filter)) {
$external_id = $filter['external_id'];
if(is_numeric($external_id)) {
$where .= " AND external_id=$external_id";
} elseif(is_array($external_id) && count($external_id)) {
$where .= " AND Product.external_id IN (". implode(",", $external_id).")";
}
}
if(array_key_exists("external", $filter)) {
$external = $filter['external'];
if(is_numeric($external)) {