From 7c3211cc3b8c75ef62fe2032e3f1620e2ffd3de4 Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Thu, 27 Oct 2016 19:35:35 +0300 Subject: [PATCH] big commti --- frontend/controllers/BasketController.php | 6 +++++- frontend/controllers/OrderController.php | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/frontend/controllers/BasketController.php b/frontend/controllers/BasketController.php index 364eaf4..2baf0d6 100755 --- a/frontend/controllers/BasketController.php +++ b/frontend/controllers/BasketController.php @@ -76,11 +76,15 @@ */ public function getModal($basket): string { + + \Yii::$app->getAssetManager()->bundles['yii\web\JqueryAsset']['js'] =[]; + + $output = ''; $data = $basket->getData(); $models = $basket->findModels(array_keys($data)); if(!empty( $models )) { - $output = $this->renderPartial('modal_items', [ + $output = $this->renderAjax('modal_items', [ 'models' => $models, 'basket' => $basket, ]); diff --git a/frontend/controllers/OrderController.php b/frontend/controllers/OrderController.php index 8096840..36991ad 100755 --- a/frontend/controllers/OrderController.php +++ b/frontend/controllers/OrderController.php @@ -174,6 +174,7 @@ public function actionQuickBasket() { + $response = \Yii::$app->response; $request = \Yii::$app->request; $response->format = $response::FORMAT_JSON; @@ -181,11 +182,16 @@ * @var array $data */ $data = \Yii::$app->basket->getData(); + $orders = new Orders([ 'scenario' => Orders::SCENARIO_QUICK, 'name' => 'Покупка в 1 клик', ]); + + + if(!empty( $data )) { + /** * @var ProductVariant[] $product_variants * @var OrdersProducts[] $order_products @@ -193,6 +199,7 @@ $product_variants = []; $order_products = []; foreach($data as $product_variant_id => $item) { + $product_variant = ProductVariant::findOne($product_variant_id); if(!empty($product_variant) && $product_variant->price > 0) { $product_variants[$product_variant_id] = $product_variant; @@ -207,10 +214,16 @@ ]); } } + } else { + throw new InvalidParamException('Не указан товар'); } + + + if(!empty( $order_products ) && $orders->load($request->post()) && $orders->save()) { + foreach($order_products as $order_product) { $order_product->order_id = $orders->id; $order_product->save(); @@ -220,6 +233,7 @@ 'result' => 'Спасибо за заказ! Наши менеджеры свяжутся с Вами в ближайшее время.', ]; } else { + throw new InvalidConfigException('Товар не найден или не удалось загрузить данные о покупателе.'); } } -- libgit2 0.21.4