Added orderFailed() method
This commit is contained in:
@@ -234,6 +234,29 @@ class OrderController extends BaseFrontController
|
|||||||
$this->getParserContext()->set("placed_order_id", $placedOrder->getId());
|
$this->getParserContext()->set("placed_order_id", $placedOrder->getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function orderFailed($order_id, $message)
|
||||||
|
{
|
||||||
|
/* check if the placed order matched the customer */
|
||||||
|
$failedOrder = OrderQuery::create()->findPk(
|
||||||
|
$this->getRequest()->attributes->get('order_id')
|
||||||
|
);
|
||||||
|
|
||||||
|
if (null === $failedOrder) {
|
||||||
|
throw new TheliaProcessException("No failed order", TheliaProcessException::NO_PLACED_ORDER, $failedOrder);
|
||||||
|
}
|
||||||
|
|
||||||
|
$customer = $this->getSecurityContext()->getCustomerUser();
|
||||||
|
|
||||||
|
if (null === $customer || $failedOrder->getCustomerId() !== $customer->getId()) {
|
||||||
|
throw new TheliaProcessException("Received failed order id does not belong to the current customer", TheliaProcessException::PLACED_ORDER_ID_BAD_CURRENT_CUSTOMER, $placedOrder);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->getParserContext()
|
||||||
|
->set("failed_order_id", $failedOrder->getId())
|
||||||
|
->set("failed_order_message", $message)
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
protected function getOrderEvent()
|
protected function getOrderEvent()
|
||||||
{
|
{
|
||||||
$order = $this->getOrder($this->getRequest());
|
$order = $this->getOrder($this->getRequest());
|
||||||
|
|||||||
Reference in New Issue
Block a user