enhanced preorder filter; fixed fixing wrong oaid origin

This commit is contained in:
Frank Schubert
2023-09-15 10:36:20 +02:00
parent 9fdf910858
commit d8ab02ba7d
12 changed files with 60 additions and 603 deletions

View File

@@ -17,14 +17,47 @@ class PreorderController extends mfBaseController {
protected function indexAction() {
$this->layout()->setTemplate("Preorder/Index");
$rfilter = $this->request->filter;
iF(!is_array($rfilter)) {
$rfilter = [];
if($this->request->resetFilter) {
unset($_SESSION[MFAPPNAME.'-Preorder-filter']);
foreach($_SESSION as $key => $s) {
if(preg_match('/^'.MFAPPNAME.'-Preorder-filter-campaign-\d+$', $key)) {
unset($_SESSION[$key]);
}
}
}
$this->layout->set("filter", $rfilter);
$filter = $this->getPreparedFilter($rfilter);
$filter = [];
if(is_array($this->request->filter)) {
$filter = $this->request->filter;
if(isset($this->request->filter["preordercampaign_id"]) && $this->request->filter["preordercampaign_id"]) {
$filter_po_id = $filter["preordercampaign_id"];
if(count($this->request->filter) == 1 && isset($_SESSION[MFAPPNAME.'-Preorder-filter-campaign-'.$filter_po_id])) {
$filter = $_SESSION[MFAPPNAME.'-Preorder-filter-campaign-'.$filter_po_id];
} else {
$_SESSION[MFAPPNAME.'-Preorder-filter-campaign-'.$filter["preordercampaign_id"]] = $filter;
}
} else {
$_SESSION[MFAPPNAME.'-Preorder-filter'] = $filter;
}
} else {
if(array_key_exists(MFAPPNAME.'-Preorder-filter', $_SESSION) && count($_SESSION[MFAPPNAME.'-Preorder-filter'])) {
$filter = $_SESSION[MFAPPNAME.'-Preorder-filter'];
if(isset($filter['preordercampaign_id'])) {
$filter_po_id = $filter['preordercampaign_id'];
if(isset($_SESSION[MFAPPNAME.'-Preorder-filter-campaign-'.$filter_po_id])) {
//var_dump("blah");
$filter = $_SESSION[MFAPPNAME.'-Preorder-filter-campaign-'.$filter_po_id];
}
}
}
}
//var_dump($_SESSION, $filter);exit;
$this->layout->set("filter", $filter);
$filter = $this->getPreparedFilter($filter);
// pagination defaults
$pagination = [];
@@ -624,7 +657,7 @@ class PreorderController extends mfBaseController {
}
$qs = ['filter' => ['preordercampaign_id' => $preorder->preordercampaign_id, 'ucode' => $preorder->ucode]];
$qs = ['filter' => ['preordercampaign_id' => $preorder->preordercampaign_id]];
$qs = http_build_query($qs);
$this->layout()->setFlash("Vorbestellung erfolgreich gespeichert!", "success");