Added Service PIN PDF+Email to Address
This commit is contained in:
@@ -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 = "";
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user