Blame view

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