public function updateStatus(OrderEvent $event) { $order = $event->getOrder(); $paidStatusId = OrderStatusQuery::create()->filterByCode(OrderStatus::CODE_PAID)->select('Id')->findOne(); if ($order->hasVirtualProduct() && $event->getStatus() == $paidStatusId) { $contact_email = ConfigQuery::read('store_email'); if ($contact_email) { $message = MessageQuery::create()->filterByName('mail_virtualproduct')->findOne(); if (false === $message) { throw new \Exception("Failed to load message 'mail_virtualproduct'."); } $order = $event->getOrder(); $customer = $order->getCustomer(); $this->parser->assign('customer_id', $customer->getId()); $this->parser->assign('order_id', $order->getId()); $this->parser->assign('order_ref', $order->getRef()); $this->parser->assign('order_date', $order->getCreatedAt()); $this->parser->assign('update_date', $order->getUpdatedAt()); $message->setLocale($order->getLang()->getLocale()); $instance = \Swift_Message::newInstance()->addTo($customer->getEmail(), $customer->getFirstname() . " " . $customer->getLastname())->addFrom($contact_email, ConfigQuery::read('store_name')); // Build subject and body $message->buildMessage($this->parser, $instance); $this->mailer->send($instance); Tlog::getInstance()->debug("Virtual product download message sent to customer " . $customer->getEmail()); } else { $customer = $order->getCustomer(); Tlog::getInstance()->debug("Virtual product download message no contact email customer_id", $customer->getId()); } } }
/** * @param OrderEvent $event */ public function updateStatus(OrderEvent $event) { $order = $event->getOrder(); $newStatus = $event->getStatus(); $this->updateQuantity($order, $newStatus); $order->setStatusId($newStatus); $order->save(); $event->setOrder($order); }
/** * @param OrderEvent $event */ public function updateStatus(OrderEvent $event) { $order = $event->getOrder(); $status = $event->getStatus(); $canceledStatus = OrderStatusQuery::getCancelledStatus()->getId(); if ($status == $canceledStatus || $order->getStatusId() == $canceledStatus) { $this->updateQuantity($event->getOrder(), $status, $canceledStatus); } $order->setStatusId($status); $order->save(); $event->setOrder($order); }
public function processUpdateOrders(OrderEvent $event) { if ($event->getOrder()->getPaymentModuleId() == $this->shoppingFluxPaymentModuleId) { $status = $event->getStatus(); $allowedStatus = [$sentStatusId = OrderStatusQuery::getSentStatus()->getId(), OrderStatusQuery::getCancelledStatus()->getId()]; if (in_array($status, $allowedStatus)) { $order = $event->getOrder(); $mode = ShoppingFluxConfigQuery::getProd() ? UpdateOrders::REQUEST_MODE_PRODUCTION : UpdateOrders::REQUEST_MODE_SANDBOX; $api = new UpdateOrders(ShoppingFluxConfigQuery::getToken(), $mode); $request = new Request("UpdateOrders"); $request->addOrder(["IdOrder" => $order->getRef(), "Marketplace" => $order->getTransactionRef(), "Status" => $status === $sentStatusId ? "Shipped" : "Canceled"]); $response = $api->setRequest($request)->getResponse(); if ($response->isInError()) { $this->logger->error($response->getFormattedError()); } if (!$api->compareResponseRequest()) { $errorMessage = "Bad response from ShoppingFlux: " . $response->getGroup("UpdateOrders")->C14N(); $this->logger->error($errorMessage); } } } }
/** * @param OrderEvent $event */ public function updateStatus(OrderEvent $event, $eventName, EventDispatcherInterface $dispatcher) { $order = $event->getOrder(); $newStatus = $event->getStatus(); $paymentModule = ModuleQuery::create()->findPk($order->getPaymentModuleId()); /** @var PaymentModuleInterface $paymentModuleInstance */ $paymentModuleInstance = $paymentModule->createInstance(); $manageStockOnCreation = $this->isModuleManageStockOnCreation($dispatcher, $paymentModuleInstance); $this->updateQuantity($order, $newStatus, $manageStockOnCreation); $order->setStatusId($newStatus); $order->save(); $event->setOrder($order); }