Newer
Older
<?php
/**
* This File contains \QUI\ERP\Shipping\EventHandler
*/
namespace QUI\ERP\Shipping;
use QUI;
/**
* Class EventHandler
*
* @package QUI\ERP\Shipping
*/
class EventHandler
{
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/**
* event for on package setup
*
* @throws QUI\Exception
*/
public static function onPackageSetup()
{
$languages = QUI\Translator::getAvailableLanguages();
// create locale
$var = 'message.no.rule.found.order.continue';
$params = [
'datatype' => 'php,js',
'package' => 'quiqqer/shipping'
];
foreach ($languages as $language) {
$params[$language] = QUI::getLocale()->getByLang(
$language,
'quiqqer/shipping',
$var
);
}
try {
QUI\Translator::addUserVar('quiqqer/shipping', $var, $params);
} catch (QUI\Exception $Exception) {
QUI\System\Log::addNotice($Exception->getMessage());
}
// create locale
$var = 'message.no.rule.found.order.deny';
$params = [
'datatype' => 'php,js',
'package' => 'quiqqer/shipping'
];
foreach ($languages as $language) {
$params[$language] = QUI::getLocale()->getByLang(
$language,
'quiqqer/shipping',
$var
);
}
try {
QUI\Translator::addUserVar('quiqqer/shipping', $var, $params);
} catch (QUI\Exception $Exception) {
QUI\System\Log::addNotice($Exception->getMessage());
}
}
/**
* event - on price factor init
*
* @param $Basket
* @param QUI\ERP\Order\AbstractOrder $Order
* @param QUI\ERP\Products\Product\ProductList $Products
*/
public static function onQuiqqerOrderBasketToOrderEnd(
$Basket,
QUI\ERP\Order\AbstractOrder $Order,
QUI\ERP\Products\Product\ProductList $Products
) {
$Shipping = $Order->getShipping();
if (!$Shipping) {
return;
}
$PriceFactors = $Products->getPriceFactors();
$PriceFactors->addToEnd($Shipping->toPriceFactor());
try {
$Products->recalculation();
} catch (QUI\Exception $Exception) {
QUI\System\Log::writeDebugException($Exception);
}
$Order->getArticles()->calc();
if (\method_exists($Order, 'save')) {
$Order->save();
}