Network operators now only see their own and their providers Preorders

This commit is contained in:
Frank Schubert
2024-10-16 17:26:06 +02:00
parent 3dca9bb216
commit a4f7a44784
2 changed files with 18 additions and 0 deletions

View File

@@ -135,9 +135,15 @@ class PreorderController extends mfBaseController {
if(is_numeric($campaign_id) && $campaign_id > 0) {
$campaign = new Preordercampaign($campaign_id);
$this->layout()->set("campaign", $campaign);
if($campaign->owner_id != $this->me->address_id) {
$filter["operator_id"] = $this->me->address_id;
}
}
} else {
$filter['preordercampaign_id'] = $my_campaign_ids;
$filter["operator_id"] = $this->me->address_id;
}
if(!$filter['preordercampaign_id']) $filter['preordercampaign_id'] = 0;

View File

@@ -549,6 +549,18 @@ class PreorderModel {
$where .= " AND tt_preorder.adb_wohneinheit_id IS NOT NULL AND tt_preorder.adb_wohneinheit_id > 0";
}
}
if(array_key_exists("operator_id", $filter)) {
$operator_id = $filter['operator_id'];
if(is_numeric($operator_id)) {
$where .= " AND partner_id IN (
SELECT PreordercampaignOperatorIsp.isp_id as isp_id
FROM PreordercampaignOperatorIsp
LEFT JOIN PreordercampaignOperator ON (PreordercampaignOperatorIsp.campaignoperator_id = PreordercampaignOperator.id)
WHERE operator_id = $operator_id
)";
}
}
if(array_key_exists("product_id", $filter)) {
$product_id = $filter['product_id'];