Commit 771f8d54e7924d794cf1c50d3ab72b0289577bf0

Authored by Administrator
1 parent 19fa91c7

big commti

common/config/main.php
@@ -166,199 +166,5 @@ return [ @@ -166,199 +166,5 @@ return [
166 'artbox-comment' => [ 166 'artbox-comment' => [
167 'class' => 'common\modules\comment\Module', 167 'class' => 'common\modules\comment\Module',
168 ], 168 ],
169 - 'relation' => [  
170 - 'class' => 'common\modules\relation\Module',  
171 - 'relations' => [  
172 - 'product_categories' => [  
173 - 'name' => Yii::t('product', 'Categories'),  
174 - 'field' => 'categories',  
175 - 'entity1' => [  
176 - 'model' => '\common\modules\product\models\Product',  
177 - 'label' => 'Product',  
178 - 'listField' => 'name',  
179 - 'searchField' => 'name',  
180 - 'key' => 'product_id',  
181 - 'linked_key' => 'product_id',  
182 - ],  
183 - 'entity2' => [  
184 - 'model' => '\common\modules\product\models\Category',  
185 - 'label' => 'Category',  
186 - 'listField' => 'categoryName.value',  
187 - 'searchField' => 'category_name.value',  
188 - 'searchJoin' => 'categoryName',  
189 - 'key' => 'category_id',  
190 - 'linked_key' => 'category_id',  
191 - 'hierarchy' => [  
192 - 'key' => 'category_id',  
193 - 'parentKey' => 'parent_id',  
194 - ]  
195 - ],  
196 - 'via' => [  
197 - 'model' => '\common\modules\product\models\ProductCategory',  
198 - ]  
199 - ],  
200 - 'product_option' => [  
201 - 'name' => Yii::t('product', 'Properties'),  
202 - 'field' => 'options',  
203 - 'entity1' => [  
204 - 'model' => '\common\modules\product\models\Product',  
205 - 'label' => 'Product',  
206 - 'listField' => 'fullname',  
207 - 'key' => 'product_id',  
208 - 'linked_key' => 'product_id',  
209 - ],  
210 - 'entity2' => [  
211 - 'model' => '\common\modules\rubrication\models\TaxOption',  
212 - 'label' => 'Option',  
213 - 'listField' => 'ValueRenderFlash',  
214 - 'key' => 'tax_option_id',  
215 - 'linked_key' => 'option_id',  
216 - ],  
217 - 'via' => [  
218 - 'model' => 'common\modules\product\models\ProductOption',  
219 - ]  
220 - ],  
221 - 'product_variant_option' => [  
222 - 'name' => Yii::t('product', 'Properties'),  
223 - 'field' => 'options',  
224 - 'entity1' => [  
225 - 'model' => '\common\modules\product\models\ProductVariant',  
226 - 'label' => 'Variant',  
227 - 'listField' => 'fullname',  
228 - 'key' => 'product_variant_id',  
229 - 'linked_key' => 'product_variant_id',  
230 - ],  
231 - 'entity2' => [  
232 - 'model' => '\common\modules\rubrication\models\TaxOption',  
233 - 'label' => 'Option',  
234 - 'listField' => 'ValueRenderFlash',  
235 - 'key' => 'tax_option_id',  
236 - 'linked_key' => 'option_id',  
237 - ],  
238 - 'via' => [  
239 - 'model' => 'common\modules\product\models\ProductVariantOption',  
240 - ]  
241 - ],  
242 - 'tax_group_to_category' => [  
243 - 'name' => Yii::t('product', 'ะฅะฐั€ะฐะบั‚ะตั€ะธัั‚ะธะบะธ ะฟะพ ะบะฐั‚ะตะณะพั€ะธัะผ'),  
244 - 'field' => 'group_to_category',  
245 - 'entity1' => [  
246 - 'model' => '\common\modules\rubrication\models\TaxGroup',  
247 - 'label' => 'Group',  
248 - 'listField' => 'name',  
249 - 'key' => 'tax_group_id',  
250 - 'linked_key' => 'entity1_id',  
251 - ],  
252 - 'entity2' => [  
253 - 'model' => '\common\modules\product\models\Category',  
254 - 'label' => 'Category',  
255 - 'listField' => 'name',  
256 - 'key' => 'category_id',  
257 - 'linked_key' => 'entity2_id',  
258 - 'hierarchy' => [  
259 - 'key' => 'category_id',  
260 - 'parentKey' => 'parent_id',  
261 - ]  
262 - ],  
263 - 'via' => [  
264 - 'model' => '\common\modules\relation\models\Relation',  
265 - 'alias' => 'alias',  
266 - ]  
267 - ],  
268 - /*  
269 - 'relation_categories' => [  
270 - 'name' => Yii::t('relation', 'Relation categories'),  
271 - 'field' => 'categories',  
272 - 'entity1' => [  
273 - 'model' => '\common\modules\product\models\Product',  
274 - 'label' => 'Product',  
275 - 'listField' => 'fullname',  
276 - 'key' => 'product_id',  
277 - 'linked_key' => 'product_id',  
278 - ],  
279 - 'entity2' => [  
280 - 'model' => '\common\modules\rubrication\models\TaxOption',  
281 - 'label' => 'Category',  
282 - 'listField' => 'ValueRenderFlash',  
283 - 'key' => 'tax_option_id',  
284 - 'linked_key' => 'category_id',  
285 - 'where' => [  
286 - 'tax_group_id' => 1  
287 - ]  
288 - ],  
289 - 'via' => [  
290 - 'model' => '\common\modules\relation\models\Relation',  
291 - 'alias' => 'alias',  
292 - ]  
293 - ],  
294 - 'tax_option_to_group' => [  
295 - 'name' => 'Options-Groups',  
296 - 'field' => 'tax_option_to_group',  
297 - 'linked_table' => 'tax_option_to_group',  
298 - 'entity1' => [  
299 - 'label' => 'Option',  
300 - 'listField' => 'ValueRenderFlash',  
301 - 'model' => '\common\modules\rubrication\models\TaxOption',  
302 - 'key' => 'tax_option_id',  
303 - 'linked_key' => 'tax_option_id',  
304 - ],  
305 - 'entity2' => [  
306 - 'label' => 'Group',  
307 - 'listField' => 'name',  
308 - 'model' => '\common\modules\rubrication\models\TaxGroup',  
309 - 'key' => 'tax_group_id',  
310 - 'linked_key' => 'tax_group_id',  
311 - ],  
312 - 'via' => [  
313 - 'model' => 'common\modules\rubrication\models\TaxOptionToGroup',  
314 - 'alias' => 'alias',  
315 - ]  
316 - ],  
317 - 'tax_option_to_option' => [  
318 - 'name' => 'Options-Options',  
319 - 'field' => 'tax_option_to_option',  
320 - 'entity1' => [  
321 - 'label' => 'Option',  
322 - 'listField' => 'ValueRenderFlash',  
323 - 'model' => '\common\modules\rubrication\models\TaxOption',  
324 - 'key' => 'tax_option_id',  
325 - 'linked_key' => 'tax_option1_id',  
326 - ],  
327 - 'entity2' => [  
328 - 'label' => 'Option',  
329 - 'listField' => 'ValueRenderFlash',  
330 - 'model' => '\common\modules\rubrication\models\TaxOption',  
331 - 'key' => 'tax_option_id',  
332 - 'linked_key' => 'tax_option2_id',  
333 - ],  
334 - 'via' => [  
335 - 'model' => 'common\modules\rubrication\models\TaxOptionRelation',  
336 - 'alias' => 'alias',  
337 - ]  
338 - ],  
339 - 'brand_cats' => [  
340 - 'name' => 'ะšะฐั‚ะตะณะพั€ะธะธ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปะตะน',  
341 - 'field' => 'tax_option_to_option',  
342 - 'entity1' => [  
343 - 'label' => 'ะ‘ั€ะตะฝะด',  
344 - 'listField' => 'ValueRenderFlash',  
345 - 'model' => '\common\modules\rubrication\models\TaxOption',  
346 - 'key' => 'tax_option_id',  
347 - 'linked_key' => 'tax_option1_id',  
348 - ],  
349 - 'entity2' => [  
350 - 'label' => 'ะšะฐั‚ะตะณะพั€ะธั',  
351 - 'listField' => 'ValueRenderFlash',  
352 - 'model' => '\common\modules\rubrication\models\TaxOption',  
353 - 'key' => 'tax_option_id',  
354 - 'linked_key' => 'tax_option2_id',  
355 - ],  
356 - 'via' => [  
357 - 'model' => 'common\modules\rubrication\models\TaxOptionRelation',  
358 - 'alias' => 'alias',  
359 - ]  
360 - ]*/  
361 - ]  
362 - ],  
363 ], 169 ],
364 ]; 170 ];
common/modules/product/models/Category.php
@@ -5,7 +5,6 @@ namespace common\modules\product\models; @@ -5,7 +5,6 @@ namespace common\modules\product\models;
5 use common\behaviors\RuSlug; 5 use common\behaviors\RuSlug;
6 use common\components\artboxtree\ArtboxTreeBehavior; 6 use common\components\artboxtree\ArtboxTreeBehavior;
7 use common\components\artboxtree\ArtboxTreeHelper; 7 use common\components\artboxtree\ArtboxTreeHelper;
8 -use common\modules\relation\relationBehavior;  
9 use common\modules\rubrication\behaviors\ArtboxSynonymBehavior; 8 use common\modules\rubrication\behaviors\ArtboxSynonymBehavior;
10 use common\modules\rubrication\models\TaxGroup; 9 use common\modules\rubrication\models\TaxGroup;
11 use Yii; 10 use Yii;
@@ -62,13 +61,7 @@ class Category extends \yii\db\ActiveRecord @@ -62,13 +61,7 @@ class Category extends \yii\db\ActiveRecord
62 'translit' => true 61 'translit' => true
63 ] 62 ]
64 ], 63 ],
65 - [  
66 - 'class' => relationBehavior::className(),  
67 - 'relations' => [  
68 - 'product_categories' => 'entity2', // Products of category  
69 - 'tax_group_to_category' => 'entity2',  
70 - ]  
71 - ], 64 +
72 ]; 65 ];
73 } 66 }
74 67
common/modules/product/models/Product.php
@@ -10,7 +10,6 @@ use common\modules\product\behaviors\FilterBehavior; @@ -10,7 +10,6 @@ use common\modules\product\behaviors\FilterBehavior;
10 use common\modules\rubrication\models\TaxGroup; 10 use common\modules\rubrication\models\TaxGroup;
11 use common\modules\rubrication\models\TaxOption; 11 use common\modules\rubrication\models\TaxOption;
12 use Yii; 12 use Yii;
13 -use common\modules\relation\relationBehavior;  
14 use yii\db\ActiveQuery; 13 use yii\db\ActiveQuery;
15 use yii\db\ActiveRecord; 14 use yii\db\ActiveRecord;
16 use yii\helpers\ArrayHelper; 15 use yii\helpers\ArrayHelper;
@@ -50,13 +49,6 @@ class Product extends \yii\db\ActiveRecord @@ -50,13 +49,6 @@ class Product extends \yii\db\ActiveRecord
50 { 49 {
51 return [ 50 return [
52 [ 51 [
53 - 'class' => relationBehavior::className(),  
54 - 'relations' => [  
55 - 'product_categories' => 'entity1', // Product category  
56 - 'product_option' => 'entity1' // Product category  
57 - ]  
58 - ],  
59 - [  
60 'class' =>FilterBehavior::className(), 52 'class' =>FilterBehavior::className(),
61 ], 53 ],
62 [ 54 [
common/modules/product/models/ProductCategory.php
@@ -2,7 +2,6 @@ @@ -2,7 +2,6 @@
2 2
3 namespace common\modules\product\models; 3 namespace common\modules\product\models;
4 4
5 -use common\modules\relation\models\Relation;  
6 use common\modules\rubrication\models\TaxOption; 5 use common\modules\rubrication\models\TaxOption;
7 use Yii; 6 use Yii;
8 7
@@ -14,7 +13,7 @@ use Yii; @@ -14,7 +13,7 @@ use Yii;
14 * 13 *
15 * @property TaxOption $devCategory 14 * @property TaxOption $devCategory
16 */ 15 */
17 -class ProductCategory extends Relation 16 +class ProductCategory extends \yii\db\ActiveRecord
18 { 17 {
19 public $alias = 'product_categories'; 18 public $alias = 'product_categories';
20 19
common/modules/product/models/ProductVariant.php
@@ -2,8 +2,7 @@ @@ -2,8 +2,7 @@
2 2
3 namespace common\modules\product\models; 3 namespace common\modules\product\models;
4 4
5 -use common\modules\product\behaviors\FilterBehavior;  
6 -use common\modules\relation\relationBehavior; 5 +
7 use common\modules\rubrication\models\TaxGroup; 6 use common\modules\rubrication\models\TaxGroup;
8 use common\modules\rubrication\models\TaxOption; 7 use common\modules\rubrication\models\TaxOption;
9 use Yii; 8 use Yii;
@@ -42,22 +41,7 @@ class ProductVariant extends \yii\db\ActiveRecord @@ -42,22 +41,7 @@ class ProductVariant extends \yii\db\ActiveRecord
42 41
43 42
44 /** @var array $_images */ 43 /** @var array $_images */
45 - public $imagesUpload = [];  
46 -  
47 - /**  
48 - * @inheritdoc  
49 - */  
50 - public function behaviors()  
51 - {  
52 - return [  
53 - [  
54 - 'class' => relationBehavior::className(),  
55 - 'relations' => [  
56 - 'product_variant_option' => 'entity1' // Product variant options  
57 - ]  
58 - ],  
59 - ];  
60 - } 44 + public $imagesUpload = '';
61 45
62 /** 46 /**
63 * @inheritdoc 47 * @inheritdoc
common/modules/relation/Module.php deleted
1 -<?php  
2 -  
3 -namespace common\modules\relation;  
4 -  
5 -/**  
6 - * relation module definition class  
7 - *  
8 - * @sections:  
9 - * KEY - alias of the section  
10 - * - name  
11 - * - field  
12 - * - via  
13 - * - model  
14 - * - linked_table  
15 - * - alias  
16 - * - entity1  
17 - * - entity2:  
18 - * - label  
19 - * - listField  
20 - * - model  
21 - * - key  
22 - * - linked_key  
23 - */  
24 -class Module extends \yii\base\Module  
25 -{  
26 - /**  
27 - * @inheritdoc  
28 - */  
29 - public $controllerNamespace = 'common\modules\relation\controllers';  
30 -  
31 - public $relations;  
32 -  
33 - /**  
34 - * @inheritdoc  
35 - */  
36 - public function init()  
37 - {  
38 - parent::init();  
39 - }  
40 -}  
common/modules/relation/controllers/DefaultController.php deleted
1 -<?php  
2 -  
3 -namespace common\modules\relation\controllers;  
4 -  
5 -use yii\web\Controller;  
6 -  
7 -/**  
8 - * Default controller for the `relation` module  
9 - */  
10 -class DefaultController extends Controller  
11 -{  
12 - /**  
13 - * Renders the index view for the module  
14 - * @return string  
15 - */  
16 - public function actionIndex()  
17 - {  
18 - return $this->render('index');  
19 - }  
20 -}  
common/modules/relation/controllers/ManageController.php deleted
1 -<?php  
2 -  
3 -namespace common\modules\relation\controllers;  
4 -  
5 -use common\modules\rubrication\models\TaxOption;  
6 -use yii\base\Exception;  
7 -use yii\db\ActiveQuery;  
8 -use yii\helpers\ArrayHelper;  
9 -use yii\web\Response;  
10 -use yii\data\ActiveDataProvider;  
11 -use yii\db\ActiveRecord;  
12 -use yii\filters\ContentNegotiator;  
13 -use yii\web\Controller;  
14 -use Yii;  
15 -use common\modules\relation\relationHelper;  
16 -use common\modules\relation\models\Relation;  
17 -use common\modules\relation\models\RelationSearch;  
18 -use yii\web\NotFoundHttpException;  
19 -  
20 -/**  
21 - * Default controller for the `relation` module  
22 - */  
23 -class ManageController extends Controller  
24 -{  
25 - public function behaviors()  
26 - {  
27 - return [  
28 - /*'bootstrap' => [  
29 - 'class' => ContentNegotiator::className(),  
30 - 'only' => ['autocomplete'],  
31 - 'formats' => [ 'application/json' => Response::FORMAT_JSON],  
32 - 'languages' => [  
33 - 'ru',  
34 - ],  
35 - ],*/  
36 - ];  
37 - }  
38 -  
39 - /**  
40 - * Renders the relations view  
41 - * @return string  
42 - */  
43 - public function actionIndex()  
44 - {  
45 - $relations = relationHelper::getRelations();  
46 - $list = [];  
47 - foreach ($relations as $key => $relation) {  
48 - $list[] = [  
49 - 'key' => $key,  
50 - 'name' => $relation['name'],  
51 - 'entity1_label' => $relation['entity1']['label'],  
52 - 'entity1_model' => $relation['entity1']['model'],  
53 - 'entity2_label' => $relation['entity2']['label'],  
54 - 'entity2_model' => $relation['entity2']['model'],  
55 - ];  
56 - }  
57 - return $this->render('relations', [  
58 - 'relations' => $list  
59 - ]);  
60 - }  
61 - /**  
62 - * Renders the pars view for  
63 - * @return string  
64 - */  
65 - public function actionPars($relation)  
66 - {  
67 - $relation_key = strtolower($relation);  
68 - $relation = relationHelper::getRelation($relation_key);  
69 -  
70 - $dataProvider = new ActiveDataProvider([  
71 - 'query' => $relation['via']['model']::find(),  
72 - ]);  
73 -  
74 - return $this->render('pars', [  
75 - 'dataProvider' => $dataProvider,  
76 - 'relation_key' => $relation_key,  
77 - 'relation' => $relation,  
78 - ]);  
79 - }  
80 -  
81 - public function actionCreate($relation) {  
82 - $relation_key = strtolower($relation);  
83 - $relation = relationHelper::getRelation($relation_key);  
84 -  
85 - $model = new $relation['via']['model'];  
86 -  
87 - if ($model->load(Yii::$app->request->post())) {  
88 - $model->save();  
89 - return $this->redirect(['pars', 'relation' => $relation_key]);  
90 -// return $this->redirect(['update', 'id' => $model->{$relation['entity1']['linked_key']}. ':' .$model->{$relation['entity2']['linked_key']}]);  
91 - } else {  
92 - return $this->render('create', [  
93 - 'model' => $model,  
94 -// 'items1' => $query1->limit(100)->all(),  
95 -// 'items2' => $query2->asArray()->all(),  
96 - 'relation_key' => $relation_key,  
97 - 'relation' => $relation,  
98 - ]);  
99 - }  
100 - }  
101 -  
102 - /**  
103 - * Updates an existing TaxGroup model.  
104 - * If update is successful, the browser will be redirected to the 'view' page.  
105 - * @param integer $id  
106 - * @return mixed  
107 - */  
108 - public function actionUpdate($relation, $id) {  
109 - $relation_key = strtolower($relation);  
110 - $relation = relationHelper::getRelation($relation_key);  
111 -  
112 - list($id1, $id2) = explode(':', $id);  
113 -  
114 - $model = $this->findModel($relation_key, $id1, $id2);  
115 -  
116 - if ($model->load(Yii::$app->request->post())) {  
117 - $connection = Yii::$app->getDb();  
118 - $transaction = $connection->beginTransaction();  
119 - try {  
120 - // Delete links from viaTable  
121 - $connection->createCommand()  
122 - ->update  
123 - (  
124 - $relation['linked_table'],  
125 - [  
126 - $relation['entity1']['linked_key'] => $model->getAttribute($relation['entity1']['linked_key']),  
127 - $relation['entity2']['linked_key'] => $model->getAttribute($relation['entity2']['linked_key'])  
128 - ],  
129 - $this->getWhere($relation_key, $id1, $id2)  
130 - )  
131 - ->execute();  
132 - $transaction->commit();  
133 - } catch (Exception $ex) {  
134 - $transaction->rollback();  
135 - throw $ex;  
136 - }  
137 -  
138 - return $this->redirect(['pars', 'relation' => $relation_key]);  
139 - } else {  
140 - return $this->render('update', [  
141 - 'model' => $model,  
142 - 'value1' => $model->entity1->getAttribute($relation['entity1']['listField']),  
143 - 'value2' => $model->entity2->getAttribute($relation['entity2']['listField']),  
144 - 'relation_key' => $relation_key,  
145 - 'relation' => $relation,  
146 - ]);  
147 - }  
148 - }  
149 -  
150 - /**  
151 - * Deletes an existing TaxGroup model.  
152 - * If deletion is successful, the browser will be redirected to the 'index' page.  
153 - * @param integer $id  
154 - * @return mixed  
155 - */  
156 - public function actionDelete($relation, $id)  
157 - {  
158 - $relation_key = strtolower($relation);  
159 - $relation = relationHelper::getRelation($relation_key);  
160 -  
161 - list($id1, $id2) = explode(':', $id);  
162 -  
163 - $connection = Yii::$app->getDb();  
164 - $transaction = $connection->beginTransaction();  
165 - try {  
166 - // Delete links from viaTable  
167 - $connection->createCommand()  
168 - ->delete  
169 - (  
170 - $relation['linked_table'],  
171 - $this->getWhere($relation_key, $id1, $id2)  
172 - )  
173 - ->execute();  
174 - $transaction->commit();  
175 - } catch (Exception $ex) {  
176 - $transaction->rollback();  
177 - throw $ex;  
178 - }  
179 -  
180 - return $this->redirect(['pars', 'relation' => $relation_key]);  
181 - }  
182 -  
183 - public function actionAutocomplete() {  
184 - $relation_key = Yii::$app->request->get('relation_key');  
185 - $entity = Yii::$app->request->get('entity');  
186 - $term = Yii::$app->request->get('term');  
187 - $relation_key = strtolower($relation_key);  
188 - $relation = relationHelper::getRelation($relation_key);  
189 -  
190 - /** @var ActiveQuery $query */  
191 - $query = $relation[$entity]['model']::find();  
192 -  
193 - if (!empty($relation[$entity]['searchJoin'])) {  
194 - $query->innerJoinWith($relation[$entity]['searchJoin']);  
195 - }  
196 - if (!empty($relation[$entity]['where'])) {  
197 - $query->where($relation[$entity]['where']);  
198 - }  
199 - $query->where(['ilike', $relation[$entity]['searchField'], $term]);  
200 -  
201 - print json_encode(ArrayHelper::map($query->limit(50)->all(), $relation[$entity]['key'], $relation[$entity]['listField']));  
202 - exit;  
203 - }  
204 -  
205 - /**  
206 - * Finds the based model for relation on its primaries keys value.  
207 - * If the model is not found, a 404 HTTP exception will be thrown.  
208 - * @param string $relation  
209 - * @param integer $id1  
210 - * @param integer $id2  
211 - * @return ActiveRecord the loaded model  
212 - * @throws NotFoundHttpException if the model cannot be found  
213 - */  
214 - protected function findModel($relation, $id1, $id2)  
215 - {  
216 - $relation_key = strtolower($relation);  
217 - $relation = relationHelper::getRelation($relation_key);  
218 - if (($model = $relation['via']['model']::findOne($this->getWhere($relation_key, $id1, $id2))) !== null) {  
219 - return $model;  
220 - } else {  
221 - throw new NotFoundHttpException('The requested page does not exist.');  
222 - }  
223 - }  
224 -  
225 - protected function getWhere($relation_key, $id1, $id2) {  
226 - $relation = relationHelper::getRelation($relation_key);  
227 - // @todo Just think - if you need to search keys in the reverse order  
228 - $where = [  
229 - $relation['entity1']['linked_key'] => $id1,  
230 - $relation['entity2']['linked_key'] => $id2,  
231 - ];  
232 - if (!empty($relation['alias'])) {  
233 - $where[$relation['alias']] = $relation_key;  
234 - }  
235 - return $where;  
236 - }  
237 -  
238 -}  
common/modules/relation/models/Relation.php deleted
1 -<?php  
2 -  
3 -namespace common\modules\relation\models;  
4 -  
5 -use common\modules\relation\relationHelper;  
6 -use Yii;  
7 -  
8 -/**  
9 - * This is the model class for table "relation".  
10 - *  
11 - * @property string $alias  
12 - * @property integer $entity1_id  
13 - * @property integer $entity2_id  
14 - */  
15 -class Relation extends \yii\db\ActiveRecord  
16 -{  
17 - /**  
18 - * @inheritdoc  
19 - */  
20 - public static function tableName()  
21 - {  
22 - return 'relation';  
23 - }  
24 -  
25 - /**  
26 - * @inheritdoc  
27 - */  
28 - public function rules()  
29 - {  
30 - return [  
31 - [['alias', 'entity1_id', 'entity2_id'], 'required'],  
32 - [['entity1_id', 'entity2_id'], 'integer'],  
33 - [['alias'], 'string', 'max' => 50]  
34 - ];  
35 - }  
36 -  
37 - /**  
38 - * @inheritdoc  
39 - */  
40 - public function attributeLabels()  
41 - {  
42 - return [  
43 - 'alias' => Yii::t('relation', 'Alias'),  
44 - 'entity1_id' => Yii::t('relation', 'Entity1 ID'),  
45 - 'entity2_id' => Yii::t('relation', 'Entity2 ID'),  
46 - 'entity1' => Yii::t('relation', 'Entity1 ID'),  
47 - 'entity2' => Yii::t('relation', 'Entity2 ID'),  
48 - ];  
49 - }  
50 -  
51 - /**  
52 - * @inheritdoc  
53 - * @return RelationQuery the active query used by this AR class.  
54 - */  
55 - public static function find()  
56 - {  
57 - return new RelationQuery(get_called_class());  
58 - }  
59 -  
60 - public function getRelationSection() {  
61 - return relationHelper::getRelation($this->alias);  
62 - }  
63 -  
64 - public function getEntity1() {  
65 - return $this->getEntity('entity1');  
66 - }  
67 -  
68 - public function getEntity2() {  
69 - return $this->getEntity('entity2');  
70 - }  
71 -  
72 - protected function getEntity($entity) {  
73 - $relation = $this->getRelationSection();  
74 - if (!$relation)  
75 - return;  
76 - return $this->hasOne($relation[$entity]['model']::className(), [$relation[$entity]['key'] => $relation[$entity]['linked_key']]);  
77 - }  
78 -}  
common/modules/relation/models/RelationQuery.php deleted
1 -<?php  
2 -  
3 -namespace common\modules\relation\models;  
4 -  
5 -/**  
6 - * This is the ActiveQuery class for [[Relation]].  
7 - *  
8 - * @see Relation  
9 - */  
10 -class RelationQuery extends \yii\db\ActiveQuery  
11 -{  
12 - /*public function active()  
13 - {  
14 - $this->andWhere('[[status]]=1');  
15 - return $this;  
16 - }*/  
17 -  
18 - /**  
19 - * @inheritdoc  
20 - * @return Relation[]|array  
21 - */  
22 - public function all($db = null)  
23 - {  
24 - return parent::all($db);  
25 - }  
26 -  
27 - /**  
28 - * @inheritdoc  
29 - * @return Relation|array|null  
30 - */  
31 - public function one($db = null)  
32 - {  
33 - return parent::one($db);  
34 - }  
35 -}  
36 \ No newline at end of file 0 \ No newline at end of file
common/modules/relation/relationBehavior.php deleted
1 -<?php  
2 -  
3 -namespace common\modules\relation;  
4 -  
5 -use yii\base\Behavior;  
6 -use yii\base\Exception;  
7 -use yii\db\ActiveRecord;  
8 -use Yii;  
9 -use yii\helpers\ArrayHelper;  
10 -  
11 -class relationBehavior extends Behavior {  
12 -  
13 - /** @var array $fields Form-fields for current relations */  
14 - public $fields = [];  
15 -  
16 - /** @var array $values Values for current relations */  
17 - public $values = [];  
18 -  
19 - /** @var array $relations List of relations of current model */  
20 - public $relations = [];  
21 -  
22 - /**  
23 - * @param ActiveRecord $owner  
24 - * @throws Exception  
25 - */  
26 - public function attach($owner)  
27 - {  
28 - parent::attach($owner);  
29 - }  
30 -  
31 - /*  
32 - * Inicialize behavior (read and prepare params)  
33 - */  
34 - public function init() {  
35 -  
36 - foreach ($this->relations as $relation_key => &$relation) {  
37 - if (is_string($relation)) {  
38 - // Get data from module's data  
39 - $relation_entity = $relation;  
40 - $relation = $this->_getRelationParams($relation_key);  
41 - $relation['inner'] = $relation[$relation_entity];  
42 - $relation['outer'] = $relation[$relation_entity == 'entity1' ? 'entity2' : 'entity1'];  
43 - $relation['linked_table'] = $relation['via']['model']::tableName();  
44 - if (!empty($relation['via']['alias'])) {  
45 - $relation['linked_alias'] = $relation['via']['alias'];  
46 - }  
47 - }  
48 - $this->fields[$relation['field']] = $relation_key;  
49 -  
50 - }  
51 - }  
52 -  
53 - /*  
54 - * Events for auto-drive relations data  
55 - */  
56 - public function events()  
57 - {  
58 - return [  
59 - ActiveRecord::EVENT_AFTER_INSERT => 'relationsAfterSave',  
60 - ActiveRecord::EVENT_AFTER_UPDATE => 'relationsAfterSave',  
61 - ActiveRecord::EVENT_BEFORE_DELETE => 'relationBeforeDelete',  
62 - ];  
63 - }  
64 -  
65 - public function relationsAfterSave($insert) {  
66 -  
67 - if (is_array($modelPrimaryKey = $this->owner->getPrimaryKey())) {  
68 - throw new ErrorException('This behavior does not support composite primary keys');  
69 - }  
70 -  
71 - foreach ($this->relations as $relation_key => $relation) {  
72 - if (empty($relation['field']) || !is_array($this->{$relation['field']}))  
73 - continue;  
74 -  
75 - $values = $this->{$relation['field']};  
76 -  
77 - /** @var ActiveRecord $model */  
78 - $model = new $relation['inner']['model'];  
79 -  
80 - $connection = $model::getDb();  
81 - $transaction = $connection->beginTransaction();  
82 -  
83 - $delete_where = [$relation['inner']['linked_key'] => $this->owner->{$relation['inner']['key']}];  
84 - if (!empty($relation['linked_alias'])) {  
85 - $delete_where[$relation['linked_alias']] = $relation_key;  
86 - }  
87 -  
88 - try {  
89 - // Delete all links from viaTable  
90 - $connection->createCommand()  
91 - ->delete  
92 - (  
93 - $relation['linked_table'],  
94 - $delete_where  
95 - )  
96 - ->execute();  
97 -  
98 - if (!empty($values)) {  
99 -  
100 - foreach($values as $value) {  
101 - $insertData = [  
102 - $relation['inner']['linked_key'] => $this->owner->{$relation['inner']['key']},  
103 - $relation['outer']['linked_key'] => $value  
104 - ];  
105 - if (!empty($relation['linked_alias'])) {  
106 - $insertData[$relation['linked_alias']] = $relation_key;  
107 - }  
108 -  
109 -  
110 - $connection->createCommand()  
111 - ->insert  
112 - (  
113 - $relation['linked_table'],  
114 - $insertData  
115 - )  
116 - ->execute();  
117 - }  
118 - }  
119 - $transaction->commit();  
120 -  
121 -// $model->link($relation_key, )  
122 - } catch (Exception $ex) {  
123 -// var_dump($relation_key, $relation);exit;  
124 - $transaction->rollback();  
125 - throw $ex;  
126 - }  
127 - }  
128 - }  
129 -  
130 - public function relationBeforeDelete() {  
131 - if (is_array($modelPrimaryKey = $this->owner->getPrimaryKey())) {  
132 - throw new ErrorException('This behavior does not support composite primary keys');  
133 - }  
134 - foreach ($this->relations as $relation_key => $relation) {  
135 - if (empty($relation['field']))  
136 - continue;  
137 - $values = $this->{$relation['field']};  
138 -  
139 - /** @var ActiveRecord $model */  
140 - $model = new $relation['inner']['model'];  
141 -  
142 - $connection = $model::getDb();  
143 - $transaction = $connection->beginTransaction();  
144 -  
145 - // @todo Refix to ActiveRecord format  
146 - try {  
147 - // Delete all links from viaTable  
148 - $connection->createCommand()  
149 - ->delete  
150 - (  
151 - $relation['linked_table'],  
152 - [$relation['inner']['linked_key'] => $this->owner->{$relation['inner']['key']}]  
153 - )  
154 - ->execute();  
155 - $transaction->commit();  
156 - } catch (Exception $ex) {  
157 - $transaction->rollback();  
158 - throw $ex;  
159 - }  
160 - }  
161 - }  
162 -  
163 - /**  
164 - * Get related data for $relation  
165 - * @params string $relation Relation key  
166 - */  
167 - public function getRelations($relation) {  
168 - $relation = $this->_getRelation($relation);  
169 - return  
170 - $this->owner  
171 - ->hasMany($relation['outer']['model'], [$relation['outer']['key'] => $relation['outer']['linked_key']])  
172 - ->viaTable($relation['linked_table'], [$relation['inner']['linked_key'] => $relation['inner']['key']]);  
173 - }  
174 -  
175 - /*  
176 - * Get relation params for $relation  
177 - * @param string $relation Relation key  
178 - */  
179 - protected function _getRelation($relation) {  
180 - $relation = strtolower($relation);  
181 - return isset($this->relations[$relation]) ? $this->relations[$relation] : null;  
182 - }  
183 -  
184 - /**  
185 - * Return relation data from main app config  
186 - * @params string $section Relations key  
187 - */  
188 - protected function _getRelationParams($section) {  
189 - $relation = relationHelper::getRelation($section);  
190 - if (!$relation)  
191 - throw new Exception('Relation "' . $section . '" not set on this application.');  
192 - return $relation;  
193 - }  
194 -  
195 - protected function _getRelationNameByField($field) {  
196 - return isset($this->fields[$field]) ? $this->fields[$field] : null;  
197 - }  
198 -  
199 - protected function _getRelationByField($field) {  
200 - return ( isset($this->fields[$field]) && isset($this->relations[$this->fields[$field]]) ) ? $this->relations[$this->fields[$field]] : null;  
201 - }  
202 -  
203 - /**  
204 - * @inheritdoc  
205 - */  
206 - public function canGetProperty($name, $checkVars = true)  
207 - {  
208 - return true;  
209 - }  
210 -  
211 - /**  
212 - * @inheritdoc  
213 - */  
214 - public function canSetProperty($name, $checkVars = true)  
215 - {  
216 - return array_key_exists($name, $this->fields) ?  
217 - true : parent::canSetProperty($name, $checkVars = true);  
218 - }  
219 -  
220 - /**  
221 - * @inheritdoc  
222 - */  
223 - public function __set($name, $value) {  
224 - if (isset($this->fields[$name])) {  
225 - $this->values[$name] = $value;  
226 - }  
227 - }  
228 -  
229 - /**  
230 - * @inheritdoc  
231 - */  
232 - public function __get($name) {  
233 - if (isset($this->values[$name])) {  
234 - return $this->values[$name];  
235 - } else {  
236 - $relation_key = $this->_getRelationNameByField($name);  
237 - if (!$relation_key)  
238 - return;  
239 -  
240 - return $this->getRelations($relation_key);  
241 - }  
242 - }  
243 -}  
244 \ No newline at end of file 0 \ No newline at end of file
common/modules/relation/relationHelper.php deleted
1 -<?php  
2 -  
3 -namespace common\modules\relation;  
4 -  
5 -use Yii;  
6 -use yii\base\Object;  
7 -  
8 -class relationHelper extends Object {  
9 - /** @var array $relations Cached relations list */  
10 - private static $relations;  
11 -  
12 - /**  
13 - * Return all relations for current @app  
14 - * @return array  
15 - */  
16 - public static function getRelations() {  
17 - $module = \Yii::$app->getModule('relation');  
18 -  
19 - if (!is_array($module->relations))  
20 - return [];  
21 -  
22 - return $module->relations;  
23 - }  
24 -  
25 - /**  
26 - * Return one relation for key $name  
27 - * @param string $name  
28 - * @return string (@todo refix to relationOject)  
29 - */  
30 - public static function getRelation($name) {  
31 - $name = strtolower($name);  
32 - if (isset(self::$relations[$name])) {  
33 - return self::$relations[$name];  
34 - }  
35 - $relations = self::getRelations();  
36 - if (isset($relations[$name])) {  
37 - self::$relations[$name] = self::prepareRelation($relations[$name]);  
38 - } else {  
39 - self::$relations[$name] = null;  
40 - }  
41 - return self::$relations[$name];  
42 - }  
43 -  
44 -  
45 - private static function prepareRelation($relation) {  
46 - if (!isset($relation['linked_table']) && isset($relation['via']['model'])) {  
47 - $relation['linked_table'] = $relation['via']['model']::tableName();  
48 - }  
49 - return $relation;  
50 - }  
51 -  
52 - /**  
53 - * @param string $name  
54 - * @return bool  
55 - */  
56 - public static function issetRelation($name) {  
57 - $relations = self::getRelations();  
58 - return isset($relations[$name]);  
59 - }  
60 -}  
61 \ No newline at end of file 0 \ No newline at end of file
common/modules/relation/relationObject.php deleted
1 -<?php  
2 -  
3 -namespace common\modules\relation;  
4 -  
5 -use yii\base\Object;  
6 -  
7 -class relationObject extends Object {  
8 - protected $key;  
9 - protected $entity1;  
10 - protected $entity2;  
11 -  
12 - protected $moduleRelations = [];  
13 -  
14 - public function __construct($relation_key, $params) {  
15 - $relation_key = strtolower($relation_key);  
16 - if (is_string($params)) {  
17 - // Get data from module's data  
18 - $relation_entity = $params;  
19 - $relation = $this->_getRelationParams($relation_key);  
20 - $relation['inner'] = $relation[$relation_entity];  
21 - $relation['outer'] = $relation[$relation_entity == 'entity1' ? 'entity2' : 'entity1'];  
22 - $relation['linked_table'] = $relation['via']['model']::tableName();  
23 - }  
24 -  
25 - $this->moduleRelations = relationHelper::getRelations();  
26 -  
27 -  
28 - }  
29 -}  
30 \ No newline at end of file 0 \ No newline at end of file
common/modules/relation/relationQueryTrait.php deleted
1 -<?php  
2 -  
3 -namespace common\modules\relation;  
4 -  
5 -trait relationQueryTrait {  
6 -  
7 - static public $cache_tree = [];  
8 -  
9 - /** @var \yii\db\ActiveQuery $this */  
10 - static $model;  
11 -  
12 - /*  
13 - * @return \yii\db\ActiveQuery  
14 - */  
15 - private function getModel()  
16 - {  
17 - if (empty(self::$model)) {  
18 - $class = $this->modelClass;  
19 - self::$model = new $class;  
20 - }  
21 - return self::$model;  
22 - }  
23 -  
24 - /*public function getRelations($relation) {  
25 - $model = $this->getModel();  
26 -  
27 - $relation = $model->_getRelation($relation);  
28 - return  
29 - $model->owner  
30 - ->hasMany($relation['outer']['model'], [$relation['outer']['key'] => $relation['outer']['linked_key']])  
31 - ->viaTable($relation['linked_table'], [$relation['inner']['linked_key'] => $relation['inner']['key']]);  
32 - }*/  
33 -}  
34 \ No newline at end of file 0 \ No newline at end of file
common/modules/relation/views/default/index.php deleted
1 -<div class="relation-default-index">  
2 - <h1><?= $this->context->action->uniqueId ?></h1>  
3 - <p>  
4 - This is the view content for action "<?= $this->context->action->id ?>".  
5 - The action belongs to the controller "<?= get_class($this->context) ?>"  
6 - in the "<?= $this->context->module->id ?>" module.  
7 - </p>  
8 - <p>  
9 - You may customize this page by editing the following file:<br>  
10 - <code><?= __FILE__ ?></code>  
11 - </p>  
12 -</div>  
common/modules/relation/views/manage/_form.php deleted
1 -<?php  
2 -  
3 -use yii\helpers\Html;  
4 -use yii\widgets\ActiveForm;  
5 -use yii\helpers\ArrayHelper;  
6 -use yii\jui\AutoComplete;  
7 -  
8 -/* @var $this yii\web\View */  
9 -/* @var $model common\modules\rubrication\models\TaxGroup */  
10 -/* @var $form yii\widgets\ActiveForm */  
11 -?>  
12 -  
13 -<div class="relation-form">  
14 -  
15 - <?php $form = ActiveForm::begin(); ?>  
16 -  
17 - <?= $form->field($model, $relation['entity1']['linked_key'])->widget(  
18 - AutoComplete::className(), [  
19 -// 'model' => \common\modules\relation\models\Relation::className(),  
20 - 'clientOptions' => [  
21 - 'source' => \yii\helpers\Url::to(['manage/autocomplete/', 'relation_key' => $relation_key, 'entity' => 'entity1']),  
22 - 'dataType' => 'json',  
23 - 'autoFill' => true,  
24 - 'minLength' => '2',  
25 - ],  
26 - 'options' => [  
27 - 'value' => empty($value1) ? '' : $value1,  
28 - 'class'=>'form-control',  
29 - 'placeholder' => $relation['entity1']['label']  
30 - ]  
31 - ]);  
32 - ?>  
33 -  
34 - <?= $form->field($model, $relation['entity2']['linked_key'])->widget(  
35 - AutoComplete::className(), [  
36 -// 'model' => \common\modules\relation\models\Relation::className(),  
37 - 'clientOptions' => [  
38 - 'source' => \yii\helpers\Url::to(['manage/autocomplete/', 'relation_key' => $relation_key, 'entity' => 'entity2']),  
39 - 'dataType' => 'json',  
40 - 'autoFill' => true,  
41 - 'minLength' => '2',  
42 - 'allowClear' => true,  
43 - ],  
44 - 'options' => [  
45 - 'value' => empty($value2) ? '' : $value2,  
46 - 'class'=>'form-control',  
47 - 'placeholder' => $relation['entity2']['label']  
48 - ]  
49 - ]);  
50 - ?>  
51 -  
52 - <div class="form-group">  
53 - <?= Html::submitButton($model->isNewRecord ? Yii::t('relation', 'Create') : Yii::t('relation', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>  
54 - </div>  
55 -  
56 - <?php ActiveForm::end(); ?>  
57 -  
58 -</div>  
common/modules/relation/views/manage/create.php deleted
1 -<?php  
2 -  
3 -use yii\helpers\Html;  
4 -  
5 -/* @var $this yii\web\View */  
6 -  
7 -$this->title = Yii::t('relation', $relation['name']);  
8 -$this->params['breadcrumbs'][] = ['label' => Yii::t('relation', 'Relations'), 'url' => ['index']];  
9 -$this->params['breadcrumbs'][] = ['label' => Yii::t('relation', $relation['name']), 'url' => ['/relation/manage/pars', 'relation' => $relation_key]];  
10 -$this->params['breadcrumbs'][] = $this->title;  
11 -?>  
12 -<div class="tax-group-create">  
13 -  
14 - <h1><?= Html::encode($this->title) ?></h1>  
15 -  
16 - <?= $this->render('_form', [  
17 - 'model' => $model,  
18 - 'relation_key' => $relation_key,  
19 - 'relation' => $relation,  
20 - ]) ?>  
21 -  
22 -</div>  
common/modules/relation/views/manage/pars.php deleted
1 -<?php  
2 -  
3 -use yii\helpers\Html;  
4 -use yii\grid\GridView;  
5 -/* @var $this yii\web\View */  
6 -  
7 -$this->title = Yii::t('relation', 'Relation items for {relation}', ['relation' => $relation['name']]);  
8 -$this->params['breadcrumbs'][] = ['label' => Yii::t('relation', 'Relations'), 'url' => ['/relation/manage']];  
9 -$this->params['breadcrumbs'][] = $this->title;  
10 -?>  
11 -<div class="relation-pars">  
12 -  
13 - <h1><?= Html::encode($this->title) ?></h1>  
14 -  
15 - <p>  
16 - <?= Html::a(Yii::t('relation', 'Create relation'), ['create?relation='. $relation_key], ['class' => 'btn btn-success']) ?>  
17 - </p>  
18 -  
19 - <?= GridView::widget([  
20 - 'dataProvider' => $dataProvider,  
21 - 'columns' => [  
22 - ['class' => 'yii\grid\SerialColumn'],  
23 - 'alias',  
24 - 'entity1.'. $relation['entity1']['listField'],  
25 - 'entity2.'. $relation['entity2']['listField'],  
26 - [  
27 - 'class' => 'yii\grid\ActionColumn',  
28 - 'template' => '{update} {delete}',  
29 - 'buttons' => [  
30 - 'update' => function ($url, $model) {  
31 - return Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url, [  
32 - 'title' => Yii::t('relation', 'Edit par'),  
33 - ]);  
34 - },  
35 - 'delete' => function ($url, $model) {  
36 - return Html::a('<span class="glyphicon glyphicon-trash"></span>', $url, [  
37 - 'title' => Yii::t('relation', 'Delete par'),  
38 - ]);  
39 - },  
40 - ],  
41 - 'urlCreator' => function ($action, $model, $key, $index) use ($relation, $relation_key) {  
42 - if ($action === 'update') {  
43 - $url ='/admin/relation/manage/update?relation='. $relation_key .'&id='. $model->{$relation['entity1']['linked_key']} .':'. $model->{$relation['entity2']['linked_key']};  
44 - return $url;  
45 - }  
46 - if ($action === 'delete') {  
47 - $url ='/admin/relation/manage/delete?relation='. $relation_key .'&id='. $model->{$relation['entity1']['linked_key']} .':'. $model->{$relation['entity2']['linked_key']};  
48 - return $url;  
49 - }  
50 - }  
51 - ],  
52 - ],  
53 - ]); ?>  
54 -</div>  
common/modules/relation/views/manage/relations.php deleted
1 -<?php  
2 -  
3 -use yii\helpers\Html;  
4 -use yii\grid\GridView;  
5 -/* @var $this yii\web\View */  
6 -  
7 -$this->title = Yii::t('relation', 'Relations');  
8 -$this->params['breadcrumbs'][] = $this->title;  
9 -?>  
10 -<div class="relation-sections">  
11 -  
12 - <h1><?= Html::encode($this->title) ?></h1>  
13 -  
14 - <?php  
15 - $dataProvider = new \yii\data\ArrayDataProvider([  
16 - 'allModels' => $relations,  
17 - 'sort' => [  
18 - 'attributes' => ['name', 'key', 'entity1_label', 'entity2_label'],  
19 - ],  
20 - 'pagination' => [  
21 - 'pageSize' => 10,  
22 - ],  
23 - ]);  
24 - ?>  
25 -  
26 - <?= GridView::widget([  
27 - 'dataProvider' => $dataProvider,  
28 - 'columns' => [  
29 - ['class' => 'yii\grid\SerialColumn'],  
30 - 'name',  
31 - 'key',  
32 - 'entity1_label',  
33 - 'entity2_label',  
34 - [  
35 - 'class' => 'yii\grid\ActionColumn',  
36 - 'template' => '{view}',  
37 - 'buttons' => [  
38 - 'view' => function ($url, $model) {  
39 - return Html::a('<span class="glyphicon glyphicon-th-list"></span>', $url, [  
40 - 'title' => Yii::t('relation', 'View pars'),  
41 - ]);  
42 - },  
43 - ],  
44 - 'urlCreator' => function ($action, $model) {  
45 - if ($action === 'view') {  
46 - $url ='/admin/relation/manage/pars?relation='. $model['key'];  
47 - return $url;  
48 - }  
49 - }  
50 - ],  
51 - ],  
52 - ]); ?>  
53 -</div>  
common/modules/relation/views/manage/update.php deleted
1 -<?php  
2 -  
3 -use yii\helpers\Html;  
4 -  
5 -  
6 -/* @var $this yii\web\View */  
7 -  
8 -$this->title = Yii::t('relation', $relation['name']);  
9 -$this->params['breadcrumbs'][] = ['label' => Yii::t('relation', 'Relations'), 'url' => ['index']];  
10 -$this->params['breadcrumbs'][] = ['label' => Yii::t('relation', $relation['name']), 'url' => ['/relation/manage/pars', 'relation' => $relation_key]];  
11 -$this->params['breadcrumbs'][] = $this->title;  
12 -?>  
13 -<div class="tax-group-create">  
14 -  
15 - <h1><?= Html::encode($this->title) ?></h1>  
16 -  
17 - <?= $this->render('_form', [  
18 - 'model' => $model,  
19 - 'value1' => $value1,  
20 - 'value2' => $value2,  
21 - 'relation_key' => $relation_key,  
22 - 'relation' => $relation,  
23 - ]) ?>  
24 -  
25 -</div>  
common/modules/rubrication/models/TaxGroup.php
@@ -3,7 +3,6 @@ @@ -3,7 +3,6 @@
3 namespace common\modules\rubrication\models; 3 namespace common\modules\rubrication\models;
4 4
5 use common\modules\product\models\Category; 5 use common\modules\product\models\Category;
6 -use common\modules\relation\relationBehavior;  
7 use Yii; 6 use Yii;
8 7
9 /** 8 /**
@@ -34,12 +33,6 @@ class TaxGroup extends \yii\db\ActiveRecord @@ -34,12 +33,6 @@ class TaxGroup extends \yii\db\ActiveRecord
34 public function behaviors() 33 public function behaviors()
35 { 34 {
36 return [ 35 return [
37 - [  
38 - 'class' => relationBehavior::className(),  
39 - 'relations' => [  
40 - 'tax_group_to_category' => 'entity1',  
41 - ]  
42 - ],  
43 'slug' => [ 36 'slug' => [
44 'class' => 'common\behaviors\Slug', 37 'class' => 'common\behaviors\Slug',
45 'in_attribute' => 'name', 38 'in_attribute' => 'name',
frontend/models/ProductFrontendSearch.php
@@ -3,24 +3,25 @@ @@ -3,24 +3,25 @@
3 namespace frontend\models; 3 namespace frontend\models;
4 4
5 use common\modules\product\helpers\ProductHelper; 5 use common\modules\product\helpers\ProductHelper;
6 -use common\modules\product\models\Brand;  
7 -use common\modules\product\models\BrandName;  
8 -use common\modules\product\models\CategoryName;  
9 use common\modules\product\models\ProductCategory; 6 use common\modules\product\models\ProductCategory;
10 use common\modules\product\models\ProductOption; 7 use common\modules\product\models\ProductOption;
11 -use common\modules\product\models\ProductSearch;  
12 use common\modules\rubrication\models\TaxGroup; 8 use common\modules\rubrication\models\TaxGroup;
13 use common\modules\rubrication\models\TaxOption; 9 use common\modules\rubrication\models\TaxOption;
14 use Yii; 10 use Yii;
15 use yii\base\Model; 11 use yii\base\Model;
16 use yii\data\ActiveDataProvider; 12 use yii\data\ActiveDataProvider;
17 use yii\db\ActiveQuery; 13 use yii\db\ActiveQuery;
18 -use yii\db\ActiveRecord;  
19 -use yii\web\NotFoundHttpException; 14 +
20 use common\modules\product\models\Product; 15 use common\modules\product\models\Product;
21 use common\modules\product\models\ProductVariant; 16 use common\modules\product\models\ProductVariant;
22 17
23 class ProductFrontendSearch extends Product { 18 class ProductFrontendSearch extends Product {
  19 +
  20 +
  21 + public $price_interval;
  22 + public $brands;
  23 +
  24 +
24 /** 25 /**
25 * @inheritdoc 26 * @inheritdoc
26 */ 27 */