diff --git a/Layout/default/Cpeprovisioning/Index.php b/Layout/default/Cpeprovisioning/Index.php index 297f68a73..1e4f3720d 100644 --- a/Layout/default/Cpeprovisioning/Index.php +++ b/Layout/default/Cpeprovisioning/Index.php @@ -19,7 +19,55 @@
- +
+
+

Filter

+ +
"> +
+
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+ +
+
+
+ + ">Filter zurücksetzen +
+
+
+ +
+
diff --git a/application/Cpeprovisioning/CpeprovisioningController.php b/application/Cpeprovisioning/CpeprovisioningController.php index c3c982792..35995211c 100644 --- a/application/Cpeprovisioning/CpeprovisioningController.php +++ b/application/Cpeprovisioning/CpeprovisioningController.php @@ -18,10 +18,21 @@ class CpeprovisioningController extends mfBaseController { $this->layout()->setTemplate("Cpeprovisioning/Index"); $cpeproducts = []; + $this->layout->set("filter", $this->request->filter); + $filter = $this->getPreparedFilter($this->request->filter); + // pagination defaults + $pagination = []; + $pagination['start'] = 0; + $pagination['count'] = 20; + $pagination['maxItems'] = 0; + + $order_filter = $filter; + $order_filter["finish_date"] = null; + //var_dump($filter);exit; /* - * Get orderproducts in need of sending CPE + * Get orderproducts in need of sending a CPE */ - $orders = OrderModel::search(["finish_date" => null]); + $orders = OrderModel::search($order_filter); foreach($orders as $order) { if($order->finish_after) { @@ -41,7 +52,9 @@ class CpeprovisioningController extends mfBaseController { foreach($order->products as $orderproduct) { if($orderproduct->cpeprovisioning->routerconfig_finished == 1) { - continue; + if(!$filter['routerconfig_finished']) continue; + } else { + if($filter['routerconfig_finished']) continue; } $product = $orderproduct->product; @@ -65,6 +78,41 @@ class CpeprovisioningController extends mfBaseController { $this->layout()->set("products", $cpeproducts); } + private function getPreparedFilter($filter) { + $new_filter = []; + + if(array_key_exists("hide_delayed_finish", $filter)) { + if($filter["hide_delayed_finish"] == "1") { + $new_filter["hide_delayed_finish"] = true; + } else { + $new_filter["hide_delayed_finish"] = false; + } + unset($filter["hide_delayed_finish"]); + } else { + $new_filter["hide_delayed_finish"] = true; + } + + if(array_key_exists("routerconfig_finished", $filter)) { + if($filter["routerconfig_finished"] == "1") { + $new_filter["routerconfig_finished"] = true; + $new_filter["hide_delayed_finish"] = false; + } else { + $new_filter["routerconfig_finished"] = false; + } + unset($filter["routerconfig_finished"]); + } else { + $new_filter["routerconfig_finished"] = false; + } + + + + foreach($filter as $name => $value) { + $new_filter[$name] = $value; + } + //var_dump($new_filter);exit; + return $new_filter; + } + protected function saveAction() { $r = $this->request; $id = $r->id;