Not creating SPIN if there is at least one ext product

This commit is contained in:
Frank Schubert
2022-11-02 12:19:53 +01:00
parent 8d8a0b54ae
commit 52259c9b17
+13 -6
View File
@@ -792,6 +792,7 @@ class OrderController extends mfBaseController {
}
// add techcontact as AddressLink to owner if not exists
if($techcontact->id) {
$link = AddressLinkModel::getFirst(['address_id' => $techcontact->id, 'origin_address_id' => $order->owner_id, 'type' => "techcontact"]);
if(!$link) {
$linkdata = [];
@@ -801,6 +802,7 @@ class OrderController extends mfBaseController {
$link = AddressLinkModel::create($linkdata);
$link->save();
}
}
$ext_products = false;
@@ -905,10 +907,16 @@ class OrderController extends mfBaseController {
$owner->save();
}
}
}
}
// generate and send Service PIN
// only if owner_id wasn't changed
if(!$owner->spin && (!property_exists($order->_old_data, "owner_id") || $order->owner_id == $order->_old_data->owner_id)) {
// generate and send Service PIN, only if:
// - owner does not have a Service PIN yet
// - there are no external products
// - owner_id was not set before or owner_id wasn't changed
// TODO: move this to Order class
if(!$ext_products && !$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])) {
@@ -954,10 +962,9 @@ 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");
}
}
$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");
}
}
//var_dump($_FILES['OrderFileUpload']);exit;