Commit fcd620e29bbd32b893485a0fe315863ab7341cc5

Authored by Alexey Boroda
1 parent 995dd689

-Number column added to order

Showing 1 changed file with 89 additions and 78 deletions   Show diff stats
controllers/OrderController.php
1 1 <?php
2 2  
3 3 namespace artbox\order\controllers;
4   -
  4 +
5 5 use artbox\catalog\models\Variant;
6 6 use artbox\core\admin\actions\Index;
7 7 use artbox\order\labels\models\Delivery;
... ... @@ -16,7 +16,7 @@
16 16 use yii\filters\AccessControl;
17 17 use yii\web\Response;
18 18 use yii\widgets\ActiveForm;
19   -
  19 +
20 20 /**
21 21 * OrderController implements the CRUD actions for Order model.
22 22 */
... ... @@ -29,11 +29,11 @@
29 29 {
30 30 return '@artbox/order/views/order';
31 31 }
32   -
  32 +
33 33 public function behaviors()
34 34 {
35 35 return [
36   - 'verbs' => [
  36 + 'verbs' => [
37 37 'class' => VerbFilter::className(),
38 38 'actions' => [
39 39 'delete' => [ 'POST' ],
... ... @@ -57,15 +57,18 @@
57 57 ],
58 58 ];
59 59 }
60   -
  60 +
61 61 public function actions()
62 62 {
63 63 return [
64 64 'index' => [
65 65 'class' => Index::className(),
66 66 'columns' => [
  67 + 'id' => [
  68 + 'type' => Index::NUMBER_COL,
  69 + ],
67 70 'name' => [
68   - 'type' => Index::ACTION_COL,
  71 + 'type' => Index::ACTION_COL,
69 72 'columnConfig' => [
70 73 'buttonsTemplate' => '{edit}{delete}',
71 74 ],
... ... @@ -93,7 +96,7 @@
93 96 ],
94 97 ];
95 98 }
96   -
  99 +
97 100 /**
98 101 * Displays a single Order model.
99 102 *
... ... @@ -110,7 +113,7 @@
110 113 ]
111 114 );
112 115 }
113   -
  116 +
114 117 /**
115 118 * Creates a new Order model.
116 119 * If creation is successful, the browser will be redirected to the 'view' page.
... ... @@ -120,7 +123,7 @@
120 123 public function actionCreate()
121 124 {
122 125 $model = new Order();
123   -
  126 +
124 127 if ($model->load(Yii::$app->request->post()) && $model->save()) {
125 128 if (!empty(\Yii::$app->request->post('Product'))) {
126 129 foreach (\Yii::$app->request->post('Product') as $id => $count) {
... ... @@ -153,46 +156,46 @@
153 156 $labels = Label::find()
154 157 ->joinWith('language')
155 158 ->select(
156   - [
157   - 'title',
158   - 'id',
159   - ]
160   - )
  159 + [
  160 + 'title',
  161 + 'id',
  162 + ]
  163 + )
161 164 ->where(
162   - [
163   - 'status' => true,
164   - ]
165   - )
  165 + [
  166 + 'status' => true,
  167 + ]
  168 + )
166 169 ->indexBy('id')
167 170 ->column();
168 171 $deliveries = Delivery::find()
169 172 ->joinWith('language')
170 173 ->select(
171   - [
172   - 'title',
173   - 'id',
174   - ]
175   - )
  174 + [
  175 + 'title',
  176 + 'id',
  177 + ]
  178 + )
176 179 ->where(
177   - [
178   - 'status' => true,
179   - ]
180   - )
  180 + [
  181 + 'status' => true,
  182 + ]
  183 + )
181 184 ->indexBy('id')
182 185 ->column();
183 186 $payments = Payment::find()
184 187 ->joinWith('language')
185 188 ->select(
186   - [
187   - 'title',
188   - 'id',
189   - ]
190   - )
  189 + [
  190 + 'title',
  191 + 'id',
  192 + ]
  193 + )
191 194 ->where(
192   - [
193   - 'status' => true,
194   - ]
195   - )
  195 + [
  196 + 'status' => true,
  197 + ]
  198 + )
196 199 ->indexBy('id')
197 200 ->column();
198 201 return $this->render(
... ... @@ -206,7 +209,7 @@
206 209 );
207 210 }
208 211 }
209   -
  212 +
210 213 /**
211 214 * Updates an existing Order model.
212 215 * If update is successful, the browser will be redirected to the 'view' page.
... ... @@ -218,9 +221,13 @@
218 221 public function actionUpdate($id)
219 222 {
220 223 $model = $this->findModel($id);
221   -
222   - if ($model->load(Yii::$app->request->post()) && $model->save() && !empty(\Yii::$app->request->post('OrderProduct'))) {
223   - //print_r(\Yii::$app->request->post('OrderProduct')); die();
  224 +
  225 + if ($model->load(Yii::$app->request->post()) && $model->save() && !empty(
  226 + \Yii::$app->request->post(
  227 + 'OrderProduct'
  228 + )
  229 + )) {
  230 + //print_r(\Yii::$app->request->post('OrderProduct')); die();
224 231 OrderProduct::saveItems(\Yii::$app->request->post('OrderProduct'), $id);
225 232 return $this->redirect(
226 233 [
... ... @@ -247,31 +254,31 @@
247 254 $deliveries = Delivery::find()
248 255 ->joinWith('language')
249 256 ->select(
250   - [
251   - 'title',
252   - 'id',
253   - ]
254   - )
  257 + [
  258 + 'title',
  259 + 'id',
  260 + ]
  261 + )
255 262 ->where(
256   - [
257   - 'status' => true,
258   - ]
259   - )
  263 + [
  264 + 'status' => true,
  265 + ]
  266 + )
260 267 ->indexBy('id')
261 268 ->column();
262 269 $payments = Payment::find()
263 270 ->joinWith('language')
264 271 ->select(
265   - [
266   - 'title',
267   - 'id',
268   - ]
269   - )
  272 + [
  273 + 'title',
  274 + 'id',
  275 + ]
  276 + )
270 277 ->where(
271   - [
272   - 'status' => true,
273   - ]
274   - )
  278 + [
  279 + 'status' => true,
  280 + ]
  281 + )
275 282 ->indexBy('id')
276 283 ->column();
277 284 return $this->render(
... ... @@ -285,7 +292,7 @@
285 292 );
286 293 }
287 294 }
288   -
  295 +
289 296 /**
290 297 * Deletes an existing Order model.
291 298 * If deletion is successful, the browser will be redirected to the 'index' page.
... ... @@ -298,10 +305,10 @@
298 305 {
299 306 $this->findModel($id)
300 307 ->delete();
301   -
  308 +
302 309 return $this->redirect([ 'index' ]);
303 310 }
304   -
  311 +
305 312 public function actionProductList($q = null, $id = null)
306 313 {
307 314 $response = \Yii::$app->response;
... ... @@ -349,7 +356,7 @@
349 356 }
350 357 return $out;
351 358 }
352   -
  359 +
353 360 public function actionAddToOrder()
354 361 {
355 362 /**
... ... @@ -360,7 +367,7 @@
360 367 \Yii::$app->response->format = Response::FORMAT_JSON;
361 368 $id = \Yii::$app->request->post('id');
362 369 $count = \Yii::$app->request->post('count') ? \Yii::$app->request->post('count') : 1;
363   -
  370 +
364 371 $variant = Variant::find()
365 372 ->with('product.lang')
366 373 ->where(
... ... @@ -369,7 +376,7 @@
369 376 ]
370 377 )
371 378 ->one();
372   -
  379 +
373 380 if ($variant) {
374 381 $form = new ActiveForm();
375 382 $orderProduct = new OrderProduct(
... ... @@ -378,7 +385,7 @@
378 385 'variant_id' => $variant->id,
379 386 ]
380 387 );
381   -
  388 +
382 389 $row = $this->renderPartial(
383 390 '_order_product',
384 391 [
... ... @@ -389,20 +396,20 @@
389 396 'form' => $form,
390 397 ]
391 398 );
392   -
  399 +
393 400 return [
394 401 'success' => true,
395 402 'row' => $row,
396 403 'price' => $variant->price * $count,
397 404 ];
398 405 }
399   -
  406 +
400 407 return [
401 408 'success' => false,
402 409 'message' => \Yii::t('app', 'Product not found'),
403 410 ];
404 411 }
405   -
  412 +
406 413 /**
407 414 * Finds the Order model based on its primary key value.
408 415 * If the model is not found, a 404 HTTP exception will be thrown.
... ... @@ -421,25 +428,29 @@
421 428 }
422 429 }
423 430  
424   - public function actionPrint($id){
  431 + public function actionPrint($id)
  432 + {
425 433 $this->layout = false;
426 434 $model = $this->findModel($id);
427   - return $this->renderPartial('@backend/views/layouts/print', [
428   - 'model' => $model
429   - ]);
  435 + return $this->renderPartial(
  436 + '@backend/views/layouts/print',
  437 + [
  438 + 'model' => $model,
  439 + ]
  440 + );
430 441 }
431   -
  442 +
432 443 protected function hasProducts()
433 444 {
434 445 if (empty(\Yii::$app->request->post('OrderProduct'))) {
435 446 \Yii::$app->session->setFlash('error', \Yii::t('app', 'Заказ не может быть без товаров'));
436   -
  447 +
437 448 return false;
438 449 }
439   -
  450 +
440 451 return true;
441 452 }
442   -
  453 +
443 454 /**
444 455 * @return array
445 456 */
... ... @@ -461,7 +472,7 @@
461 472 ->indexBy('id')
462 473 ->column();
463 474 }
464   -
  475 +
465 476 /**
466 477 * @return array
467 478 */
... ... @@ -483,7 +494,7 @@
483 494 ->indexBy('id')
484 495 ->column();
485 496 }
486   -
  497 +
487 498 /**
488 499 * @return array
489 500 */
... ...