Blame view

common/modules/rubrication/controllers/TaxOptionController.php 6.48 KB
d8c1a2e0   Yarik   Big commit artbox
1
  <?php

d55d2fe0   Yarik   Multilanguage
2
3
4
5
6
7
8
      

      namespace common\modules\rubrication\controllers;

      

      use common\modules\rubrication\models\TaxGroup;

      use Yii;

      use common\modules\rubrication\models\TaxOption;

      use common\modules\rubrication\models\TaxOptionSearch;

5c2eb7c8   Yarik   Big commit almost...
9
      use yii\db\ActiveQuery;

d55d2fe0   Yarik   Multilanguage
10
11
12
      use yii\web\Controller;

      use yii\web\NotFoundHttpException;

      use yii\filters\VerbFilter;

d55d2fe0   Yarik   Multilanguage
13
      

d8c1a2e0   Yarik   Big commit artbox
14
      /**

d55d2fe0   Yarik   Multilanguage
15
       * TaxOptionController implements the CRUD actions for TaxOption model.

d8c1a2e0   Yarik   Big commit artbox
16
       */

d55d2fe0   Yarik   Multilanguage
17
      class TaxOptionController extends Controller

d8c1a2e0   Yarik   Big commit artbox
18
      {

d55d2fe0   Yarik   Multilanguage
19
20
21
22
23
24
25
26
27
28
29
30
          

          /**

           * @inheritdoc

           */

          public function behaviors()

          {

              return [

                  'verbs' => [

                      'class'   => VerbFilter::className(),

                      'actions' => [

                          'delete' => [ 'POST' ],

                      ],

d8c1a2e0   Yarik   Big commit artbox
31
                  ],

d55d2fe0   Yarik   Multilanguage
32
33
34
35
36
              ];

          }

          

          /**

           * Lists all TaxOption models.

8af13427   Yarik   For leha commit.
37
           *

d55d2fe0   Yarik   Multilanguage
38
39
40
41
           * @return mixed

           */

          public function actionIndex()

          {

b7d40aed   Yarik   Another one admin...
42
              $group = $this->findGroup(Yii::$app->request->queryParams[ 'group' ]);

d55d2fe0   Yarik   Multilanguage
43
44
              $searchModel = new TaxOptionSearch();

              $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

5c2eb7c8   Yarik   Big commit almost...
45
46
47
48
              /**

               * @var ActiveQuery $query

               */

              $query = $dataProvider->query;

c70f24ea   Yarik   For Leha commit.
49
50
              $query->andWhere([ 'tax_group_id' => $group->id ]);

              if ($group->level) {

5c2eb7c8   Yarik   Big commit almost...
51
                  $query->with('productVariants');

b7d40aed   Yarik   Another one admin...
52
              } else {

5c2eb7c8   Yarik   Big commit almost...
53
                  $query->with('products');

b7d40aed   Yarik   Another one admin...
54
              }

c70f24ea   Yarik   For Leha commit.
55
56
57
58
59
60
61
62
              return $this->render(

                  'index',

                  [

                      'searchModel'  => $searchModel,

                      'dataProvider' => $dataProvider,

                      'group'        => $group,

                  ]

              );

d55d2fe0   Yarik   Multilanguage
63
64
65
          }

          

          /**

d55d2fe0   Yarik   Multilanguage
66
67
           * Creates a new TaxOption model.

           * If creation is successful, the browser will be redirected to the 'view' page.

8af13427   Yarik   For leha commit.
68
           *

d55d2fe0   Yarik   Multilanguage
69
70
71
72
           * @return mixed

           */

          public function actionCreate()

          {

b7d40aed   Yarik   Another one admin...
73
              $group = $this->findGroup(Yii::$app->request->queryParams[ 'group' ]);

c70f24ea   Yarik   For Leha commit.
74
75
76
77
78
              $model = new TaxOption(

                  [

                      'tax_group_id' => $group->id,

                  ]

              );

72a992f5   Yarik   Import browser v1.0
79
              $model->generateLangs();

c70f24ea   Yarik   For Leha commit.
80
              if ($model->load(Yii::$app->request->post())) {

72a992f5   Yarik   Import browser v1.0
81
                  $model->loadLangs(\Yii::$app->request);

c70f24ea   Yarik   For Leha commit.
82
83
84
85
86
87
88
                  if ($model->save() && $model->transactionStatus) {

                      return is_null(Yii::$app->request->post('create_and_new')) ? $this->redirect(

                          [

                              'index',

                              'group' => $group->id,

                          ]

                      ) : $this->redirect(array_merge([ 'create' ], Yii::$app->request->queryParams));

d55d2fe0   Yarik   Multilanguage
89
                  }

d8c1a2e0   Yarik   Big commit artbox
90
              }

c70f24ea   Yarik   For Leha commit.
91
92
93
94
95
96
97
98
              return $this->render(

                  'create',

                  [

                      'model'      => $model,

                      'modelLangs' => $model->modelLangs,

                      'group'      => $group,

                  ]

              );

d55d2fe0   Yarik   Multilanguage
99
100
101
102
103
104
105
106
107
108
109
110
111
          }

          

          /**

           * Updates an existing TaxOption model.

           * If update is successful, the browser will be redirected to the 'view' page.

           *

           * @param string $id

           *

           * @return mixed

           */

          public function actionUpdate($id)

          {

              $model = $this->findModel($id);

b7d40aed   Yarik   Another one admin...
112
              $group = $this->findGroup($model->tax_group_id);

72a992f5   Yarik   Import browser v1.0
113
              $model->generateLangs();

c70f24ea   Yarik   For Leha commit.
114
              if ($model->load(Yii::$app->request->post())) {

72a992f5   Yarik   Import browser v1.0
115
                  $model->loadLangs(\Yii::$app->request);

b7d40aed   Yarik   Another one admin...
116
117
                  //                TaxOption::find()

                  //                         ->rebuildMP($model->tax_group_id);

c70f24ea   Yarik   For Leha commit.
118
119
120
121
122
123
124
                  if ($model->save() && $model->transactionStatus) {

                      return $this->redirect(

                          [

                              'index',

                              'group' => $group->id,

                          ]

                      );

d8c1a2e0   Yarik   Big commit artbox
125
                  }

d8c1a2e0   Yarik   Big commit artbox
126
              }

c70f24ea   Yarik   For Leha commit.
127
128
129
130
131
132
133
134
              return $this->render(

                  'update',

                  [

                      'model'      => $model,

                      'modelLangs' => $model->modelLangs,

                      'group'      => $group,

                  ]

              );

d8c1a2e0   Yarik   Big commit artbox
135
          }

d55d2fe0   Yarik   Multilanguage
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
          

          /**

           * Deletes an existing TaxOption model.

           * If deletion is successful, the browser will be redirected to the 'index' page.

           *

           * @param string $id

           *

           * @return mixed

           */

          public function actionDelete($id)

          {

              $model = $this->findModel($id);

              $group_id = $model->tax_group_id;

              

              $model->delete();

              

c70f24ea   Yarik   For Leha commit.
152
153
154
155
156
157
              return $this->redirect(

                  [

                      'index',

                      'group' => $group_id,

                  ]

              );

d55d2fe0   Yarik   Multilanguage
158
159
160
161
162
163
164
165
166
167
168
169
170
          }

          

          /**

           * Finds the TaxOption model based on its primary key value.

           * If the model is not found, a 404 HTTP exception will be thrown.

           *

           * @param string $id

           *

           * @return TaxOption the loaded model

           * @throws NotFoundHttpException if the model cannot be found

           */

          protected function findModel($id)

          {

c70f24ea   Yarik   For Leha commit.
171
172
173
174
              if (( $model = TaxOption::find()

                                      ->with('lang')

                                      ->where([ 'id' => $id ])

                                      ->one() ) !== null

b7d40aed   Yarik   Another one admin...
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
              ) {

                  return $model;

              } else {

                  throw new NotFoundHttpException('The requested page does not exist.');

              }

          }

          

          /**

           * @param int $id

           *

           * @return null|TaxGroup

           * @throws NotFoundHttpException

           */

          protected function findGroup($id)

          {

c70f24ea   Yarik   For Leha commit.
190
191
192
193
              if (( $model = TaxGroup::find()

                                     ->with('lang')

                                     ->where([ 'id' => $id ])

                                     ->one() ) !== null

b7d40aed   Yarik   Another one admin...
194
              ) {

d55d2fe0   Yarik   Multilanguage
195
196
197
198
                  return $model;

              } else {

                  throw new NotFoundHttpException('The requested page does not exist.');

              }

d8c1a2e0   Yarik   Big commit artbox
199
200
          }

      }