. */ /* */ /*************************************************************************************/ namespace Thelia\Action; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Thelia\Core\Event\CartEvent; use Thelia\Core\Event\OrderEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Model\ProductPrice; use Thelia\Model\ProductPriceQuery; use Thelia\Model\CartItem; use Thelia\Model\CartItemQuery; use Thelia\Model\ConfigQuery; /** * * Class Order * @package Thelia\Action * @author Etienne Roudeix */ class Order extends BaseAction implements EventSubscriberInterface { /** * @param \Thelia\Core\Event\OrderEvent $event */ public function setDeliveryAddress(OrderEvent $event) { $order = $event->getOrder(); $order->chosenDeliveryAddress = $event->getDeliveryAddress(); $event->setOrder($order); } /** * @param \Thelia\Core\Event\OrderEvent $event */ public function setDeliveryModule(OrderEvent $event) { $order = $event->getOrder(); $order->setDeliveryModuleId($event->getDeliveryModule()); $order->setPostage($event->getPostage()); $event->setOrder($order); } /** * Returns an array of event names this subscriber wants to listen to. * * The array keys are event names and the value can be: * * * The method name to call (priority defaults to 0) * * An array composed of the method name to call and the priority * * An array of arrays composed of the method names to call and respective * priorities, or 0 if unset * * For instance: * * * array('eventName' => 'methodName') * * array('eventName' => array('methodName', $priority)) * * array('eventName' => array(array('methodName1', $priority), array('methodName2')) * * @return array The event names to listen to * * @api */ public static function getSubscribedEvents() { return array( TheliaEvents::ORDER_SET_DELIVERY_ADDRESS => array("setDeliveryAddress", 128), TheliaEvents::ORDER_SET_DELIVERY_MODULE => array("setDeliveryModule", 128), ); } }