Skip to content
GitLab
Erkunden
Anmelden
Registrieren
Primärnavigation
Suchen oder aufrufen …
Projekt
coupons
Verwalten
Aktivität
Mitglieder
Labels
Planen
Tickets
6
Ticketübersichten
Meilensteine
Wiki
Code
Merge Requests
0
Repository
Branch
Commits
Tags
Repository-Diagramm
Revisionen vergleichen
Build
Pipelines
Aufgaben
Pipeline-Zeitpläne
Artefakte
Bereitstellung
Releases
Betreiben
Umgebungen
Überwachen
Vorfälle
Service-Desk
Analysieren
Wertschöpfungskettenanalyse
Mitwirkenden-Analyse
CI/CD-Analyse
Repository-Analysen
Hilfe
Hilfe
Support
GitLab-Dokumentation
GitLab-Pläne vergleichen
Community-Forum
Zu GitLab beitragen
Feedback geben
Tastenkürzel
?
Code-Schnipsel
Gruppen
Projekte
Show more breadcrumbs
QUIQQER
coupons
Commits
1543c79d
Commit
1543c79d
erstellt
vor 5 Jahren
von
Henning Leutz
Dateien durchsuchen
Optionen
Downloads
Patches
Einfaches Diff
fix: show add coupon in shoppingCard site type
Übergeordneter
ca979655
No related branches found
Branches enthält Commit
No related tags found
Tags enthält Commit
Keine zugehörigen Merge Requests gefunden
Änderungen
3
Leerzeichenänderungen ausblenden
Inline
Nebeneinander
3 geänderte Dateien
bin/frontend/controls/CouponCodeInput.js
+36
-1
36 Ergänzungen, 1 Löschung
bin/frontend/controls/CouponCodeInput.js
events.xml
+12
-2
12 Ergänzungen, 2 Löschungen
events.xml
src/QUI/ERP/Coupons/Events.php
+53
-1
53 Ergänzungen, 1 Löschung
src/QUI/ERP/Coupons/Events.php
werden angezeigt
mit
101 Ergänzungen
und
4 Löschungen
bin/frontend/controls/CouponCodeInput.js
+
36
−
1
Zeige Datei @
1543c79d
...
...
@@ -11,13 +11,14 @@ define('package/quiqqer/coupons/bin/frontend/controls/CouponCodeInput', [
'
package/quiqqer/coupons/bin/frontend/CouponCodes
'
,
'
Ajax
'
,
'
Locale
'
,
'
Mustache
'
,
'
text!package/quiqqer/coupons/bin/frontend/controls/CouponCodeInput.html
'
,
'
css!package/quiqqer/coupons/bin/frontend/controls/CouponCodeInput.css
'
],
function
(
QUIControl
,
QUILoader
,
CouponCodes
,
QUILocale
,
Mustache
,
template
)
{
],
function
(
QUIControl
,
QUILoader
,
CouponCodes
,
QUIAjax
,
QUILocale
,
Mustache
,
template
)
{
"
use strict
"
;
var
lg
=
'
quiqqer/coupons
'
;
...
...
@@ -100,6 +101,28 @@ define('package/quiqqer/coupons/bin/frontend/controls/CouponCodeInput', [
'
[data-qui="package/quiqqer/order/bin/frontend/controls/OrderProcess"]
'
);
if
(
!
this
.
isInOrder
())
{
QUIAjax
.
get
(
'
package_quiqqer_order_ajax_frontend_basket_getLastOrder
'
,
function
(
order
)
{
CouponCodes
.
addCouponCodeToBasket
(
code
,
order
.
hash
).
then
(
function
(
redeemed
)
{
if
(
!
redeemed
)
{
self
.
$running
=
false
;
self
.
Loader
.
hide
();
return
;
}
QUIAjax
.
get
(
'
package_quiqqer_order_ajax_frontend_basket_getOrderProcessUrl
'
,
function
(
url
)
{
window
.
location
=
url
+
'
?coupon=
'
+
code
;
},
{
'
package
'
:
'
quiqqer/order
'
});
});
},
{
'
package
'
:
'
quiqqer/order
'
});
return
;
}
var
OrderProcess
=
window
.
QUI
.
Controls
.
getById
(
OrderProcessNode
.
get
(
'
data-quiid
'
));
OrderProcess
.
Loader
.
show
();
...
...
@@ -117,6 +140,18 @@ define('package/quiqqer/coupons/bin/frontend/controls/CouponCodeInput', [
OrderProcess
.
reload
();
});
},
/**
* Is the coupon in the order process?
* @return {boolean}
*/
isInOrder
:
function
()
{
var
OrderProcessNode
=
this
.
getElm
().
getParent
(
'
[data-qui="package/quiqqer/order/bin/frontend/controls/OrderProcess"]
'
);
return
!!
OrderProcessNode
;
}
});
});
This diff is collapsed.
Zum Erweitern klicken.
events.xml
+
12
−
2
Zeige Datei @
1543c79d
<?xml version="1.0" encoding="UTF-8"?>
<events>
<event
on=
"onQuiqqer::order::orderProcessBasketEnd"
fire=
"\QUI\ERP\Coupons\Events::templateOrderProcessBasketEnd"
/>
<!--<event on="onQuiqqer::order::basketSmall::end" fire="\QUI\ERP\Payments\PayPal\Events::templateOrderBasketSmallEnd"/>-->
<event
on=
"onQuiqqer::order::orderProcessBasketEnd"
fire=
"\QUI\ERP\Coupons\Events::templateOrderProcessBasketEnd"
/>
<event
on=
"onQuiqqer::order::orderShoppingCardBasketEnd"
fire=
"\QUI\ERP\Coupons\Events::templateOrderProcessBasketEnd"
/>
<event
on=
"onQuiqqerOrderBasketToOrder"
fire=
"\QUI\ERP\Coupons\Events::onQuiqqerOrderBasketToOrder"
/>
<event
on=
"onQuiqqerOrderSuccessful"
fire=
"\QUI\ERP\Coupons\Events::onQuiqqerOrderSuccessful"
/>
<event
on=
"onOrderProcess"
fire=
"\QUI\ERP\Coupons\Events::onOrderProcess"
/>
</events>
\ No newline at end of file
This diff is collapsed.
Zum Erweitern klicken.
src/QUI/ERP/Coupons/Events.php
+
53
−
1
Zeige Datei @
1543c79d
...
...
@@ -20,8 +20,9 @@ class Events
*
* @param Collector $Collector
* @param BasketGuest $Basket
* @param $Order
*/
public
static
function
templateOrderProcessBasketEnd
(
Collector
$Collector
,
$Basket
)
public
static
function
templateOrderProcessBasketEnd
(
Collector
$Collector
,
$Basket
,
$Order
)
{
if
(
!
(
$Basket
instanceof
Basket
)
&&
!
(
$Basket
instanceof
QUI\ERP\Order\Basket\BasketOrder
)
...
...
@@ -29,11 +30,62 @@ public static function templateOrderProcessBasketEnd(Collector $Collector, $Bask
return
;
}
if
(
isset
(
$Order
)
&&
isset
(
$_GET
[
'coupon'
]))
{
try
{
$code
=
Handler
::
sanitizeCode
(
$_GET
[
'coupon'
]);
$CouponCode
=
Handler
::
getCouponCodeByCode
(
$code
);
$CouponCode
->
checkRedemption
(
QUI
::
getUserBySession
());
$CouponCode
->
addToOrder
(
$Order
);
}
catch
(
\Exception
$Exception
)
{
}
}
$Collector
->
append
(
'<div data-qui="package/quiqqer/coupons/bin/frontend/controls/CouponCodeInput"></div>'
);
}
/**
* @param QUI\ERP\Order\OrderProcess $OrderProcess
* @throws QUI\ERP\Order\Exception
* @throws QUI\Exception
*/
public
static
function
onOrderProcess
(
QUI
\ERP\Order\OrderProcess
$OrderProcess
)
{
$CurrentStep
=
$OrderProcess
->
getCurrentStep
();
$currentStep
=
$CurrentStep
->
getType
();
if
(
$currentStep
!==
QUI\ERP\Order\Controls\OrderProcess\Basket
::
class
)
{
return
;
}
if
(
!
isset
(
$_GET
[
'coupon'
]))
{
return
;
}
try
{
$Order
=
$OrderProcess
->
getOrder
();
$code
=
Handler
::
sanitizeCode
(
$_GET
[
'coupon'
]);
$CouponCode
=
Handler
::
getCouponCodeByCode
(
$code
);
$CouponCode
->
checkRedemption
(
QUI
::
getUserBySession
());
$coupons
=
$Order
->
getDataEntry
(
'quiqqer-coupons'
);
$coupons
[]
=
$code
;
$coupons
=
\array_unique
(
$coupons
);
$Order
->
setData
(
'quiqqer-coupons'
,
$coupons
);
$Order
->
update
();
$CouponCode
->
addToOrder
(
$Order
);
}
catch
(
\Exception
$Exception
)
{
}
}
/**
* event - on price factor init
*
...
...
This diff is collapsed.
Zum Erweitern klicken.
Vorschau
0%
Wiederholen
oder
Neue Datei anhängen
.
Abbrechen
You are about to add
0
people
to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Kommentar speichern
Abbrechen
Bitte
registrieren
oder
Anmelden
zum Kommentieren