Blame view

controllers/OrderController.php 19.1 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
                      $model->count += $count;
9e6e9086   Administrator   add similar products
179
                      $model->removed = false;
2ad65823   Alexey Boroda   -Added date range...
180
181
182
183
184
185
186
187
188
189
                  } 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;
9e6e9086   Administrator   add similar products
190
                      $model->removed = false;
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
286
287
288
289
              $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
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
                  return $out;
              }
52e22ec2   Administrator   add similar products
325
  
7520dc0e   Alexey Boroda   -Grid with input ...
326
              $model = $this->findModel($id);
52e22ec2   Administrator   add similar products
327
  
1f2fdc61   Alexey Boroda   -Product carousel...
328
329
330
331
              /**
               * @var User $user
               */
              $user = \Yii::$app->user->identity;
d57c8c00   Alexey Boroda   -Blocking in process
332
              if ($model->isBlocked() && $model->edit_id !== \Yii::$app->user->id) {
1f2fdc61   Alexey Boroda   -Product carousel...
333
                  if (!$user->isAdmin()) {
99de237f   Alexey Boroda   -Order block core...
334
335
                      throw new ForbiddenHttpException();
                  }
d57c8c00   Alexey Boroda   -Blocking in process
336
              }
52e22ec2   Administrator   add similar products
337
  
7520dc0e   Alexey Boroda   -Grid with input ...
338
339
              $dataProvider = new ActiveDataProvider(
                  [
0893579c   Alexey Boroda   -Bug fixed
340
                      'query' => $model->getProducts()
42883b83   Alexey Boroda   -Order form beta ...
341
342
                                       ->joinWith('productVariant.product.brand')
                                       ->with('productVariant.variantStocks'),
52c27888   Alexey Boroda   -Order module tas...
343
                      'sort'  => [ 'defaultOrder' => [ 'id' => SORT_ASC ] ],
7520dc0e   Alexey Boroda   -Grid with input ...
344
345
346
                  ]
              );
              
41f0c492   Yarik   Print and email
347
              if (empty( $model->manager_id )) {
d57c8c00   Alexey Boroda   -Blocking in process
348
349
                  $model->manager_id = \Yii::$app->user->id;
              }
52e22ec2   Administrator   add similar products
350
  
793ad526   Alexey Boroda   -Brain fuck! with...
351
352
              $headers = \Yii::$app->response->headers;
              $headers->set('Access-Control-Allow-Origin', '*');
41f0c492   Yarik   Print and email
353
              
6f14188b   Alexey Boroda   -Product card fixed
354
              if ($model->load(Yii::$app->request->post()) && $model->save()) {
52e22ec2   Administrator   add similar products
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
  
                  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
376
                  $this->unblockOrder($model->id);
b0c7d586   Alexey Boroda   -Bykov fixes
377
378
379
380
381
382
383
                  return $this->render(
                      'update',
                      [
                          'model'        => $model,
                          'dataProvider' => $dataProvider,
                      ]
                  );
6f14188b   Alexey Boroda   -Product card fixed
384
385
386
387
              } else {
                  return $this->render(
                      'update',
                      [
7520dc0e   Alexey Boroda   -Grid with input ...
388
389
                          'model'        => $model,
                          'dataProvider' => $dataProvider,
6f14188b   Alexey Boroda   -Product card fixed
390
391
392
393
394
                      ]
                  );
              }
          }
          
41f0c492   Yarik   Print and email
395
          public function actionFindProduct($q = null, $id = null)
e0906f08   Alexey Boroda   -Fixing existing ...
396
          {
6f14188b   Alexey Boroda   -Product card fixed
397
              \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
2ad65823   Alexey Boroda   -Added date range...
398
399
              $out = [
                  'results' => [
0893579c   Alexey Boroda   -Bug fixed
400
401
                      'id'  => '',
                      'sku' => '',
2ad65823   Alexey Boroda   -Added date range...
402
                  ],
6f14188b   Alexey Boroda   -Product card fixed
403
              ];
2ad65823   Alexey Boroda   -Added date range...
404
              if (!is_null($q)) {
db3040d3   Alexey Boroda   -Order module alm...
405
                  $result = ProductVariant::find()//                                        ->select(
d57c8c00   Alexey Boroda   -Blocking in process
406
407
408
409
410
411
                  //                                            [
                  //                                                'id',
                  //                                                'sku',
                  //                                                'product_lang.title AS name'
                  //                                            ]
                  //                                        )
0893579c   Alexey Boroda   -Bug fixed
412
                                          ->joinWith('product.lang')
2ad65823   Alexey Boroda   -Added date range...
413
414
415
416
417
418
419
420
421
422
423
424
425
                                          ->where(
                                              [
                                                  'like',
                                                  'sku',
                                                  $q,
                                              ]
                                          )
                                          ->limit(20)
                                          ->asArray()
                                          ->all();
                  
                  $out[ 'results' ] = $result;
              }
2ad65823   Alexey Boroda   -Added date range...
426
              return $out;
e0906f08   Alexey Boroda   -Fixing existing ...
427
428
          }
          
db3040d3   Alexey Boroda   -Order module alm...
429
430
431
432
433
434
435
436
437
          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 ...
438
439
440
441
          public function actionDeleteProduct($id, $order_id)
          {
              $model = OrderProduct::findOne($id);
              $model->removed = true;
9e6e9086   Administrator   add similar products
442
              $model->count = 0;
42883b83   Alexey Boroda   -Order form beta ...
443
444
445
446
447
448
449
450
451
              $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...
452
          
e0906f08   Alexey Boroda   -Fixing existing ...
453
454
          protected function findModel($id)
          {
41f0c492   Yarik   Print and email
455
              if (( $model = Order::findOne($id) ) !== null) {
e0906f08   Alexey Boroda   -Fixing existing ...
456
457
458
459
460
                  return $model;
              } else {
                  throw new NotFoundHttpException('The requested page does not exist.');
              }
          }
e861ae92   Alexey Boroda   -Add column to pa...
461
          
793ad526   Alexey Boroda   -Brain fuck! with...
462
          public function actionExitOrder()
99de237f   Alexey Boroda   -Order block core...
463
          {
eb190b1f   Alexey Boroda   -Order form add p...
464
              try {
793ad526   Alexey Boroda   -Brain fuck! with...
465
                  $model = Order::findOne(\Yii::$app->request->post('id'));
eb190b1f   Alexey Boroda   -Order form add p...
466
467
468
              } catch (NotFoundHttpException $e) {
                  return $this->redirect('index');
              }
b0c7d586   Alexey Boroda   -Bykov fixes
469
              if ($model->edit_id == \Yii::$app->user->id) {
793ad526   Alexey Boroda   -Brain fuck! with...
470
                  $this->unblockOrder(\Yii::$app->request->post('id'));
b0c7d586   Alexey Boroda   -Bykov fixes
471
              }
52e22ec2   Administrator   add similar products
472
  
eb190b1f   Alexey Boroda   -Order form add p...
473
474
475
              if (!$model->published) {
                  $model->deleteUnpublished();
              }
41f0c492   Yarik   Print and email
476
              //            return $this->redirect('index');
793ad526   Alexey Boroda   -Brain fuck! with...
477
          }
41f0c492   Yarik   Print and email
478
          
793ad526   Alexey Boroda   -Brain fuck! with...
479
480
481
482
483
484
485
486
487
488
          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
489
              
793ad526   Alexey Boroda   -Brain fuck! with...
490
491
492
              if (!$model->published) {
                  $model->deleteUnpublished();
              }
41f0c492   Yarik   Print and email
493
              return $this->redirect('index');
99de237f   Alexey Boroda   -Order block core...
494
          }
d57c8c00   Alexey Boroda   -Blocking in process
495
496
497
          
          public function actionBlockOrder()
          {
41f0c492   Yarik   Print and email
498
              if (!empty( \Yii::$app->request->post() )) {
d57c8c00   Alexey Boroda   -Blocking in process
499
500
501
502
                  \Yii::$app->response->format = Response::FORMAT_JSON;
                  
                  $model = $this->findModel(\Yii::$app->request->post('id'));
                  
b0c7d586   Alexey Boroda   -Bykov fixes
503
504
505
                  $user = User::find()
                              ->where([ 'id' => $model->edit_id ])
                              ->one();
d57c8c00   Alexey Boroda   -Blocking in process
506
507
508
                  $model->edit_time = time();
                  $model->edit_id = \Yii::$app->user->id;
                  
99de237f   Alexey Boroda   -Order block core...
509
510
511
                  //$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
512
                  if ($model->save()) {
99de237f   Alexey Boroda   -Order block core...
513
514
                      return [
                          'time' => $date,
41f0c492   Yarik   Print and email
515
                          'user' => !empty( $user ) ? $user->username : '',
99de237f   Alexey Boroda   -Order block core...
516
                      ];
d57c8c00   Alexey Boroda   -Blocking in process
517
                  } else {
e861ae92   Alexey Boroda   -Add column to pa...
518
519
520
521
                      return [
                          'success' => false,
                          'errors'  => $model->errors,
                      ];
d57c8c00   Alexey Boroda   -Blocking in process
522
523
524
525
526
527
528
529
530
531
532
533
                  }
              }
          }
          
          protected function unblockOrder($id)
          {
              $model = $this->findModel($id);
              
              $model->edit_time = 0;
              $model->edit_id = 0;
              $model->save();
          }
f36d238b   Alexey Boroda   -Order publish fi...
534
          
52e22ec2   Administrator   add similar products
535
          public function actionPublishOrder($id,$phone)
7c536875   Yarik   Sms send
536
          {
f36d238b   Alexey Boroda   -Order publish fi...
537
              $model = Order::findOne($id);
00a6457b   Alexey Boroda   -Sms bug fixed
538
539
540
              if ($model->published == true) {
                  exit;
              }
f36d238b   Alexey Boroda   -Order publish fi...
541
542
              $model->published = true;
              $model->save();
7c536875   Yarik   Sms send
543
544
545
              /**
               * @var SmsSender $sender
               */
7c536875   Yarik   Sms send
546
              $sender = \Yii::$app->sender;
52e22ec2   Administrator   add similar products
547
548
549
550
551
552
553
554
555
556
557
558
              if(!empty($phone)){
                  $sender->send(
                      $phone,
                      $this->renderPartial(
                          '@common/mail/smsorder',
                          [
                              'order_id' => $model->id,
                          ]
                      )
                  );
              }
  
f36d238b   Alexey Boroda   -Order publish fi...
559
          }
e0906f08   Alexey Boroda   -Fixing existing ...
560
      }