From ff0ec543b33273a4f2c74ba26ac2fb38c9ceba2e Mon Sep 17 00:00:00 2001 From: Luca Haid Date: Wed, 8 Jan 2025 08:46:12 +0100 Subject: [PATCH] Added new "Netzbesitzer" Filter inside Preorder --- Layout/default/Preorder/Index.php | 44 +++++++++++++++++++-- application/Preorder/PreorderController.php | 22 ++++++++++- 2 files changed, 60 insertions(+), 6 deletions(-) diff --git a/Layout/default/Preorder/Index.php b/Layout/default/Preorder/Index.php index 0f9416bdc..3cbd681d6 100644 --- a/Layout/default/Preorder/Index.php +++ b/Layout/default/Preorder/Index.php @@ -137,13 +137,48 @@
- - + - + +
@@ -471,6 +506,7 @@ $("#filter_type").select2({closeOnSelect: false}); $("#filter_status").select2({closeOnSelect: false}); $("#filter_partner_id").select2({closeOnSelect: false}); + $("#filter_preordercampaign_id").select2({closeOnSelect: false}); $("#connection_type_id").select2({closeOnSelect: false}); var attributes = ["bep_specified", "inhouse_cabling_supplied"]; diff --git a/application/Preorder/PreorderController.php b/application/Preorder/PreorderController.php index 4339e2078..8f19bdc74 100644 --- a/application/Preorder/PreorderController.php +++ b/application/Preorder/PreorderController.php @@ -75,13 +75,31 @@ class PreorderController extends mfBaseController { $this->layout()->set("campaign", new Preordercampaign()); + $all_preorder_campaigns = PreordercampaignModel::getAll(); + if ($this->me->is("Admin")) { + $netowner_campaign_ids = []; + + foreach ($all_preorder_campaigns as $campaign) { + $network = new Network($campaign->network_id); + $netowner = new Address($network->owner_id); + + if (!array_key_exists($netowner->getCompanyOrName(), $netowner_campaign_ids)) { + $netowner_campaign_ids[$netowner->getCompanyOrName()] = []; + } + + $netowner_campaign_ids[$netowner->getCompanyOrName()][] = $campaign->id; + } + + $this->layout()->set("netowner_campaign_ids", $netowner_campaign_ids); + } + if($this->me->is("Admin")) { if($filter['preordercampaign_id']) { $this->layout()->set("campaign", new Preordercampaign($filter['preordercampaign_id'])); } else { - $my_campaigns = PreordercampaignModel::getAll(); + $my_campaigns = $all_preorder_campaigns; } - $this->layout()->set("my_campaigns", PreordercampaignModel::getAll()); + $this->layout()->set("my_campaigns", $all_preorder_campaigns); } else { if($this->me->is("preorderfront")) { $pns = json_decode($this->me->getFlag("preorder_networks"));