/** * @depends testCreate * * @param OrderModel $order */ public function testUpdateDeliveryRef(OrderModel $order) { $deliveryRef = uniqid('DELREF'); $this->orderEvent->setDeliveryRef($deliveryRef); $this->orderEvent->setOrder($order); $this->orderAction->updateDeliveryRef($this->orderEvent); $this->assertEquals($deliveryRef, $this->orderEvent->getOrder()->getDeliveryRef()); $this->assertEquals($deliveryRef, OrderQuery::create()->findPk($order->getId())->getDeliveryRef()); }
/** * Update order's delivery ref * * @param string $deliveryRef * @param string $orderRef * @param int $i */ public function importDeliveryRef($deliveryRef, $orderRef, &$i) { // Check if the order exists if (null !== ($order = OrderQuery::create()->findOneByRef($orderRef))) { $event = new OrderEvent($order); // Check if delivery refs are different if ($order->getDeliveryRef() != $deliveryRef) { $event->setDeliveryRef($deliveryRef); $this->getDispatcher()->dispatch(TheliaEvents::ORDER_UPDATE_DELIVERY_REF, $event); $sentStatusId = OrderStatusQuery::create()->filterByCode('sent')->select('ID')->findOne(); // Set 'sent' order status if not already sent if ($sentStatusId != null && $order->getStatusId() != $sentStatusId) { $event->setStatus($sentStatusId); $this->getDispatcher()->dispatch(TheliaEvents::ORDER_UPDATE_STATUS, $event); } $i++; } } }
/** * Update order's delivery ref * * @param string $deliveryRef * @param string $orderRef * @param int $i */ public function importDeliveryRef($deliveryRef, $orderRef, &$i) { // Get order $order = OrderQuery::create()->findOneByRef($orderRef); // Check if the order exists if ($order !== null) { $event = new OrderEvent($order); // Check if delivery refs are different if ($order->getDeliveryRef() != $deliveryRef) { $event->setDeliveryRef($deliveryRef); $this->getDispatcher()->dispatch(TheliaEvents::ORDER_UPDATE_DELIVERY_REF, $event); // Set 'sent' order status if not already sent if ($order->getStatusId() != DpdPickup::STATUS_SENT) { $event->setStatus(DpdPickup::STATUS_SENT); $this->getDispatcher()->dispatch(TheliaEvents::ORDER_UPDATE_STATUS, $event); } $i++; } } }
public function trackingAction() { $response = $this->checkAuth(AdminResources::MODULE, TNTFrance::getModuleCode(), AccessManager::UPDATE); if (null !== $response) { return $response; } $this->checkXmlHttpRequest(); $orderId = $this->getRequest()->request->get("order_id"); $trackingNumber = $this->getRequest()->request->get("tracking_number"); $jsonResponse = ['success' => false, 'message' => '']; try { $order = OrderQuery::create()->findPk($orderId); if (null === $order) { throw new \InvalidArgumentException("The order you want to update status does not exist"); } $event = new OrderEvent($order); $event->setDeliveryRef($trackingNumber); $this->dispatch(TheliaEvents::ORDER_UPDATE_DELIVERY_REF, $event); $jsonResponse['success'] = true; } catch (\Exception $e) { $jsonResponse['message'] = $e->getMessage(); } return $this->jsonResponse(json_encode($jsonResponse)); }
public function updateDeliveryRef($order_id) { if (null !== ($response = $this->checkAuth(AdminResources::ORDER, array(), AccessManager::UPDATE))) { return $response; } $message = null; try { $order = OrderQuery::create()->findPk($order_id); $deliveryRef = $this->getRequest()->get("delivery_ref"); if (null === $order) { throw new \InvalidArgumentException("The order you want to update status does not exist"); } $event = new OrderEvent($order); $event->setDeliveryRef($deliveryRef); $this->dispatch(TheliaEvents::ORDER_UPDATE_DELIVERY_REF, $event); } catch (\Exception $e) { $message = $e->getMessage(); } $params = array(); if ($message) { $params["update_status_error_message"] = $message; } $params["tab"] = $this->getRequest()->get("tab", 'bill'); return $this->generateRedirectFromRoute("admin.order.update.view", $params, ['order_id' => $order_id]); }