From 35a1164da7e974b7489e8ef1ccc9b566dcdf56b4 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Thu, 1 Aug 2024 21:51:21 +0200 Subject: [PATCH] Not creating customer number if at least 1 product is external --- application/Order/OrderController.php | 41 ++++++++++++++------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/application/Order/OrderController.php b/application/Order/OrderController.php index a914d6ab7..19ee432f4 100644 --- a/application/Order/OrderController.php +++ b/application/Order/OrderController.php @@ -1050,29 +1050,30 @@ class OrderController extends mfBaseController { $ext_products_nbe += $product_data["price_nbe"]; } else { $int_products = true; - - if(!$owner->customer_number) { - $last_num = AddressModel::getLastCustomerNumber(); - $this->log->debug("last_num: $last_num"); - if($last_num) { - $new_num = $last_num + 1; - } else { - $new_num = TT_FIRST_CUSTNUM; - } - - if(!AddressModel::search(['customer_number' => $new_num])) { - $owner->customer_number = $new_num; - $owner->save(); - } - } } } - // 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 - + + if(!$ext_products && !$owner->customer_number) { + $last_num = AddressModel::getLastCustomerNumber(); + $this->log->debug("last_num: $last_num"); + if($last_num) { + $new_num = $last_num + 1; + } else { + $new_num = TT_FIRST_CUSTNUM; + } + + if(!AddressModel::search(['customer_number' => $new_num])) { + $owner->customer_number = $new_num; + $owner->save(); + } + } + + // 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.")");