From 2fdbb10142c903656483866a6100d7588b293e20 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Tue, 8 Mar 2022 20:24:39 +0100 Subject: [PATCH] Added waiting status to Orders --- Layout/default/Order/Index.php | 11 +++++++ application/Order/OrderController.php | 45 +++++++++++++++++++++++++-- application/Order/OrderModel.php | 8 +++++ 3 files changed, 61 insertions(+), 3 deletions(-) diff --git a/Layout/default/Order/Index.php b/Layout/default/Order/Index.php index a69ef62ed..35f382880 100644 --- a/Layout/default/Order/Index.php +++ b/Layout/default/Order/Index.php @@ -104,6 +104,7 @@ + @@ -200,6 +201,11 @@ edit)?> editor->name?> + waiting == 1): ?> + $order->id, "unset" => "1", "filter" => $filter, "s" => $pagination['start']])?>"> + + $order->id, "filter" => $filter, "s" => $pagination['start']])?>"> + $order->id])?>"> $order->id])?>" onclick="if(!confirm('Soll der Service-PIN an den Vertragsinhaber gesendet werden?')) return false;"> $order->id])?>"> @@ -635,6 +641,11 @@ edit)?> editor->name?> + waiting == 1): ?> + $order->id, "waiting" => "false", "filter" => $filter, "s" => $pagination['start']])?>"> + + $order->id, "filter" => $filter, "s" => $pagination['start']])?>"> + $order->id])?>"> $order->id])?>" onclick="if(!confirm('Soll der Service-PIN an den Vertragsinhaber gesendet werden?')) return false;"> $order->id])?>"> diff --git a/application/Order/OrderController.php b/application/Order/OrderController.php index 5c4870721..cee34209e 100644 --- a/application/Order/OrderController.php +++ b/application/Order/OrderController.php @@ -215,12 +215,19 @@ class OrderController extends mfBaseController { } - if(array_key_exists("finished", $filter)) { - if($filter["finished"] == "1") { + if(array_key_exists("finish_date", $filter)) { + if($filter["finish_date"] == "1") { $new_filter["finish_date"] = true; } else { $new_filter["finish_date"] = false; } + + if($filter["finish_date"] == "waiting") { + $new_filter["finish_date"] = false; + $new_filter["waiting"] = true; + unset($filter['finish_date']); + } + } //var_dump($new_filter);exit; @@ -229,8 +236,9 @@ class OrderController extends mfBaseController { } } else { $new_filter["finish_date"] = false; + $new_filter["waiting"] = false; } - + //var_dump($new_filter);exit; return $new_filter; } @@ -292,6 +300,37 @@ class OrderController extends mfBaseController { return $this->addAction(); } + protected function setwaitingAction() { + $order_id = $this->request->id; + $order = new Order($order_id); + if(!$order->id) { + $this->layout()->setFlash("Bestellung nicht gefunden.", "error"); + $this->redirect("Order"); + } + //var_dump($this->request);exit; + if($this->request->unset == "1" && $order->waiting == 1) { + $order->waiting = 0; + $order->save(); + } elseif(!$this->request->unset && $order->waiting == 0) { + $order->waiting = 1; + $order->save(); + } + + $sq = ""; + $query = []; + if(is_numeric($this->request->s) && $this->request->s > 0) { + $query["s"] = $this->request->s; + } + if (is_array($this->request->filter)) { + $query["filter"] = $this->request->filter; + } + + $qs = http_build_query($query); + + $this->layout()->setFlash("Wartestatus erfolgreich gespeichert", "success"); + $this->redirect("Order","Index", $qs); + } + protected function saveAction() { $r = $this->request; //var_dump($r->products); diff --git a/application/Order/OrderModel.php b/application/Order/OrderModel.php index e3bbc6b19..ae85da88d 100644 --- a/application/Order/OrderModel.php +++ b/application/Order/OrderModel.php @@ -279,6 +279,14 @@ class OrderModel { } } + if(array_key_exists("waiting", $filter)) { + if($filter['waiting'] == 1) { + $where .= " AND `Order`.waiting = 1"; + } else { + $where .= " AND `Order`.waiting = 0"; + } + } + if(array_key_exists("name", $filter)) { $name = FronkDB::singleton()->escape($filter['name']); if($name) {