store() public method

public store ( array $attributes, array $products, integer $client = null, integer $status = OrderStatus::STATUS_NEW ) : boolean
$attributes array
$products array
$client integer
$status integer
return boolean
Beispiel #1
0
 /**
  *
  */
 public function actionCreate()
 {
     $model = new Order(Order::SCENARIO_USER);
     if (Yii::app()->getRequest()->getIsPostRequest() && Yii::app()->getRequest()->getPost('Order')) {
         $order = Yii::app()->getRequest()->getPost('Order');
         $products = Yii::app()->getRequest()->getPost('OrderProduct');
         $coupons = isset($order['couponCodes']) ? $order['couponCodes'] : [];
         if ($model->store($order, $products, Yii::app()->getUser()->getId(), (int) Yii::app()->getModule('order')->defaultStatus)) {
             if (!empty($coupons)) {
                 $model->applyCoupons($coupons);
             }
             Yii::app()->getUser()->setFlash(yupe\widgets\YFlashMessages::SUCCESS_MESSAGE, Yii::t('OrderModule.order', 'The order created'));
             if (Yii::app()->hasModule('cart')) {
                 Yii::app()->getModule('cart')->clearCart();
             }
             //отправить уведомления
             Yii::app()->orderNotifyService->sendOrderCreatedAdminNotify($model);
             Yii::app()->orderNotifyService->sendOrderCreatedUserNotify($model);
             if (Yii::app()->getModule('order')->showOrder) {
                 $this->redirect(['/order/order/view', 'url' => $model->url]);
             }
             $this->redirect(['/store/product/index']);
         } else {
             Yii::app()->getUser()->setFlash(yupe\widgets\YFlashMessages::ERROR_MESSAGE, CHtml::errorSummary($model));
         }
     }
     $this->redirect(Yii::app()->getUser()->getReturnUrl($_SERVER['HTTP_REFERER']));
 }