From 48620673ff45e7b63bf32e1d08c5b3c2e5843461 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Thu, 18 Nov 2021 22:05:33 +0100 Subject: [PATCH] Added cpe provisioning enabled in order --- Layout/default/Order/Index.php | 62 +++++++++++++++++++++++++-- application/Order/OrderController.php | 34 +++++++++++++++ 2 files changed, 92 insertions(+), 4 deletions(-) diff --git a/Layout/default/Order/Index.php b/Layout/default/Order/Index.php index 06dfe0587..4d84a0d11 100644 --- a/Layout/default/Order/Index.php +++ b/Layout/default/Order/Index.php @@ -374,7 +374,7 @@ finish_after) ? date("d.m.Y",$order->finish_after) : "--.--.----" ?> Rechnungsart: - billing_type == "sepa") ? "order-date-pillSEPA" : "Rechnung"?> + billing_type == "sepa") ? "SEPA" : "Rechnung"?> Einwilligungen: allow_contact) ? " Info" : ""?> allow_spin) ? " SPIN" : ""?> @@ -810,7 +810,7 @@ finish_after) ? date("d.m.Y",$order->finish_after) : "--.--.----"?> Rechnungsart: - billing_type == "sepa") ? "order-date-pillSEPA" : "Rechnung"?> + billing_type == "sepa") ? "SEPA" : "Rechnung"?> Einwilligungen: allow_contact) ? " Info" : ""?> allow_spin) ? " SPIN" : ""?> @@ -819,8 +819,8 @@
-
- +
+
install_date) : ""?>" placeholder="--.--.----" />
@@ -829,6 +829,16 @@
+ +
+ +
+ +
+ + +
+
products) && count($order->products)): ?> @@ -1060,6 +1070,50 @@ "json" ); } + + function saveCpeprovisioning(id) { + var enabled = 0; + + $('#cpeprovisioning_enabled-' + id + '-error').hide(); + $('#cpeprovisioning_enabled-' + id + '-success').hide(); + + if($('#cpeprovisioning_enabled-' + id).is(":checked")) { + enabled = 1; + } + + $.post('', + { + 'id': id, + 'enabled': enabled + }, + function(data) { + console.log(data); + var id = data.order.id; + var enabled = data.order.enabled; + + if(data.status == "OK") { + $('#cpeprovisioning_enabled-' + id + '-error').hide(); + $('#cpeprovisioning_enabled-' + id + '-success').show(); + setTimeout(function() { + $('#cpeprovisioning_enabled-' + id + '-success').hide(1000); + }, 3000, id); + } else { + $('#cpeprovisioning_enabled-' + id + '-success').hide(); + $('#cpeprovisioning_enabled-' + id + '-error').text(data.msg); + $('#cpeprovisioning_enabled-' + id + '-error').show(); + if(enabled) { + $('#cpeprovisioning_enabled-' + id).prop("checked",true); + } else { + $('#cpeprovisioning_enabled-' + id).prop("checked",false); + } + } + }, + "json" + ); + + + } + diff --git a/application/Order/OrderController.php b/application/Order/OrderController.php index cb4ef0fdd..fa946f958 100644 --- a/application/Order/OrderController.php +++ b/application/Order/OrderController.php @@ -757,6 +757,40 @@ class OrderController extends mfBaseController { $this->returnJson(["status" => "OK", "order" => ['id' => $order_id, 'date' => ($date) ? date('d.m.Y', $date) : ""]]); } + protected function saveCpeprovisioningAction() { + if(!$this->me->is(["Admin","salespartner"])) { + $this->layout()->setFlash("Keine Berechtigung", "error"); + $this->redirect("Order"); + } + + $r = $this->request; + + $order_id = $r->id; + if(!is_numeric($order_id) || $order_id < 1) { + $this->returnJson(["status" => "error", "msg" => "Fehler beim Speichern!", "order" => ['id' => $order_id]]); + } + + $order = new Order($order_id); + if(!$order->id) { + $this->returnJson(["status" => "error", "msg" => "Fehler beim Speichern!", "order" => ['id' => $order_id]]); + } + + $enabled = $r->enabled; + if($enabled === null || !is_numeric($enabled)) { + $this->returnJson(["status" => "error", "msg" => "Fehler beim Speichern!", "order" => ['id' => $order_id]]); + } + + $term = $order->terminations[0]; + if($enabled && !$term->getWorkflowvalue("pop_id")) { + $this->returnJson(["status" => "error", "msg" => "Kein POP im Leitungsbau!", "order" => ['id' => $order_id, "enabled" => 0]]); + } + + $order->cpeprovisioning_enabled = ($enabled) ? 1 : 0; + $order->save(); + + $this->returnJson(["status" => "OK", "order" => ['id' => $order_id]]); + } + protected function deleteAction() { if(!$this->me->is(["Admin","salespartner"])) { $this->layout()->setFlash("Keine Berechtigung", "error");