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
62802ab6
Commit
62802ab6
erstellt
vor 6 Jahren
von
Henning Leutz
Dateien durchsuchen
Optionen
Downloads
Patches
Einfaches Diff
feat: refactor: redeem coupon code
Übergeordneter
5df56223
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
ajax/frontend/redeem.php
+8
-2
8 Ergänzungen, 2 Löschungen
ajax/frontend/redeem.php
events.xml
+4
-0
4 Ergänzungen, 0 Löschungen
events.xml
src/QUI/ERP/Coupons/Events.php
+52
-5
52 Ergänzungen, 5 Löschungen
src/QUI/ERP/Coupons/Events.php
werden angezeigt
mit
64 Ergänzungen
und
7 Löschungen
ajax/frontend/redeem.php
+
8
−
2
Zeige Datei @
62802ab6
...
...
@@ -16,7 +16,7 @@
'package_quiqqer_coupons_ajax_frontend_redeem'
,
function
(
$code
,
$orderHash
)
{
try
{
$CouponCode
=
Handler
::
getCouponCodeByCode
(
$code
);
Handler
::
getCouponCodeByCode
(
$code
);
}
catch
(
QUI\ERP\Coupons\CouponCodeException
$Exception
)
{
QUI\System\Log
::
writeDebugException
(
$Exception
);
...
...
@@ -36,8 +36,14 @@ function ($code, $orderHash) {
return
false
;
}
$Order
=
QUI\ERP\Order\Handler
::
getInstance
()
->
getOrderByHash
(
$orderHash
);
$Order
=
QUI\ERP\Order\Handler
::
getInstance
()
->
getOrderByHash
(
$orderHash
);
$coupons
=
$Order
->
getDataEntry
(
'quiqqer-coupons'
);
$coupons
[]
=
$code
;
$coupons
=
array_unique
(
$coupons
);
$Order
->
setData
(
'quiqqer-coupons'
,
$coupons
);
$Order
->
update
();
return
true
;
},
...
...
This diff is collapsed.
Zum Erweitern klicken.
events.xml
+
4
−
0
Zeige Datei @
62802ab6
...
...
@@ -2,4 +2,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=
"onQuiqqerOrderBasketToOrder"
fire=
"\QUI\ERP\Coupons\Events::onQuiqqerOrderBasketToOrder"
/>
</events>
\ No newline at end of file
This diff is collapsed.
Zum Erweitern klicken.
src/QUI/ERP/Coupons/Events.php
+
52
−
5
Zeige Datei @
62802ab6
...
...
@@ -6,8 +6,6 @@
use
Quiqqer\Engine\Collector
;
use
QUI\ERP\Order\Basket\Basket
;
use
QUI\ERP\Order\Basket\BasketGuest
;
use
QUI\ERP\Order\Utils\Utils
as
OrderUtils
;
use
QUI\ERP\Order\Controls\OrderProcess\Checkout
as
CheckoutStep
;
/**
* Class Events
...
...
@@ -21,9 +19,6 @@ class Events
*
* @param Collector $Collector
* @param BasketGuest $Basket
* @return void
*
* @throws QUI\Exception
*/
public
static
function
templateOrderProcessBasketEnd
(
Collector
$Collector
,
$Basket
)
{
...
...
@@ -36,6 +31,58 @@ public static function templateOrderProcessBasketEnd(Collector $Collector, $Bask
);
}
/**
* event - on price factor init
*
* @param $Basket
* @param QUI\ERP\Order\AbstractOrder $Order
* @param QUI\ERP\Products\Utils\PriceFactors $PriceFactors
*/
public
static
function
onQuiqqerOrderBasketToOrder
(
$Basket
,
QUI
\ERP\Order\AbstractOrder
$Order
,
QUI
\ERP\Products\Utils\PriceFactors
$PriceFactors
)
{
$coupons
=
$Order
->
getDataEntry
(
'quiqqer-coupons'
);
if
(
!
$coupons
)
{
return
;
}
if
(
!
is_array
(
$coupons
))
{
return
;
}
foreach
(
$coupons
as
$coupon
)
{
/* @var $Coupon CouponCode */
try
{
$Coupon
=
Handler
::
getCouponCodeByCode
(
$coupon
);
}
catch
(
\Exception
$Exception
)
{
continue
;
}
// coupon check
if
(
!
$Coupon
->
isRedeemable
(
$Order
->
getCustomer
()))
{
continue
;
}
/* @var $Discount QUI\ERP\Discount\Discount */
$discounts
=
$Coupon
->
getDiscounts
();
foreach
(
$discounts
as
$Discount
)
{
// @todo discount check
$PriceFactor
=
$Discount
->
toPriceFactor
();
$PriceFactor
->
setTitle
(
'Gutschein-Code '
.
$Coupon
->
getCode
()
);
$PriceFactors
->
addToEnd
(
$PriceFactor
);
}
}
}
// /**
// * Template event quiqqer/order: onQuiqqer::order::basketSmall::end
// *
...
...
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