From 55916249b685d85ab0fbc82bf823329755a0f286 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Tue, 30 Jul 2024 20:55:59 +0200 Subject: [PATCH] Added email when ordering upgrade order --- .../order/productchange-ticket-order.php | 37 +++++++++++++++++++ Layout/default/Order/Form.php | 9 ++++- Layout/default/Order/Index.php | 6 ++- application/Order/Order.php | 26 ++++++++++++- application/Order/OrderController.php | 8 +++- 5 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 Layout/default/Emailtemplates/order/productchange-ticket-order.php diff --git a/Layout/default/Emailtemplates/order/productchange-ticket-order.php b/Layout/default/Emailtemplates/order/productchange-ticket-order.php new file mode 100644 index 000000000..30ff81cfe --- /dev/null +++ b/Layout/default/Emailtemplates/order/productchange-ticket-order.php @@ -0,0 +1,37 @@ +setReturnValue([ + 'subject' => "Produktwechsel ".$order->owner->getCompanyOrName(), + 'from_email' => "workspace.admin@xinon.at", + 'from_email_name' => "thetool" +]); + +$url_prefix = "http".($_SERVER["HTTPS"] ? "s" : "")."://".$_SERVER["HTTP_HOST"]; +?> +project: storungen-and-support +type: Produktwechsel +status: Neu +priority: Residential +Kundenname: owner->getCompanyOrName())?> + +Telefon: owner->phone?> + +e-Mail: owner->email?> + +Kundennummer: owner->customer_number?> + +Kunde: owner->getCompanyOrName())?> + + +### Neue Produkte: +products as $product): ?> +product->name?> + + + + $order->id])?> + + +⚠️ Upgradebestellung muss nach der technischen Umstellung in thetool ABGESCHLOSSEN werden. diff --git a/Layout/default/Order/Form.php b/Layout/default/Order/Form.php index 24e3f1c0c..f3a7be14b 100644 --- a/Layout/default/Order/Form.php +++ b/Layout/default/Order/Form.php @@ -544,7 +544,14 @@

Produkte

- + address_id == 209): ?> + + +

+ Upgrades können ab sofort nur noch über die Upgradefunktion auf der Bestellübersicht eingegeben werden. + ">Klicken Sie hier, um zur Upgradefunktion zu gelangen. +

+
diff --git a/Layout/default/Order/Index.php b/Layout/default/Order/Index.php index 633b1d38d..3571d4ba3 100644 --- a/Layout/default/Order/Index.php +++ b/Layout/default/Order/Index.php @@ -143,7 +143,9 @@
@@ -179,11 +181,13 @@ + address_id != 209): ?> + diff --git a/application/Order/Order.php b/application/Order/Order.php index f922ad2c3..664775cdb 100644 --- a/application/Order/Order.php +++ b/application/Order/Order.php @@ -264,7 +264,31 @@ class Order extends mfBaseModel { return true; } } - + + public function sendUpgradeEmail() { + $tk_tpl = new Layout(); + $tk_tpl->setTemplate("Emailtemplates/order/productchange-ticket-order"); + + $tpl_vars = [ + "order" => $this, + ]; + + foreach($tpl_vars as $name => $val) { + $tk_tpl->set($name, $val); + } + + $tk_body = $tk_tpl->render(); + $tk_values = $tk_tpl->getReturnedValue(); + + $tk_email = new Emailnotification(); + $tk_email->setSubject($tk_values["subject"]); + $tk_email->setBody($tk_body); + $tk_email->setFrom($tk_values["from_email"], $tk_values["from_email_name"]); + $tk_email->setTo("workspace@xinon.at"); + $tk_email->setHeader("X-" . MFAPPNAME . "-Cid", $this->id); + $tk_email->send(); + } + public function sendFileuploadEmail(OrderFile $file) { $filetype = $file->name; diff --git a/application/Order/OrderController.php b/application/Order/OrderController.php index 870f90dc3..0633a37a8 100644 --- a/application/Order/OrderController.php +++ b/application/Order/OrderController.php @@ -494,6 +494,7 @@ class OrderController extends mfBaseController { $this->layout()->set("upgrades", $upgrades); $this->layout()->set("pagination", $pagination); } + protected function addUpgrade() { //$this->layout()->setTemplate("Order/Productchange"); Helper::renderVue($this, "OrderProductchange", "Neuer Produktwechsel", ["CONTRACT_API_URL" => $this->getUrl("Contract", "api"), @@ -1085,7 +1086,12 @@ class OrderController extends mfBaseController { } else { $this->log->debug(__CLASS__."::save(): NOT creating new SPIN for ".$owner->getCompanyOrName()." (".$owner->id."): SPIN exists or owner of Order was changed or external products"); } - + + + if($mode == "add" && $order->upgrade) { + // send upgrade ticket + $order->sendUpgradeEmail(); + } } //var_dump($_FILES['OrderFileUpload']);exit;