not generating new SPIN when changing owner in Order

This commit is contained in:
Frank Schubert
2021-11-30 20:31:58 +01:00
parent af82db73cf
commit 29f63d41a7
2 changed files with 17 additions and 14 deletions

View File

@@ -466,7 +466,7 @@ class OrderController extends mfBaseController {
}
if(!$order->finish_date) {
// first same finishing order
// first time finishing order
$send_to_bill_email = true;
}
@@ -609,7 +609,11 @@ class OrderController extends mfBaseController {
}
}
if(!$owner->spin) {
// generate and send Service PIN
// only if owner_id wasn't changed
$this->log->debug("test");
if(!$owner->spin && (!property_exists($order->_old_data, "owner_id") || $order->owner_id == $order->_old_data->owner_id)) {
$this->log->debug(__CLASS__."::save(): creating new SPIN for ".$owner->getCompanyOrName()." (".$owner->id.")");
$spin = $owner->generateServicePin();
if($spin && !AddressModel::search(['spin' => $spin])) {
$owner->spin = $spin;
@@ -621,18 +625,7 @@ class OrderController extends mfBaseController {
$tvalue = $pdf->getReturnedValues();
$pdfname = $tvalue['filename'];
/*$pdf = new Layout();
$pdf->setTemplate("Emailtemplates/attachments/new_order.pdf");
$pdf->set("ressourcePathPrefix", BASEDIR."/public/");
$pdf->set("owner", $owner);
$pdf->set("order", $order);*/
//var_dump($pdfpath);exit;
// send email to customer
// TODO template rendern auslagern nach Emailtempate klasse
$tpl = new Layout();
$tpl->setTemplate("Emailtemplates/customer/new_order");
@@ -658,11 +651,14 @@ class OrderController extends mfBaseController {
$email->setHeader("X-Xinon-Pid", $product->id);
$email->addAttachment($pdfpath, null, $pdfname, "application/pdf");
$email->send();
$this->log->info(__CLASS__."::save(): Sending new SPIN for ".$owner->getCompanyOrName()." (".$owner->id.")");
}
}
}
} else {
$this->log->debug(__CLASS__."::save(): NOT creating new SPIN for ".$owner->getCompanyOrName()." (".$owner->id."): SPIN exists or owner of Order was changed");
}
}
}

View File

@@ -15,6 +15,7 @@ if(!defined("FRONKDB")) {
class mfBaseModel {
public $id;
public $data;
public $_old_data;
private $create;
private $edit;
private $worker;
@@ -35,6 +36,7 @@ class mfBaseModel {
$this->log=mfLoghandler::singleton();
$this->table=get_class($this);
$this->data = new stdClass();
$this->_old_data = new stdClass();
if(defined("MFMODEL_USEFIELDPREFIX") && MFMODEL_USEFIELDPREFIX==true) {
$this->prefixfields=true;
@@ -67,7 +69,7 @@ class mfBaseModel {
|| $field=="edit") continue;
$this->data->$field=$value;
}
$this->id=$row->id;
$this->create=$row->create;
$this->edit=$row->edit;
@@ -76,6 +78,11 @@ class mfBaseModel {
$this->id=$row->$prop;
}
$this->_old_data = clone($this->data);
$this->_old_data->id = $this->id;
$this->_old_data->create = $this->create;
$this->_old_data->edit = $this->edit;
$this->mode = "update";
if(method_exists($this, "afterLoad")) {