Added email when ordering upgrade order

This commit is contained in:
Frank Schubert
2024-07-30 20:55:59 +02:00
parent 19b0b4a048
commit 55916249b6
5 changed files with 82 additions and 4 deletions

View File

@@ -0,0 +1,37 @@
<?php
/**
* @var Order $order
*/
$this->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: <?=str_replace(["\n", "\r"], "", $order->owner->getCompanyOrName())?>
Telefon: <?=$order->owner->phone?>
e-Mail: <?=$order->owner->email?>
Kundennummer: <?=$order->owner->customer_number?>
Kunde: <?=str_replace(["\n", "\r"], "", $order->owner->getCompanyOrName())?>
### Neue Produkte:
<?php foreach($order->products as $product): ?>
<?=$product->product->name?>
<?php endforeach; ?>
<?=$url_prefix?><?=self::getUrl("Order", "", ["id" => $order->id])?>
⚠️ Upgradebestellung muss nach der technischen Umstellung in thetool ABGESCHLOSSEN werden.

View File

@@ -544,7 +544,14 @@
<h4>Produkte</h4>
<div class="row col-12 mt-2 mb-2">
<label><input type="checkbox" class="input-check" name="upgrade" value="1" <?=($order->upgrade) ? "checked='checked'" : ""?> /> Bestellung ist Upgrade</label>
<?php if($me->address_id == 209): ?>
<label><input type="checkbox" class="input-check" name="upgrade" value="1" <?=($order->upgrade) ? "checked='checked'" : ""?> /> Bestellung ist Upgrade</label>
<?php else: ?>
<p class="alert alert-warning">
Upgrades können ab sofort nur noch über die Upgradefunktion auf der Bestellübersicht eingegeben werden.
<a href="<?=self::getUrl("Order", "addUpgrade")?>">Klicken Sie hier</a>, um zur Upgradefunktion zu gelangen.
</p>
<?php endif; ?>
</div>
<div></div>

View File

@@ -143,7 +143,9 @@
<div class="col-12">
<div class="float-right">
<a class="btn btn-lg btn-primary mb-2" href="<?=self::getUrl("Order", "add")?>"><i class="fas fa-fw fa-square-plus "></i> Neue Bestellung anlegen</a>
<a class="btn btn-lg btn-purple mb-2 ml-2" href="<?=self::getUrl("Order", "addUpgrade")?>"><i class="fas fa-fw fa-square-up "></i> Upgrade eingeben</a>
<?php if(!$me->address_id != 209): ?>
<a class="btn btn-lg btn-purple mb-2 ml-2" href="<?=self::getUrl("Order", "addUpgrade")?>"><i class="fas fa-fw fa-square-up "></i> Upgrade eingeben</a>
<?php endif; ?>
</div>
</div>
</div>
@@ -179,11 +181,13 @@
<?php endif; ?>
</a>
</li>
<?php if(!$me->address_id != 209): ?>
<li class="nav-item">
<a class="nav-link" href="<?=self::getUrl("Order", "Upgrades", ["filter" => $filter])?>">
Upgrades
</a>
</li>
<?php endif; ?>
</ul>
<?php if($showSpecial) $lonelyOrders = $special_orders ?>

View File

@@ -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;

View File

@@ -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;