Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
filterOldOrders example
if
(
$context
->
getCustomer
(
)
)
{
$criteria
->
addFilter
(
new
EqualsFilter
(
'order.orderCustomer.customerId',
$context
->
getCustomer
(
)
->
getId
(
)
)
)
;
}
elseif
(
$deepLinkFilter
=== null
)
{
throw
CartException::
customerNotLoggedIn
(
)
;
}
$orderResult
=
$this
->orderRepository->
search
(
$criteria
,
$context
->
getContext
(
)
)
;
$orders
=
$orderResult
->
getEntities
(
)
;
// remove old orders only if there is a deeplink filter
if
(
$deepLinkFilter
!== null
)
{
$orders
=
$this
->
filterOldOrders
(
$orders
)
;
}
// Handle guest authentication if deeplink is set
if
(
!
$context
->
getCustomer
(
)
&&
$deepLinkFilter
instanceof EqualsFilter
)
{
try
{
$cacheKey
=
strtolower
(
(string)
$deepLinkFilter
->
getValue
(
)
)
. '-' .
$request
->
getClientIp
(
)
;
$this
->rateLimiter->
ensureAccepted
(
RateLimiter::GUEST_LOGIN,
$cacheKey
)
;
}
catch
(
RateLimitExceededException
$exception
)
{
throw
OrderException::
customerAuthThrottledException
(
$exception
->
getWaitTime
(
)
,
$exception
)
;
}