Skip to content
Code-Schnipsel Gruppen Projekte
Bestätigt Commit 26d74059 erstellt von Henning Leutz's avatar Henning Leutz :martial_arts_uniform:
Dateien durchsuchen

feat: erp#78

Übergeordneter 31eabc44
No related branches found
No related tags found
Keine zugehörigen Merge Requests gefunden
......@@ -5,6 +5,9 @@
<event on="onQuiqqerOrderBasketToOrderEnd"
fire="\QUI\ERP\Shipping\EventHandler::onQuiqqerOrderBasketToOrderEnd"
/>
<event on="onQuiqqerOrderUpdateBegin"
fire="\QUI\ERP\Shipping\EventHandler::onQuiqqerOrderUpdateBegin"
/>
<event on="onPackageSetup"
fire="\QUI\ERP\Shipping\EventHandler::onPackageSetup"
/>
......@@ -41,14 +44,12 @@
<event on="onHeaderLoaded"
fire="\QUI\ERP\Shipping\EventHandler::onTemplateGetHeader"
/>
<event on="onQuiqqer::frontend-users::user-address-top"
fire="\QUI\ERP\Shipping\EventHandler::onFrontendUsersAddressTop"
/>
<event on="onQuiqqer::order::orderProcessCustomerDataEnd"
fire="\QUI\ERP\Shipping\EventHandler::onOrderProcessCustomerDataEnd"
/>
<event on="onQuiqqer::products::price::end"
fire="\QUI\ERP\Shipping\EventHandler::onQuiqqerProductsPriceEnd"
/>
......
......@@ -15,6 +15,7 @@
use function explode;
use function json_decode;
use function method_exists;
use function str_replace;
use function strpos;
/**
......@@ -554,4 +555,55 @@ public static function onQuiqqerOrderInit(QUI\ERP\Order\AbstractOrder $Order)
{
self::onQuiqqerOrderShippingOnEmpty($Order);
}
/**
* @param \QUI\ERP\Order\AbstractOrder $Order
* @return void
*/
public static function onQuiqqerOrderUpdateBegin(
QUI\ERP\Order\AbstractOrder $Order,
&$data = []
) {
$Articles = $Order->getArticles();
$PriceFactors = $Articles->getPriceFactors();
if (!$PriceFactors->count()) {
return;
}
// check if shipping factor exist
$shippingFactor = null;
$factors = $PriceFactors->toArray();
$Shipping = $Order->getShipping();
if (!$Shipping) {
return;
}
foreach ($factors as $index => $factor) {
if (strpos($factor['identifier'], 'shipping-pricefactor-') !== false) {
$shippingFactor = $factor;
break;
}
}
$identifier = $shippingFactor['identifier'];
$identifier = str_replace($identifier, 'shipping-pricefactor-', '');
$id = (int)$identifier;
if ($id !== $Shipping->getId() && isset($index)) {
$Factor = $PriceFactors->getFactor($index);
$factor = $Factor->toArray();
$factor['identifier'] = 'shipping-pricefactor-' . $Shipping->getId();
$factor['title'] = $Shipping->getTitle();
$PriceFactors->setFactor(
$index,
new QUI\ERP\Accounting\PriceFactors\Factor($factor)
);
$data['articles'] = $Articles->toJSON();
}
}
}
0% oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren