/** * @param AbstractDeliveryModule $moduleInstance * @param Address $deliveryAddress * @return \Symfony\Component\HttpFoundation\Response */ private function registerVirtualProductDelivery($moduleInstance, $deliveryAddress) { /* get postage amount */ $deliveryModule = $moduleInstance->getModuleModel(); $postage = OrderPostage::loadFromPostage($moduleInstance->getPostage($deliveryAddress->getCountry())); $orderEvent = $this->getOrderEvent(); $orderEvent->setDeliveryAddress($deliveryAddress->getId()); $orderEvent->setDeliveryModule($deliveryModule->getId()); $orderEvent->setPostage($postage->getAmount()); $orderEvent->setPostageTax($postage->getAmountTax()); $orderEvent->setPostageTaxRuleTitle($postage->getTaxRuleTitle()); $this->getDispatcher()->dispatch(TheliaEvents::ORDER_SET_DELIVERY_ADDRESS, $orderEvent); $this->getDispatcher()->dispatch(TheliaEvents::ORDER_SET_DELIVERY_MODULE, $orderEvent); $this->getDispatcher()->dispatch(TheliaEvents::ORDER_SET_POSTAGE, $orderEvent); return $this->generateRedirectFromRoute("order.invoice"); }