diff --git a/Layout/default/Address/Index.php b/Layout/default/Address/Index.php index 5029c3f5c..e1ca5736e 100644 --- a/Layout/default/Address/Index.php +++ b/Layout/default/Address/Index.php @@ -182,6 +182,7 @@
| Typ | +Kundennummer | FIBU Konten | Firma | @@ -207,6 +208,7 @@+ | =($address->billing_type == "sepa") ? " " : ""?> | $address->id, 's' => $pagination['start']])?>"> =$address->customer_number?> @@ -215,7 +217,8 @@ |
fibu_account_number): ?>
- =$address->fibu_account_number?>=($address->fibu_primary_account) ? " " : ""?>
+ =$address->fibu_account_number?>
+ =($address->fibu_primary_account) ? " " : ""?>
fibu_supplier_number): ?>
=$address->fibu_supplier_number?> @@ -232,6 +235,7 @@ |
["address_id" => $address->id]])?>" title="Benutzer anzeigen">
$address->id, 's' => $pagination['start']])?>">
+ $address->id])?>" onclick="if(!confirm('Soll der Service-PIN an den Kunden gesendet werden?')) return false;">
$address->id, 's' => $pagination['start']])?>">
$address->id, 's' => $pagination['start']])?>" onclick="if(!confirm('Person/Firma wirklich löschen?')) return false;" class="text-danger" title="Löschen">
diff --git a/Layout/default/Emailtemplates/attachments/address_spin.pdf.php b/Layout/default/Emailtemplates/attachments/address_spin.pdf.php
new file mode 100644
index 000000000..838700416
--- /dev/null
+++ b/Layout/default/Emailtemplates/attachments/address_spin.pdf.php
@@ -0,0 +1,97 @@
+setReturnValue([
+ 'filename' => "xinon_Service_PIN_".$owner->customer_number.".pdf"
+]);
+?>
+
+
+
+
+
+
+
+
+
Wichtige Kundeninformation+ + + +
+ company): ?>
+ =nl2br($owner->company)?>
+
+
+
++ + getFullName()): ?> + =$owner->getFullName()?> + + =$owner->street?> + =$owner->zip?> =$owner->city?> +
+
+
+
+
+Sehr geehrte Damen und Herren, +wir freuen uns, dass Sie sich für ein Produkt von Xinon bzw. einem unserer Partner + entschieden haben. +Nachfolgend finden Sie Ihren persönlichen Service-PIN. +
+
+
+
+
+Ihr persönlicher Service-PIN lautet: =$owner->spin?> +
+
+
+
+
+Gemäß der EU Datenschutzverordnung sind wir dazu verpflichtet, vor der Beauskunftung + von persönlichen Daten eine Kundenidentifizierung vorzunehmen. Daher werden wir und + unsere Partner Sie bei zukünftigen Kontaktaufnahmen (z.B. vergessenen Passwörtern, + Rechnungsauskünfte, etc) nach Ihrem persönlichen Service-PIN fragen. +
+
+
+
+
+Sollten Sie noch Fragen haben erreichen Sie uns per Mail (office@xinon.at) oder + telefonisch unter der Rufnummer 03115 40800. +
+
+
+
+
diff --git a/Layout/default/Emailtemplates/customer/spin.php b/Layout/default/Emailtemplates/customer/spin.php
new file mode 100644
index 000000000..58e713cb1
--- /dev/null
+++ b/Layout/default/Emailtemplates/customer/spin.php
@@ -0,0 +1,21 @@
+setReturnValue([
+ 'subject' => "Ihr persönlicher XINON Service-Pin",
+ 'from_email' => "office@xinon.at",
+ 'from_email_name' => "XINON Kundenservice"
+]);
+?>
+Sehr geehrte Damen und Herren,
+
+im Anhang finden Sie Ihren persönlichen Service-PIN.
+
+Mit besten Grüßen,
+
+Ihr XINON Team
+--
+XINON GmbH
+
+p: +43 3115 40 800
+f: +43 3115 40 800 10
+a: Fladnitz im Raabtal 150, 8322 Studenzen, AUSTRIA
+w: www.xinon.at e: office@xinon.at
diff --git a/application/Address/Address.php b/application/Address/Address.php
index 5b6785145..c0dc8a2b4 100644
--- a/application/Address/Address.php
+++ b/application/Address/Address.php
@@ -233,7 +233,65 @@ class Address extends mfBaseModel {
return true;
}
-
+
+ public function sendSpinEmail() {
+ $spin_pdf_template = "Emailtemplates/attachments/address_spin.pdf";
+ $new_order_template = "Emailtemplates/customer/spin";
+
+ $pdf_vars = [
+ 'owner' => $this
+ ];
+
+
+ /*if(TT_CUSTOM_ORDER_PDF_PER_NETOWNER) {
+ $terms = $this->getTerminations();
+ if(is_array($terms) && count($terms) && $terms[0]->id) {
+ $netowner = $terms[0]->building->network->owner;
+ } else {
+ $netowner = new Address(TT_CUSTOM_ORDER_PDF_DEFAULT_OWNER_ID);
+ }
+ $pdf_vars['netowner'] = $netowner;
+ }*/
+
+ // render service pin PDF
+ $pdf = new PdfForm($spin_pdf_template, $pdf_vars);
+ $pdfpath = $pdf->render();
+ $tvalue = $pdf->getReturnedValues();
+ $pdfname = $tvalue['filename'];
+
+ // send email to customer
+ $tpl = new Layout();
+ $tpl->setTemplate($new_order_template);
+
+ foreach($pdf_vars as $name => $val) {
+ $tpl->set($name, $val);
+ }
+
+ $body = $tpl->render();
+ $values = $tpl->getReturnedValue();
+
+ $subject = $values['subject'];
+ $from = $values['from_email'];
+ $from_name = $values['from_email_name'];
+ $to = $this->email;
+
+ if(!$subject || !$from || !$from_name || !$to) {
+ $this->log->warn("Service PIN copy Email not sent. (subject: '$subject', from: '$from_name', from_email: '$from', to: '$to')");
+ } else {
+ $email = new Emailnotification();
+ $email->setSubject($subject);
+ $email->setBody($body);
+ $email->setFrom($from, $from_name);
+ $email->setTo($to);
+ $email->setHeader("X-".MFAPPNAME."-Oid", $this->id);
+ $email->addAttachment($pdfpath, null, $pdfname, "application/pdf");
+ $email->send();
+ $this->log->info(__CLASS__."::sendSpinEmail(): Sending SPIN for ".$this->getCompanyOrName()." (".$this->id.")");
+ }
+
+ return true;
+ }
+
public function getFullName() {
// Assumes "Firma1 Firma2" or "firstname lastname" as readable form
$name = "";
diff --git a/application/Address/AddressController.php b/application/Address/AddressController.php
index cdb9f1543..716417a21 100644
--- a/application/Address/AddressController.php
+++ b/application/Address/AddressController.php
@@ -705,4 +705,31 @@ class AddressController extends mfBaseController {
Helper::renderVue($this,"AddressTickets",
"Tickets von Kunden: " . $address->getCompanyOrName() . '(' . $address->customer_number . ')', ["TICKETS" => $tickets]);
}
+
+ protected function sendServicePinAction() {
+ $address_id = $this->request->id;
+ if(!is_numeric($address_id) || !$address_id) {
+ $this->layout->setFlash("Adresse nicht gefunden!", "error");
+ $this->redirect("Address");
+ }
+
+ $address = new Address($address_id);
+ if(!$address->id) {
+ $this->layout->setFlash("Adresse nicht gefunden!", "error");
+ $this->redirect("Address");
+ }
+
+ if(!$address->customer_number || !$address->spin) {
+ $this->layout->setFlash("Kunde hat keine Kundennummer oder keinen Service PIN!", "error");
+ $this->redirect("Address");
+ }
+
+ if($address->sendSpinEmail()) {
+ $this->layout()->setFlash("Service PIN wurde erfolgreich versendet.", "success");
+ } else {
+ $this->layout()->setFlash("Fehler beim SPIN Versand!", "success");
+ }
+
+ $this->redirect("Address");
+ }
}
Mit besten Grüßen, + +Ihr XINON Team + |
|---|