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

fix: consider guest order

Übergeordneter d848033e
No related branches found
No related tags found
2 Merge Requests!2Next,!1Dev
......@@ -4,6 +4,7 @@
* This file contains package_quiqqer_order-simple-checkout_ajax_frontend_newOrderInProcess
*/
use QUI\ERP\Order\Guest\GuestOrder;
use QUI\ERP\Products\Handler\Products;
QUI::$Ajax->registerFunction(
......@@ -11,6 +12,7 @@
function ($products) {
$products = json_decode($products, true);
$Orders = QUI\ERP\Order\Handler::getInstance();
$UserSession = QUI::getUserBySession();
if (!count($products)) {
// select the last order in processing
......@@ -21,7 +23,22 @@ function ($products) {
}
}
$OrderInProcess = QUI\ERP\Order\Factory::getInstance()->createOrderInProcess();
if (
QUI::getUsers()->isNobodyUser($UserSession)
&& QUI::getPackageManager()->isInstalled('quiqqer/order-guestorder')
&& !GuestOrder::isActive()
) {
throw new QUI\Exception('Please log in');
}
try {
$OrderInProcess = QUI\ERP\Order\Factory::getInstance()->createOrderInProcess();
} catch (\Exception $exception) {
}
if (!isset($OrderInProcess)) {
throw new QUI\Exception('Not allowed');
}
foreach ($products as $product) {
try {
......
......@@ -102,12 +102,16 @@ define('package/quiqqer/order-simple-checkout/bin/frontend/controls/SimpleChecko
$onInject: function() {
this.$loadProducts().then(() => {
return this.$loadCheckout();
}).catch((err) => {
console.error(err);
this.getElm().set('html', '');
this.fireEvent('loadedError', [this]);
});
},
$loadProducts: function() {
if (this.getAttribute('products') && !this.getAttribute('orderHash')) {
return new Promise((resolve) => {
return new Promise((resolve, reject) => {
QUIAjax.post(
'package_quiqqer_order-simple-checkout_ajax_frontend_newOrderInProcess',
(orderHash) => {
......@@ -116,7 +120,8 @@ define('package/quiqqer/order-simple-checkout/bin/frontend/controls/SimpleChecko
},
{
'package': 'quiqqer/order-simple-checkout',
products: JSON.encode(this.getAttribute('products'))
products: JSON.encode(this.getAttribute('products')),
onError: reject
}
);
});
......
......@@ -46,6 +46,24 @@ define('package/quiqqer/order-simple-checkout/bin/frontend/controls/SimpleChecko
events: {
onLoaded: () => {
this.Loader.hide();
},
onLoadedError: () => {
require([
'package/quiqqer/frontend-users/bin/frontend/controls/login/Window'
], (LoginWindow) => {
this.close();
new LoginWindow({
events: {
onSuccess: () => {
this.$Checkout.destroy();
this.$Checkout = null;
this.open();
}
}
}).open();
});
}
}
}).inject(this.getContent());
......
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