Commit 0fc3bf10d06abc4648ab8ed935a03500874159ec

Authored by Yarik
1 parent 51893ef9

Quickbuy modal

common/models/Basket.php
... ... @@ -117,5 +117,9 @@
117 117 ->all();
118 118 }
119 119  
120   -
  120 + public function clear()
  121 + {
  122 + $this->setData([]);
  123 + }
  124 +
121 125 }
122 126 \ No newline at end of file
... ...
frontend/controllers/OrderController.php
1 1 <?php
2   -
3   -namespace frontend\controllers;
4   -
5   -
6   -use common\models\Customer;
7   -use common\models\OrdersProducts;
8   -use common\widgets\Mailer;
9   -use Yii;
10   -use yii\base\InvalidConfigException;
11   -use yii\base\InvalidParamException;
12   -use yii\helpers\ArrayHelper;
13   -use yii\web\Controller;
14   -use common\models\Basket;
15   -use common\modules\product\models\ProductVariant;
16   -use common\models\Orders;
17   -
18   -
19   -class OrderController extends Controller
20   -{
21   -
22   -
23   - public function actionIndex()
24   - {
25   - $basket = \Yii::$app->basket;
26   - $data = $basket->getData();
27   - $models = $basket->findModels(array_keys($data));
28   - return $this->render('index', [
29   - 'models' => $models,
30   - 'basket' => $basket,
31   - ]);
32   - }
33   -
34   -
35   - /**
36   - *
37   - * @return string
38   - */
39   - public function actionSave()
  2 +
  3 + namespace frontend\controllers;
  4 +
  5 + use common\models\Customer;
  6 + use common\models\OrdersProducts;
  7 + use common\widgets\Mailer;
  8 + use Yii;
  9 + use yii\base\InvalidConfigException;
  10 + use yii\base\InvalidParamException;
  11 + use yii\helpers\ArrayHelper;
  12 + use yii\web\Controller;
  13 + use common\models\Basket;
  14 + use common\modules\product\models\ProductVariant;
  15 + use common\models\Orders;
  16 +
  17 + class OrderController extends Controller
40 18 {
41   - $modelOrder = new Orders;
  19 +
  20 + public function actionIndex()
  21 + {
  22 + $basket = \Yii::$app->basket;
  23 + $data = $basket->getData();
  24 + $models = $basket->findModels(array_keys($data));
  25 + return $this->render('index', [
  26 + 'models' => $models,
  27 + 'basket' => $basket,
  28 + ]);
  29 + }
  30 +
42 31 /**
43   - * @var $basket Basket
  32 + * @return string
44 33 */
45   - $basket = \Yii::$app->basket;
46   - $productV = $basket->getData();
47   - if(!empty($productV) && $modelOrder->load(Yii::$app->request->post())&& $modelOrder->save()){
48   - foreach ($productV as $index=>$row) {
49   - $modelOrdersProducts = new OrdersProducts();
50   - $mod_id = $index;
51   - $product = ProductVariant::findOne($mod_id);
52   - /**
53   - * Проверяем товар на наличие
54   - */
55   - if(!$product->stock > 0 || !$product->price > 0 ){
56   - /**
57   - * Добавляем сообщение об ошибке
58   - */
59   - \Yii::$app->getSession()->setFlash('error', 'К сожалению товара '.$product->name . ' нет в наличии');
60   - $basket->delete($product->product_variant_id);
61   - unset($productV[$index]);
62   - }else {
  34 + public function actionSave()
  35 + {
  36 + $modelOrder = new Orders;
  37 + /**
  38 + * @var $basket Basket
  39 + */
  40 + $basket = \Yii::$app->basket;
  41 + $productV = $basket->getData();
  42 + if(!empty( $productV ) && $modelOrder->load(Yii::$app->request->post()) && $modelOrder->save()) {
  43 + foreach($productV as $index => $row) {
  44 + $modelOrdersProducts = new OrdersProducts();
  45 + $mod_id = $index;
  46 + $product = ProductVariant::findOne($mod_id);
63 47 /**
64   - * Удаляем товар с массива и сохраняем в заказ
  48 + * Проверяем товар на наличие
65 49 */
66   - $modelOrdersProducts->order_id = $modelOrder->id;
67   - $modelOrdersProducts->product_name = $product->product->name;
68   - $modelOrdersProducts->name = $product->name;
69   - $modelOrdersProducts->price = $productV[$index]['price'];
70   - $modelOrdersProducts->count= $productV[$index]['count'];
71   - $modelOrdersProducts->sum_cost = $productV[$index]['price'] *$productV[$index]['count'] ;
72   - $modelOrdersProducts->mod_id = $mod_id;
73   - $modelOrdersProducts->sku = $product->sku;
74   - $modelOrdersProducts->validate();
75   - $modelOrdersProducts->save();
76   - $productV[$index] = ArrayHelper::toArray($modelOrdersProducts);
77   - $productV[$index]['img'] = \common\components\artboximage\ArtboxImageHelper::getImageSrc($product->image->imageUrl, 'list');
  50 + if(!$product->stock > 0 || !$product->price > 0) {
  51 + /**
  52 + * Добавляем сообщение об ошибке
  53 + */
  54 + \Yii::$app->getSession()
  55 + ->setFlash('error', 'К сожалению товара ' . $product->name . ' нет в наличии');
  56 + $basket->delete($product->product_variant_id);
  57 + unset( $productV[ $index ] );
  58 + } else {
  59 + /**
  60 + * Удаляем товар с массива и сохраняем в заказ
  61 + */
  62 + $modelOrdersProducts->order_id = $modelOrder->id;
  63 + $modelOrdersProducts->product_name = $product->product->name;
  64 + $modelOrdersProducts->name = $product->name;
  65 + $modelOrdersProducts->price = $productV[ $index ][ 'price' ];
  66 + $modelOrdersProducts->count = $productV[ $index ][ 'count' ];
  67 + $modelOrdersProducts->sum_cost = $productV[ $index ][ 'price' ] * $productV[ $index ][ 'count' ];
  68 + $modelOrdersProducts->mod_id = $mod_id;
  69 + $modelOrdersProducts->sku = $product->sku;
  70 + $modelOrdersProducts->validate();
  71 + $modelOrdersProducts->save();
  72 + $productV[ $index ] = ArrayHelper::toArray($modelOrdersProducts);
  73 + $productV[ $index ][ 'img' ] = \common\components\artboximage\ArtboxImageHelper::getImageSrc($product->image->imageUrl, 'list');
  74 + }
78 75 }
79   - }
80   - /**
81   - * Сохраняем заказ
82   - */
83   - if(!Yii::$app->user->id && !empty($modelOrder->email)){
84   - $modelUser = new Customer();
85   - $modelUser->role = 'person';
86   - $modelUser->username = $modelOrder->email;
87   - $modelUser->name = $modelOrder->name;
88   - $modelUser->phone = $modelOrder->phone;
89   - $modelUser->password = Yii::$app->getSecurity()->generateRandomString(10);
90   - $modelUser->group_id = 2;
91   - $modelUser->save();
92   - }
93   - $order = clone $modelOrder;
94   - /**
95   - * Чистим сессию корзины
96   - */
97   - $modelOrder->clearBasket();
98   - Mailer::widget(
99   - ['type' => 'order',
100   - 'subject'=> 'Спасибо за покупку',
101   - 'email' => $modelOrder->email,
102   - 'params' => [
103   - 'order' => $order,
  76 + /**
  77 + * Сохраняем заказ
  78 + */
  79 + if(!Yii::$app->user->id && !empty( $modelOrder->email )) {
  80 + $modelUser = new Customer();
  81 + $modelUser->role = 'person';
  82 + $modelUser->username = $modelOrder->email;
  83 + $modelUser->name = $modelOrder->name;
  84 + $modelUser->phone = $modelOrder->phone;
  85 + $modelUser->password = Yii::$app->getSecurity()
  86 + ->generateRandomString(10);
  87 + $modelUser->group_id = 2;
  88 + $modelUser->save();
  89 + }
  90 + $order = clone $modelOrder;
  91 + /**
  92 + * Чистим сессию корзины
  93 + */
  94 + $modelOrder->clearBasket();
  95 + Mailer::widget([
  96 + 'type' => 'order',
  97 + 'subject' => 'Спасибо за покупку',
  98 + 'email' => $modelOrder->email,
  99 + 'params' => [
  100 + 'order' => $order,
104 101 'variants' => $productV,
105   - ]
  102 + ],
106 103 ]);
107   - //$text = "# zakaz: ". $order->id .". V blijayshee vremya menedjer svyajetsya s Vami. (044) 303 90 15";
108   - //Yii::$app->sms->send($order->phone, $text);
109   - Yii::$app->session['order_data']= ['order' => $order,'variants'=>$productV];
110   - return $this->redirect(['order/success']);
  104 + //$text = "# zakaz: ". $order->id .". V blijayshee vremya menedjer svyajetsya s Vami. (044) 303 90 15";
  105 + //Yii::$app->sms->send($order->phone, $text);
  106 + Yii::$app->session[ 'order_data' ] = [ 'order' => $order,
  107 + 'variants' => $productV,
  108 + ];
  109 + return $this->redirect([ 'order/success' ]);
  110 + }
  111 + $data = $basket->getData();
  112 + $models = $basket->findModels(array_keys($data));
  113 + return $this->render('index', [
  114 + 'models' => $models,
  115 + 'basket' => $basket,
  116 + ]);
111 117 }
112   - $data = $basket->getData();
113   - $models = $basket->findModels(array_keys($data));
114   - return $this->render('index', [
115   - 'models' => $models,
116   - 'basket' => $basket
117   - ]);
118   - }
119   -
120   - public function actionSuccess(){
121   - return $this->render('success');
122   - }
123   -
124   - public function actionQuick() {
125   - $response = \Yii::$app->response;
126   - $request = \Yii::$app->request;
127   - $response->format = $response::FORMAT_JSON;
128   - $product_variant_id = (int) $request->post('product_variant_id');
129   - $orders = new Orders([
130   - 'scenario' => Orders::SCENARIO_QUICK,
131   - 'name' => 'Покупка в 1 клик',
132   - ]);
133   - if(!empty($product_variant_id)) {
  118 +
  119 + public function actionSuccess()
  120 + {
  121 + return $this->render('success');
  122 + }
  123 +
  124 + public function actionQuick()
  125 + {
  126 + $response = \Yii::$app->response;
  127 + $request = \Yii::$app->request;
  128 + $response->format = $response::FORMAT_JSON;
  129 + $product_variant_id = (int) $request->post('product_variant_id');
  130 + $orders = new Orders([
  131 + 'scenario' => Orders::SCENARIO_QUICK,
  132 + 'name' => 'Покупка в 1 клик',
  133 + ]);
  134 + if(!empty( $product_variant_id )) {
  135 + /**
  136 + * @var ProductVariant $product_variant
  137 + */
  138 + $product_variant = ProductVariant::findOne($product_variant_id);
  139 + } else {
  140 + throw new InvalidParamException('Не указан товар');
  141 + }
  142 + if(!empty( $product_variant ) && $orders->load($request->post()) && $orders->save()) {
  143 + if($product_variant->stock <= 0 || $product_variant->price <= 0) {
  144 + $orders->delete();
  145 + return [
  146 + 'error' => 'К сожалению товара ' . $product_variant->name . ' нет в наличии',
  147 + ];
  148 + } else {
  149 + $order_product = new OrdersProducts([
  150 + 'order_id' => $orders->id,
  151 + 'product_name' => $product_variant->product->name,
  152 + 'name' => $product_variant->name,
  153 + 'price' => $product_variant->price,
  154 + 'count' => 1,
  155 + 'sum_cost' => $product_variant->price,
  156 + 'mod_id' => $product_variant->product_variant_id,
  157 + 'sku' => $product_variant->sku,
  158 + ]);
  159 + $order_product->save();
  160 + return [
  161 + 'result' => 'Спасибо за заказ! Наши менеджеры свяжутся с Вами в ближайшее время.',
  162 + ];
  163 + }
  164 + } else {
  165 + throw new InvalidConfigException('Товар не найден или не удалось загрузить данные о покупателе.');
  166 + }
  167 + }
  168 +
  169 + public function actionQuickBasket()
  170 + {
  171 + $response = \Yii::$app->response;
  172 + $request = \Yii::$app->request;
  173 + $response->format = $response::FORMAT_JSON;
134 174 /**
135   - * @var ProductVariant $product_variant
  175 + * @var array $data
136 176 */
137   - $product_variant = ProductVariant::findOne($product_variant_id);
138   - } else {
139   - throw new InvalidParamException('Не указан товар');
140   - }
141   - if(!empty($product_variant) && $orders->load($request->post()) && $orders->save()) {
142   - if($product_variant->stock <= 0 || $product_variant->price <= 0) {
143   - $orders->delete();
144   - return [
145   - 'error' => 'К сожалению товара '.$product_variant->name.' нет в наличии',
146   - ];
  177 + $data = \Yii::$app->basket->getData();
  178 + $orders = new Orders([
  179 + 'scenario' => Orders::SCENARIO_QUICK,
  180 + 'name' => 'Покупка в 1 клик',
  181 + ]);
  182 + if(!empty( $data )) {
  183 + /**
  184 + * @var ProductVariant[] $product_variants
  185 + * @var OrdersProducts[] $order_products
  186 + */
  187 + $product_variants = [];
  188 + $order_products = [];
  189 + foreach($data as $product_variant_id => $item) {
  190 + $product_variant = ProductVariant::findOne($product_variant_id);
  191 + if(!empty($product_variant) && $product_variant->stock > 0 && $product_variant->price > 0) {
  192 + $product_variants[$product_variant_id] = $product_variant;
  193 + $order_products[$product_variant_id] = new OrdersProducts([
  194 + 'product_name' => $product_variant->product->name,
  195 + 'name' => $product_variant->name,
  196 + 'price' => $product_variant->price,
  197 + 'count' => $item['count'],
  198 + 'sum_cost' => $item['count'] * $product_variant->price,
  199 + 'mod_id' => $product_variant->product_variant_id,
  200 + 'sku' => $product_variant->sku,
  201 + ]);
  202 + }
  203 + }
147 204 } else {
148   - $order_product = new OrdersProducts([
149   - 'order_id' => $orders->id,
150   - 'product_name' => $product_variant->product->name,
151   - 'name' => $product_variant->name,
152   - 'price' => $product_variant->price,
153   - 'count' => 1,
154   - 'sum_cost' => $product_variant->price,
155   - 'mod_id' => $product_variant->product_variant_id,
156   - 'sku' => $product_variant->sku,
157   - ]);
158   - $order_product->save();
  205 + throw new InvalidParamException('Не указан товар');
  206 + }
  207 + if(!empty( $order_products ) && $orders->load($request->post()) && $orders->save()) {
  208 + foreach($order_products as $order_product) {
  209 + $order_product->order_id = $orders->id;
  210 + $order_product->save();
  211 + }
  212 + \Yii::$app->basket->clear();
159 213 return [
160   - 'result' => 'Спасибо за заказ! Наши менеджеры свяжутся с Вами в ближайшее время.'
  214 + 'result' => 'Спасибо за заказ! Наши менеджеры свяжутся с Вами в ближайшее время.',
161 215 ];
  216 + } else {
  217 + throw new InvalidConfigException('Товар не найден или не удалось загрузить данные о покупателе.');
162 218 }
163   - } else {
164   - throw new InvalidConfigException('Товар не найден или не удалось загрузить данные о покупателе.');
165 219 }
166   -
167 220 }
168   -
169   -}
... ...
frontend/views/basket/modal_items.php
1 1 <?php
2 2 use common\models\Basket;
  3 + use common\models\Orders;
3 4 use common\modules\product\models\ProductVariant;
4 5 use yii\helpers\Html;
5   -use yii\helpers\Url;
6   -use yii\web\View;
  6 + use yii\helpers\Url;
  7 + use yii\web\View;
  8 + use yii\widgets\ActiveForm;
  9 + use yii\widgets\MaskedInput;
7 10  
8 11 /**
9 12 * @var View $this
... ... @@ -25,11 +28,8 @@ use yii\web\View;
25 28 <span class="cart_total"><?php echo $basket->getSum(); ?></span><span class="currency">&nbsp;<!--грн.--></span>
26 29 </div>
27 30 </div>
28   -
29 31 </div>
30   -
31 32 <div class="modal-body">
32   -
33 33 <table class="tovar">
34 34 <tbody>
35 35 <?php
... ... @@ -38,19 +38,19 @@ use yii\web\View;
38 38 <tr data-id="<?php echo $model->product_variant_id; ?>">
39 39 <td class="left">
40 40 <?php
41   - echo Html::img($model->getImageUrl());
  41 + echo Html::img($model->getImageUrl());
42 42 ?>
43 43 </td>
44 44 <td class="right">
45   - <div class="title"><?php echo $model->getFullname();?></div>
  45 + <div class="title"><?php echo $model->getFullname(); ?></div>
46 46 <div class="count_choise">
47 47 <span class="minus"></span>
48   - <input type="text" name="count" value="<?php echo $basket->getItem($model->product_variant_id)['count'];?>" class="prod_count">
  48 + <input type="text" name="count" value="<?php echo $basket->getItem($model->product_variant_id)[ 'count' ]; ?>" class="prod_count">
49 49 <span class="plus"></span>
50 50 <span class="total_summ">= <span class="total_prod">
51 51 <?php
52 52 $item = $basket->getItem($model->product_variant_id);
53   - echo $item['count'] * $item['price'];
  53 + echo $item[ 'count' ] * $item[ 'price' ];
54 54 ?>
55 55 </span><span class="currency">&nbsp;<!--грн.--></span>
56 56 </span>
... ... @@ -64,8 +64,8 @@ use yii\web\View;
64 64 ?>
65 65 <tr>
66 66 <td class="left">
67   - <?= Html::a('Оформить заказ',Url::to('/order'),['class'=>'btn'])?>
68   -
  67 + <?= Html::a('Оформить заказ', Url::to('/order'), [ 'class' => 'btn' ]) ?>
  68 +
69 69 </td>
70 70 <td class="right">
71 71 <div class="back_to_shop">
... ... @@ -77,18 +77,39 @@ use yii\web\View;
77 77 </tbody>
78 78 </table>
79 79 <br/>
80   -
81 80 </div>
82   -
83 81 <div class="modal-footer">
84   -
85 82 <div class="gray_part" id="buy_back_call_form">
86 83 <p class="title">Заказать без оформления</p>
87 84 <p class="subtitle">Можно не заполнять никаких форм, просто оставить телефон и консультант решит все вопросы по оформлению заказа.</p>
88 85 <div class="back_call_form">
89   - <input type="tel" class="customerphone" name="customerphone" value="" placeholder="+38 (0XX) XXX-XX-XX">
90   - <span class="btn btn-gray disabled" id="buy_back_call_submit" disabled1="disabled1">жду звонка</span>
91   - <span class="submit_indicator"></span>
  86 + <?php
  87 + $quickbuy = new Orders([
  88 + 'scenario' => Orders::SCENARIO_QUICK,
  89 + ]);
  90 + $form = ActiveForm::begin([
  91 + 'id' => 'quickbuy-modal',
  92 + ]);
  93 + echo $form->field($quickbuy, 'phone', [
  94 + 'selectors' => [
  95 + 'input' => '#order-phone-modal',
  96 + ],
  97 + ])
  98 + ->widget(MaskedInput::className(), [
  99 + 'mask' => '+38(999)999-99-99',
  100 + 'options' => [
  101 + 'type' => 'tel',
  102 + 'class' => 'customerphone',
  103 + 'id' => 'order-phone-modal',
  104 + ],
  105 + ])
  106 + ->label(false);
  107 + echo Html::submitInput('жду звонка', [ 'class' => 'btn btn-info' ]);
  108 + echo Html::tag('span', '', [
  109 + 'class' => 'submit_indicator',
  110 + ]);
  111 + $form::end();
  112 + ?>
92 113 <div class="clr"></div>
93 114 </div>
94 115 <p class="phone-example">например: +38 (095) 282-85-08</p>
... ...
frontend/web/js/artbox_basket.js
... ... @@ -65,5 +65,5 @@ var ArtboxBasket = (function () {
65 65 configurable: true
66 66 });
67 67 return ArtboxBasket;
68   -})();
  68 +}());
69 69 //# sourceMappingURL=artbox_basket.js.map
70 70 \ No newline at end of file
... ...
frontend/web/js/artbox_basket.js.map
1   -{"version":3,"file":"artbox_basket.js","sourceRoot":"","sources":["artbox_basket.ts"],"names":["ArtboxBasket","ArtboxBasket.constructor","ArtboxBasket.items","ArtboxBasket.add","ArtboxBasket.set","ArtboxBasket.updateModal","ArtboxBasket.updateCart","ArtboxBasket.count","ArtboxBasket.sum"],"mappings":"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"}
2 1 \ No newline at end of file
  2 +{"version":3,"file":"artbox_basket.js","sourceRoot":"","sources":["artbox_basket.ts"],"names":[],"mappings":"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"}
3 3 \ No newline at end of file
... ...
frontend/web/js/script.js
... ... @@ -224,4 +224,21 @@ $(document).on(&#39;submit&#39;, &#39;#quickbuy-form&#39;, function(e) {
224 224 }
225 225 })
226 226 });
  227 +$(document).on('submit', '#quickbuy-modal', function(e)
  228 +{
  229 + e.preventDefault();
  230 + var form = $('#buyForm');
  231 + $.post('/order/quick-basket', $(this).serialize(), function(data)
  232 + {
  233 + if(!data.error) {
  234 + $(form).find('.modal-body').html(data.result);
  235 + } else {
  236 + $(form).find('.modal-body').html(data.error);
  237 + }
  238 + }).fail(function(jqXHR, textStatus, errorThrown) {
  239 + $(form).find('.modal-body').html(JSON.parse(jqXHR.responseText).message);
  240 + });
  241 + $(form).find('.modal-title').remove();
  242 + $(form).find('.modal-footer').remove();
  243 +});
227 244 /* End ajax form submit */
228 245 \ No newline at end of file
... ...