From 074edeead74f1d3afaa0d0c3cb86a3ca03d95f8e Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Wed, 18 May 2022 16:59:16 +0200 Subject: [PATCH] made lonely orders its own page, navigatable by tabs --- Layout/default/Order/Index.php | 27 ++++++++--- application/Order/OrderController.php | 68 +++++++++++++++++---------- 2 files changed, 62 insertions(+), 33 deletions(-) diff --git a/Layout/default/Order/Index.php b/Layout/default/Order/Index.php index 4db1e3988..589e65e6f 100644 --- a/Layout/default/Order/Index.php +++ b/Layout/default/Order/Index.php @@ -42,7 +42,7 @@

Filter

-
"> + 1]) : self::getUrl("Order")?>">
@@ -131,13 +131,21 @@
- + + + +
-
-

Bestellungen ohne Anschluss

-
- +

Bestellungen ohne Anschluss

+ @@ -518,10 +526,14 @@
+ + Keine anschlusslosen Bestellungen zu den Suchkriterien gefunden +
- + +
@@ -959,6 +971,7 @@
+
diff --git a/application/Order/OrderController.php b/application/Order/OrderController.php index eeef60189..2c0210d40 100644 --- a/application/Order/OrderController.php +++ b/application/Order/OrderController.php @@ -46,6 +46,13 @@ class OrderController extends mfBaseController { if(is_numeric($this->request->s)) { $pagination['start'] = intval($this->request->s); } + + + $showLonelies = false; + + if($this->request->noTermProducts) { + $showLonelies = true; + } $my_networks = []; @@ -104,36 +111,42 @@ class OrderController extends mfBaseController { $order_search[$name] = $value; } } - //var_dump($order_search);exit; - $pagination['maxItems'] = OrderModel::count($order_search); - foreach(OrderModel::search($order_search, $pagination) as $order) { - if(!array_key_exists($order->id, $orders)) { - $orders[$order->id] = $order; + + if(!$showLonelies) { + //var_dump($order_search);exit; + $pagination['maxItems'] = OrderModel::count($order_search); + foreach(OrderModel::search($order_search, $pagination) as $order) { + if(!array_key_exists($order->id, $orders)) { + $orders[$order->id] = $order; + } } } - - $userIds = $this->me->getAddressOrParent()->getUserIds(); - //var_dump($userIds);exit; - if(!array_key_exists("network_linked_status", $order_search)) { - $lonelyOrders = []; - unset($order_search["network_id"]); - $order_search['product_id'] = null; - // orders without a product - if($this->me->isAdmin()) { - if(!$this->request->filter['network_id']) { + + if($showLonelies) { + $userIds = $this->me->getAddressOrParent()->getUserIds(); + //var_dump($userIds);exit; + if(!array_key_exists("network_linked_status", $order_search)) { + $lonelyOrders = []; + unset($order_search["network_id"]); + $order_search['product_id'] = null; + // orders without a product + if($this->me->isAdmin()) { + if(!$this->request->filter['network_id']) { + $lonelies = OrderModel::search($order_search); + } + } else { + $order_search['create_by'] = $userIds; + //var_dump($order_search);exit; $lonelies = OrderModel::search($order_search); } - } else { - $order_search['create_by'] = $userIds; - //var_dump($order_search);exit; - $lonelies = OrderModel::search($order_search); - } - foreach($lonelies as $order) { - if(!array_key_exists($order->id, $orders)) { - $lonelyOrders[$order->id] = $order; + foreach($lonelies as $order) { + if(!array_key_exists($order->id, $orders)) { + $lonelyOrders[$order->id] = $order; + } } } + // orders with termination product not requiring termination_id $order_search['product_id'] = ">0"; $order_search['termination_id'] = null; @@ -170,16 +183,19 @@ class OrderController extends mfBaseController { //$lonelyOrders[$order->id] = $order; } } - + $this->layout()->set("lonelyOrders", $lonelyOrders); } - + + + $this->layout()->set("showLonelies", $showLonelies); $this->layout()->set("orders", $orders); $this->layout()->set("pagination", $pagination); } - + + private function getPreparedFilter($filter) { $new_filter = [];