class CheckoutManager implements CheckoutManagerInterface, BasicEntityManagerInterface, JQGridInterface

Class CheckoutManager is injected as alligator.checkout_manager service. CheckoutManager handles the logic for managed entity.

Properties

protected OrderManager $orderManager
protected ProductManager $productManager
protected ShippingManagerInterface $shippingManager
protected OrderEventContainer $eventContainer
protected string $doCartActionMessage Message that indicates that item is already in cart
protected bool $isOrderMerging

Methods

__construct(OrderManagerInterface $orderManager, ProductManager $productManager, ShippingManagerInterface $shippingManager, Factory $stateMachine, OrderEventContainer $eventContainer)

No description

mixed
getProductFromDB(Product $product)

No description

bool
checkProductAddToCartPermission(Product $product)

Check if user has permission to add provided product to cart

bool
checkAnonymousAllowed()

Check if anonymous user is allowed to finish order

getCurrentUserSettings()

Retrieve current user settings

string
getDoCartActionMessage()

No description

getPaymentTypeByName(string $paymentType)

Find payment type by name

string
getRouteForPayment(string $payment)

If payment type is card payment, and have custom page for paying, redirect buyer to that page

string
createResponseMessage(string $action)

Create response message depending on action(for do cart action)

array|int|bool|Order
doCartAction(Order $order, Product $product, string $action, int $qty, array $selectedAttributes, bool $useQtyStep = true, $changeProductQty = true, $additionalParams = [])

No description

float|null
getProductPrice(Product $productDB, Order $order)

Retrieve price for provided product and order

mixed
checkOrderItemAdjustments(OrderItem $orderItem)

Calculate item adjustments for order

changeAdjustmentValues(OrderItem $orderItem, string $key, float $value, boolean $neutral = true, boolean $isFixed = false)

No description

doAddShipping(Order $order, ShippingProvider $shipping)

No description

doAddPayment(Order $order, string $payment)

No description

doApplyPaymentType($step, $order = null)

{@inheritdoc}

dispatchProductQuantityUnavailable(Order $order, OrderItem $orderItem, bool $removed = false)

Dispatch event

commentMerge(Order $order)

Add checkout comment to order

RedirectResponse
doTransition(mixed $order, string $routeName, string $lastRoute)

No description

QueryBuilder
getAllShippings()

No description

saveOrder(Order $order)

No description

editOrder(Order $order)

{@inheritdoc}

int
duplicateOrderSendMail(int $id, int $userId)

Send mail to logged user

array
findAllOrders()

No description

sendSwiftMessage(string $templateName, string|array $fromEmail, string|array $toEmail, array $context = array(), array|null $attachment = null, string|null $theme = null, null $entity = null)

No description

findAbandonedCarts()

{@inheritdoc}

array
generateDataForReport(array $invoiceSearchParams)

No description

mixed
getDBOrder(Order $order)

No description

array
getAllUsers()

No description

array
findAllUserForCoupon()

Finds all users as a ARRAY

mixed
savePromotion(mixed $content)

No description

null|object
saveTax(mixed $content)

No description

null|object
checkCoupon(mixed $code)

Check if coupon exist

setCurrentPricelistForOrder(Order $order, User|null $user)

Set user's/default pricelist to order

mixed
updateCouponCode(int $orderId, string $code)

If $code is 'NULL', coupon will be removed from session and from couponCode field in order

bool
activateCoupon(Order $order)

Activate coupon stored in session

array
rejectCoupon(array $applyResponse)

Format error message for response

bool
isGrantedOrderAccess(Order $order)

No description

Tax
getCurrentTax()

Retrieve current tax

mixed
getLoggedUsername()

Retrieve logged user's username. Empty string if no user is logged in

mixed
getLoggedUser()

Retrieve logged user. NULL if no user is logged in

bool
hasRoleAdmin()

Check if user has admin role

changeOrderState(stdClass $data)

Update existing order state

getOrderManager()

No description

Order|mixed
editOrderAddresses(Order $order, Address $address, Address|null $shippingAddress)

No description

Order|mixed
editOrderAddress(Order $order, Address $address)

Edit address for order

array|bool
changeOrderItem(stdClass $data)

Change order item state

array
findLastOrderForLiveSale(mixed $number)

Retrieve last order for live sale

array
searchForJQGRID(array $searchParams, array $sortParams = array(), array $additionalParams = array(), JQGridWrapper $JQGridWrapper = null)

JQgrid function

array
findAllForJQGRID(int $page, int $offset, array $sortParams, array $additionalParams = array(), JQGridWrapper $JQGridWrapper = null)

JQGrid function

array
getCountForJQGRID(null $searchParams = null, null $sortParams = null, array $additionalParams = array(), JQGridWrapper $jqGridWrapper = null)

JQGrid function

array
getOrdersForDashboard(int $number)

Find provided number of finished orders for dashboard

bool
deleteOrders(array $ordersArray)

Remove provided order

Address|mixed
getAddressFromDB(Address $id)

Find address by id

array
getAllShippingWithSelect()

Find all shipping providers

editOrderRemoveItem(int $itemId, int $orderId)

Remove order item - called from edit order in backend

mixed
getProductAttValue(array $pavArray, array $selectedAttributes)

Find product attribute value that match provided selected attributes

bool
activateCouponForOrderEdit(string $couponCode, Order $order)

Activate coupon for order

editOrderAddItem(Order $order, Product $product, array $additionalData)

Edit order item, and update quantities

array
doProductSearch(ProductSearchWrapper $searchWrapper)

No description

array
getAllStoresForPickUp()

Get all Stores from database

dispatchAfterAddToCartLogicEvent(Order $order, OrderItem|null $orderItem = null, string|null $action = null, bool $isOrderMerging = false)

Dispatch event after add to cart

dispatchAfterAddToCartSpecialOfferEvent(Order $order)

Dispatch event to deal with special offer logic(if special offer plugin is activated)

dispatchBuyXGetYOfferEvent(Order|null $order, OrderItem|null $orderItem, string|null $action, string|null $eventName = BuyXGetYProductEvent::PRODUCT_BUY_X_GET_Y_CHECK_ACTION_EVENT, boolean $hasItem = true, null $oldQty = null)

Dispatch event to deal with buy x get y logic(if buy X get Y plugin is activated)

Event
dispatchEvent(string $name, Event $event)

Dispatch provided event

mixed
getDBOrderForDetails(int $id)

Find order with relationships by id

mixed
getAbandonedCartsForPagination(int $userId, int $page, int $offset)

Retrieve orders in abandoned cart state with pagination

mixed
getOrdersForPagination(int $userId, int $page, int $offset)

JQGrid function

mixed
countAbandonedCartsByUserForPagination(int $userId)

JQGrid function

array
countOrdersByUserForPagination(int $userId)

JQGrid function

createNewUser(User $user)

Find user with provided mail(create new if user doesn't exist)

ShippingProvider|Proxy|null|object
getShippingReference(int $id)

Retrieve reference for shipping provider

string
generateNextRoute(string $routeName)

Generate route for provided route name

mixed
sendEditedStateOrderMail(Order $order, string $type, array $additionalMails = array(), null $cardOrderInfo = null)

Send mail when order state is change

float
getCurrencyRatio(string $current)

Get relative ratio between default and provided currency

Router
getRouter()

No description

mixed
getCashCheckoutSettings()

No description

array
getUsersByStringParam(int $page, int $offset, array $searchParam)

Find all users with pagination

mixed
getUserInfoForOrder(int $id)

Find user by id

array
getAllPaymentTypes()

Find all payment types

array
getAllShippingMethods()

No description

array
getAllGroupProductsForOrder(int $orderId)

Find all group products in order

mixed
dispatchOneStepCheckoutChanges(mixed $data, Order $order)

Dispatch event to apply gift card

forceInitialization()

Force caching shop parameters

array
getAllEmailsForArrayOfIds(array|null $ids = null)

Find all users that match provided ids(if ids are NULL, retrieve all users)

recalculateItemsInOrder(Order $order, array $arrayOfChangedOrderItemPrice = [], array $unavailableProducts = [])

Check prices for all items in order If price is changed for order item add to array

replaceCurrentOrder(UserInterface $user, Order|null $lastOrderParam = null)

Replace current order depending on order merge type settings

null|Request
getCurrentRequest()

No description

updateQuantities(Order $order)

No description

array
getPaymentTypeLimits()

No description

setIsOrderMerging(bool $isOrderMerging)

No description

mixed
getLastUnfinishedOrderForUser(bool $nullable = true, bool $excludeUser = false, bool $shouldConvertMoney = true)

Find last unfinished order for provided user

setLastOrder(Order|null $lastOrder)

No description

mixed
dispatchCustomOneStepCheckoutRedirectEvent()

Dispatch event after saving order on one step checkout

convertOrderToPricelistCurrency(Order $order)

Convert order to pricelist currency

mixed
dispatchBeforeOneStepCheckoutEvent(Order $order, mixed $data)

Dispatch event before any one step checkout logic

Order|null
changeCurrentOrderCurrency(string $toCurrency)

Update currency and currency ratio for provided order

Details

at line 117
__construct(OrderManagerInterface $orderManager, ProductManager $productManager, ShippingManagerInterface $shippingManager, Factory $stateMachine, OrderEventContainer $eventContainer)

Parameters

OrderManagerInterface $orderManager
ProductManager $productManager
ShippingManagerInterface $shippingManager
Factory $stateMachine
OrderEventContainer $eventContainer

at line 129
mixed getProductFromDB(Product $product)

Parameters

Product $product

Return Value

mixed

at line 140
bool checkProductAddToCartPermission(Product $product)

Check if user has permission to add provided product to cart

Parameters

Product $product

Return Value

bool

at line 150
bool checkAnonymousAllowed()

Check if anonymous user is allowed to finish order

Return Value

bool

at line 167
UserSettings getCurrentUserSettings()

Retrieve current user settings

Return Value

UserSettings

at line 175
string getDoCartActionMessage()

Return Value

string

at line 187
PaymentType getPaymentTypeByName(string $paymentType)

Find payment type by name

Parameters

string $paymentType

Return Value

PaymentType

at line 198
string getRouteForPayment(string $payment)

If payment type is card payment, and have custom page for paying, redirect buyer to that page

Parameters

string $payment

Return Value

string

at line 209
string createResponseMessage(string $action)

Create response message depending on action(for do cart action)

Parameters

string $action

Return Value

string

at line 228
array|int|bool|Order doCartAction(Order $order, Product $product, string $action, int $qty, array $selectedAttributes, bool $useQtyStep = true, $changeProductQty = true, $additionalParams = [])

Parameters

Order $order
Product $product
string $action
int $qty
array $selectedAttributes
bool $useQtyStep
$changeProductQty
$additionalParams

Return Value

array|int|bool|Order

at line 525
float|null getProductPrice(Product $productDB, Order $order)

Retrieve price for provided product and order

Parameters

Product $productDB
Order $order

Return Value

float|null

at line 572
mixed checkOrderItemAdjustments(OrderItem $orderItem)

Calculate item adjustments for order

Parameters

OrderItem $orderItem

Return Value

mixed

at line 721
changeAdjustmentValues(OrderItem $orderItem, string $key, float $value, boolean $neutral = true, boolean $isFixed = false)

Parameters

OrderItem $orderItem
string $key
float $value
boolean $neutral
boolean $isFixed

at line 741
doAddShipping(Order $order, ShippingProvider $shipping)

Parameters

Order $order
ShippingProvider $shipping

Exceptions

SMException

at line 749
doAddPayment(Order $order, string $payment)

Parameters

Order $order
string $payment

Exceptions

SMException

at line 757
doApplyPaymentType($step, $order = null)

{@inheritdoc}

Parameters

$step
$order

at line 779
EventWithResult|Event dispatchProductQuantityUnavailable(Order $order, OrderItem $orderItem, bool $removed = false)

Dispatch event

Parameters

Order $order
OrderItem $orderItem
bool $removed

Return Value

EventWithResult|Event

at line 790
Order commentMerge(Order $order)

Add checkout comment to order

Parameters

Order $order

Return Value

Order

at line 798
RedirectResponse doTransition(mixed $order, string $routeName, string $lastRoute)

Parameters

mixed $order
string $routeName
string $lastRoute

Return Value

RedirectResponse

Exceptions

SMException

at line 812
QueryBuilder getAllShippings()

Return Value

QueryBuilder

at line 820
saveOrder(Order $order)

Parameters

Order $order

at line 830
editOrder(Order $order)

{@inheritdoc}

Parameters

Order $order

at line 844
int duplicateOrderSendMail(int $id, int $userId)

Send mail to logged user

Parameters

int $id
int $userId

Return Value

int

at line 861
array findAllOrders()

Return Value

array

at line 875
sendSwiftMessage(string $templateName, string|array $fromEmail, string|array $toEmail, array $context = array(), array|null $attachment = null, string|null $theme = null, null $entity = null)

Parameters

string $templateName
string|array $fromEmail
string|array $toEmail
array $context
array|null $attachment
string|null $theme
null $entity

at line 883
findAbandonedCarts()

{@inheritdoc}

at line 891
array generateDataForReport(array $invoiceSearchParams)

Parameters

array $invoiceSearchParams

Return Value

array

at line 899
mixed getDBOrder(Order $order)

Parameters

Order $order

Return Value

mixed

at line 907
array getAllUsers()

Return Value

array

at line 917
array findAllUserForCoupon()

Finds all users as a ARRAY

Return Value

array

at line 925
mixed savePromotion(mixed $content)

Parameters

mixed $content

Return Value

mixed

at line 988
null|object saveTax(mixed $content)

Parameters

mixed $content

Return Value

null|object

at line 1011
null|object checkCoupon(mixed $code)

Check if coupon exist

Parameters

mixed $code

Return Value

null|object

Exceptions

NonUniqueResultException

at line 1037
setCurrentPricelistForOrder(Order $order, User|null $user)

Set user's/default pricelist to order

Parameters

Order $order
User|null $user

at line 1056
mixed updateCouponCode(int $orderId, string $code)

If $code is 'NULL', coupon will be removed from session and from couponCode field in order

Parameters

int $orderId
string $code

Return Value

mixed

at line 1069
bool activateCoupon(Order $order)

Activate coupon stored in session

Parameters

Order $order

Return Value

bool

at line 1092
array rejectCoupon(array $applyResponse)

Format error message for response

Parameters

array $applyResponse

Return Value

array

at line 1125
bool isGrantedOrderAccess(Order $order)

Parameters

Order $order

Return Value

bool

at line 1151
Tax getCurrentTax()

Retrieve current tax

Return Value

Tax

at line 1161
mixed getLoggedUsername()

Retrieve logged user's username. Empty string if no user is logged in

Return Value

mixed

at line 1173
mixed getLoggedUser()

Retrieve logged user. NULL if no user is logged in

Return Value

mixed

at line 1183
bool hasRoleAdmin()

Check if user has admin role

Return Value

bool

at line 1199
Order changeOrderState(stdClass $data)

Update existing order state

Parameters

stdClass $data

Return Value

Order

Exceptions

ORMException
Exception

at line 1211
OrderEventContainer getEventContainer()

Return Value

OrderEventContainer

at line 1219
OrderManager getOrderManager()

Return Value

OrderManager

at line 1231
Order|mixed editOrderAddresses(Order $order, Address $address, Address|null $shippingAddress)

Parameters

Order $order
Address $address
Address|null $shippingAddress

Return Value

Order|mixed

at line 1263
Order|mixed editOrderAddress(Order $order, Address $address)

Edit address for order

Parameters

Order $order
Address $address

Return Value

Order|mixed

Exceptions

NonUniqueResultException

at line 1289
array|bool changeOrderItem(stdClass $data)

Change order item state

Parameters

stdClass $data

Return Value

array|bool

Exceptions

DBALException
Exception

at line 1304
array findLastOrderForLiveSale(mixed $number)

Retrieve last order for live sale

Parameters

mixed $number

Return Value

array

at line 1319
array searchForJQGRID(array $searchParams, array $sortParams = array(), array $additionalParams = array(), JQGridWrapper $JQGridWrapper = null)

JQgrid function

Parameters

array $searchParams
array $sortParams
array $additionalParams
JQGridWrapper $JQGridWrapper

Return Value

array

at line 1335
array findAllForJQGRID(int $page, int $offset, array $sortParams, array $additionalParams = array(), JQGridWrapper $JQGridWrapper = null)

JQGrid function

Parameters

int $page
int $offset
array $sortParams
array $additionalParams
JQGridWrapper $JQGridWrapper

Return Value

array

at line 1350
array getCountForJQGRID(null $searchParams = null, null $sortParams = null, array $additionalParams = array(), JQGridWrapper $jqGridWrapper = null)

JQGrid function

Parameters

null $searchParams
null $sortParams
array $additionalParams
JQGridWrapper $jqGridWrapper

Return Value

array

at line 1362
array getOrdersForDashboard(int $number)

Find provided number of finished orders for dashboard

Parameters

int $number

Return Value

array

at line 1374
bool deleteOrders(array $ordersArray)

Remove provided order

Parameters

array $ordersArray

Return Value

bool

at line 1386
Address|mixed getAddressFromDB(Address $id)

Find address by id

Parameters

Address $id

Return Value

Address|mixed

at line 1396
array getAllShippingWithSelect()

Find all shipping providers

Return Value

array

at line 1410
Order editOrderRemoveItem(int $itemId, int $orderId)

Remove order item - called from edit order in backend

Parameters

int $itemId
int $orderId

Return Value

Order

Exceptions

DBALException

at line 1422
mixed getProductAttValue(array $pavArray, array $selectedAttributes)

Find product attribute value that match provided selected attributes

Parameters

array $pavArray
array $selectedAttributes

Return Value

mixed

at line 1455
bool activateCouponForOrderEdit(string $couponCode, Order $order)

Activate coupon for order

Parameters

string $couponCode
Order $order

Return Value

bool

Exceptions

NonUniqueResultException

at line 1487
Order editOrderAddItem(Order $order, Product $product, array $additionalData)

Edit order item, and update quantities

Parameters

Order $order
Product $product
array $additionalData

Return Value

Order

Exceptions

DBALException
NoResultException
NonUniqueResultException

at line 1497
array doProductSearch(ProductSearchWrapper $searchWrapper)

Parameters

ProductSearchWrapper $searchWrapper

Return Value

array

at line 1507
array getAllStoresForPickUp()

Get all Stores from database

Return Value

array

at line 1521
OrderEvent dispatchAfterAddToCartLogicEvent(Order $order, OrderItem|null $orderItem = null, string|null $action = null, bool $isOrderMerging = false)

Dispatch event after add to cart

Parameters

Order $order
OrderItem|null $orderItem
string|null $action
bool $isOrderMerging

Return Value

OrderEvent

at line 1532
SpecialOfferEvent dispatchAfterAddToCartSpecialOfferEvent(Order $order)

Dispatch event to deal with special offer logic(if special offer plugin is activated)

Parameters

Order $order

Return Value

SpecialOfferEvent

at line 1548
BuyXGetYProductEvent dispatchBuyXGetYOfferEvent(Order|null $order, OrderItem|null $orderItem, string|null $action, string|null $eventName = BuyXGetYProductEvent::PRODUCT_BUY_X_GET_Y_CHECK_ACTION_EVENT, boolean $hasItem = true, null $oldQty = null)

Dispatch event to deal with buy x get y logic(if buy X get Y plugin is activated)

Parameters

Order|null $order
OrderItem|null $orderItem
string|null $action
string|null $eventName
boolean $hasItem
null $oldQty

Return Value

BuyXGetYProductEvent

at line 1560
Event dispatchEvent(string $name, Event $event)

Dispatch provided event

Parameters

string $name
Event $event

Return Value

Event

at line 1574
mixed getDBOrderForDetails(int $id)

Find order with relationships by id

Parameters

int $id

Return Value

mixed

Exceptions

NoResultException
NonUniqueResultException

at line 1587
mixed getAbandonedCartsForPagination(int $userId, int $page, int $offset)

Retrieve orders in abandoned cart state with pagination

Parameters

int $userId
int $page
int $offset

Return Value

mixed

at line 1600
mixed getOrdersForPagination(int $userId, int $page, int $offset)

JQGrid function

Parameters

int $userId
int $page
int $offset

Return Value

mixed

at line 1613
mixed countAbandonedCartsByUserForPagination(int $userId)

JQGrid function

Parameters

int $userId

Return Value

mixed

Exceptions

NonUniqueResultException

at line 1624
array countOrdersByUserForPagination(int $userId)

JQGrid function

Parameters

int $userId

Return Value

array

at line 1635
User createNewUser(User $user)

Find user with provided mail(create new if user doesn't exist)

Parameters

User $user

Return Value

User

at line 1653
ShippingProvider|Proxy|null|object getShippingReference(int $id)

Retrieve reference for shipping provider

Parameters

int $id

Return Value

ShippingProvider|Proxy|null|object

at line 1664
string generateNextRoute(string $routeName)

Generate route for provided route name

Parameters

string $routeName

Return Value

string

at line 1680
mixed sendEditedStateOrderMail(Order $order, string $type, array $additionalMails = array(), null $cardOrderInfo = null)

Send mail when order state is change

Parameters

Order $order
string $type
array $additionalMails
null $cardOrderInfo

Return Value

mixed

Exceptions

Exception

at line 1691
float getCurrencyRatio(string $current)

Get relative ratio between default and provided currency

Parameters

string $current

Return Value

float

at line 1699
Router getRouter()

Return Value

Router

at line 1707
mixed getCashCheckoutSettings()

Return Value

mixed

at line 1720
array getUsersByStringParam(int $page, int $offset, array $searchParam)

Find all users with pagination

Parameters

int $page
int $offset
array $searchParam

Return Value

array

at line 1731
mixed getUserInfoForOrder(int $id)

Find user by id

Parameters

int $id

Return Value

mixed

at line 1741
array getAllPaymentTypes()

Find all payment types

Return Value

array

at line 1749
array getAllShippingMethods()

Return Value

array

at line 1760
array getAllGroupProductsForOrder(int $orderId)

Find all group products in order

Parameters

int $orderId

Return Value

array

at line 1781
mixed dispatchOneStepCheckoutChanges(mixed $data, Order $order)

Dispatch event to apply gift card

Parameters

mixed $data
Order $order

Return Value

mixed

at line 1789
forceInitialization()

Force caching shop parameters

at line 1800
array getAllEmailsForArrayOfIds(array|null $ids = null)

Find all users that match provided ids(if ids are NULL, retrieve all users)

Parameters

array|null $ids

Return Value

array

at line 1815
Order recalculateItemsInOrder(Order $order, array $arrayOfChangedOrderItemPrice = [], array $unavailableProducts = [])

Check prices for all items in order If price is changed for order item add to array

Parameters

Order $order
array $arrayOfChangedOrderItemPrice
array $unavailableProducts

Return Value

Order

at line 1856
replaceCurrentOrder(UserInterface $user, Order|null $lastOrderParam = null)

Replace current order depending on order merge type settings

Parameters

UserInterface $user
Order|null $lastOrderParam

Exceptions

NonUniqueResultException

at line 1957
ProductSettings getProductSettings()

Return Value

ProductSettings

at line 1965
null|Request getCurrentRequest()

Return Value

null|Request

at line 1975
Order updateQuantities(Order $order)

Parameters

Order $order

Return Value

Order

at line 1983
array getPaymentTypeLimits()

Return Value

array

at line 1991
setIsOrderMerging(bool $isOrderMerging)

Parameters

bool $isOrderMerging

at line 2006
mixed getLastUnfinishedOrderForUser(bool $nullable = true, bool $excludeUser = false, bool $shouldConvertMoney = true)

Find last unfinished order for provided user

Parameters

bool $nullable
bool $excludeUser
bool $shouldConvertMoney

Return Value

mixed

Exceptions

NonUniqueResultException

at line 2019
setLastOrder(Order|null $lastOrder)

Parameters

Order|null $lastOrder

at line 2029
mixed dispatchCustomOneStepCheckoutRedirectEvent()

Dispatch event after saving order on one step checkout

Return Value

mixed

at line 2040
Order convertOrderToPricelistCurrency(Order $order)

Convert order to pricelist currency

Parameters

Order $order

Return Value

Order

at line 2052
mixed dispatchBeforeOneStepCheckoutEvent(Order $order, mixed $data)

Dispatch event before any one step checkout logic

Parameters

Order $order
mixed $data

Return Value

mixed

at line 2066
Order|null changeCurrentOrderCurrency(string $toCurrency)

Update currency and currency ratio for provided order

Parameters

string $toCurrency

Return Value

Order|null

Exceptions

NonUniqueResultException