protected function getCustomerOrders()
 {
     static $customerOrders = null;
     if (!is_null($customerOrders)) {
         return $customerOrders;
     }
     $customer = customer::get();
     $cmsController = cmsController::getInstance();
     $domain = $cmsController->getCurrentDomain();
     $domainId = $domain->getId();
     $sel = new selector('objects');
     $sel->types('object-type')->name('emarket', 'order');
     $sel->where('customer_id')->equals($customer->id);
     $sel->where('domain_id')->equals($domainId);
     $sel->where('status_id')->equals(order::getStatusByCode('ready'));
     return $customerOrders = $sel->result;
 }
예제 #2
0
		public function onPaymentStatusChanged(iUmiEventPoint $event) {
			if($event->getMode() == "after" &&
				$event->getParam("old-status-id") != $event->getParam("new-status-id")) {
				$order = $event->getRef("order");					
				if ($event->getParam("new-status-id") == order::getStatusByCode('accepted', 'order_payment_status')) {
					self::addBonus($order->getId());
				}
				$this->notifyOrderStatusChange($order, "payment_status_id");
			}
		}
 public function onEmarketOrderAdded(iUmiEventPoint $event)
 {
     if ($event->getMode() == "after" && $event->getParam("old-status-id") != $event->getParam("new-status-id")) {
         if ($event->getParam("new-status-id") == order::getStatusByCode('waiting') && $event->getParam("old-status-id") != order::getStatusByCode('editing')) {
             $module = cmsController::getInstance()->getModule('emarket');
             $order = $event->getRef("order");
             $link = $module->getObjectEditLink($order->getId(), 'order');
             $this->registerEvent('emarket-order-add', array($link, $order->getName()), null, $order->getId());
         }
     }
 }
 public function onEmarketOrderAdded(iUmiEventPoint $v4119639092e62c55ea8be348e4d9260d)
 {
     if ($v4119639092e62c55ea8be348e4d9260d->getMode() == "after" && $v4119639092e62c55ea8be348e4d9260d->getParam("old-status-id") != $v4119639092e62c55ea8be348e4d9260d->getParam("new-status-id")) {
         if ($v4119639092e62c55ea8be348e4d9260d->getParam("new-status-id") == order::getStatusByCode('waiting') && $v4119639092e62c55ea8be348e4d9260d->getParam("old-status-id") != order::getStatusByCode('editing')) {
             $v22884db148f0ffb0d830ba431102b0b5 = cmsController::getInstance()->getModule('emarket');
             $v70a17ffa722a3985b86d30b034ad06d7 = $v4119639092e62c55ea8be348e4d9260d->getRef("order");
             $v2a304a1348456ccd2234cd71a81bd338 = $v22884db148f0ffb0d830ba431102b0b5->getObjectEditLink($v70a17ffa722a3985b86d30b034ad06d7->getId(), 'order');
             $this->registerEvent('emarket-order-add', array($v2a304a1348456ccd2234cd71a81bd338, $v70a17ffa722a3985b86d30b034ad06d7->getName()), null, $v70a17ffa722a3985b86d30b034ad06d7->getId());
         }
     }
 }
예제 #5
0
 /**
  * Получить заказ, который представляет текущую корзину товаров. Если такого заказа нет, то он будет создан
  * @return order заказ, который представляет корзину товаров
  */
 public function getBasketOrder($useDummyOrder = true)
 {
     static $cache;
     if ($cache instanceof order) {
         //If order has order-status, that means it is not a basket any more, so we have to reset $cache
         if ($cache->getOrderStatus() && $cache->getOrderStatus() != order::getStatusByCode('editing') || $useDummyOrder == false) {
             $cache = null;
         } else {
             return $cache;
         }
     }
     $customer = customer::get();
     $cmsController = cmsController::getInstance();
     $domain = $cmsController->getCurrentDomain();
     $domainId = $domain->getId();
     $orderId = $customer->getLastOrder($domainId);
     if ($orderId) {
         return $cache = order::get($orderId);
     }
     return $cache = order::create($useDummyOrder);
 }
예제 #6
0
 public function editOrderAsUser($orderId = false)
 {
     if (!$orderId) {
         $orderId = getRequest('param0');
     }
     $objects = umiObjectsCollection::getInstance();
     $order = $objects->getObject($orderId);
     if (!$order instanceof umiObject) {
         return false;
     }
     if ($order->getTypeGUID() !== 'emarket-order') {
         return false;
     }
     $statusId = order::getStatusByCode('editing');
     $order->setValue('status_id', $statusId);
     $order->commit();
     $this->actAsUser($order->getValue('customer_id'), $orderId);
 }