From dce1d053dcc1adb2afa6280fab6beaf11642694b Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Thu, 28 Sep 2023 12:01:33 +0200 Subject: [PATCH] Preorder/getFilteresPreordersApi() not takes user networks into account --- application/Preorder/PreorderController.php | 25 ++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/application/Preorder/PreorderController.php b/application/Preorder/PreorderController.php index cc47b240a..b507bc451 100644 --- a/application/Preorder/PreorderController.php +++ b/application/Preorder/PreorderController.php @@ -103,7 +103,6 @@ class PreorderController extends mfBaseController { } if(is_array($user_network_ids) && count($user_network_ids)) { - if(!$my_networks) { foreach($user_network_ids as $mnid) { $my_networks[] = new Network($mnid); @@ -827,6 +826,30 @@ class PreorderController extends mfBaseController { $my_networks = $this->me->myNetworks(['netowner','salespartner']); } + // check users allowed networks + $user_network_ids = $this->me->getFlag("preorder_networks")->value(); + if($user_network_ids) { + $user_network_ids = json_decode($user_network_ids); + } + + if(is_array($user_network_ids) && count($user_network_ids)) { + if(!$my_networks) { + foreach($user_network_ids as $mnid) { + $my_networks[] = new Network($mnid); + } + } else { + //var_dump($user_network_ids, $my_networks);exit; + $new_my_networks = []; + foreach($my_networks as $network) { + if(in_array($network->id, $user_network_ids)) { + $new_my_networks[$network->id] = $network; + } + } + $my_networks = $new_my_networks; + } + } + + foreach($my_networks as $network) { foreach(PreordercampaignModel::search(['network_id' => $network->id]) as $campaign) { $my_campaigns[] = $campaign;