Blame view

controllers/OrderController.php 19 KB
e0906f08   Alexey Boroda   -Fixing existing ...
1
2
3
4
  <?php
      
      namespace artweb\artbox\ecommerce\controllers;
      
db3040d3   Alexey Boroda   -Order module alm...
5
      use artweb\artbox\components\SmsSender;
e0906f08   Alexey Boroda   -Fixing existing ...
6
      use artweb\artbox\ecommerce\models\OrderSearch;
1f2fdc61   Alexey Boroda   -Product carousel...
7
      use common\models\User;
2ad65823   Alexey Boroda   -Added date range...
8
      use phpDocumentor\Reflection\Types\Null_;
e0906f08   Alexey Boroda   -Fixing existing ...
9
      use Yii;
41f0c492   Yarik   Print and email
10
      use yii\data\ArrayDataProvider;
2ad65823   Alexey Boroda   -Added date range...
11
      use yii\helpers\ArrayHelper;
7520dc0e   Alexey Boroda   -Grid with input ...
12
      use yii\helpers\Json;
622a985a   Alexey Boroda   -Feed in process
13
      use yii\helpers\VarDumper;
e0906f08   Alexey Boroda   -Fixing existing ...
14
15
16
      use yii\web\Controller;
      use yii\filters\VerbFilter;
      use yii\data\ActiveDataProvider;
d57c8c00   Alexey Boroda   -Blocking in process
17
      use yii\web\ForbiddenHttpException;
e0906f08   Alexey Boroda   -Fixing existing ...
18
19
20
21
22
23
      use yii\web\HttpException;
      use artweb\artbox\ecommerce\models\Order;
      use artweb\artbox\ecommerce\models\OrderProduct;
      use artweb\artbox\ecommerce\models\ProductVariant;
      use yii\web\NotFoundHttpException;
      use developeruz\db_rbac\behaviors\AccessBehavior;
d57c8c00   Alexey Boroda   -Blocking in process
24
      use yii\web\Response;
e0906f08   Alexey Boroda   -Fixing existing ...
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
      
      class OrderController extends Controller
      {
          /**
           * @inheritdoc
           */
          public function behaviors()
          {
              return [
                  'access' => [
                      'class' => AccessBehavior::className(),
                      'rules' => [
                          'site' => [
                              [
                                  'actions' => [
                                      'login',
                                      'error',
                                  ],
                                  'allow'   => true,
                              ],
                          ],
                      ],
                  ],
                  'verbs'  => [
                      'class'   => VerbFilter::className(),
                      'actions' => [
                          'delete' => [ 'POST' ],
                      ],
                  ],
              ];
          }
          
          public function actionIndex()
          {
              $searchModel = new OrderSearch();
              $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
              
              return $this->render(
                  'index',
                  [
                      'dataProvider' => $dataProvider,
                      'searchModel'  => $searchModel,
                  ]
              );
          }
          
          public function actionShow($id)
          {
              
              $model = $this->findModel((int) $id);
              $dataProvider = new ActiveDataProvider(
                  [
                      'query'      => OrderProduct::find()
                                                  ->where([ 'order_id' => (int) $id ]),
                      'pagination' => [
                          'pageSize' => 20,
                      ],
                  ]
              );
              if ($model->load(Yii::$app->request->post()) && $model->save()) {
                  return $this->redirect([ 'index' ]);
              } else {
                  $model_orderproduct = new OrderProduct();
                  
                  return $this->renderAjax(
                      'show',
                      [
                          'model'              => $model,
                          'model_orderproduct' => $model_orderproduct,
                          'dataProvider'       => $dataProvider,
                      ]
                  );
              }
          }
          
          public function actionLabelUpdate()
          {
              $model = Order::findOne($_POST[ 'order_id' ]);
              $model->label = $_POST[ 'label_id' ];
              $model->save();
          }
          
db3040d3   Alexey Boroda   -Order module alm...
107
108
109
          public function actionView($id)
          {
              $model = $this->findModel($id);
d57c8c00   Alexey Boroda   -Blocking in process
110
111
112
113
114
              $dataProvider = new ActiveDataProvider(
                  [
                      'query' => $model->getProducts(),
                  ]
              );
db3040d3   Alexey Boroda   -Order module alm...
115
116
117
118
119
120
121
122
123
              return $this->render(
                  'view',
                  [
                      'model'    => $model,
                      'products' => $dataProvider,
                  ]
              );
          }
          
e0906f08   Alexey Boroda   -Fixing existing ...
124
125
126
127
128
129
130
          public function actionPayUpdate()
          {
              $model = Order::findOne($_POST[ 'order_id' ]);
              $model->pay = $_POST[ 'pay_id' ];
              $model->save();
          }
          
2ad65823   Alexey Boroda   -Added date range...
131
          public function actionDelete($id)
e0906f08   Alexey Boroda   -Fixing existing ...
132
          {
3e703aac   Alexey Boroda   -Order form fixes
133
134
135
136
137
138
139
140
              if (\Yii::$app->user->identity->isAdmin()) {
                  $this->findModel($id)
                       ->delete();
              }
              
              return $this->redirect([ 'index' ]);
          }
          
42883b83   Alexey Boroda   -Order form beta ...
141
142
143
144
145
146
147
148
149
150
          //        public function actionDeleteProduct($id)
          //        {
          //            $model = OrderProduct::findOne($id);
          //            $model->removed = true;
          //            $orderId = $model->order_id;
          //            if ($model->save()) {
          //                $model->order->totalRecount();
          //                return $this->actionUpdate($orderId);
          //            }
          //        }
e0906f08   Alexey Boroda   -Fixing existing ...
151
152
153
          
          public function actionAdd()
          {
41f0c492   Yarik   Print and email
154
              if (!empty( \Yii::$app->request->post() )) {
2ad65823   Alexey Boroda   -Added date range...
155
156
                  $id = \Yii::$app->request->post('OrderProduct')[ 'id' ];
                  $order_id = \Yii::$app->request->post('OrderProduct')[ 'order_id' ];
41f0c492   Yarik   Print and email
157
                  if (!empty( \Yii::$app->request->post('OrderProduct')[ 'count' ] )) {
2ad65823   Alexey Boroda   -Added date range...
158
                      $count = \Yii::$app->request->post('OrderProduct')[ 'count' ];
0893579c   Alexey Boroda   -Bug fixed
159
                  } else {
2ad65823   Alexey Boroda   -Added date range...
160
161
162
                      $count = 1;
                  }
                  $productVariant = ProductVariant::findOne($id);
eb190b1f   Alexey Boroda   -Order form add p...
163
                  
2ad65823   Alexey Boroda   -Added date range...
164
165
166
167
168
169
170
171
172
173
174
175
176
                  $model = OrderProduct::find()
                                       ->where(
                                           [
                                               'order_id' => $order_id,
                                           ]
                                       )
                                       ->andWhere(
                                           [
                                               'product_variant_id' => $id,
                                           ]
                                       )
                                       ->one();
                  
41f0c492   Yarik   Print and email
177
                  if (!empty( $model )) {
2ad65823   Alexey Boroda   -Added date range...
178
179
180
181
182
183
184
185
186
187
188
                      $model->count += $count;
                  } else {
                      $model = new OrderProduct();
                      
                      $model->order_id = $order_id;
                      $model->product_variant_id = $productVariant->id;
                      $model->product_name = $productVariant->product->lang->title;
                      $model->name = $productVariant->lang->title;
                      $model->sku = $productVariant->sku;
                      $model->price = $productVariant->price;
                      $model->count = $count;
e0906f08   Alexey Boroda   -Fixing existing ...
189
                  }
2ad65823   Alexey Boroda   -Added date range...
190
191
192
                  \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
                  
                  if ($model->save()) {
28b51b30   Alexey Boroda   -Order module bug...
193
                      $model->order->totalRecount();
2ad65823   Alexey Boroda   -Added date range...
194
195
196
197
198
199
200
                      return [ 'status' => 'success' ];
                  } else {
                      return [ 'status' => 'fail' ];
                  }
                  
              } else {
                  throw new NotFoundHttpException();
e0906f08   Alexey Boroda   -Fixing existing ...
201
              }
e0906f08   Alexey Boroda   -Fixing existing ...
202
203
204
205
          }
          
          public function actionCreate()
          {
2ad65823   Alexey Boroda   -Added date range...
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
              if (\Yii::$app->request->post('hasEditable')) {
                  $orderProductId = \Yii::$app->request->post('editableKey');
                  $orderProduct = OrderProduct::findOne($orderProductId);
                  $out = Json::encode(
                      [
                          'output'  => '',
                          'message' => '',
                      ]
                  );
                  
                  $posted = current(\Yii::$app->request->post('OrderProduct'));
                  $post = [ 'OrderProduct' => $posted ];
                  
                  if ($orderProduct->load($post)) {
                      $orderProduct->save();
                      $output = '';
41f0c492   Yarik   Print and email
222
                      if (isset( $posted[ 'count' ] )) {
2ad65823   Alexey Boroda   -Added date range...
223
224
225
226
227
228
229
230
231
232
233
234
235
                          $output = Yii::$app->formatter->asDecimal($orderProduct->count, 0);
                      }
                      $out = Json::encode(
                          [
                              'output'  => $output,
                              'message' => '',
                          ]
                      );
                  }
                  
                  return $out;
              }
              
e0906f08   Alexey Boroda   -Fixing existing ...
236
              $model = new Order();
b0c7d586   Alexey Boroda   -Bykov fixes
237
238
              $model->phone = '+38(000)000-00-00';
              $model->name = \Yii::t('app', 'Новый заказ');
eb190b1f   Alexey Boroda   -Order form add p...
239
              $model->published = false;
b0c7d586   Alexey Boroda   -Bykov fixes
240
              $model->save();
e0906f08   Alexey Boroda   -Fixing existing ...
241
              
7c536875   Yarik   Sms send
242
243
244
245
246
247
              return $this->redirect(
                  [
                      'update',
                      'id' => $model->id,
                  ]
              );
4ee1bc37   Alexey Boroda   -Before dev
248
              
7520dc0e   Alexey Boroda   -Grid with input ...
249
250
              $dataProvider = new ActiveDataProvider(
                  [
0893579c   Alexey Boroda   -Bug fixed
251
252
                      'query' => $model->getProducts()
                                       ->joinWith('productVariant'),
7520dc0e   Alexey Boroda   -Grid with input ...
253
254
255
                  ]
              );
              
e0906f08   Alexey Boroda   -Fixing existing ...
256
              if ($model->load(Yii::$app->request->post()) && $model->save()) {
eb190b1f   Alexey Boroda   -Order form add p...
257
258
                  $model->published = true;
                  $model->save();
e0906f08   Alexey Boroda   -Fixing existing ...
259
260
261
262
263
                  return $this->redirect([ 'index' ]);
              } else {
                  return $this->render(
                      'create',
                      [
7520dc0e   Alexey Boroda   -Grid with input ...
264
265
                          'model'        => $model,
                          'dataProvider' => $dataProvider,
e0906f08   Alexey Boroda   -Fixing existing ...
266
267
268
269
                      ]
                  );
              }
          }
0893579c   Alexey Boroda   -Bug fixed
270
          
41f0c492   Yarik   Print and email
271
          public function actionPrint($order_id)
0893579c   Alexey Boroda   -Bug fixed
272
          {
41f0c492   Yarik   Print and email
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
              $order = $this->findModel($order_id);
              $dataProvider = new ArrayDataProvider(
                  [
                      'allModels'  => $order->products,
                      'pagination' => false,
                      'sort'       => false,
                  ]
              );
              return $this->renderPartial(
                  'print',
                  [
                      'order' => $order,
                      'dataProvider' => $dataProvider,
                  ]
              );
0893579c   Alexey Boroda   -Bug fixed
288
              
54e2e678   Administrator   slider
289
          }
0893579c   Alexey Boroda   -Bug fixed
290
          
6f14188b   Alexey Boroda   -Product card fixed
291
292
          public function actionUpdate($id)
          {
2ad65823   Alexey Boroda   -Added date range...
293
              if (\Yii::$app->request->post('hasEditable')) {
7520dc0e   Alexey Boroda   -Grid with input ...
294
295
                  $orderProductId = \Yii::$app->request->post('editableKey');
                  $orderProduct = OrderProduct::findOne($orderProductId);
2ad65823   Alexey Boroda   -Added date range...
296
297
298
299
300
301
302
                  $out = Json::encode(
                      [
                          'output'  => '',
                          'message' => '',
                      ]
                  );
                  
7520dc0e   Alexey Boroda   -Grid with input ...
303
                  $posted = current(\Yii::$app->request->post('OrderProduct'));
2ad65823   Alexey Boroda   -Added date range...
304
                  $post = [ 'OrderProduct' => $posted ];
7520dc0e   Alexey Boroda   -Grid with input ...
305
                  
2ad65823   Alexey Boroda   -Added date range...
306
                  if ($orderProduct->load($post)) {
7520dc0e   Alexey Boroda   -Grid with input ...
307
                      $orderProduct->save();
793ad526   Alexey Boroda   -Brain fuck! with...
308
                      $orderProduct->order->totalRecount();
7520dc0e   Alexey Boroda   -Grid with input ...
309
                      $output = '';
41f0c492   Yarik   Print and email
310
                      if (isset( $posted[ 'count' ] )) {
7520dc0e   Alexey Boroda   -Grid with input ...
311
312
                          $output = Yii::$app->formatter->asDecimal($orderProduct->count, 0);
                      }
2ad65823   Alexey Boroda   -Added date range...
313
314
315
316
317
318
                      $out = Json::encode(
                          [
                              'output'  => $output,
                              'message' => '',
                          ]
                      );
7520dc0e   Alexey Boroda   -Grid with input ...
319
                  }
2ad65823   Alexey Boroda   -Added date range...
320
                  
7520dc0e   Alexey Boroda   -Grid with input ...
321
322
                  return $out;
              }
52e22ec2   Administrator   add similar products
323
  
7520dc0e   Alexey Boroda   -Grid with input ...
324
              $model = $this->findModel($id);
52e22ec2   Administrator   add similar products
325
  
1f2fdc61   Alexey Boroda   -Product carousel...
326
327
328
329
              /**
               * @var User $user
               */
              $user = \Yii::$app->user->identity;
d57c8c00   Alexey Boroda   -Blocking in process
330
              if ($model->isBlocked() && $model->edit_id !== \Yii::$app->user->id) {
1f2fdc61   Alexey Boroda   -Product carousel...
331
                  if (!$user->isAdmin()) {
99de237f   Alexey Boroda   -Order block core...
332
333
                      throw new ForbiddenHttpException();
                  }
d57c8c00   Alexey Boroda   -Blocking in process
334
              }
52e22ec2   Administrator   add similar products
335
  
7520dc0e   Alexey Boroda   -Grid with input ...
336
337
              $dataProvider = new ActiveDataProvider(
                  [
0893579c   Alexey Boroda   -Bug fixed
338
                      'query' => $model->getProducts()
42883b83   Alexey Boroda   -Order form beta ...
339
340
                                       ->joinWith('productVariant.product.brand')
                                       ->with('productVariant.variantStocks'),
52c27888   Alexey Boroda   -Order module tas...
341
                      'sort'  => [ 'defaultOrder' => [ 'id' => SORT_ASC ] ],
7520dc0e   Alexey Boroda   -Grid with input ...
342
343
344
                  ]
              );
              
41f0c492   Yarik   Print and email
345
              if (empty( $model->manager_id )) {
d57c8c00   Alexey Boroda   -Blocking in process
346
347
                  $model->manager_id = \Yii::$app->user->id;
              }
52e22ec2   Administrator   add similar products
348
  
793ad526   Alexey Boroda   -Brain fuck! with...
349
350
              $headers = \Yii::$app->response->headers;
              $headers->set('Access-Control-Allow-Origin', '*');
41f0c492   Yarik   Print and email
351
              
6f14188b   Alexey Boroda   -Product card fixed
352
              if ($model->load(Yii::$app->request->post()) && $model->save()) {
52e22ec2   Administrator   add similar products
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
  
                  if ($model->published != true) {
                      $model->published = true;
                      $model->save();
                      /**
                       * @var SmsSender $sender
                       */
  
                      $sender = \Yii::$app->sender;
                      $sender->send(
                          $model->phone,
                          $this->renderPartial(
                              '@common/mail/smsorder',
                              [
                                  'order_id' => $model->id,
                              ]
                          )
                      );
                  }
  
  
d57c8c00   Alexey Boroda   -Blocking in process
374
                  $this->unblockOrder($model->id);
b0c7d586   Alexey Boroda   -Bykov fixes
375
376
377
378
379
380
381
                  return $this->render(
                      'update',
                      [
                          'model'        => $model,
                          'dataProvider' => $dataProvider,
                      ]
                  );
6f14188b   Alexey Boroda   -Product card fixed
382
383
384
385
              } else {
                  return $this->render(
                      'update',
                      [
7520dc0e   Alexey Boroda   -Grid with input ...
386
387
                          'model'        => $model,
                          'dataProvider' => $dataProvider,
6f14188b   Alexey Boroda   -Product card fixed
388
389
390
391
392
                      ]
                  );
              }
          }
          
41f0c492   Yarik   Print and email
393
          public function actionFindProduct($q = null, $id = null)
e0906f08   Alexey Boroda   -Fixing existing ...
394
          {
6f14188b   Alexey Boroda   -Product card fixed
395
              \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
2ad65823   Alexey Boroda   -Added date range...
396
397
              $out = [
                  'results' => [
0893579c   Alexey Boroda   -Bug fixed
398
399
                      'id'  => '',
                      'sku' => '',
2ad65823   Alexey Boroda   -Added date range...
400
                  ],
6f14188b   Alexey Boroda   -Product card fixed
401
              ];
2ad65823   Alexey Boroda   -Added date range...
402
              if (!is_null($q)) {
db3040d3   Alexey Boroda   -Order module alm...
403
                  $result = ProductVariant::find()//                                        ->select(
d57c8c00   Alexey Boroda   -Blocking in process
404
405
406
407
408
409
                  //                                            [
                  //                                                'id',
                  //                                                'sku',
                  //                                                'product_lang.title AS name'
                  //                                            ]
                  //                                        )
0893579c   Alexey Boroda   -Bug fixed
410
                                          ->joinWith('product.lang')
2ad65823   Alexey Boroda   -Added date range...
411
412
413
414
415
416
417
418
419
420
421
422
423
                                          ->where(
                                              [
                                                  'like',
                                                  'sku',
                                                  $q,
                                              ]
                                          )
                                          ->limit(20)
                                          ->asArray()
                                          ->all();
                  
                  $out[ 'results' ] = $result;
              }
2ad65823   Alexey Boroda   -Added date range...
424
              return $out;
e0906f08   Alexey Boroda   -Fixing existing ...
425
426
          }
          
db3040d3   Alexey Boroda   -Order module alm...
427
428
429
430
431
432
433
434
435
          public function actionSendSms()
          {
              $phone = \Yii::$app->request->post('phone');
              $content = \Yii::$app->request->post('content');
              $sender = \Yii::$app->sender;
              $result = $sender->send($phone, $content);
              return $phone . $content . $result;
          }
          
42883b83   Alexey Boroda   -Order form beta ...
436
437
438
439
440
441
442
443
444
445
446
447
448
          public function actionDeleteProduct($id, $order_id)
          {
              $model = OrderProduct::findOne($id);
              $model->removed = true;
              $model->save();
              $order = Order::findOne($order_id);
              $order->totalRecount();
              \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
              return [
                  'status' => 'success',
                  'id'     => $id,
              ];
          }
2ad65823   Alexey Boroda   -Added date range...
449
          
e0906f08   Alexey Boroda   -Fixing existing ...
450
451
          protected function findModel($id)
          {
41f0c492   Yarik   Print and email
452
              if (( $model = Order::findOne($id) ) !== null) {
e0906f08   Alexey Boroda   -Fixing existing ...
453
454
455
456
457
                  return $model;
              } else {
                  throw new NotFoundHttpException('The requested page does not exist.');
              }
          }
e861ae92   Alexey Boroda   -Add column to pa...
458
          
793ad526   Alexey Boroda   -Brain fuck! with...
459
          public function actionExitOrder()
99de237f   Alexey Boroda   -Order block core...
460
          {
eb190b1f   Alexey Boroda   -Order form add p...
461
              try {
793ad526   Alexey Boroda   -Brain fuck! with...
462
                  $model = Order::findOne(\Yii::$app->request->post('id'));
eb190b1f   Alexey Boroda   -Order form add p...
463
464
465
              } catch (NotFoundHttpException $e) {
                  return $this->redirect('index');
              }
b0c7d586   Alexey Boroda   -Bykov fixes
466
              if ($model->edit_id == \Yii::$app->user->id) {
793ad526   Alexey Boroda   -Brain fuck! with...
467
                  $this->unblockOrder(\Yii::$app->request->post('id'));
b0c7d586   Alexey Boroda   -Bykov fixes
468
              }
52e22ec2   Administrator   add similar products
469
  
eb190b1f   Alexey Boroda   -Order form add p...
470
471
472
              if (!$model->published) {
                  $model->deleteUnpublished();
              }
41f0c492   Yarik   Print and email
473
              //            return $this->redirect('index');
793ad526   Alexey Boroda   -Brain fuck! with...
474
          }
41f0c492   Yarik   Print and email
475
          
793ad526   Alexey Boroda   -Brain fuck! with...
476
477
478
479
480
481
482
483
484
485
          public function actionCloseOrder($id)
          {
              try {
                  $model = Order::findOne($id);
              } catch (NotFoundHttpException $e) {
                  return $this->redirect('index');
              }
              if ($model->edit_id == \Yii::$app->user->id) {
                  $this->unblockOrder($id);
              }
41f0c492   Yarik   Print and email
486
              
793ad526   Alexey Boroda   -Brain fuck! with...
487
488
489
              if (!$model->published) {
                  $model->deleteUnpublished();
              }
41f0c492   Yarik   Print and email
490
              return $this->redirect('index');
99de237f   Alexey Boroda   -Order block core...
491
          }
d57c8c00   Alexey Boroda   -Blocking in process
492
493
494
          
          public function actionBlockOrder()
          {
41f0c492   Yarik   Print and email
495
              if (!empty( \Yii::$app->request->post() )) {
d57c8c00   Alexey Boroda   -Blocking in process
496
497
498
499
                  \Yii::$app->response->format = Response::FORMAT_JSON;
                  
                  $model = $this->findModel(\Yii::$app->request->post('id'));
                  
b0c7d586   Alexey Boroda   -Bykov fixes
500
501
502
                  $user = User::find()
                              ->where([ 'id' => $model->edit_id ])
                              ->one();
d57c8c00   Alexey Boroda   -Blocking in process
503
504
505
                  $model->edit_time = time();
                  $model->edit_id = \Yii::$app->user->id;
                  
99de237f   Alexey Boroda   -Order block core...
506
507
508
                  //$date = new \DateTime("NOW"/*date('D, d M Y H:i:s', $model->edit_time)*/, new \DateTimeZone('Europe/Kiev'));
                  $date = \Yii::$app->formatter->asDatetime($model->edit_time + 7200, 'php:G : i');
                  
d57c8c00   Alexey Boroda   -Blocking in process
509
                  if ($model->save()) {
99de237f   Alexey Boroda   -Order block core...
510
511
                      return [
                          'time' => $date,
41f0c492   Yarik   Print and email
512
                          'user' => !empty( $user ) ? $user->username : '',
99de237f   Alexey Boroda   -Order block core...
513
                      ];
d57c8c00   Alexey Boroda   -Blocking in process
514
                  } else {
e861ae92   Alexey Boroda   -Add column to pa...
515
516
517
518
                      return [
                          'success' => false,
                          'errors'  => $model->errors,
                      ];
d57c8c00   Alexey Boroda   -Blocking in process
519
520
521
522
523
524
525
526
527
528
529
530
                  }
              }
          }
          
          protected function unblockOrder($id)
          {
              $model = $this->findModel($id);
              
              $model->edit_time = 0;
              $model->edit_id = 0;
              $model->save();
          }
f36d238b   Alexey Boroda   -Order publish fi...
531
          
52e22ec2   Administrator   add similar products
532
          public function actionPublishOrder($id,$phone)
7c536875   Yarik   Sms send
533
          {
f36d238b   Alexey Boroda   -Order publish fi...
534
              $model = Order::findOne($id);
00a6457b   Alexey Boroda   -Sms bug fixed
535
536
537
              if ($model->published == true) {
                  exit;
              }
f36d238b   Alexey Boroda   -Order publish fi...
538
539
              $model->published = true;
              $model->save();
7c536875   Yarik   Sms send
540
541
542
              /**
               * @var SmsSender $sender
               */
7c536875   Yarik   Sms send
543
              $sender = \Yii::$app->sender;
52e22ec2   Administrator   add similar products
544
545
546
547
548
549
550
551
552
553
554
555
              if(!empty($phone)){
                  $sender->send(
                      $phone,
                      $this->renderPartial(
                          '@common/mail/smsorder',
                          [
                              'order_id' => $model->id,
                          ]
                      )
                  );
              }
  
f36d238b   Alexey Boroda   -Order publish fi...
556
          }
e0906f08   Alexey Boroda   -Fixing existing ...
557
      }