Blame view

frontend/controllers/AccountController.php 1.85 KB
a337a53b   Alexey Boroda   -Cabinet started
1
2
3
4
5
  <?php
      
      namespace frontend\controllers;
      
      use artbox\order\models\Customer;
6628fe31   Alexey Boroda   -User's order pag...
6
      use artbox\order\models\Order;
a337a53b   Alexey Boroda   -Cabinet started
7
      use yii\web\Controller;
6628fe31   Alexey Boroda   -User's order pag...
8
9
      use yii\web\ForbiddenHttpException;
      use yii\web\NotFoundHttpException;
a337a53b   Alexey Boroda   -Cabinet started
10
11
12
13
14
15
16
17
18
19
      
      /**
       * Class AccountController
       *
       * @package frontend\controllers
       */
      class AccountController extends Controller
      {
          public function actionIndex()
          {
6628fe31   Alexey Boroda   -User's order pag...
20
              $user = Customer::findOne(\Yii::$app->user->identity->getId());
a337a53b   Alexey Boroda   -Cabinet started
21
22
23
24
              
              $orders = $user->getOrders()
                             ->with(
                                 [
6628fe31   Alexey Boroda   -User's order pag...
25
                                     'label.lang',
a337a53b   Alexey Boroda   -Cabinet started
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
                                     'orderProducts',
                                 ]
                             )
                             ->orderBy(
                                 [
                                     'id' => SORT_DESC,
                                 ]
                             )
                             ->all();
              
              return $this->render(
                  'index',
                  [
                      'orders' => $orders,
                  ]
              );
          }
6628fe31   Alexey Boroda   -User's order pag...
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
      
          public function actionOrder($id)
          {
              /**
               * @var Order $order
               */
              $order = Order::find()
                            ->with('orderProducts')
                            ->where(
                                [
                                    'id' => $id,
                                ]
                            )
                            ->one();
          
              if (empty($order)) {
                  throw new NotFoundHttpException(\Yii::t('app', 'Order not found'));
              } elseif ($order->user_id !== \Yii::$app->user->identity->getId()) {
                  throw new ForbiddenHttpException();
              }
          
          }
a337a53b   Alexey Boroda   -Cabinet started
65
      }