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

refactor: consider creation events for order, offers and sales orders

Übergeordneter 4606ed63
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
......@@ -2,6 +2,17 @@
<events>
<event on="onAdminLoadFooter" fire="\QUI\ERP\Shipping\EventHandler::onAdminLoadFooter"/>
<event on="onQuiqqerOrderFactoryCreate"
fire="\QUI\ERP\Shipping\EventHandler::onQuiqqerOrderFactoryCreate"
/>
<event on="onQuiqqerOffersCreated"
fire="\QUI\ERP\Shipping\EventHandler::onQuiqqerOffersCreated"
/>
<event on="onQuiqqerSalesOrdersCreated"
fire="\QUI\ERP\Shipping\EventHandler::onQuiqqerSalesOrdersCreated"
/>
<event on="onQuiqqerOrderBasketToOrderEnd"
fire="\QUI\ERP\Shipping\EventHandler::onQuiqqerOrderBasketToOrderEnd"
/>
......@@ -29,12 +40,6 @@
<event on="onQuiqqerOrderOrderProcessCheckoutOutputBefore"
fire="\QUI\ERP\Shipping\EventHandler::onQuiqqerOrderOrderProcessCheckoutOutputBefore"
/>
<event on="onQuiqqerOrderShippingOnEmpty"
fire="\QUI\ERP\Shipping\EventHandler::onQuiqqerOrderShippingOnEmpty"
/>
<event on="onQuiqqerOrderInit"
fire="\QUI\ERP\Shipping\EventHandler::onQuiqqerOrderInit"
/>
<event on="onUserSaveBegin"
fire="\QUI\ERP\Shipping\EventHandler::onUserSaveBegin"
/>
......
......@@ -7,6 +7,7 @@
namespace QUI\ERP\Shipping;
use QUI;
use QUI\ERP\Accounting\ArticleList;
use QUI\ERP\Order\Controls\OrderProcess\Checkout as OrderCheckoutStepControl;
use QUI\ERP\Products\Handler\Fields as ProductFields;
use Quiqqer\Engine\Collector;
......@@ -503,13 +504,64 @@ public static function onQuiqqerProductsPriceEnd(Collector $Collector, QUI\ERP\P
$Collector->append($html);
}
//region default shipping
/**
* event: add default shipping at onQuiqqerOrderFactoryCreate
*
* @param \QUI\ERP\Order\AbstractOrder $Order
* @return void
*/
public static function onQuiqqerOrderFactoryCreate(QUI\ERP\Order\AbstractOrder $Order)
{
try {
self::addDefaultShipping($Order->getArticles());
$Order->update(QUI::getUsers()->getSystemUser());
} catch (QUI\Exception $Exception) {
QUI\System\Log::addError($Exception->getMessage());
}
}
/**
* event: add default shipping at onQuiqqerOffersCreated
*
* @param \QUI\ERP\Accounting\Offers\AbstractOffer $Offer
* @return void
*/
public static function onQuiqqerOffersCreated(QUI\ERP\Accounting\Offers\AbstractOffer $Offer)
{
try {
self::addDefaultShipping($Offer->getArticles());
$Offer->update(QUI::getUsers()->getSystemUser());
} catch (QUI\Exception $Exception) {
QUI\System\Log::addError($Exception->getMessage());
}
}
/**
* event: add default shipping at onQuiqqerSalesOrdersCreated
*
* @param \QUI\ERP\SalesOrders\SalesOrder $Sales
* @return void
*/
public static function onQuiqqerSalesOrdersCreated(QUI\ERP\SalesOrders\SalesOrder $Sales)
{
try {
self::addDefaultShipping($Sales->getArticles());
$Sales->update();
} catch (QUI\Exception $Exception) {
QUI\System\Log::addError($Exception->getMessage());
}
}
/**
* event: addDefaultShipping
*
* @param \QUI\ERP\Accounting\ArticleList $Articles
* @return void
* @throws \QUI\Exception
*/
public static function onQuiqqerOrderShippingOnEmpty(QUI\ERP\Order\AbstractOrder $Order)
protected static function addDefaultShipping(ArticleList $Articles)
{
if (!QUI::isBackend()) {
return;
......@@ -523,7 +575,6 @@ public static function onQuiqqerOrderShippingOnEmpty(QUI\ERP\Order\AbstractOrder
}
try {
$Articles = $Order->getArticles();
$PriceFactors = $Articles->getPriceFactors();
// check if shipping factor exist
......@@ -545,16 +596,7 @@ public static function onQuiqqerOrderShippingOnEmpty(QUI\ERP\Order\AbstractOrder
}
}
/**
* @param \QUI\ERP\Order\AbstractOrder $Order
*
* @return void
* @throws \QUI\Exception
*/
public static function onQuiqqerOrderInit(QUI\ERP\Order\AbstractOrder $Order)
{
self::onQuiqqerOrderShippingOnEmpty($Order);
}
//endregion
/**
* @param \QUI\ERP\Order\AbstractOrder $Order
......
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren