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"));