示例#1
0
 /**
  * @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");
 }