Commit 72a992f5e8b37ee1836d3507f3fa1691881988e7
1 parent
18d6bf69
Import browser v1.0
Showing
50 changed files
with
942 additions
and
1020 deletions
Show diff stats
backend/controllers/BannerController.php
... | ... | @@ -82,26 +82,21 @@ |
82 | 82 | public function actionCreate() |
83 | 83 | { |
84 | 84 | $model = new Banner(); |
85 | - $model_langs = $model->generateLangs(); | |
85 | + $model->generateLangs(); | |
86 | 86 | |
87 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
88 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
89 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
87 | + if($model->load(Yii::$app->request->post())) { | |
88 | + $model->loadLangs(\Yii::$app->request); | |
89 | + if($model->save() && $model->transactionStatus) { | |
90 | 90 | return $this->redirect([ |
91 | 91 | 'view', |
92 | 92 | 'id' => $model->banner_id, |
93 | 93 | ]); |
94 | - } else { | |
95 | - return $this->redirect('update', [ | |
96 | - 'id' => $model->banner_id, | |
97 | - ]); | |
98 | 94 | } |
99 | - } else { | |
100 | - return $this->render('create', [ | |
101 | - 'model' => $model, | |
102 | - 'model_langs' => $model_langs, | |
103 | - ]); | |
104 | 95 | } |
96 | + return $this->render('create', [ | |
97 | + 'model' => $model, | |
98 | + 'model_langs' => $model->model_langs, | |
99 | + ]); | |
105 | 100 | } |
106 | 101 | |
107 | 102 | /** |
... | ... | @@ -115,11 +110,10 @@ |
115 | 110 | public function actionUpdate($id) |
116 | 111 | { |
117 | 112 | $model = $this->findModel($id); |
118 | - $model_langs = $model->generateLangs(); | |
119 | - | |
120 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
121 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
122 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
113 | + $model->generateLangs(); | |
114 | + if($model->load(Yii::$app->request->post())) { | |
115 | + $model->loadLangs(\Yii::$app->request); | |
116 | + if($model->save() && $model->transactionStatus) { | |
123 | 117 | return $this->redirect([ |
124 | 118 | 'view', |
125 | 119 | 'id' => $model->banner_id, |
... | ... | @@ -128,7 +122,7 @@ |
128 | 122 | } |
129 | 123 | return $this->render('update', [ |
130 | 124 | 'model' => $model, |
131 | - 'model_langs' => $model_langs, | |
125 | + 'model_langs' => $model->model_langs, | |
132 | 126 | ]); |
133 | 127 | } |
134 | 128 | ... | ... |
backend/controllers/BgController.php
... | ... | @@ -82,27 +82,21 @@ |
82 | 82 | public function actionCreate() |
83 | 83 | { |
84 | 84 | $model = new Bg(); |
85 | - $model_langs = $model->generateLangs(); | |
85 | + $model->generateLangs(); | |
86 | 86 | |
87 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
88 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
89 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
87 | + if($model->load(Yii::$app->request->post())) { | |
88 | + $model->loadLangs(\Yii::$app->request); | |
89 | + if($model->save() && $model->transactionStatus) { | |
90 | 90 | return $this->redirect([ |
91 | 91 | 'view', |
92 | 92 | 'id' => $model->id, |
93 | 93 | ]); |
94 | - } else { | |
95 | - return $this->redirect([ | |
96 | - 'update', | |
97 | - 'id' => $model->id, | |
98 | - ]); | |
99 | 94 | } |
100 | - } else { | |
101 | - return $this->render('create', [ | |
102 | - 'model' => $model, | |
103 | - 'model_langs' => $model_langs, | |
104 | - ]); | |
105 | 95 | } |
96 | + return $this->render('create', [ | |
97 | + 'model' => $model, | |
98 | + 'model_langs' => $model->model_langs, | |
99 | + ]); | |
106 | 100 | } |
107 | 101 | |
108 | 102 | /** |
... | ... | @@ -116,11 +110,11 @@ |
116 | 110 | public function actionUpdate($id) |
117 | 111 | { |
118 | 112 | $model = $this->findModel($id); |
119 | - $model_langs = $model->generateLangs(); | |
113 | + $model->generateLangs(); | |
120 | 114 | |
121 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
122 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
123 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
115 | + if($model->load(Yii::$app->request->post())) { | |
116 | + $model->loadLangs(\Yii::$app->request); | |
117 | + if($model->save() && $model->transactionStatus) { | |
124 | 118 | return $this->redirect([ |
125 | 119 | 'view', |
126 | 120 | 'id' => $model->id, |
... | ... | @@ -129,7 +123,7 @@ |
129 | 123 | } |
130 | 124 | return $this->render('update', [ |
131 | 125 | 'model' => $model, |
132 | - 'model_langs' => $model_langs, | |
126 | + 'model_langs' => $model->model_langs, | |
133 | 127 | ]); |
134 | 128 | } |
135 | 129 | ... | ... |
backend/controllers/BrandController.php
... | ... | @@ -92,25 +92,19 @@ |
92 | 92 | public function actionCreate() |
93 | 93 | { |
94 | 94 | $model = new Brand(); |
95 | - $model_langs = $model->generateLangs(); | |
95 | + $model->generateLangs(); | |
96 | 96 | if($model->load(Yii::$app->request->post())) { |
97 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
98 | - if($model->save()) { | |
99 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
100 | - return is_null(Yii::$app->request->post('create_and_new')) ? $this->redirect([ | |
101 | - 'view', | |
102 | - 'id' => $model->brand_id, | |
103 | - ]) : $this->redirect(array_merge([ 'create' ], Yii::$app->request->queryParams)); | |
104 | - } | |
105 | - } else { | |
106 | - return $this->redirect('update', [ | |
97 | + $model->loadLangs(\Yii::$app->request); | |
98 | + if($model->save() && $model->transactionStatus) { | |
99 | + return is_null(Yii::$app->request->post('create_and_new')) ? $this->redirect([ | |
100 | + 'view', | |
107 | 101 | 'id' => $model->brand_id, |
108 | - ]); | |
102 | + ]) : $this->redirect(array_merge([ 'create' ], Yii::$app->request->queryParams)); | |
109 | 103 | } |
110 | 104 | } |
111 | 105 | return $this->render('create', [ |
112 | 106 | 'model' => $model, |
113 | - 'model_langs' => $model_langs, | |
107 | + 'model_langs' => $model->model_langs, | |
114 | 108 | ]); |
115 | 109 | } |
116 | 110 | |
... | ... | @@ -125,22 +119,20 @@ |
125 | 119 | public function actionUpdate($id) |
126 | 120 | { |
127 | 121 | $model = $this->findModel($id); |
128 | - $model_langs = $model->generateLangs(); | |
122 | + $model->generateLangs(); | |
129 | 123 | |
130 | 124 | if($model->load(Yii::$app->request->post())) { |
131 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
132 | - if($model->save()) { | |
133 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
134 | - return $this->redirect([ | |
135 | - 'view', | |
136 | - 'id' => $model->brand_id, | |
137 | - ]); | |
138 | - } | |
125 | + $model->loadLangs(\Yii::$app->request); | |
126 | + if($model->save() && $model->transactionStatus) { | |
127 | + return $this->redirect([ | |
128 | + 'view', | |
129 | + 'id' => $model->brand_id, | |
130 | + ]); | |
139 | 131 | } |
140 | 132 | } |
141 | 133 | return $this->render('update', [ |
142 | 134 | 'model' => $model, |
143 | - 'model_langs' => $model_langs, | |
135 | + 'model_langs' => $model->model_langs, | |
144 | 136 | ]); |
145 | 137 | } |
146 | 138 | ... | ... |
backend/controllers/CategoryController.php
... | ... | @@ -10,7 +10,6 @@ |
10 | 10 | use yii\web\Controller; |
11 | 11 | use yii\web\NotFoundHttpException; |
12 | 12 | use yii\filters\VerbFilter; |
13 | - use yii\web\UploadedFile; | |
14 | 13 | |
15 | 14 | /** |
16 | 15 | * CategoryController implements the CRUD actions for Category model. |
... | ... | @@ -84,32 +83,22 @@ |
84 | 83 | public function actionCreate() |
85 | 84 | { |
86 | 85 | $model = new Category(); |
87 | - $model_langs = $model->generateLangs(); | |
88 | - | |
86 | + $model->generateLangs(); | |
89 | 87 | if($model->load(Yii::$app->request->post())) { |
90 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
91 | - | |
92 | - if($model->save()) { | |
93 | - | |
94 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
95 | - return is_null(Yii::$app->request->post('create_and_new')) ? $this->redirect([ | |
96 | - 'view', | |
97 | - 'id' => $model->category_id, | |
98 | - ]) : $this->redirect(array_merge([ 'create' ], Yii::$app->request->queryParams)); | |
99 | - } else { | |
100 | - return $this->redirect('update', [ | |
101 | - 'id' => $model->category_id, | |
102 | - ]); | |
103 | - } | |
88 | + $model->loadLangs(\Yii::$app->request); | |
89 | + if($model->save() && $model->transactionStatus) { | |
90 | + return is_null(Yii::$app->request->post('create_and_new')) ? $this->redirect([ | |
91 | + 'view', | |
92 | + 'id' => $model->category_id, | |
93 | + ]) : $this->redirect(array_merge([ 'create' ], Yii::$app->request->queryParams)); | |
104 | 94 | } |
105 | - | |
106 | 95 | } |
107 | 96 | if(!empty( Yii::$app->request->queryParams[ 'parent' ] )) { |
108 | 97 | $model->parent_id = Yii::$app->request->queryParams[ 'parent' ]; |
109 | 98 | } |
110 | 99 | return $this->render('create', [ |
111 | 100 | 'model' => $model, |
112 | - 'model_langs' => $model_langs, | |
101 | + 'model_langs' => $model->model_langs, | |
113 | 102 | 'categories' => ArtboxTreeHelper::treeMap(Category::find() |
114 | 103 | ->getTree(), 'category_id', 'category_id', '.'), |
115 | 104 | ]); |
... | ... | @@ -126,23 +115,19 @@ |
126 | 115 | public function actionUpdate($id) |
127 | 116 | { |
128 | 117 | $model = $this->findModel($id); |
129 | - | |
130 | - $model_langs = $model->generateLangs(); | |
131 | - | |
118 | + $model->generateLangs(); | |
132 | 119 | if($model->load(Yii::$app->request->post())) { |
133 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
134 | - if($model->save()) { | |
135 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
136 | - return $this->redirect([ | |
137 | - 'view', | |
138 | - 'id' => $model->category_id, | |
139 | - ]); | |
140 | - } | |
120 | + $model->loadLangs(\Yii::$app->request); | |
121 | + if($model->save() && $model->transactionStatus) { | |
122 | + return $this->redirect([ | |
123 | + 'view', | |
124 | + 'id' => $model->category_id, | |
125 | + ]); | |
141 | 126 | } |
142 | 127 | } |
143 | 128 | return $this->render('update', [ |
144 | 129 | 'model' => $model, |
145 | - 'model_langs' => $model_langs, | |
130 | + 'model_langs' => $model->model_langs, | |
146 | 131 | 'categories' => ArtboxTreeHelper::treeMap(Category::find() |
147 | 132 | ->getTree(), 'category_id', 'category_id', '.'), |
148 | 133 | ]); | ... | ... |
backend/controllers/EventController.php
... | ... | @@ -82,29 +82,22 @@ |
82 | 82 | public function actionCreate() |
83 | 83 | { |
84 | 84 | $model = new Event(); |
85 | - $model_langs = $model->generateLangs(); | |
85 | + $model->generateLangs(); | |
86 | 86 | |
87 | 87 | if($model->load(Yii::$app->request->post())) { |
88 | 88 | |
89 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
89 | + $model->loadLangs(\Yii::$app->request); | |
90 | 90 | |
91 | - if($model->save()) { | |
92 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
93 | - return $this->redirect([ | |
94 | - 'view', | |
95 | - 'id' => $model->event_id, | |
96 | - ]); | |
97 | - } else { | |
98 | - return $this->redirect([ | |
99 | - 'update', | |
100 | - 'id' => $model->event_id, | |
101 | - ]); | |
102 | - } | |
91 | + if($model->save() && $model->transactionStatus) { | |
92 | + return $this->redirect([ | |
93 | + 'view', | |
94 | + 'id' => $model->event_id, | |
95 | + ]); | |
103 | 96 | } |
104 | 97 | } |
105 | 98 | return $this->render('create', [ |
106 | 99 | 'model' => $model, |
107 | - 'model_langs' => $model_langs, | |
100 | + 'model_langs' => $model->model_langs, | |
108 | 101 | ]); |
109 | 102 | } |
110 | 103 | |
... | ... | @@ -119,24 +112,22 @@ |
119 | 112 | public function actionUpdate($id) |
120 | 113 | { |
121 | 114 | $model = $this->findModel($id); |
122 | - $model_langs = $model->generateLangs(); | |
115 | + $model->generateLangs(); | |
123 | 116 | |
124 | 117 | if($model->load(Yii::$app->request->post())) { |
125 | 118 | |
126 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
119 | + $model->loadLangs(\Yii::$app->request); | |
127 | 120 | |
128 | - if($model->save()) { | |
129 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
130 | - return $this->redirect([ | |
131 | - 'view', | |
132 | - 'id' => $model->event_id, | |
133 | - ]); | |
134 | - } | |
121 | + if($model->save() && $model->transactionStatus) { | |
122 | + return $this->redirect([ | |
123 | + 'view', | |
124 | + 'id' => $model->event_id, | |
125 | + ]); | |
135 | 126 | } |
136 | 127 | } |
137 | 128 | return $this->render('update', [ |
138 | 129 | 'model' => $model, |
139 | - 'model_langs' => $model_langs, | |
130 | + 'model_langs' => $model->model_langs, | |
140 | 131 | ]); |
141 | 132 | } |
142 | 133 | ... | ... |
backend/controllers/PageController.php
... | ... | @@ -82,26 +82,20 @@ |
82 | 82 | public function actionCreate() |
83 | 83 | { |
84 | 84 | $model = new Page(); |
85 | - $model_langs = $model->generateLangs(); | |
86 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
87 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
88 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
85 | + $model->generateLangs(); | |
86 | + if($model->load(Yii::$app->request->post())) { | |
87 | + $model->loadLangs(\Yii::$app->request); | |
88 | + if($model->save() && $model->transactionStatus) { | |
89 | 89 | return $this->redirect([ |
90 | 90 | 'view', |
91 | 91 | 'id' => $model->id, |
92 | 92 | ]); |
93 | - } else { | |
94 | - return $this->redirect([ | |
95 | - 'update', | |
96 | - 'id' => $model->id, | |
97 | - ]); | |
98 | 93 | } |
99 | - } else { | |
100 | - return $this->render('create', [ | |
101 | - 'model' => $model, | |
102 | - 'model_langs' => $model_langs, | |
103 | - ]); | |
104 | 94 | } |
95 | + return $this->render('create', [ | |
96 | + 'model' => $model, | |
97 | + 'model_langs' => $model->model_langs, | |
98 | + ]); | |
105 | 99 | } |
106 | 100 | |
107 | 101 | /** |
... | ... | @@ -115,11 +109,11 @@ |
115 | 109 | public function actionUpdate($id) |
116 | 110 | { |
117 | 111 | $model = $this->findModel($id); |
118 | - $model_langs = $model->generateLangs(); | |
112 | + $model->generateLangs(); | |
119 | 113 | |
120 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
121 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
122 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
114 | + if($model->load(Yii::$app->request->post())) { | |
115 | + $model->loadLangs(\Yii::$app->request); | |
116 | + if($model->save() && $model->transactionStatus) { | |
123 | 117 | return $this->redirect([ |
124 | 118 | 'view', |
125 | 119 | 'id' => $model->id, |
... | ... | @@ -128,7 +122,7 @@ |
128 | 122 | } |
129 | 123 | return $this->render('update', [ |
130 | 124 | 'model' => $model, |
131 | - 'model_langs' => $model_langs, | |
125 | + 'model_langs' => $model->model_langs, | |
132 | 126 | ]); |
133 | 127 | } |
134 | 128 | ... | ... |
backend/controllers/ProjectController.php
... | ... | @@ -89,11 +89,11 @@ |
89 | 89 | public function actionCreate() |
90 | 90 | { |
91 | 91 | $model = new Project(); |
92 | - $model_langs = $model->generateLangs(); | |
92 | + $model->generateLangs(); | |
93 | 93 | if($model->load(Yii::$app->request->post())) { |
94 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
94 | + $model->loadLangs(\Yii::$app->request); | |
95 | 95 | $model->imagesUpload = UploadedFile::getInstances($model, 'imagesUpload'); |
96 | - if($model->save()) { | |
96 | + if($model->save() && $model->transactionStatus) { | |
97 | 97 | if($model->imagesUpload && ( ( $images = $model->imagesUpload() ) !== false )) { |
98 | 98 | foreach($images as $image) { |
99 | 99 | $imageModel = new ProjectImage(); |
... | ... | @@ -102,22 +102,15 @@ |
102 | 102 | $imageModel->save(); |
103 | 103 | } |
104 | 104 | } |
105 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
106 | - return $this->redirect([ | |
107 | - 'view', | |
108 | - 'id' => $model->project_id, | |
109 | - ]); | |
110 | - } else { | |
111 | - return $this->redirect([ | |
112 | - 'update', | |
113 | - 'id' => $model->project_id, | |
114 | - ]); | |
115 | - } | |
105 | + return $this->redirect([ | |
106 | + 'view', | |
107 | + 'id' => $model->project_id, | |
108 | + ]); | |
116 | 109 | } |
117 | 110 | } |
118 | 111 | return $this->render('create', [ |
119 | 112 | 'model' => $model, |
120 | - 'model_langs' => $model_langs, | |
113 | + 'model_langs' => $model->model_langs, | |
121 | 114 | ]); |
122 | 115 | } |
123 | 116 | |
... | ... | @@ -132,11 +125,11 @@ |
132 | 125 | public function actionUpdate($id) |
133 | 126 | { |
134 | 127 | $model = $this->findModel($id); |
135 | - $model_langs = $model->generateLangs(); | |
128 | + $model->generateLangs(); | |
136 | 129 | if($model->load(Yii::$app->request->post())) { |
137 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
130 | + $model->loadLangs(\Yii::$app->request); | |
138 | 131 | $model->imagesUpload = UploadedFile::getInstances($model, 'imagesUpload'); |
139 | - if($model->save()) { | |
132 | + if($model->save() && $model->transactionStatus) { | |
140 | 133 | if($model->imagesUpload && ( ( $images = $model->imagesUpload() ) !== false )) { |
141 | 134 | foreach($images as $image) { |
142 | 135 | $imageModel = new ProjectImage(); |
... | ... | @@ -145,17 +138,15 @@ |
145 | 138 | $imageModel->save(); |
146 | 139 | } |
147 | 140 | } |
148 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
149 | - return $this->redirect([ | |
150 | - 'view', | |
151 | - 'id' => $model->project_id, | |
152 | - ]); | |
153 | - } | |
141 | + return $this->redirect([ | |
142 | + 'view', | |
143 | + 'id' => $model->project_id, | |
144 | + ]); | |
154 | 145 | } |
155 | 146 | } |
156 | 147 | return $this->render('update', [ |
157 | 148 | 'model' => $model, |
158 | - 'model_langs' => $model_langs, | |
149 | + 'model_langs' => $model->model_langs, | |
159 | 150 | ]); |
160 | 151 | } |
161 | 152 | ... | ... |
backend/controllers/SeoCategoryController.php
... | ... | @@ -80,27 +80,21 @@ |
80 | 80 | public function actionCreate() |
81 | 81 | { |
82 | 82 | $model = new SeoCategory(); |
83 | - $model_langs = $model->generateLangs(); | |
83 | + $model->generateLangs(); | |
84 | 84 | |
85 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
86 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
87 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
85 | + if($model->load(Yii::$app->request->post())) { | |
86 | + $model->loadLangs(\Yii::$app->request); | |
87 | + if($model->save() && $model->transactionStatus) { | |
88 | 88 | return $this->redirect([ |
89 | 89 | 'view', |
90 | 90 | 'id' => $model->seo_category_id, |
91 | 91 | ]); |
92 | - } else { | |
93 | - return $this->redirect([ | |
94 | - 'update', | |
95 | - 'id' => $model->seo_category_id, | |
96 | - ]); | |
97 | 92 | } |
98 | - } else { | |
99 | - return $this->render('create', [ | |
100 | - 'model' => $model, | |
101 | - 'model_langs' => $model_langs, | |
102 | - ]); | |
103 | 93 | } |
94 | + return $this->render('create', [ | |
95 | + 'model' => $model, | |
96 | + 'model_langs' => $model->model_langs, | |
97 | + ]); | |
104 | 98 | } |
105 | 99 | |
106 | 100 | /** |
... | ... | @@ -114,10 +108,10 @@ |
114 | 108 | public function actionUpdate($id) |
115 | 109 | { |
116 | 110 | $model = $this->findModel($id); |
117 | - $model_langs = $model->generateLangs(); | |
118 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
119 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
120 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
111 | + $model->generateLangs(); | |
112 | + if($model->load(Yii::$app->request->post())) { | |
113 | + $model->loadLangs(\Yii::$app->request); | |
114 | + if($model->save() && $model->transactionStatus) { | |
121 | 115 | return $this->redirect([ |
122 | 116 | 'view', |
123 | 117 | 'id' => $model->seo_category_id, |
... | ... | @@ -126,7 +120,7 @@ |
126 | 120 | } |
127 | 121 | return $this->render('update', [ |
128 | 122 | 'model' => $model, |
129 | - 'model_langs' => $model_langs, | |
123 | + 'model_langs' => $model->model_langs, | |
130 | 124 | ]); |
131 | 125 | } |
132 | 126 | ... | ... |
backend/controllers/SeoController.php
... | ... | @@ -80,27 +80,21 @@ |
80 | 80 | public function actionCreate() |
81 | 81 | { |
82 | 82 | $model = new Seo(); |
83 | - $model_langs = $model->generateLangs(); | |
83 | + $model->generateLangs(); | |
84 | 84 | |
85 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
86 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
87 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
85 | + if($model->load(Yii::$app->request->post())) { | |
86 | + $model->loadLangs(\Yii::$app->request); | |
87 | + if($model->save() && $model->transactionStatus) { | |
88 | 88 | return $this->redirect([ |
89 | 89 | 'view', |
90 | 90 | 'id' => $model->seo_id, |
91 | 91 | ]); |
92 | - } else { | |
93 | - return $this->redirect([ | |
94 | - 'update', | |
95 | - 'id' => $model->seo_id, | |
96 | - ]); | |
97 | 92 | } |
98 | - } else { | |
99 | - return $this->render('create', [ | |
100 | - 'model' => $model, | |
101 | - 'model_langs' => $model_langs, | |
102 | - ]); | |
103 | 93 | } |
94 | + return $this->render('create', [ | |
95 | + 'model' => $model, | |
96 | + 'model_langs' => $model->model_langs, | |
97 | + ]); | |
104 | 98 | } |
105 | 99 | |
106 | 100 | /** |
... | ... | @@ -114,10 +108,10 @@ |
114 | 108 | public function actionUpdate($id) |
115 | 109 | { |
116 | 110 | $model = $this->findModel($id); |
117 | - $model_langs = $model->generateLangs(); | |
118 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
119 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
120 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
111 | + $model->generateLangs(); | |
112 | + if($model->load(Yii::$app->request->post())) { | |
113 | + $model->loadLangs(\Yii::$app->request); | |
114 | + if($model->save() && $model->transactionStatus) { | |
121 | 115 | return $this->redirect([ |
122 | 116 | 'view', |
123 | 117 | 'id' => $model->seo_id, |
... | ... | @@ -126,7 +120,7 @@ |
126 | 120 | } |
127 | 121 | return $this->render('update', [ |
128 | 122 | 'model' => $model, |
129 | - 'model_langs' => $model_langs, | |
123 | + 'model_langs' => $model->model_langs, | |
130 | 124 | ]); |
131 | 125 | } |
132 | 126 | ... | ... |
backend/controllers/SeoDynamicController.php
... | ... | @@ -82,31 +82,22 @@ |
82 | 82 | public function actionCreate($seo_category_id) |
83 | 83 | { |
84 | 84 | $model = new SeoDynamic(); |
85 | - $model_langs = $model->generateLangs(); | |
86 | - | |
85 | + $model->generateLangs(); | |
87 | 86 | if($model->load(Yii::$app->request->post())) { |
88 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
87 | + $model->loadLangs(\Yii::$app->request); | |
89 | 88 | $model->seo_category_id = $seo_category_id; |
90 | - $model->save(); | |
91 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
89 | + if($model->save() && $model->transactionStatus) { | |
92 | 90 | return $this->redirect([ |
93 | 91 | 'index', |
94 | 92 | 'seo_category_id' => $model->seo_category_id, |
95 | 93 | ]); |
96 | - } else { | |
97 | - return $this->redirect([ | |
98 | - 'update', | |
99 | - 'seo_category_id' => $model->seo_category_id, | |
100 | - 'id' => $model->seo_dynamic_id, | |
101 | - ]); | |
102 | 94 | } |
103 | - } else { | |
104 | - return $this->render('create', [ | |
105 | - 'model' => $model, | |
106 | - 'model_langs' => $model_langs, | |
107 | - 'seo_category_id' => $seo_category_id, | |
108 | - ]); | |
109 | 95 | } |
96 | + return $this->render('create', [ | |
97 | + 'model' => $model, | |
98 | + 'model_langs' => $model->model_langs, | |
99 | + 'seo_category_id' => $seo_category_id, | |
100 | + ]); | |
110 | 101 | } |
111 | 102 | |
112 | 103 | /** |
... | ... | @@ -121,9 +112,9 @@ |
121 | 112 | { |
122 | 113 | $model = $this->findModel($id); |
123 | 114 | $model_langs = $model->generateLangs(); |
124 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
125 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
126 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
115 | + if($model->load(Yii::$app->request->post())) { | |
116 | + $model->loadLangs(\Yii::$app->request); | |
117 | + if($model->save() && $model->transactionStatus) { | |
127 | 118 | return $this->redirect([ |
128 | 119 | 'index', |
129 | 120 | 'seo_category_id' => $model->seo_category_id, | ... | ... |
backend/controllers/ServiceController.php
... | ... | @@ -82,27 +82,20 @@ |
82 | 82 | public function actionCreate() |
83 | 83 | { |
84 | 84 | $model = new Service(); |
85 | - $model_langs = $model->generateLangs(); | |
86 | - | |
87 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
88 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
89 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
85 | + $model->generateLangs(); | |
86 | + if($model->load(Yii::$app->request->post())) { | |
87 | + $model->loadLangs(\Yii::$app->request); | |
88 | + if($model->save() && $model->transactionStatus) { | |
90 | 89 | return $this->redirect([ |
91 | 90 | 'view', |
92 | 91 | 'id' => $model->service_id, |
93 | 92 | ]); |
94 | - } else { | |
95 | - return $this->redirect([ | |
96 | - 'update', | |
97 | - 'id' => $model->service_id, | |
98 | - ]); | |
99 | 93 | } |
100 | - } else { | |
101 | - return $this->render('create', [ | |
102 | - 'model' => $model, | |
103 | - 'model_langs' => $model_langs, | |
104 | - ]); | |
105 | 94 | } |
95 | + return $this->render('create', [ | |
96 | + 'model' => $model, | |
97 | + 'model_langs' => $model->model_langs, | |
98 | + ]); | |
106 | 99 | } |
107 | 100 | |
108 | 101 | /** |
... | ... | @@ -116,11 +109,11 @@ |
116 | 109 | public function actionUpdate($id) |
117 | 110 | { |
118 | 111 | $model = $this->findModel($id); |
119 | - $model_langs = $model->generateLangs(); | |
112 | + $model->generateLangs(); | |
120 | 113 | |
121 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
122 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
123 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
114 | + if($model->load(Yii::$app->request->post())) { | |
115 | + $model->loadLangs(\Yii::$app->request); | |
116 | + if($model->save() && $model->transactionStatus) { | |
124 | 117 | return $this->redirect([ |
125 | 118 | 'view', |
126 | 119 | 'id' => $model->service_id, |
... | ... | @@ -128,8 +121,8 @@ |
128 | 121 | } |
129 | 122 | } |
130 | 123 | return $this->render('update', [ |
131 | - 'model' => $model, | |
132 | - 'model_langs' => $model_langs, | |
124 | + 'model' => $model, | |
125 | + 'model_langs' => $model->model_langs, | |
133 | 126 | ]); |
134 | 127 | } |
135 | 128 | ... | ... |
backend/models/Label.php
... | ... | @@ -16,6 +16,8 @@ use yii\web\Request; |
16 | 16 | * @property OrdersLabelLang $object_lang |
17 | 17 | * @property string $ownerKey |
18 | 18 | * @property string $langKey |
19 | + * @property OrdersLabelLang[] $model_langs | |
20 | + * @property bool $transactionStatus | |
19 | 21 | * @method string getOwnerKey() |
20 | 22 | * @method void setOwnerKey(string $value) |
21 | 23 | * @method string getLangKey() |
... | ... | @@ -23,12 +25,13 @@ use yii\web\Request; |
23 | 25 | * @method ActiveQuery getLangs() |
24 | 26 | * @method ActiveQuery getLang( integer $language_id ) |
25 | 27 | * @method OrdersLabelLang[] generateLangs() |
26 | - * @method void loadLangs(Request $request, ActiveRecord[] $model_langs) | |
27 | - * @method bool linkLangs(ActiveRecord[] $model_langs) | |
28 | - * @method bool saveLangs(ActiveRecord[] $model_langs) | |
29 | - * * End language behavior * | |
28 | + * @method void loadLangs(Request $request) | |
29 | + * @method bool linkLangs() | |
30 | + * @method bool saveLangs() | |
31 | + * @method bool getTransactionStatus() | |
32 | + * * End language behavior | |
30 | 33 | */ |
31 | -class Label extends \yii\db\ActiveRecord | |
34 | +class Label extends ActiveRecord | |
32 | 35 | { |
33 | 36 | |
34 | 37 | public static function tableName() | ... | ... |
common/behaviors/Slug.php
... | ... | @@ -12,7 +12,7 @@ |
12 | 12 | |
13 | 13 | public $in_attribute = 'name'; |
14 | 14 | |
15 | - public $out_attribute = 'slug'; | |
15 | + public $out_attribute = 'alias'; | |
16 | 16 | |
17 | 17 | public $translit = true; |
18 | 18 | |
... | ... | @@ -66,18 +66,24 @@ |
66 | 66 | |
67 | 67 | private function checkUniqueSlug($slug) |
68 | 68 | { |
69 | - $pk = $this->owner->primaryKey(); | |
70 | - $pk = $pk[ 0 ]; | |
71 | - | |
72 | - $condition = $this->out_attribute . ' = :out_attribute'; | |
73 | - $params = [ ':out_attribute' => $slug ]; | |
74 | - if(!$this->owner->isNewRecord) { | |
75 | - $condition .= ' and ' . $pk . ' != :pk'; | |
76 | - $params[ ':pk' ] = $this->owner->{$pk}; | |
69 | + /** | |
70 | + * @var ActiveRecord $owner | |
71 | + */ | |
72 | + $owner = $this->owner; | |
73 | + $query = $owner->find()->where([ | |
74 | + $this->out_attribute => $slug, | |
75 | + ]); | |
76 | + if(!$owner->isNewRecord) { | |
77 | + $pks = $owner->primaryKey(); | |
78 | + if(!empty($pks)) { | |
79 | + $pk_rules = ['and']; | |
80 | + foreach($pks as $pk) { | |
81 | + $pk_rules[] = [$pk => $owner->$pk]; | |
82 | + } | |
83 | + $query->andWhere(['not', $pk_rules]); | |
84 | + } | |
77 | 85 | } |
78 | - return !$this->owner->find() | |
79 | - ->where($condition, $params) | |
80 | - ->one(); | |
86 | + return !$query->exists(); | |
81 | 87 | } |
82 | 88 | |
83 | 89 | } |
84 | 90 | \ No newline at end of file | ... | ... |
common/models/Banner.php
1 | 1 | <?php |
2 | - | |
3 | -namespace common\models; | |
4 | - | |
5 | -use common\modules\language\behaviors\LanguageBehavior; | |
6 | -use Yii; | |
7 | -use yii\db\ActiveQuery; | |
8 | -use yii\db\ActiveRecord; | |
9 | -use yii\web\Request; | |
10 | - | |
11 | -/** | |
12 | - * This is the model class for table "banner". | |
13 | - * | |
14 | - * @property integer $banner_id | |
15 | - * @property string $url | |
16 | - * @property integer $status | |
17 | - * * From language behavior * | |
18 | - * @property BannerLang $lang | |
19 | - * @property BannerLang[] $langs | |
20 | - * @property BannerLang $object_lang | |
21 | - * @property string $ownerKey | |
22 | - * @property string $langKey | |
23 | - * @method string getOwnerKey() | |
24 | - * @method void setOwnerKey(string $value) | |
25 | - * @method string getLangKey() | |
26 | - * @method void setLangKey(string $value) | |
27 | - * @method ActiveQuery getLangs() | |
28 | - * @method ActiveQuery getLang( integer $language_id ) | |
29 | - * @method BannerLang[] generateLangs() | |
30 | - * @method void loadLangs(Request $request, ActiveRecord[] $model_langs) | |
31 | - * @method bool linkLangs(ActiveRecord[] $model_langs) | |
32 | - * @method bool saveLangs(ActiveRecord[] $model_langs) | |
33 | - * * End language behavior * | |
34 | - */ | |
35 | -class Banner extends \yii\db\ActiveRecord | |
36 | -{ | |
37 | - /** | |
38 | - * @inheritdoc | |
39 | - */ | |
40 | - public static function tableName() | |
41 | - { | |
42 | - return 'banner'; | |
43 | - } | |
44 | 2 | |
45 | - public function behaviors() | |
46 | - { | |
47 | - return [ | |
48 | - 'language' => [ | |
49 | - 'class' => LanguageBehavior::className(), | |
50 | - ], | |
51 | - ]; | |
52 | - } | |
3 | + namespace common\models; | |
4 | + | |
5 | + use common\modules\language\behaviors\LanguageBehavior; | |
6 | + use Yii; | |
7 | + use yii\db\ActiveQuery; | |
8 | + use yii\web\Request; | |
53 | 9 | |
54 | 10 | /** |
55 | - * @inheritdoc | |
56 | - */ | |
57 | - public function rules() | |
58 | - { | |
59 | - return [ | |
60 | - [['status'], 'integer'], | |
61 | - [['url'], 'string', 'max' => 255], | |
62 | - ]; | |
63 | - } | |
64 | - | |
65 | - /** | |
66 | - * @inheritdoc | |
11 | + * This is the model class for table "banner". | |
12 | + * @property integer $banner_id | |
13 | + * @property string $url | |
14 | + * @property integer $status | |
15 | + * * From language behavior * | |
16 | + * @property BannerLang $lang | |
17 | + * @property BannerLang[] $langs | |
18 | + * @property BannerLang $object_lang | |
19 | + * @property string $ownerKey | |
20 | + * @property string $langKey | |
21 | + * @property BannerLang[] $model_langs | |
22 | + * @property bool $transactionStatus | |
23 | + * @method string getOwnerKey() | |
24 | + * @method void setOwnerKey( string $value ) | |
25 | + * @method string getLangKey() | |
26 | + * @method void setLangKey( string $value ) | |
27 | + * @method ActiveQuery getLangs() | |
28 | + * @method ActiveQuery getLang( integer $language_id ) | |
29 | + * @method BannerLang[] generateLangs() | |
30 | + * @method void loadLangs( Request $request ) | |
31 | + * @method bool linkLangs() | |
32 | + * @method bool saveLangs() | |
33 | + * @method bool getTransactionStatus() | |
34 | + * * End language behavior * | |
67 | 35 | */ |
68 | - public function attributeLabels() | |
36 | + class Banner extends \yii\db\ActiveRecord | |
69 | 37 | { |
70 | - return [ | |
71 | - 'banner_id' => Yii::t('app', 'banner_id'), | |
72 | - 'url' => Yii::t('app', 'url'), | |
73 | - 'status' => Yii::t('app', 'status'), | |
74 | - ]; | |
38 | + | |
39 | + /** | |
40 | + * @inheritdoc | |
41 | + */ | |
42 | + public static function tableName() | |
43 | + { | |
44 | + return 'banner'; | |
45 | + } | |
46 | + | |
47 | + public function behaviors() | |
48 | + { | |
49 | + return [ | |
50 | + 'language' => [ | |
51 | + 'class' => LanguageBehavior::className(), | |
52 | + ], | |
53 | + ]; | |
54 | + } | |
55 | + | |
56 | + /** | |
57 | + * @inheritdoc | |
58 | + */ | |
59 | + public function rules() | |
60 | + { | |
61 | + return [ | |
62 | + [ | |
63 | + [ 'status' ], | |
64 | + 'integer', | |
65 | + ], | |
66 | + [ | |
67 | + [ 'url' ], | |
68 | + 'string', | |
69 | + 'max' => 255, | |
70 | + ], | |
71 | + ]; | |
72 | + } | |
73 | + | |
74 | + /** | |
75 | + * @inheritdoc | |
76 | + */ | |
77 | + public function attributeLabels() | |
78 | + { | |
79 | + return [ | |
80 | + 'banner_id' => Yii::t('app', 'banner_id'), | |
81 | + 'url' => Yii::t('app', 'url'), | |
82 | + 'status' => Yii::t('app', 'status'), | |
83 | + ]; | |
84 | + } | |
75 | 85 | } |
76 | -} | ... | ... |
common/models/Bg.php
... | ... | @@ -10,12 +10,16 @@ |
10 | 10 | |
11 | 11 | /** |
12 | 12 | * Class Bg |
13 | + * @property int $id | |
14 | + * @todo Write docs | |
13 | 15 | * * From language behavior * |
14 | 16 | * @property BgLang $lang |
15 | 17 | * @property BgLang[] $langs |
16 | 18 | * @property BgLang $object_lang |
17 | 19 | * @property string $ownerKey |
18 | 20 | * @property string $langKey |
21 | + * @property BgLang[] $model_langs | |
22 | + * @property bool $transactionStatus | |
19 | 23 | * @method string getOwnerKey() |
20 | 24 | * @method void setOwnerKey( string $value ) |
21 | 25 | * @method string getLangKey() |
... | ... | @@ -23,12 +27,13 @@ |
23 | 27 | * @method ActiveQuery getLangs() |
24 | 28 | * @method ActiveQuery getLang( integer $language_id ) |
25 | 29 | * @method BgLang[] generateLangs() |
26 | - * @method void loadLangs( Request $request, ActiveRecord[] $model_langs ) | |
27 | - * @method bool linkLangs( ActiveRecord[] $model_langs ) | |
28 | - * @method bool saveLangs( ActiveRecord[] $model_langs ) | |
30 | + * @method void loadLangs( Request $request ) | |
31 | + * @method bool linkLangs() | |
32 | + * @method bool saveLangs() | |
33 | + * @method bool getTransactionStatus() | |
29 | 34 | * * End language behavior * |
30 | 35 | */ |
31 | - class Bg extends \yii\db\ActiveRecord | |
36 | + class Bg extends ActiveRecord | |
32 | 37 | { |
33 | 38 | |
34 | 39 | public static function tableName() | ... | ... |
common/models/Delivery.php
... | ... | @@ -10,24 +10,27 @@ |
10 | 10 | /** |
11 | 11 | * Class Delivery |
12 | 12 | * * From language behavior * |
13 | - * @property OrdersDeliveryLang $lang | |
14 | - * @property OrdersDeliveryLang[] $langs | |
15 | - * @property OrdersDeliveryLang $object_lang | |
16 | - * @property string $ownerKey | |
17 | - * @property string $langKey | |
13 | + * @property OrdersDeliveryLang $lang | |
14 | + * @property OrdersDeliveryLang[] $langs | |
15 | + * @property OrdersDeliveryLang $object_lang | |
16 | + * @property string $ownerKey | |
17 | + * @property string $langKey | |
18 | + * @property OrdersDeliveryLang[] $model_langs | |
19 | + * @property bool $transactionStatus | |
18 | 20 | * @method string getOwnerKey() |
19 | - * @method void setOwnerKey( string $value ) | |
21 | + * @method void setOwnerKey(string $value) | |
20 | 22 | * @method string getLangKey() |
21 | - * @method void setLangKey( string $value ) | |
23 | + * @method void setLangKey(string $value) | |
22 | 24 | * @method ActiveQuery getLangs() |
23 | 25 | * @method ActiveQuery getLang( integer $language_id ) |
24 | 26 | * @method OrdersDeliveryLang[] generateLangs() |
25 | - * @method void loadLangs( Request $request, ActiveRecord[] $model_langs ) | |
26 | - * @method bool linkLangs( ActiveRecord[] $model_langs ) | |
27 | - * @method bool saveLangs( ActiveRecord[] $model_langs ) | |
27 | + * @method void loadLangs(Request $request) | |
28 | + * @method bool linkLangs() | |
29 | + * @method bool saveLangs() | |
30 | + * @method bool getTransactionStatus() | |
28 | 31 | * * End language behavior * |
29 | 32 | */ |
30 | - class Delivery extends \yii\db\ActiveRecord | |
33 | + class Delivery extends ActiveRecord | |
31 | 34 | { |
32 | 35 | |
33 | 36 | public function behaviors() | ... | ... |
common/models/Event.php
1 | 1 | <?php |
2 | - | |
3 | -namespace common\models; | |
4 | - | |
5 | -use common\behaviors\SaveImgBehavior; | |
6 | -use common\modules\language\behaviors\LanguageBehavior; | |
7 | -use Yii; | |
8 | -use yii\behaviors\TimestampBehavior; | |
9 | -use yii\db\ActiveQuery; | |
10 | -use yii\db\ActiveRecord; | |
11 | -use yii\web\Request; | |
12 | - | |
13 | -/** | |
14 | - * This is the model class for table "event". | |
15 | - * | |
16 | - * @property integer $event_id | |
17 | - * @property string $image | |
18 | - * @property integer $created_at | |
19 | - * @property integer $updated_at | |
20 | - * @property integer $end_at | |
21 | - * | |
22 | - * *From language behavior * | |
23 | - * @property EventLang $lang | |
24 | - * @property EventLang[] $langs | |
25 | - * @property EventLang $object_lang | |
26 | - * @property string $ownerKey | |
27 | - * @property string $langKey | |
28 | - * @method string getOwnerKey() | |
29 | - * @method void setOwnerKey(string $value) | |
30 | - * @method string getLangKey() | |
31 | - * @method void setLangKey(string $value) | |
32 | - * @method ActiveQuery getLangs() | |
33 | - * @method ActiveQuery getLang( integer $language_id ) | |
34 | - * @method EventLang[] generateLangs() | |
35 | - * @method void loadLangs(Request $request, ActiveRecord[] $model_langs) | |
36 | - * @method bool linkLangs(ActiveRecord[] $model_langs) | |
37 | - * @method bool saveLangs(ActiveRecord[] $model_langs) | |
38 | - * * End language behavior * | |
39 | - */ | |
40 | -class Event extends \yii\db\ActiveRecord | |
41 | -{ | |
2 | + | |
3 | + namespace common\models; | |
4 | + | |
5 | + use common\behaviors\SaveImgBehavior; | |
6 | + use common\modules\language\behaviors\LanguageBehavior; | |
7 | + use Yii; | |
8 | + use yii\behaviors\TimestampBehavior; | |
9 | + use yii\db\ActiveQuery; | |
10 | + use yii\db\ActiveRecord; | |
11 | + use yii\web\Request; | |
12 | + | |
42 | 13 | /** |
43 | - * @inheritdoc | |
14 | + * This is the model class for table "event". | |
15 | + * @property integer $event_id | |
16 | + * @property string $image | |
17 | + * @property integer $created_at | |
18 | + * @property integer $updated_at | |
19 | + * @property integer $end_at | |
20 | + * * From language behavior * | |
21 | + * @property EventLang $lang | |
22 | + * @property EventLang[] $langs | |
23 | + * @property EventLang $object_lang | |
24 | + * @property string $ownerKey | |
25 | + * @property string $langKey | |
26 | + * @property EventLang[] $model_langs | |
27 | + * @property bool $transactionStatus | |
28 | + * @method string getOwnerKey() | |
29 | + * @method void setOwnerKey( string $value ) | |
30 | + * @method string getLangKey() | |
31 | + * @method void setLangKey( string $value ) | |
32 | + * @method ActiveQuery getLangs() | |
33 | + * @method ActiveQuery getLang( integer $language_id ) | |
34 | + * @method EventLang[] generateLangs() | |
35 | + * @method void loadLangs( Request $request ) | |
36 | + * @method bool linkLangs() | |
37 | + * @method bool saveLangs() | |
38 | + * @method bool getTransactionStatus() | |
39 | + * * End language behavior * | |
44 | 40 | */ |
45 | - public static function tableName() | |
41 | + class Event extends ActiveRecord | |
46 | 42 | { |
47 | - return 'event'; | |
48 | - } | |
49 | - | |
50 | - /** | |
51 | - * @inheritdoc | |
52 | - */ | |
53 | - public function behaviors() | |
54 | - { | |
55 | - return [ | |
56 | - TimestampBehavior::className(), | |
57 | - [ | |
58 | - 'class' => 'common\behaviors\ShowImage', | |
59 | - ], | |
60 | - 'language' => [ | |
61 | - 'class' => LanguageBehavior::className(), | |
62 | - ], | |
63 | - [ | |
64 | - 'class' => SaveImgBehavior::className(), | |
65 | - 'fields' => [ | |
43 | + | |
44 | + /** | |
45 | + * @inheritdoc | |
46 | + */ | |
47 | + public static function tableName() | |
48 | + { | |
49 | + return 'event'; | |
50 | + } | |
51 | + | |
52 | + /** | |
53 | + * @inheritdoc | |
54 | + */ | |
55 | + public function behaviors() | |
56 | + { | |
57 | + return [ | |
58 | + TimestampBehavior::className(), | |
59 | + [ | |
60 | + 'class' => 'common\behaviors\ShowImage', | |
61 | + ], | |
62 | + 'language' => [ | |
63 | + 'class' => LanguageBehavior::className(), | |
64 | + ], | |
65 | + [ | |
66 | + 'class' => SaveImgBehavior::className(), | |
67 | + 'fields' => [ | |
68 | + [ | |
69 | + 'name' => 'image', | |
70 | + 'directory' => 'event', | |
71 | + ], | |
72 | + ], | |
73 | + ], | |
74 | + ]; | |
75 | + } | |
76 | + | |
77 | + public function beforeSave($insert) | |
78 | + { | |
79 | + if(parent::beforeSave($insert)) { | |
80 | + $this->end_at = strtotime($this->end_at); | |
81 | + return true; | |
82 | + } else { | |
83 | + return false; | |
84 | + } | |
85 | + } | |
86 | + | |
87 | + public function afterFind() | |
88 | + { | |
89 | + $this->end_at = date("Y-m-d", $this->end_at); | |
90 | + } | |
91 | + | |
92 | + /** | |
93 | + * @inheritdoc | |
94 | + */ | |
95 | + public function rules() | |
96 | + { | |
97 | + return [ | |
98 | + [ | |
66 | 99 | [ |
67 | - 'name' => 'image', | |
68 | - 'directory' => 'event', | |
100 | + 'created_at', | |
101 | + 'updated_at', | |
69 | 102 | ], |
103 | + 'integer', | |
70 | 104 | ], |
71 | - ], | |
72 | - ]; | |
73 | - } | |
74 | - | |
75 | - | |
76 | - public function beforeSave($insert) | |
77 | - { | |
78 | - if (parent::beforeSave($insert)) { | |
79 | - $this->end_at = strtotime($this->end_at); | |
80 | - return true; | |
81 | - } else { | |
82 | - return false; | |
105 | + [ | |
106 | + [ 'end_at' ], | |
107 | + 'string', | |
108 | + 'max' => 255, | |
109 | + ], | |
110 | + ]; | |
111 | + } | |
112 | + | |
113 | + /** | |
114 | + * @inheritdoc | |
115 | + */ | |
116 | + public function attributeLabels() | |
117 | + { | |
118 | + return [ | |
119 | + 'event_id' => Yii::t('app', 'event_id'), | |
120 | + 'image' => Yii::t('app', 'image'), | |
121 | + 'created_at' => Yii::t('app', 'created_at'), | |
122 | + 'updated_at' => Yii::t('app', 'updated_at'), | |
123 | + 'end_at' => Yii::t('app', 'end_at'), | |
124 | + ]; | |
83 | 125 | } |
84 | 126 | } |
85 | - | |
86 | - public function afterFind(){ | |
87 | - $this->end_at = date("Y-m-d", $this->end_at); | |
88 | - } | |
89 | - | |
90 | - | |
91 | - /** | |
92 | - * @inheritdoc | |
93 | - */ | |
94 | - public function rules() | |
95 | - { | |
96 | - return [ | |
97 | - [['created_at', 'updated_at' ], 'integer'], | |
98 | - [['end_at'], 'string', 'max' => 255], | |
99 | - ]; | |
100 | - } | |
101 | - | |
102 | - /** | |
103 | - * @inheritdoc | |
104 | - */ | |
105 | - public function attributeLabels() | |
106 | - { | |
107 | - return [ | |
108 | - 'event_id' => Yii::t('app', 'event_id'), | |
109 | - 'image' => Yii::t('app', 'image'), | |
110 | - 'created_at' => Yii::t('app', 'created_at'), | |
111 | - 'updated_at' => Yii::t('app', 'updated_at'), | |
112 | - 'end_at' => Yii::t('app', 'end_at'), | |
113 | - ]; | |
114 | - } | |
115 | -} | ... | ... |
common/models/Page.php
... | ... | @@ -17,6 +17,8 @@ |
17 | 17 | * @property PageLang $object_lang |
18 | 18 | * @property string $ownerKey |
19 | 19 | * @property string $langKey |
20 | + * @property PageLang[] $model_langs | |
21 | + * @property bool $transactionStatus | |
20 | 22 | * @method string getOwnerKey() |
21 | 23 | * @method void setOwnerKey( string $value ) |
22 | 24 | * @method string getLangKey() |
... | ... | @@ -24,9 +26,10 @@ |
24 | 26 | * @method ActiveQuery getLangs() |
25 | 27 | * @method ActiveQuery getLang( integer $language_id ) |
26 | 28 | * @method PageLang[] generateLangs() |
27 | - * @method void loadLangs( Request $request, ActiveRecord[] $model_langs ) | |
28 | - * @method bool linkLangs( ActiveRecord[] $model_langs ) | |
29 | - * @method bool saveLangs( ActiveRecord[] $model_langs ) | |
29 | + * @method void loadLangs( Request $request ) | |
30 | + * @method bool linkLangs() | |
31 | + * @method bool saveLangs() | |
32 | + * @method bool getTransactionStatus() | |
30 | 33 | * * End language behavior * |
31 | 34 | */ |
32 | 35 | class Page extends ActiveRecord | ... | ... |
common/models/ProductSpec.php
... | ... | @@ -11,31 +11,33 @@ |
11 | 11 | |
12 | 12 | /** |
13 | 13 | * This is the model class for table "product_spec". |
14 | - * @property integer $product_spec_id | |
15 | - * @property integer $product_id | |
16 | - * @property string $tech_spec_link | |
17 | - * @property string $tech_char_link | |
18 | - * @property Product $product | |
19 | - * | |
14 | + * @property integer $product_spec_id | |
15 | + * @property integer $product_id | |
16 | + * @property string $tech_spec_link | |
17 | + * @property string $tech_char_link | |
18 | + * @property Product $product | |
20 | 19 | * * From language behavior * |
21 | - * @property ProductSpecLang $lang | |
22 | - * @property ProductSpecLang[] $langs | |
23 | - * @property ProductSpecLang $object_lang | |
24 | - * @property string $ownerKey | |
25 | - * @property string $langKey | |
20 | + * @property ProductSpecLang $lang | |
21 | + * @property ProductSpecLang[] $langs | |
22 | + * @property ProductSpecLang $object_lang | |
23 | + * @property string $ownerKey | |
24 | + * @property string $langKey | |
25 | + * @property ProductSpecLang[] $model_langs | |
26 | + * @property bool $transactionStatus | |
26 | 27 | * @method string getOwnerKey() |
27 | - * @method void setOwnerKey(string $value) | |
28 | + * @method void setOwnerKey( string $value ) | |
28 | 29 | * @method string getLangKey() |
29 | - * @method void setLangKey(string $value) | |
30 | + * @method void setLangKey( string $value ) | |
30 | 31 | * @method ActiveQuery getLangs() |
31 | 32 | * @method ActiveQuery getLang( integer $language_id ) |
32 | 33 | * @method ProductSpecLang[] generateLangs() |
33 | - * @method void loadLangs(Request $request, ActiveRecord[] $model_langs) | |
34 | - * @method bool linkLangs(ActiveRecord[] $model_langs) | |
35 | - * @method bool saveLangs(ActiveRecord[] $model_langs) | |
34 | + * @method void loadLangs( Request $request ) | |
35 | + * @method bool linkLangs() | |
36 | + * @method bool saveLangs() | |
37 | + * @method bool getTransactionStatus() | |
36 | 38 | * * End language behavior * |
37 | 39 | */ |
38 | - class ProductSpec extends \yii\db\ActiveRecord | |
40 | + class ProductSpec extends ActiveRecord | |
39 | 41 | { |
40 | 42 | |
41 | 43 | /** |
... | ... | @@ -64,7 +66,7 @@ |
64 | 66 | ], |
65 | 67 | ]; |
66 | 68 | } |
67 | - | |
69 | + | |
68 | 70 | /** |
69 | 71 | * @inheritdoc |
70 | 72 | */ |
... | ... | @@ -100,19 +102,19 @@ |
100 | 102 | public function upload() |
101 | 103 | { |
102 | 104 | $storage = \Yii::getAlias('@storage'); |
103 | - $product_dir = $storage.'/product_spec/'.$this->product_id; | |
105 | + $product_dir = $storage . '/product_spec/' . $this->product_id; | |
104 | 106 | if(!is_dir($product_dir)) { |
105 | 107 | mkdir($product_dir); |
106 | 108 | } |
107 | 109 | if($this->validate()) { |
108 | - if(!empty($this->techSpecFile)) { | |
109 | - $path = $product_dir.'/'.$this->techSpecFile->baseName.'.'.$this->techSpecFile->extension; | |
110 | - $this->tech_spec_link = $this->techSpecFile->baseName.'.'.$this->techSpecFile->extension; | |
110 | + if(!empty( $this->techSpecFile )) { | |
111 | + $path = $product_dir . '/' . $this->techSpecFile->baseName . '.' . $this->techSpecFile->extension; | |
112 | + $this->tech_spec_link = $this->techSpecFile->baseName . '.' . $this->techSpecFile->extension; | |
111 | 113 | $this->techSpecFile->saveAs($path); |
112 | 114 | } |
113 | - if(!empty($this->techCharFile)) { | |
114 | - $path = $product_dir.'/'.$this->techCharFile->baseName.'.'.$this->techCharFile->extension; | |
115 | - $this->tech_char_link = $this->techCharFile->baseName.'.'.$this->techCharFile->extension; | |
115 | + if(!empty( $this->techCharFile )) { | |
116 | + $path = $product_dir . '/' . $this->techCharFile->baseName . '.' . $this->techCharFile->extension; | |
117 | + $this->tech_char_link = $this->techCharFile->baseName . '.' . $this->techCharFile->extension; | |
116 | 118 | $this->techCharFile->saveAs($path); |
117 | 119 | } |
118 | 120 | return true; |
... | ... | @@ -129,17 +131,19 @@ |
129 | 131 | return $this->hasOne(Product::className(), [ 'product_id' => 'product_id' ]); |
130 | 132 | } |
131 | 133 | |
132 | - public function getTechSpecUrl() { | |
133 | - if(!empty($this->tech_spec_link)) { | |
134 | - return '/storage/product_spec/'.$this->product_id.'/'.$this->tech_spec_link; | |
134 | + public function getTechSpecUrl() | |
135 | + { | |
136 | + if(!empty( $this->tech_spec_link )) { | |
137 | + return '/storage/product_spec/' . $this->product_id . '/' . $this->tech_spec_link; | |
135 | 138 | } else { |
136 | 139 | return false; |
137 | 140 | } |
138 | 141 | } |
139 | - | |
140 | - public function getTechCharUrl() { | |
141 | - if(!empty($this->tech_char_link)) { | |
142 | - return '/storage/product_spec/'.$this->product_id.'/'.$this->tech_char_link; | |
142 | + | |
143 | + public function getTechCharUrl() | |
144 | + { | |
145 | + if(!empty( $this->tech_char_link )) { | |
146 | + return '/storage/product_spec/' . $this->product_id . '/' . $this->tech_char_link; | |
143 | 147 | } else { |
144 | 148 | return false; |
145 | 149 | } | ... | ... |
common/models/Project.php
... | ... | @@ -10,6 +10,9 @@ |
10 | 10 | |
11 | 11 | /** |
12 | 12 | * This is the model class for table "project". |
13 | + * | |
14 | + * @todo Refactor | |
15 | + * | |
13 | 16 | * @property integer $project_id |
14 | 17 | * @property integer $date_add |
15 | 18 | * @property ProjectImage[] $images |
... | ... | @@ -23,6 +26,8 @@ |
23 | 26 | * @property ProjectLang $object_lang |
24 | 27 | * @property string $ownerKey |
25 | 28 | * @property string $langKey |
29 | + * @property ProjectLang[] $model_langs | |
30 | + * @property bool $transactionStatus | |
26 | 31 | * @method string getOwnerKey() |
27 | 32 | * @method void setOwnerKey( string $value ) |
28 | 33 | * @method string getLangKey() |
... | ... | @@ -30,12 +35,13 @@ |
30 | 35 | * @method ActiveQuery getLangs() |
31 | 36 | * @method ActiveQuery getLang( integer $language_id ) |
32 | 37 | * @method ProjectLang[] generateLangs() |
33 | - * @method void loadLangs( Request $request, ActiveRecord[] $model_langs ) | |
34 | - * @method bool linkLangs( ActiveRecord[] $model_langs ) | |
35 | - * @method bool saveLangs( ActiveRecord[] $model_langs ) | |
38 | + * @method void loadLangs( Request $request ) | |
39 | + * @method bool linkLangs() | |
40 | + * @method bool saveLangs() | |
41 | + * @method bool getTransactionStatus() | |
36 | 42 | * * End language behavior * |
37 | 43 | */ |
38 | - class Project extends \yii\db\ActiveRecord | |
44 | + class Project extends ActiveRecord | |
39 | 45 | { |
40 | 46 | |
41 | 47 | public $imagesUpload = []; | ... | ... |
common/models/Seo.php
1 | 1 | <?php |
2 | - | |
3 | -namespace common\models; | |
4 | - | |
5 | -use common\modules\language\behaviors\LanguageBehavior; | |
6 | -use Yii; | |
7 | -use yii\db\ActiveQuery; | |
8 | -use yii\db\ActiveRecord; | |
9 | -use yii\web\Request; | |
10 | - | |
11 | -/** | |
12 | - * This is the model class for table "seo". | |
13 | - * | |
14 | - * @property integer $seo_id | |
15 | - * @property string $url | |
16 | - * | |
17 | - * * From language behavior * | |
18 | - * @property SeoLang $lang | |
19 | - * @property SeoLang[] $langs | |
20 | - * @property SeoLang $object_lang | |
21 | - * @property string $ownerKey | |
22 | - * @property string $langKey | |
23 | - * @method string getOwnerKey() | |
24 | - * @method void setOwnerKey(string $value) | |
25 | - * @method string getLangKey() | |
26 | - * @method void setLangKey(string $value) | |
27 | - * @method ActiveQuery getLangs() | |
28 | - * @method ActiveQuery getLang( integer $language_id ) | |
29 | - * @method SeoLang[] generateLangs() | |
30 | - * @method void loadLangs(Request $request, ActiveRecord[] $model_langs) | |
31 | - * @method bool linkLangs(ActiveRecord[] $model_langs) | |
32 | - * @method bool saveLangs(ActiveRecord[] $model_langs) | |
33 | - * * End language behavior * | |
34 | - */ | |
35 | -class Seo extends \yii\db\ActiveRecord | |
36 | -{ | |
37 | - /** | |
38 | - * @inheritdoc | |
39 | - */ | |
40 | - public static function tableName() | |
41 | - { | |
42 | - return 'seo'; | |
43 | - } | |
44 | - | |
45 | - public function behaviors() | |
46 | - { | |
47 | - return [ | |
48 | - 'language' => [ | |
49 | - 'class' => LanguageBehavior::className(), | |
50 | - ], | |
51 | - ]; | |
52 | - } | |
2 | + | |
3 | + namespace common\models; | |
4 | + | |
5 | + use common\modules\language\behaviors\LanguageBehavior; | |
6 | + use Yii; | |
7 | + use yii\db\ActiveQuery; | |
8 | + use yii\db\ActiveRecord; | |
9 | + use yii\web\Request; | |
53 | 10 | |
54 | 11 | /** |
55 | - * @inheritdoc | |
56 | - */ | |
57 | - public function rules() | |
58 | - { | |
59 | - return [ | |
60 | - [['url'], 'required'], | |
61 | - [['url'], 'string', 'max' => 255], | |
62 | - ]; | |
63 | - } | |
64 | - | |
65 | - /** | |
66 | - * @inheritdoc | |
12 | + * This is the model class for table "seo". | |
13 | + * @property integer $seo_id | |
14 | + * @property string $url | |
15 | + * * From language behavior * | |
16 | + * @property SeoLang $lang | |
17 | + * @property SeoLang[] $langs | |
18 | + * @property SeoLang $object_lang | |
19 | + * @property string $ownerKey | |
20 | + * @property string $langKey | |
21 | + * @property SeoLang[] $model_langs | |
22 | + * @property bool $transactionStatus | |
23 | + * @method string getOwnerKey() | |
24 | + * @method void setOwnerKey( string $value ) | |
25 | + * @method string getLangKey() | |
26 | + * @method void setLangKey( string $value ) | |
27 | + * @method ActiveQuery getLangs() | |
28 | + * @method ActiveQuery getLang( integer $language_id ) | |
29 | + * @method SeoLang[] generateLangs() | |
30 | + * @method void loadLangs( Request $request ) | |
31 | + * @method bool linkLangs() | |
32 | + * @method bool saveLangs() | |
33 | + * @method bool getTransactionStatus() | |
34 | + * * End language behavior * | |
67 | 35 | */ |
68 | - public function attributeLabels() | |
36 | + class Seo extends ActiveRecord | |
69 | 37 | { |
70 | - return [ | |
71 | - 'seo_id' => Yii::t('app', 'seo_id'), | |
72 | - 'url' => Yii::t('app', 'url'), | |
73 | - ]; | |
38 | + | |
39 | + /** | |
40 | + * @inheritdoc | |
41 | + */ | |
42 | + public static function tableName() | |
43 | + { | |
44 | + return 'seo'; | |
45 | + } | |
46 | + | |
47 | + public function behaviors() | |
48 | + { | |
49 | + return [ | |
50 | + 'language' => [ | |
51 | + 'class' => LanguageBehavior::className(), | |
52 | + ], | |
53 | + ]; | |
54 | + } | |
55 | + | |
56 | + /** | |
57 | + * @inheritdoc | |
58 | + */ | |
59 | + public function rules() | |
60 | + { | |
61 | + return [ | |
62 | + [ | |
63 | + [ 'url' ], | |
64 | + 'required', | |
65 | + ], | |
66 | + [ | |
67 | + [ 'url' ], | |
68 | + 'string', | |
69 | + 'max' => 255, | |
70 | + ], | |
71 | + ]; | |
72 | + } | |
73 | + | |
74 | + /** | |
75 | + * @inheritdoc | |
76 | + */ | |
77 | + public function attributeLabels() | |
78 | + { | |
79 | + return [ | |
80 | + 'seo_id' => Yii::t('app', 'seo_id'), | |
81 | + 'url' => Yii::t('app', 'url'), | |
82 | + ]; | |
83 | + } | |
74 | 84 | } |
75 | -} | ... | ... |
common/models/SeoCategory.php
1 | 1 | <?php |
2 | - | |
3 | -namespace common\models; | |
4 | - | |
5 | -use common\modules\language\behaviors\LanguageBehavior; | |
6 | -use Yii; | |
7 | -use yii\db\ActiveQuery; | |
8 | -use yii\db\ActiveRecord; | |
9 | -use yii\web\Request; | |
10 | - | |
11 | -/** | |
12 | - * This is the model class for table "seo_category". | |
13 | - * | |
14 | - * @property integer $seo_category_id | |
15 | - * @property string $controller | |
16 | - * @property integer $status | |
17 | - * | |
18 | - * * From language behavior * | |
19 | - * @property SeoCategoryLang $lang | |
20 | - * @property SeoCategoryLang[] $langs | |
21 | - * @property SeoCategoryLang $object_lang | |
22 | - * @property string $ownerKey | |
23 | - * @property string $langKey | |
24 | - * @method string getOwnerKey() | |
25 | - * @method void setOwnerKey(string $value) | |
26 | - * @method string getLangKey() | |
27 | - * @method void setLangKey(string $value) | |
28 | - * @method ActiveQuery getLangs() | |
29 | - * @method ActiveQuery getLang( integer $language_id ) | |
30 | - * @method SeoCategoryLang[] generateLangs() | |
31 | - * @method void loadLangs(Request $request, ActiveRecord[] $model_langs) | |
32 | - * @method bool linkLangs(ActiveRecord[] $model_langs) | |
33 | - * @method bool saveLangs(ActiveRecord[] $model_langs) | |
34 | - * * End language behavior * | |
35 | - * | |
36 | - * @property SeoDynamic[] $seoDynamics | |
37 | - */ | |
38 | -class SeoCategory extends \yii\db\ActiveRecord | |
39 | -{ | |
40 | - /** | |
41 | - * @inheritdoc | |
42 | - */ | |
43 | - public static function tableName() | |
44 | - { | |
45 | - return 'seo_category'; | |
46 | - } | |
47 | 2 | |
48 | - public function behaviors() | |
49 | - { | |
50 | - return [ | |
51 | - 'language' => [ | |
52 | - 'class' => LanguageBehavior::className(), | |
53 | - ], | |
54 | - ]; | |
55 | - } | |
3 | + namespace common\models; | |
4 | + | |
5 | + use common\modules\language\behaviors\LanguageBehavior; | |
6 | + use Yii; | |
7 | + use yii\db\ActiveQuery; | |
8 | + use yii\db\ActiveRecord; | |
9 | + use yii\web\Request; | |
56 | 10 | |
57 | 11 | /** |
58 | - * @inheritdoc | |
59 | - */ | |
60 | - public function rules() | |
61 | - { | |
62 | - return [ | |
63 | - [['status'], 'integer'], | |
64 | - [['controller'], 'string', 'max' => 100], | |
65 | - ]; | |
66 | - } | |
67 | - | |
68 | - /** | |
69 | - * @inheritdoc | |
70 | - */ | |
71 | - public function attributeLabels() | |
72 | - { | |
73 | - return [ | |
74 | - 'seo_category_id' => Yii::t('app', 'seo_category_id'), | |
75 | - 'controller' => Yii::t('app', 'controller'), | |
76 | - 'status' => Yii::t('app', 'status'), | |
77 | - ]; | |
78 | - } | |
79 | - | |
80 | - /** | |
81 | - * @return \yii\db\ActiveQuery | |
12 | + * This is the model class for table "seo_category". | |
13 | + * @property integer $seo_category_id | |
14 | + * @property string $controller | |
15 | + * @property integer $status | |
16 | + * * From language behavior * | |
17 | + * @property SeoCategoryLang $lang | |
18 | + * @property SeoCategoryLang[] $langs | |
19 | + * @property SeoCategoryLang $object_lang | |
20 | + * @property string $ownerKey | |
21 | + * @property string $langKey | |
22 | + * @property SeoCategoryLang[] $model_langs | |
23 | + * @property bool $transactionStatus | |
24 | + * @method string getOwnerKey() | |
25 | + * @method void setOwnerKey( string $value ) | |
26 | + * @method string getLangKey() | |
27 | + * @method void setLangKey( string $value ) | |
28 | + * @method ActiveQuery getLangs() | |
29 | + * @method ActiveQuery getLang( integer $language_id ) | |
30 | + * @method SeoCategoryLang[] generateLangs() | |
31 | + * @method void loadLangs( Request $request ) | |
32 | + * @method bool linkLangs() | |
33 | + * @method bool saveLangs() | |
34 | + * @method bool getTransactionStatus() | |
35 | + * * End language behavior * | |
36 | + * @property SeoDynamic[] $seoDynamics | |
82 | 37 | */ |
83 | - public function getSeoDynamics() | |
38 | + class SeoCategory extends ActiveRecord | |
84 | 39 | { |
85 | - return $this->hasMany(SeoDynamic::className(), ['seo_category_id' => 'seo_category_id']); | |
40 | + | |
41 | + /** | |
42 | + * @inheritdoc | |
43 | + */ | |
44 | + public static function tableName() | |
45 | + { | |
46 | + return 'seo_category'; | |
47 | + } | |
48 | + | |
49 | + public function behaviors() | |
50 | + { | |
51 | + return [ | |
52 | + 'language' => [ | |
53 | + 'class' => LanguageBehavior::className(), | |
54 | + ], | |
55 | + ]; | |
56 | + } | |
57 | + | |
58 | + /** | |
59 | + * @inheritdoc | |
60 | + */ | |
61 | + public function rules() | |
62 | + { | |
63 | + return [ | |
64 | + [ | |
65 | + [ 'status' ], | |
66 | + 'integer', | |
67 | + ], | |
68 | + [ | |
69 | + [ 'controller' ], | |
70 | + 'string', | |
71 | + 'max' => 100, | |
72 | + ], | |
73 | + ]; | |
74 | + } | |
75 | + | |
76 | + /** | |
77 | + * @inheritdoc | |
78 | + */ | |
79 | + public function attributeLabels() | |
80 | + { | |
81 | + return [ | |
82 | + 'seo_category_id' => Yii::t('app', 'seo_category_id'), | |
83 | + 'controller' => Yii::t('app', 'controller'), | |
84 | + 'status' => Yii::t('app', 'status'), | |
85 | + ]; | |
86 | + } | |
87 | + | |
88 | + /** | |
89 | + * @return \yii\db\ActiveQuery | |
90 | + */ | |
91 | + public function getSeoDynamics() | |
92 | + { | |
93 | + return $this->hasMany(SeoDynamic::className(), [ 'seo_category_id' => 'seo_category_id' ]); | |
94 | + } | |
86 | 95 | } |
87 | -} | ... | ... |
common/models/SeoDynamic.php
... | ... | @@ -22,6 +22,8 @@ |
22 | 22 | * @property SeoDynamicLang $object_lang |
23 | 23 | * @property string $ownerKey |
24 | 24 | * @property string $langKey |
25 | + * @property SeoDynamicLang[] $model_langs | |
26 | + * @property bool $transactionStatus | |
25 | 27 | * @method string getOwnerKey() |
26 | 28 | * @method void setOwnerKey( string $value ) |
27 | 29 | * @method string getLangKey() |
... | ... | @@ -29,13 +31,14 @@ |
29 | 31 | * @method ActiveQuery getLangs() |
30 | 32 | * @method ActiveQuery getLang( integer $language_id ) |
31 | 33 | * @method SeoDynamicLang[] generateLangs() |
32 | - * @method void loadLangs( Request $request, ActiveRecord[] $model_langs ) | |
33 | - * @method bool linkLangs( ActiveRecord[] $model_langs ) | |
34 | - * @method bool saveLangs( ActiveRecord[] $model_langs ) | |
34 | + * @method void loadLangs( Request $request ) | |
35 | + * @method bool linkLangs() | |
36 | + * @method bool saveLangs() | |
37 | + * @method bool getTransactionStatus() | |
35 | 38 | * * End language behavior * |
36 | 39 | * @property SeoCategory $seoCategory |
37 | 40 | */ |
38 | - class SeoDynamic extends \yii\db\ActiveRecord | |
41 | + class SeoDynamic extends ActiveRecord | |
39 | 42 | { |
40 | 43 | |
41 | 44 | /** | ... | ... |
common/models/Service.php
... | ... | @@ -22,6 +22,8 @@ |
22 | 22 | * @property ServiceLang $object_lang |
23 | 23 | * @property string $ownerKey |
24 | 24 | * @property string $langKey |
25 | + * @property ServiceLang[] $model_langs | |
26 | + * @property bool $transactionStatus | |
25 | 27 | * @method string getOwnerKey() |
26 | 28 | * @method void setOwnerKey( string $value ) |
27 | 29 | * @method string getLangKey() |
... | ... | @@ -29,12 +31,13 @@ |
29 | 31 | * @method ActiveQuery getLangs() |
30 | 32 | * @method ActiveQuery getLang( integer $language_id ) |
31 | 33 | * @method ServiceLang[] generateLangs() |
32 | - * @method void loadLangs( Request $request, ActiveRecord[] $model_langs ) | |
33 | - * @method bool linkLangs( ActiveRecord[] $model_langs ) | |
34 | - * @method bool saveLangs( ActiveRecord[] $model_langs ) | |
34 | + * @method void loadLangs( Request $request ) | |
35 | + * @method bool linkLangs() | |
36 | + * @method bool saveLangs() | |
37 | + * @method bool getTransactionStatus() | |
35 | 38 | * * End language behavior * |
36 | 39 | */ |
37 | - class Service extends \yii\db\ActiveRecord | |
40 | + class Service extends ActiveRecord | |
38 | 41 | { |
39 | 42 | |
40 | 43 | /** | ... | ... |
common/models/SliderImage.php
... | ... | @@ -25,6 +25,8 @@ |
25 | 25 | * @property SliderImageLang $object_lang |
26 | 26 | * @property string $ownerKey |
27 | 27 | * @property string $langKey |
28 | + * @property SliderImageLang[] $model_langs | |
29 | + * @property bool $transactionStatus | |
28 | 30 | * @method string getOwnerKey() |
29 | 31 | * @method void setOwnerKey( string $value ) |
30 | 32 | * @method string getLangKey() |
... | ... | @@ -32,17 +34,13 @@ |
32 | 34 | * @method ActiveQuery getLangs() |
33 | 35 | * @method ActiveQuery getLang( integer $language_id ) |
34 | 36 | * @method SliderImageLang[] generateLangs() |
35 | - * @method void loadLangs( Request $request, ActiveRecord[] $model_langs ) | |
36 | - * @method bool linkLangs( ActiveRecord[] $model_langs ) | |
37 | - * @method bool saveLangs( ActiveRecord[] $model_langs ) | |
38 | - * * End language behavior * | |
39 | - * * From transaction behavior * | |
40 | - * @property SliderImageLang[] $model_langs | |
41 | - * @property bool $transactionStatus | |
37 | + * @method void loadLangs( Request $request ) | |
38 | + * @method bool linkLangs() | |
39 | + * @method bool saveLangs() | |
42 | 40 | * @method bool getTransactionStatus() |
43 | - * * End transaction behavior * | |
41 | + * * End language behavior * | |
44 | 42 | */ |
45 | - class SliderImage extends \yii\db\ActiveRecord | |
43 | + class SliderImage extends ActiveRecord | |
46 | 44 | { |
47 | 45 | |
48 | 46 | /** | ... | ... |
common/modules/language/behaviors/LanguageBehavior.php
... | ... | @@ -2,7 +2,6 @@ |
2 | 2 | namespace common\modules\language\behaviors; |
3 | 3 | |
4 | 4 | use common\modules\language\models\Language; |
5 | - use common\modules\product\models\Product; | |
6 | 5 | use yii\base\Behavior; |
7 | 6 | use yii\base\InvalidConfigException; |
8 | 7 | use yii\db\ActiveQuery; |
... | ... | @@ -252,6 +251,9 @@ |
252 | 251 | $owner = $this->owner; |
253 | 252 | $db = $owner::getDb(); |
254 | 253 | $this->_transaction = $db->beginTransaction(); |
254 | + if($owner->hasAttribute('remote_id') && empty($owner->remote_id)) { | |
255 | + $owner->remote_id = strval(microtime(true)*10000); | |
256 | + } | |
255 | 257 | } |
256 | 258 | |
257 | 259 | public function afterSave($event) |
... | ... | @@ -272,9 +274,6 @@ |
272 | 274 | $this->_transaction->commit(); |
273 | 275 | $this->_transaction_status = true; |
274 | 276 | } |
275 | - if($owner->hasAttribute('remote_id') && empty($owner->remote_id)) { | |
276 | - $owner->remote_id = (int) $owner->primaryKey(); | |
277 | - } | |
278 | 277 | } |
279 | 278 | |
280 | 279 | /** | ... | ... |
common/modules/language/readme.txt
... | ... | @@ -66,9 +66,9 @@ public function behaviors() { |
66 | 66 | * @method ActiveQuery getLangs() |
67 | 67 | * @method ActiveQuery getLang( integer $language_id ) |
68 | 68 | * @method {TableLang}[] generateLangs() |
69 | - * @method void loadLangs(Request $request, ActiveRecord[] $model_langs) | |
70 | - * @method bool linkLangs(ActiveRecord[] $model_langs) | |
71 | - * @method bool saveLangs(ActiveRecord[] $model_langs) | |
69 | + * @method void loadLangs(Request $request) | |
70 | + * @method bool linkLangs() | |
71 | + * @method bool saveLangs() | |
72 | 72 | * @method bool getTransactionStatus() |
73 | 73 | * * End language behavior * |
74 | 74 | 3.2. ะฃะฑัะฐัั language behavior ั ะฝะฐัะปะตะดัะตะผัั ัะฐะฑะปะธั ะพั {Table} ({TableSearch}...) | ... | ... |
common/modules/product/controllers/ManageController.php
... | ... | @@ -101,7 +101,7 @@ |
101 | 101 | $model->imagesUpload = UploadedFile::getInstances($model, 'imagesUpload'); |
102 | 102 | $model->certificateUpload = UploadedFile::getInstances($model, 'certificateUpload'); |
103 | 103 | |
104 | - if($model->save()) { | |
104 | + if($model->save() && $model->transactionStatus) { | |
105 | 105 | |
106 | 106 | if(!empty( $model->imagesUpload ) && ( ( $images = $model->imagesUpload() ) !== false )) { |
107 | 107 | foreach($images as $image) { |
... | ... | @@ -127,30 +127,14 @@ |
127 | 127 | $product_spec->product_id = $model->product_id; |
128 | 128 | $product_spec->techSpecFile = UploadedFile::getInstance($product_spec, 'techSpecFile'); |
129 | 129 | $product_spec->techCharFile = UploadedFile::getInstance($product_spec, 'techCharFile'); |
130 | - if($product_spec->upload() && $model->linkLangs() && $model->saveLangs()) { | |
131 | - $product_spec->save(false); | |
132 | - if($product_spec->linkLangs() && $product_spec->saveLangs()) { | |
130 | + if($product_spec->upload()) { | |
131 | + if($product_spec->save(false) && $product_spec->transactionStatus) { | |
133 | 132 | return $this->redirect([ |
134 | 133 | 'view', |
135 | 134 | 'id' => $model->product_id, |
136 | 135 | ]); |
137 | - } else { | |
138 | - return $this->redirect([ | |
139 | - 'update', | |
140 | - 'id' => $model->product_id, | |
141 | - ]); | |
142 | 136 | } |
143 | 137 | } |
144 | - } elseif($model->linkLangs() && $model->saveLangs()) { | |
145 | - return $this->redirect([ | |
146 | - 'view', | |
147 | - 'id' => $model->product_id, | |
148 | - ]); | |
149 | - } else { | |
150 | - return $this->redirect([ | |
151 | - 'update', | |
152 | - 'id' => $model->product_id, | |
153 | - ]); | |
154 | 138 | } |
155 | 139 | } |
156 | 140 | } |
... | ... | @@ -173,7 +157,7 @@ |
173 | 157 | public function actionUpdate($id) |
174 | 158 | { |
175 | 159 | $model = $this->findModel($id); |
176 | - $model_langs = $model->generateLangs(); | |
160 | + $model->generateLangs(); | |
177 | 161 | if(!empty( $model->productSpec )) { |
178 | 162 | $product_spec = $model->productSpec; |
179 | 163 | } else { |
... | ... | @@ -181,12 +165,12 @@ |
181 | 165 | 'product_id' => $model->product_id, |
182 | 166 | ]); |
183 | 167 | } |
184 | - $product_spec_langs = $product_spec->generateLangs(); | |
168 | + $product_spec->generateLangs(); | |
185 | 169 | if($model->load(Yii::$app->request->post())) { |
186 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
170 | + $model->loadLangs(\Yii::$app->request); | |
187 | 171 | $model->imagesUpload = UploadedFile::getInstances($model, 'imagesUpload'); |
188 | 172 | $model->certificateUpload = UploadedFile::getInstances($model, 'certificateUpload'); |
189 | - if($model->save()) { | |
173 | + if($model->save() && $model->transactionStatus) { | |
190 | 174 | if(!empty( $model->imagesUpload ) && ( ( $images = $model->imagesUpload() ) !== false )) { |
191 | 175 | foreach($images as $image) { |
192 | 176 | $imageModel = new ProductImage(); |
... | ... | @@ -195,7 +179,6 @@ |
195 | 179 | $imageModel->save(); |
196 | 180 | } |
197 | 181 | } |
198 | - | |
199 | 182 | if(!empty( $model->certificateUpload ) && ( ( $certificates = $model->certificateUpload() ) !== false )) { |
200 | 183 | foreach($certificates as $certificate) { |
201 | 184 | $certificateModel = new ProductCertificate([ |
... | ... | @@ -205,35 +188,28 @@ |
205 | 188 | $certificateModel->save(false); |
206 | 189 | } |
207 | 190 | } |
208 | - | |
209 | 191 | if($product_spec->load(Yii::$app->request->post())) { |
210 | - $product_spec->loadLangs(\Yii::$app->request, $product_spec_langs); | |
192 | + $product_spec->loadLangs(\Yii::$app->request); | |
211 | 193 | $product_spec->techSpecFile = UploadedFile::getInstance($product_spec, 'techSpecFile'); |
212 | 194 | $product_spec->techCharFile = UploadedFile::getInstance($product_spec, 'techCharFile'); |
213 | - if($product_spec->upload() && $model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
214 | - $product_spec->save(false); | |
215 | - if($product_spec->linkLangs($product_spec_langs) && $product_spec->saveLangs($product_spec_langs)) { | |
195 | + if($product_spec->upload()) { | |
196 | + if($product_spec->save(false) && $product_spec->transactionStatus) { | |
216 | 197 | return $this->redirect([ |
217 | 198 | 'view', |
218 | 199 | 'id' => $model->product_id, |
219 | 200 | ]); |
220 | 201 | } |
221 | 202 | } |
222 | - } elseif($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
223 | - return $this->redirect([ | |
224 | - 'view', | |
225 | - 'id' => $model->product_id, | |
226 | - ]); | |
227 | 203 | } |
228 | 204 | } |
229 | 205 | } |
230 | 206 | $groups = $model->getTaxGroupsByLevel(0); |
231 | 207 | return $this->render('update', [ |
232 | 208 | 'model' => $model, |
233 | - 'model_langs' => $model_langs, | |
209 | + 'model_langs' => $model->model_langs, | |
234 | 210 | 'groups' => $groups, |
235 | 211 | 'product_spec' => $product_spec, |
236 | - 'product_spec_langs' => $product_spec_langs, | |
212 | + 'product_spec_langs' => $product_spec->model_langs, | |
237 | 213 | ]); |
238 | 214 | } |
239 | 215 | ... | ... |
common/modules/product/controllers/ProductUnitController.php
... | ... | @@ -67,27 +67,20 @@ |
67 | 67 | public function actionCreate() |
68 | 68 | { |
69 | 69 | $model = new ProductUnit(); |
70 | - $model_langs = $model->generateLangs(); | |
71 | - | |
72 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
73 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
74 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
70 | + $model->generateLangs(); | |
71 | + if($model->load(Yii::$app->request->post())) { | |
72 | + $model->loadLangs(\Yii::$app->request); | |
73 | + if($model->save() && $model->transactionStatus) { | |
75 | 74 | return $this->redirect([ |
76 | 75 | 'view', |
77 | 76 | 'id' => $model->product_unit_id, |
78 | 77 | ]); |
79 | - } else { | |
80 | - return $this->redirect([ | |
81 | - 'update', | |
82 | - 'id' => $model->product_unit_id, | |
83 | - ]); | |
84 | 78 | } |
85 | - } else { | |
86 | - return $this->render('create', [ | |
87 | - 'model' => $model, | |
88 | - 'model_langs' => $model_langs, | |
89 | - ]); | |
90 | 79 | } |
80 | + return $this->render('create', [ | |
81 | + 'model' => $model, | |
82 | + 'model_langs' => $model->model_langs, | |
83 | + ]); | |
91 | 84 | } |
92 | 85 | |
93 | 86 | /** |
... | ... | @@ -101,11 +94,10 @@ |
101 | 94 | public function actionUpdate($id) |
102 | 95 | { |
103 | 96 | $model = $this->findModel($id); |
104 | - $model_langs = $model->generateLangs(); | |
105 | - | |
106 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
107 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
108 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
97 | + $model->generateLangs(); | |
98 | + if($model->load(Yii::$app->request->post())) { | |
99 | + $model->loadLangs(\Yii::$app->request); | |
100 | + if($model->save() && $model->transactionStatus) { | |
109 | 101 | return $this->redirect([ |
110 | 102 | 'view', |
111 | 103 | 'id' => $model->product_unit_id, |
... | ... | @@ -114,7 +106,7 @@ |
114 | 106 | } |
115 | 107 | return $this->render('update', [ |
116 | 108 | 'model' => $model, |
117 | - 'model_langs' => $model_langs, | |
109 | + 'model_langs' => $model->model_langs, | |
118 | 110 | ]); |
119 | 111 | } |
120 | 112 | ... | ... |
common/modules/product/controllers/VariantController.php
... | ... | @@ -80,19 +80,15 @@ |
80 | 80 | { |
81 | 81 | $model = new ProductVariant(); |
82 | 82 | $model->product_id = $product_id; |
83 | - $model_langs = $model->generateLangs(); | |
83 | + $model->generateLangs(); | |
84 | 84 | if($model->load(Yii::$app->request->post())) { |
85 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
85 | + $model->loadLangs(\Yii::$app->request); | |
86 | 86 | $model->imagesUpload = UploadedFile::getInstances($model, 'imagesUpload'); |
87 | - $model->validate(); | |
88 | - | |
89 | - if($model->save()) { | |
90 | - | |
87 | + if($model->save() && $model->transactionStatus) { | |
91 | 88 | if(( $image = UploadedFile::getInstance($model, 'image') )) { |
92 | 89 | $imageModel = ProductImage::find() |
93 | 90 | ->where([ 'product_variant_id' => $model->product_variant_id ]) |
94 | 91 | ->one(); |
95 | - | |
96 | 92 | if($imageModel instanceof ProductImage) { |
97 | 93 | $imageModel->product_id = $model->product_id; |
98 | 94 | $imageModel->product_variant_id = $model->product_variant_id; |
... | ... | @@ -105,20 +101,14 @@ |
105 | 101 | $imageModel->image = $image->name; |
106 | 102 | $imageModel->save(); |
107 | 103 | } |
108 | - | |
109 | 104 | $imgDir = Yii::getAlias('@storage/products/'); |
110 | - | |
111 | 105 | if(!is_dir($imgDir)) { |
112 | 106 | mkdir($imgDir, 0755, true); |
113 | 107 | } |
114 | - | |
115 | 108 | $image->saveAs(Yii::getAlias('@storage/products/' . $image->name)); |
116 | 109 | } |
117 | - | |
118 | 110 | $ProductStocks = Yii::$app->request->post('ProductStock'); |
119 | - | |
120 | 111 | $total_quantity = 0; |
121 | - | |
122 | 112 | if(!empty( $ProductStocks ) && is_array($ProductStocks)) { |
123 | 113 | $model->unlinkAll('stocks', true); |
124 | 114 | $sorted_array = []; |
... | ... | @@ -164,26 +154,18 @@ |
164 | 154 | } |
165 | 155 | |
166 | 156 | $model->stock = $total_quantity; |
167 | - $model->save(); | |
168 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
157 | + if($model->save() && $model->transactionStatus) { | |
169 | 158 | return $this->redirect([ |
170 | 159 | 'index', |
171 | 160 | 'product_id' => $product_id, |
172 | 161 | ]); |
173 | - } else { | |
174 | - return $this->redirect([ | |
175 | - 'update', | |
176 | - 'product_id' => $product_id, | |
177 | - 'id' => $model->product_variant_id, | |
178 | - ]); | |
179 | 162 | } |
180 | 163 | } |
181 | 164 | } |
182 | 165 | $groups = $model->getTaxGroupsByLevel(1); |
183 | - | |
184 | 166 | return $this->render('create', [ |
185 | 167 | 'model' => $model, |
186 | - 'model_langs' => $model_langs, | |
168 | + 'model_langs' => $model->model_langs, | |
187 | 169 | 'groups' => $groups, |
188 | 170 | 'stocks' => [ new ProductStock() ], |
189 | 171 | ]); |
... | ... | @@ -201,16 +183,14 @@ |
201 | 183 | public function actionUpdate($product_id, $id) |
202 | 184 | { |
203 | 185 | $model = $this->findModel($id); |
204 | - $model_langs = $model->generateLangs(); | |
186 | + $model->generateLangs(); | |
205 | 187 | if($model->load(Yii::$app->request->post())) { |
206 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
207 | - if($model->save()) { | |
208 | - | |
188 | + $model->loadLangs(\Yii::$app->request); | |
189 | + if($model->save() && $model->transactionStatus) { | |
209 | 190 | if(( $image = UploadedFile::getInstance($model, 'image') )) { |
210 | 191 | $imageModel = ProductImage::find() |
211 | 192 | ->where([ 'product_variant_id' => $model->product_variant_id ]) |
212 | 193 | ->one(); |
213 | - | |
214 | 194 | if($imageModel instanceof ProductImage) { |
215 | 195 | $imageModel->product_id = $model->product_id; |
216 | 196 | $imageModel->product_variant_id = $model->product_variant_id; |
... | ... | @@ -223,20 +203,14 @@ |
223 | 203 | $imageModel->image = $image->name; |
224 | 204 | $imageModel->save(); |
225 | 205 | } |
226 | - | |
227 | 206 | $imgDir = Yii::getAlias('@storage/products/'); |
228 | - | |
229 | 207 | if(!is_dir($imgDir)) { |
230 | 208 | mkdir($imgDir, 0755, true); |
231 | 209 | } |
232 | - | |
233 | 210 | $image->saveAs(Yii::getAlias('@storage/products/' . $image->name)); |
234 | 211 | } |
235 | - | |
236 | 212 | $ProductStocks = Yii::$app->request->post('ProductStock'); |
237 | - | |
238 | 213 | $total_quantity = 0; |
239 | - | |
240 | 214 | if(!empty( $ProductStocks ) && is_array($ProductStocks)) { |
241 | 215 | $model->unlinkAll('stocks', true); |
242 | 216 | $sorted_array = []; |
... | ... | @@ -280,9 +254,8 @@ |
280 | 254 | } else { |
281 | 255 | $model->unlinkAll('stocks', true); |
282 | 256 | } |
283 | - | |
284 | 257 | $model->stock = $total_quantity; |
285 | - if($model->save() && $model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
258 | + if($model->save() && $model->transactionStatus) { | |
286 | 259 | return $this->redirect([ |
287 | 260 | 'index', |
288 | 261 | 'product_id' => $product_id, |
... | ... | @@ -291,20 +264,19 @@ |
291 | 264 | } |
292 | 265 | } |
293 | 266 | $groups = $model->getTaxGroupsByLevel(1); |
294 | - | |
295 | 267 | return $this->render('update', [ |
296 | 268 | 'model' => $model, |
297 | - 'model_langs' => $model_langs, | |
269 | + 'model_langs' => $model->model_langs, | |
298 | 270 | 'groups' => $groups, |
299 | 271 | 'stocks' => ( !empty( $model->variantStocks ) ) ? $model->variantStocks : [ new ProductStock ], |
300 | 272 | ]); |
301 | - | |
302 | 273 | } |
303 | 274 | |
304 | 275 | /** |
305 | 276 | * Deletes an existing ProductVariant model. |
306 | 277 | * If deletion is successful, the browser will be redirected to the 'index' page. |
307 | 278 | * |
279 | + * @param integer $product_id | |
308 | 280 | * @param integer $id |
309 | 281 | * |
310 | 282 | * @return mixed | ... | ... |
common/modules/product/helpers/ProductHelper.php
common/modules/product/models/Brand.php
... | ... | @@ -21,6 +21,8 @@ |
21 | 21 | * @property BrandLang $object_lang |
22 | 22 | * @property string $ownerKey |
23 | 23 | * @property string $langKey |
24 | + * @property BrandLang[] $model_langs | |
25 | + * @property bool $transactionStatus | |
24 | 26 | * @method string getOwnerKey() |
25 | 27 | * @method void setOwnerKey( string $value ) |
26 | 28 | * @method string getLangKey() |
... | ... | @@ -28,12 +30,13 @@ |
28 | 30 | * @method ActiveQuery getLangs() |
29 | 31 | * @method ActiveQuery getLang( integer $language_id ) |
30 | 32 | * @method BrandLang[] generateLangs() |
31 | - * @method void loadLangs( Request $request, ActiveRecord[] $model_langs ) | |
32 | - * @method bool linkLangs( ActiveRecord[] $model_langs ) | |
33 | - * @method bool saveLangs( ActiveRecord[] $model_langs ) | |
33 | + * @method void loadLangs( Request $request ) | |
34 | + * @method bool linkLangs() | |
35 | + * @method bool saveLangs() | |
36 | + * @method bool getTransactionStatus() | |
34 | 37 | * * End language behavior * |
35 | 38 | */ |
36 | - class Brand extends \yii\db\ActiveRecord | |
39 | + class Brand extends ActiveRecord | |
37 | 40 | { |
38 | 41 | |
39 | 42 | public $_items_count = 0; |
... | ... | @@ -83,8 +86,8 @@ |
83 | 86 | public function attributeLabels() |
84 | 87 | { |
85 | 88 | return [ |
86 | - 'brand_id' => Yii::t('product', 'Brand ID'), | |
87 | - 'image' => Yii::t('product', 'Image'), | |
89 | + 'brand_id' => Yii::t('product', 'Brand ID'), | |
90 | + 'image' => Yii::t('product', 'Image'), | |
88 | 91 | ]; |
89 | 92 | } |
90 | 93 | ... | ... |
common/modules/product/models/Category.php
... | ... | @@ -4,7 +4,6 @@ |
4 | 4 | |
5 | 5 | use common\behaviors\SaveImgBehavior; |
6 | 6 | use common\components\artboxtree\ArtboxTreeBehavior; |
7 | - use common\components\artboxtree\ArtboxTreeHelper; | |
8 | 7 | use common\modules\language\behaviors\LanguageBehavior; |
9 | 8 | use common\modules\rubrication\models\TaxGroup; |
10 | 9 | use Yii; |
... | ... | @@ -16,7 +15,7 @@ |
16 | 15 | /** |
17 | 16 | * This is the model class for table "category". |
18 | 17 | * @property integer $category_id |
19 | - * @property string $remote_id | |
18 | + * @property integer $remote_id | |
20 | 19 | * @property integer $parent_id |
21 | 20 | * @property string $path |
22 | 21 | * @property integer $depth |
... | ... | @@ -28,6 +27,8 @@ |
28 | 27 | * @property CategoryLang $object_lang |
29 | 28 | * @property string $ownerKey |
30 | 29 | * @property string $langKey |
30 | + * @property CategoryLang[] $model_langs | |
31 | + * @property bool $transactionStatus | |
31 | 32 | * @method string getOwnerKey() |
32 | 33 | * @method void setOwnerKey( string $value ) |
33 | 34 | * @method string getLangKey() |
... | ... | @@ -35,15 +36,16 @@ |
35 | 36 | * @method ActiveQuery getLangs() |
36 | 37 | * @method ActiveQuery getLang( integer $language_id ) |
37 | 38 | * @method CategoryLang[] generateLangs() |
38 | - * @method void loadLangs( Request $request, ActiveRecord[] $model_langs ) | |
39 | - * @method bool linkLangs( ActiveRecord[] $model_langs ) | |
40 | - * @method bool saveLangs( ActiveRecord[] $model_langs ) | |
39 | + * @method void loadLangs( Request $request ) | |
40 | + * @method bool linkLangs() | |
41 | + * @method bool saveLangs() | |
42 | + * @method bool getTransactionStatus() | |
41 | 43 | * * End language behavior * |
42 | 44 | * @property Product[] $products |
43 | 45 | * @property ProductUnit $productUnit |
44 | 46 | * @property ProductCategory[] $productCategories |
45 | 47 | */ |
46 | - class Category extends \yii\db\ActiveRecord | |
48 | + class Category extends ActiveRecord | |
47 | 49 | { |
48 | 50 | |
49 | 51 | public function behaviors() |
... | ... | @@ -160,18 +162,6 @@ |
160 | 162 | ->andWhere([ 'level' => $level ]); |
161 | 163 | } |
162 | 164 | |
163 | - public function getRemote_category() | |
164 | - { | |
165 | - return ArtboxTreeHelper::getArrayField($this->remote_id); | |
166 | - } | |
167 | - | |
168 | - public function setRemote_category($value) | |
169 | - { | |
170 | - if(!empty( $value ) && is_array($value)) { | |
171 | - $this->remote_id = ArtboxTreeHelper::setArrayField($value, false); | |
172 | - } | |
173 | - } | |
174 | - | |
175 | 165 | public function beforeSave($insert) |
176 | 166 | { |
177 | 167 | if(parent::beforeSave($insert)) { |
... | ... | @@ -227,14 +217,14 @@ |
227 | 217 | 0, |
228 | 218 | ]); |
229 | 219 | $query3 = ( new Query() )->select([ |
230 | - 'tax_option.*', | |
231 | - 'tax_group.*', | |
232 | - 'tax_option.alias as option_alias', | |
233 | - 'tax_group.alias as group_alias', | |
234 | - 'tax_option.value as value', | |
235 | - 'tax_option.sort AS tax_option_sort', | |
236 | - 'tax_group.sort AS tax_group_sort', | |
237 | - ]) | |
220 | + 'tax_option.*', | |
221 | + 'tax_group.*', | |
222 | + 'tax_option.alias as option_alias', | |
223 | + 'tax_group.alias as group_alias', | |
224 | + 'tax_option.value as value', | |
225 | + 'tax_option.sort AS tax_option_sort', | |
226 | + 'tax_group.sort AS tax_group_sort', | |
227 | + ]) | |
238 | 228 | ->from([ 'tax_option' ]) |
239 | 229 | ->where([ 'tax_option.tax_option_id' => $query1->union($query2) ]) |
240 | 230 | ->innerJoin('tax_group', 'tax_group.tax_group_id = tax_option.tax_group_id') |
... | ... | @@ -257,12 +247,19 @@ |
257 | 247 | ) |
258 | 248 | ) |
259 | 249 | AND tax_group.is_menu = TRUE AND tax_group_to_category.category_id = :category_id', [ |
260 | - ':category_id' => $this->category_id, | |
261 | - | |
262 | - ]); | |
250 | + ':category_id' => $this->category_id, | |
251 | + | |
252 | + ]); | |
263 | 253 | return $command->queryAll(); |
264 | 254 | } |
265 | 255 | |
256 | + /** | |
257 | + * @todo Write doc | |
258 | + * | |
259 | + * @param $value | |
260 | + * | |
261 | + * @return mixed | |
262 | + */ | |
266 | 263 | public function setTaxGroup($value) |
267 | 264 | { |
268 | 265 | return $this->tax_group = $value; | ... | ... |
common/modules/product/models/CategoryLang.php
... | ... | @@ -57,7 +57,7 @@ class CategoryLang extends \yii\db\ActiveRecord |
57 | 57 | { |
58 | 58 | return [ |
59 | 59 | [['name'], 'required'], |
60 | - [['seo_text'], 'string'], | |
60 | + [['seo_text', 'alias'], 'string'], | |
61 | 61 | [['name', 'meta_title', 'meta_robots', 'meta_desc', 'h1'], 'string', 'max' => 255], |
62 | 62 | [['category_id', 'language_id'], 'unique', 'targetAttribute' => ['category_id', 'language_id'], 'message' => 'The combination of Category ID and Language ID has already been taken.'], |
63 | 63 | [['category_id'], 'exist', 'skipOnError' => true, 'targetClass' => Category::className(), 'targetAttribute' => ['category_id' => 'category_id']], | ... | ... |
common/modules/product/models/CategorySearch.php
... | ... | @@ -71,14 +71,4 @@ class CategorySearch extends Category |
71 | 71 | |
72 | 72 | return $dataProvider; |
73 | 73 | } |
74 | - | |
75 | - public static function findByRemoteID($id) { | |
76 | - /** @var CategoryQuery $query */ | |
77 | - $query = Category::find() | |
78 | - ->andFilterWhere(['@>', 'remote_id', ArtboxTreeHelper::setArrayField($id)]); | |
79 | - if (($model = $query->one()) !== null) { | |
80 | - return $model; | |
81 | - } | |
82 | - return null; | |
83 | - } | |
84 | 74 | } | ... | ... |
common/modules/product/models/Export.php
... | ... | @@ -3,6 +3,7 @@ |
3 | 3 | namespace common\modules\product\models; |
4 | 4 | |
5 | 5 | use common\modules\language\models\Language; |
6 | + use common\modules\rubrication\models\TaxOption; | |
6 | 7 | use yii\base\Model; |
7 | 8 | |
8 | 9 | class Export extends Model |
... | ... | @@ -44,7 +45,10 @@ |
44 | 45 | |
45 | 46 | $language = Language::findOne(\Yii::$app->session->get('export_lang', Language::getDefaultLanguage()->language_id)); |
46 | 47 | Language::setCurrent($language->url); |
47 | - | |
48 | + | |
49 | + /** | |
50 | + * @var Product[] $products | |
51 | + */ | |
48 | 52 | $products = Product::find() |
49 | 53 | ->with('variantsWithFilters', 'brand.lang', 'categories.lang', 'filters') |
50 | 54 | ->joinWith('lang', true, 'INNER JOIN') |
... | ... | @@ -59,23 +63,26 @@ |
59 | 63 | $filterString = $this->convertFilterToString($product->filters); |
60 | 64 | |
61 | 65 | foreach($product->variantsWithFilters as $variant) { |
66 | + /** | |
67 | + * @var ProductVariant $variant | |
68 | + */ | |
62 | 69 | $color = $variant->lang->name; |
63 | - $mods[] = $variant->sku . '=' . $this->convertFilterToString($variant->filters) . '=' . $color . '=' . ( ( !empty( $variant->image ) ) ? $variant->image->image : '' ) . '=' . $variant->stock; | |
70 | + $mods[] = $variant->sku.$this->generateID($variant->remote_id) . '=' . $this->convertFilterToString($variant->filters) . '=' . $color . '=' . ( ( !empty( $variant->image ) ) ? $variant->image->image : '' ) . '=' . $variant->stock; | |
64 | 71 | } |
65 | 72 | |
66 | 73 | $fotos = []; |
67 | 74 | |
68 | 75 | $categories = []; |
69 | 76 | foreach($product->categories as $value) { |
70 | - $categories[] = $value->lang->name; | |
77 | + $categories[] = $value->lang->name.$this->generateID($value->remote_id); | |
71 | 78 | } |
72 | 79 | |
73 | 80 | $categories = implode(',', $categories); |
74 | 81 | |
75 | 82 | $list = [ |
76 | 83 | $categories, |
77 | - ( ( !empty( $product->brand ) ) ? $product->brand->lang->name : '' ), | |
78 | - $product->lang->name, | |
84 | + ( ( !empty( $product->brand ) ) ? $product->brand->lang->name.$this->generateID($product->brand->remote_id) : '' ), | |
85 | + $product->lang->name.$this->generateID($product->remote_id), | |
79 | 86 | '', |
80 | 87 | ( ( !empty( $product->lang->description ) ) ? $product->lang->description : '' ), |
81 | 88 | $filterString, |
... | ... | @@ -121,8 +128,11 @@ |
121 | 128 | public function convertFilterToString($filters) |
122 | 129 | { |
123 | 130 | $fittersArray = []; |
131 | + /** | |
132 | + * @var TaxOption[] $filters | |
133 | + */ | |
124 | 134 | foreach($filters as $filter) { |
125 | - $fittersArray[ $filter->taxGroup->alias ][] = $filter->lang->value; | |
135 | + $fittersArray[ $filter->taxGroup->lang->name.$this->generateID($filter->taxGroup->remote_id) ][] = $filter->lang->value.$this->generateID($filter->remote_id); | |
126 | 136 | } |
127 | 137 | $filterString = []; |
128 | 138 | |
... | ... | @@ -132,4 +142,8 @@ |
132 | 142 | } |
133 | 143 | return implode('*', $filterString); |
134 | 144 | } |
145 | + | |
146 | + private function generateID(string $id):string { | |
147 | + return sprintf('(#%s#)', $id); | |
148 | + } | |
135 | 149 | } |
136 | 150 | \ No newline at end of file | ... | ... |
common/modules/product/models/Import.php
... | ... | @@ -352,10 +352,11 @@ |
352 | 352 | if(!empty ( $data[ $i ] )) { |
353 | 353 | $mod_arr = explode('=', $data[ $i ]); |
354 | 354 | $mod_art = $mod_arr[ 0 ]; |
355 | + $mod_art_parsed = $this->parseName($mod_art); | |
355 | 356 | $variant_filters = explode('*', $mod_arr[ 1 ]); |
356 | 357 | $mod_name = $mod_arr[ 2 ]; |
357 | 358 | if(empty( $mod_name )) { |
358 | - $mod_name = $mod_art; | |
359 | + $mod_name = $mod_art_parsed['name']; | |
359 | 360 | } |
360 | 361 | $mod_image = $mod_arr[ 3 ]; |
361 | 362 | $mod_stock = isset( $mod_arr[ 4 ] ) ? $mod_arr[ 4 ] : 1; |
... | ... | @@ -367,12 +368,15 @@ |
367 | 368 | */ |
368 | 369 | if(( $_productVariant = ProductVariant::find() |
369 | 370 | ->joinWith('lang') |
370 | - ->andFilterWhere([ 'sku' => $mod_art ]) | |
371 | + ->andFilterWhere([ 'remote_id' => $mod_art_parsed['remote_id'] ]) | |
371 | 372 | ->andFilterWhere([ 'product_variant.product_id' => $product_id ]) |
372 | 373 | ->one() ) === NULL |
373 | 374 | ) { |
374 | 375 | $_productVariant = new ProductVariant(); |
375 | 376 | $_productVariant->product_id = $product_id; |
377 | + if(!empty($mod_art_parsed['remote_id'])) { | |
378 | + $_productVariant->remote_id = $mod_art_parsed['remote_id']; | |
379 | + } | |
376 | 380 | $_productVariant->generateLangs(); |
377 | 381 | $product_variant_langs = $_productVariant->model_langs; |
378 | 382 | foreach($product_variant_langs as $product_variant_lang) { |
... | ... | @@ -387,7 +391,7 @@ |
387 | 391 | } |
388 | 392 | } |
389 | 393 | $_productVariant->product_unit_id = 1; |
390 | - $_productVariant->sku = $mod_art; | |
394 | + $_productVariant->sku = $mod_art_parsed['name']; | |
391 | 395 | $_productVariant->price = $mod_cost; |
392 | 396 | $_productVariant->price_old = $mod_old_cost; |
393 | 397 | $_productVariant->stock = $mod_stock; | ... | ... |
common/modules/product/models/Product.php
... | ... | @@ -39,21 +39,24 @@ |
39 | 39 | * @property ProductSpec $productSpec |
40 | 40 | * @property ProductCertificate[] $productCertificates |
41 | 41 | * * From language behavior * |
42 | - * @property ProductLang $lang | |
43 | - * @property ProductLang[] $langs | |
44 | - * @property ProductLang $object_lang | |
45 | - * @property string $ownerKey | |
46 | - * @property string $langKey | |
42 | + * @property ProductLang $lang | |
43 | + * @property ProductLang[] $langs | |
44 | + * @property ProductLang $object_lang | |
45 | + * @property string $ownerKey | |
46 | + * @property string $langKey | |
47 | + * @property ProductLang[] $model_langs | |
48 | + * @property bool $transactionStatus | |
47 | 49 | * @method string getOwnerKey() |
48 | - * @method void setOwnerKey( string $value ) | |
50 | + * @method void setOwnerKey(string $value) | |
49 | 51 | * @method string getLangKey() |
50 | - * @method void setLangKey( string $value ) | |
52 | + * @method void setLangKey(string $value) | |
51 | 53 | * @method ActiveQuery getLangs() |
52 | 54 | * @method ActiveQuery getLang( integer $language_id ) |
53 | 55 | * @method ProductLang[] generateLangs() |
54 | - * @method void loadLangs( Request $request, ActiveRecord[] $model_langs ) | |
55 | - * @method bool linkLangs( ActiveRecord[] $model_langs ) | |
56 | - * @method bool saveLangs( ActiveRecord[] $model_langs ) | |
56 | + * @method void loadLangs(Request $request) | |
57 | + * @method bool linkLangs() | |
58 | + * @method bool saveLangs() | |
59 | + * @method bool getTransactionStatus() | |
57 | 60 | * * End language behavior * |
58 | 61 | */ |
59 | 62 | class Product extends \yii\db\ActiveRecord | ... | ... |
common/modules/product/models/ProductSearch.php
... | ... | @@ -110,14 +110,4 @@ class ProductSearch extends Product |
110 | 110 | |
111 | 111 | return $dataProvider; |
112 | 112 | } |
113 | - | |
114 | - public static function findByRemoteID($id) { | |
115 | - /** @var CategoryQuery $query */ | |
116 | - $query = Product::find() | |
117 | - ->andFilterWhere(['remote_id' => $id]); | |
118 | - if (($model = $query->one()) !== null) { | |
119 | - return $model; | |
120 | - } | |
121 | - return null; | |
122 | - } | |
123 | 113 | } | ... | ... |
common/modules/product/models/ProductUnit.php
1 | 1 | <?php |
2 | - | |
3 | -namespace common\modules\product\models; | |
4 | - | |
5 | -use common\modules\language\behaviors\LanguageBehavior; | |
6 | -use Yii; | |
7 | -use yii\db\ActiveQuery; | |
8 | -use yii\db\ActiveRecord; | |
9 | -use yii\web\Request; | |
10 | - | |
11 | -/** | |
12 | - * This is the model class for table "product_unit". | |
13 | - * | |
14 | - * @property integer $product_unit_id | |
15 | - * @property boolean $is_default | |
16 | - * | |
17 | - * @property Category[] $categories | |
18 | - * @property ProductVariant[] $productVariants | |
19 | - * | |
20 | - * * From language behavior * | |
21 | - * @property ProductUnitLang $lang | |
22 | - * @property ProductUnitLang[] $langs | |
23 | - * @property ProductUnitLang $object_lang | |
24 | - * @property string $ownerKey | |
25 | - * @property string $langKey | |
26 | - * @method string getOwnerKey() | |
27 | - * @method void setOwnerKey(string $value) | |
28 | - * @method string getLangKey() | |
29 | - * @method void setLangKey(string $value) | |
30 | - * @method ActiveQuery getLangs() | |
31 | - * @method ActiveQuery getLang( integer $language_id ) | |
32 | - * @method ProductUnitLang[] generateLangs() | |
33 | - * @method void loadLangs(Request $request, ActiveRecord[] $model_langs) | |
34 | - * @method bool linkLangs(ActiveRecord[] $model_langs) | |
35 | - * @method bool saveLangs(ActiveRecord[] $model_langs) | |
36 | - * * End language behavior * | |
37 | - */ | |
38 | -class ProductUnit extends \yii\db\ActiveRecord | |
39 | -{ | |
40 | - /** | |
41 | - * @inheritdoc | |
42 | - */ | |
43 | - public static function tableName() | |
44 | - { | |
45 | - return 'product_unit'; | |
46 | - } | |
47 | 2 | |
48 | - public function behaviors() | |
49 | - { | |
50 | - return [ | |
51 | - 'language' => [ | |
52 | - 'class' => LanguageBehavior::className(), | |
53 | - ], | |
54 | - ]; | |
55 | - } | |
3 | + namespace common\modules\product\models; | |
4 | + | |
5 | + use common\modules\language\behaviors\LanguageBehavior; | |
6 | + use Yii; | |
7 | + use yii\db\ActiveQuery; | |
8 | + use yii\db\ActiveRecord; | |
9 | + use yii\web\Request; | |
56 | 10 | |
57 | 11 | /** |
58 | - * @inheritdoc | |
59 | - */ | |
60 | - public function rules() | |
61 | - { | |
62 | - return [ | |
63 | - [['is_default'], 'boolean'], | |
64 | - ]; | |
65 | - } | |
66 | - | |
67 | - /** | |
68 | - * @inheritdoc | |
69 | - */ | |
70 | - public function attributeLabels() | |
71 | - { | |
72 | - return [ | |
73 | - 'product_unit_id' => Yii::t('product', 'Product Unit ID'), | |
74 | - 'is_default' => Yii::t('product', 'Is Default'), | |
75 | - ]; | |
76 | - } | |
77 | - | |
78 | - /** | |
79 | - * @return \yii\db\ActiveQuery | |
80 | - */ | |
81 | - public function getCategories() | |
82 | - { | |
83 | - return $this->hasMany(Category::className(), ['product_unit_id' => 'product_unit_id']); | |
84 | - } | |
85 | - | |
86 | - /** | |
87 | - * @return \yii\db\ActiveQuery | |
12 | + * This is the model class for table "product_unit". | |
13 | + * @property integer $product_unit_id | |
14 | + * @property boolean $is_default | |
15 | + * @property Category[] $categories | |
16 | + * @property ProductVariant[] $productVariants | |
17 | + * * From language behavior * | |
18 | + * @property ProductUnitLang $lang | |
19 | + * @property ProductUnitLang[] $langs | |
20 | + * @property ProductUnitLang $object_lang | |
21 | + * @property string $ownerKey | |
22 | + * @property string $langKey | |
23 | + * @property ProductUnitLang[] $model_langs | |
24 | + * @property bool $transactionStatus | |
25 | + * @method string getOwnerKey() | |
26 | + * @method void setOwnerKey( string $value ) | |
27 | + * @method string getLangKey() | |
28 | + * @method void setLangKey( string $value ) | |
29 | + * @method ActiveQuery getLangs() | |
30 | + * @method ActiveQuery getLang( integer $language_id ) | |
31 | + * @method ProductUnitLang[] generateLangs() | |
32 | + * @method void loadLangs( Request $request ) | |
33 | + * @method bool linkLangs() | |
34 | + * @method bool saveLangs() | |
35 | + * @method bool getTransactionStatus() | |
36 | + * * End language behavior * | |
88 | 37 | */ |
89 | - public function getProductVariants() | |
38 | + class ProductUnit extends ActiveRecord | |
90 | 39 | { |
91 | - return $this->hasMany(ProductVariant::className(), ['product_unit_id' => 'product_unit_id']); | |
40 | + | |
41 | + /** | |
42 | + * @inheritdoc | |
43 | + */ | |
44 | + public static function tableName() | |
45 | + { | |
46 | + return 'product_unit'; | |
47 | + } | |
48 | + | |
49 | + public function behaviors() | |
50 | + { | |
51 | + return [ | |
52 | + 'language' => [ | |
53 | + 'class' => LanguageBehavior::className(), | |
54 | + ], | |
55 | + ]; | |
56 | + } | |
57 | + | |
58 | + /** | |
59 | + * @inheritdoc | |
60 | + */ | |
61 | + public function rules() | |
62 | + { | |
63 | + return [ | |
64 | + [ | |
65 | + [ 'is_default' ], | |
66 | + 'boolean', | |
67 | + ], | |
68 | + ]; | |
69 | + } | |
70 | + | |
71 | + /** | |
72 | + * @inheritdoc | |
73 | + */ | |
74 | + public function attributeLabels() | |
75 | + { | |
76 | + return [ | |
77 | + 'product_unit_id' => Yii::t('product', 'Product Unit ID'), | |
78 | + 'is_default' => Yii::t('product', 'Is Default'), | |
79 | + ]; | |
80 | + } | |
81 | + | |
82 | + /** | |
83 | + * @return \yii\db\ActiveQuery | |
84 | + */ | |
85 | + public function getCategories() | |
86 | + { | |
87 | + return $this->hasMany(Category::className(), [ 'product_unit_id' => 'product_unit_id' ]); | |
88 | + } | |
89 | + | |
90 | + /** | |
91 | + * @return \yii\db\ActiveQuery | |
92 | + */ | |
93 | + public function getProductVariants() | |
94 | + { | |
95 | + return $this->hasMany(ProductVariant::className(), [ 'product_unit_id' => 'product_unit_id' ]); | |
96 | + } | |
92 | 97 | } |
93 | -} | ... | ... |
common/modules/product/models/ProductVariant.php
... | ... | @@ -13,9 +13,10 @@ |
13 | 13 | |
14 | 14 | /** |
15 | 15 | * This is the model class for table "product_variant". |
16 | + * @todo Refactor | |
16 | 17 | * @property integer $product_variant_id |
17 | 18 | * @property integer $product_id |
18 | - * @property string $remote_id | |
19 | + * @property integer $remote_id | |
19 | 20 | * @property string $sku |
20 | 21 | * @property double $price |
21 | 22 | * @property double $price_old |
... | ... | @@ -32,6 +33,8 @@ |
32 | 33 | * @property ProductVariantLang $object_lang |
33 | 34 | * @property string $ownerKey |
34 | 35 | * @property string $langKey |
36 | + * @property ProductVariantLang[] $model_langs | |
37 | + * @property bool $transactionStatus | |
35 | 38 | * @method string getOwnerKey() |
36 | 39 | * @method void setOwnerKey( string $value ) |
37 | 40 | * @method string getLangKey() |
... | ... | @@ -39,18 +42,21 @@ |
39 | 42 | * @method ActiveQuery getLangs() |
40 | 43 | * @method ActiveQuery getLang( integer $language_id ) |
41 | 44 | * @method ProductVariantLang[] generateLangs() |
42 | - * @method void loadLangs( Request $request, ActiveRecord[] $model_langs ) | |
43 | - * @method bool linkLangs( ActiveRecord[] $model_langs ) | |
44 | - * @method bool saveLangs( ActiveRecord[] $model_langs ) | |
45 | + * @method void loadLangs( Request $request ) | |
46 | + * @method bool linkLangs() | |
47 | + * @method bool saveLangs() | |
48 | + * @method bool getTransactionStatus() | |
45 | 49 | * * End language behavior * |
46 | 50 | */ |
47 | - class ProductVariant extends \yii\db\ActiveRecord | |
51 | + class ProductVariant extends ActiveRecord | |
48 | 52 | { |
49 | 53 | |
50 | 54 | public $sum_cost; |
51 | 55 | |
52 | 56 | public $product_name; |
53 | 57 | |
58 | + private $_options; | |
59 | + | |
54 | 60 | /** @var array $_images */ |
55 | 61 | public $imagesUpload = ''; |
56 | 62 | |
... | ... | @@ -107,11 +113,6 @@ |
107 | 113 | 'max' => 255, |
108 | 114 | ], |
109 | 115 | [ |
110 | - [ 'remote_id' ], | |
111 | - 'string', | |
112 | - 'max' => 20, | |
113 | - ], | |
114 | - [ | |
115 | 116 | [ |
116 | 117 | 'options', |
117 | 118 | 'imagesUpload', |
... | ... | @@ -269,7 +270,7 @@ |
269 | 270 | |
270 | 271 | public function setOptions($values) |
271 | 272 | { |
272 | - $this->options = $values; | |
273 | + $this->_options = $values; | |
273 | 274 | } |
274 | 275 | |
275 | 276 | public function getOptions() |
... | ... | @@ -333,29 +334,32 @@ |
333 | 334 | ->where([ 'tax_group_to_category.category_id' => $categories ]) |
334 | 335 | ->where([ 'level' => $level ]); |
335 | 336 | } |
336 | - | |
337 | + | |
337 | 338 | public function afterSave($insert, $changedAttributes) |
338 | 339 | { |
339 | - | |
340 | - if(!empty($this->_options)){ | |
340 | + parent::afterSave($insert, $changedAttributes); | |
341 | + if(!empty( $this->_options )) { | |
341 | 342 | $options = TaxOption::findAll($this->_options); |
342 | - $this->unlinkAll('options',true); | |
343 | - foreach($options as $option){ | |
343 | + $this->unlinkAll('options', true); | |
344 | + foreach($options as $option) { | |
344 | 345 | $this->link('options', $option); |
345 | 346 | } |
346 | 347 | } |
347 | - | |
348 | - | |
349 | - if (!empty($this->stocks)) { | |
350 | - ProductStock::deleteAll(['product_variant_id' => $this->product_variant_id]); | |
348 | + | |
349 | + if(!empty( $this->stocks )) { | |
350 | + ProductStock::deleteAll([ 'product_variant_id' => $this->product_variant_id ]); | |
351 | 351 | $values = []; |
352 | - foreach ($this->stocks as $id => $quantity) { | |
353 | - $productStock = ProductStock::find()->where(['product_variant_id' => $this->product_variant_id, 'stock_id' => $id])->one(); | |
352 | + foreach($this->stocks as $id => $quantity) { | |
353 | + $productStock = ProductStock::find() | |
354 | + ->where([ | |
355 | + 'product_variant_id' => $this->product_variant_id, | |
356 | + 'stock_id' => $id, | |
357 | + ]) | |
358 | + ->one(); | |
354 | 359 | $productStock->quantity = $quantity; |
355 | 360 | $productStock->save(); |
356 | 361 | } |
357 | 362 | } |
358 | - parent::afterSave($insert, $changedAttributes); | |
359 | 363 | } |
360 | 364 | |
361 | 365 | public function imagesUpload() | ... | ... |
common/modules/product/models/ProductVariantListSearch.php
... | ... | @@ -34,7 +34,6 @@ |
34 | 34 | [ |
35 | 35 | [ |
36 | 36 | 'sku', |
37 | - 'remote_id', | |
38 | 37 | ], |
39 | 38 | 'safe', |
40 | 39 | ], |
... | ... | @@ -102,12 +101,7 @@ |
102 | 101 | 'like', |
103 | 102 | 'sku', |
104 | 103 | $this->sku, |
105 | - ]) | |
106 | - ->andFilterWhere([ | |
107 | - 'like', | |
108 | - 'remote_id', | |
109 | - $this->remote_id, | |
110 | - ]); | |
104 | + ]); | |
111 | 105 | |
112 | 106 | return $dataProvider; |
113 | 107 | } | ... | ... |
common/modules/product/models/ProductVariantSearch.php
... | ... | @@ -138,14 +138,4 @@ class ProductVariantSearch extends ProductVariant |
138 | 138 | } |
139 | 139 | return NULL; |
140 | 140 | } |
141 | - | |
142 | - public static function findByRemoteID($id) { | |
143 | - /** @var CategoryQuery $query */ | |
144 | - $query = ProductVariant::find() | |
145 | - ->andFilterWhere(['remote_id' => $id]); | |
146 | - if (($model = $query->one()) !== null) { | |
147 | - return $model; | |
148 | - } | |
149 | - return NULL; | |
150 | - } | |
151 | 141 | } | ... | ... |
common/modules/product/views/manage/_form.php
... | ... | @@ -4,6 +4,7 @@ |
4 | 4 | use common\models\ProductSpecLang; |
5 | 5 | use common\modules\language\widgets\LanguageForm; |
6 | 6 | use common\modules\product\models\ProductLang; |
7 | + use common\modules\rubrication\models\TaxGroup; | |
7 | 8 | use yii\db\ActiveQuery; |
8 | 9 | use yii\helpers\Html; |
9 | 10 | use yii\widgets\ActiveForm; |
... | ... | @@ -41,13 +42,14 @@ |
41 | 42 | |
42 | 43 | <?= $form->field($model, 'brand_id') |
43 | 44 | ->dropDownList(ArrayHelper::map(ProductHelper::getBrands() |
44 | - ->all(), 'brand_id', 'brand_id'), [ | |
45 | + ->with('lang') | |
46 | + ->all(), 'brand_id', 'lang.name'), [ | |
45 | 47 | 'prompt' => Yii::t('product', 'Select brand'), |
46 | 48 | ]) ?> |
47 | 49 | |
48 | 50 | <?= $form->field($model, 'categories') |
49 | 51 | ->widget(Select2::className(), [ |
50 | - 'data' => ArtboxTreeHelper::treeMap(ProductHelper::getCategories(), 'category_id', 'category_id'), | |
52 | + 'data' => ArtboxTreeHelper::treeMap(ProductHelper::getCategories(), 'category_id', 'lang.name'), | |
51 | 53 | 'language' => 'ru', |
52 | 54 | 'options' => [ |
53 | 55 | 'placeholder' => Yii::t('product', 'Select categories'), |
... | ... | @@ -110,16 +112,20 @@ |
110 | 112 | ], |
111 | 113 | ]); ?> |
112 | 114 | |
113 | - <?php if(isset( $groups )) : ?> | |
114 | - <?php foreach($groups->all() as $group) : ?> | |
115 | - <?= $form->field($model, 'options') | |
116 | - ->checkboxList(ArrayHelper::map($group->options, 'tax_option_id', 'tax_option_id'), [ | |
115 | + <?php if(!empty( $groups )) { | |
116 | + foreach($groups->with('lang')->all() as $group) { | |
117 | + /** | |
118 | + * @var TaxGroup $group | |
119 | + */ | |
120 | + echo $form->field($model, 'options') | |
121 | + ->checkboxList(ArrayHelper::map($group->getOptions()->with('lang')->all(), 'tax_option_id', 'lang.value'), [ | |
117 | 122 | 'multiple' => true, |
118 | 123 | 'unselect' => NULL, |
119 | 124 | ]) |
120 | - ->label($group->tax_group_id); ?> | |
121 | - <?php endforeach ?> | |
122 | - <?php endif ?> | |
125 | + ->label($group->lang->name); | |
126 | + } | |
127 | + } | |
128 | + ?> | |
123 | 129 | |
124 | 130 | <hr> |
125 | 131 | ... | ... |
common/modules/product/views/variant/_form.php
... | ... | @@ -2,6 +2,7 @@ |
2 | 2 | |
3 | 3 | use common\modules\language\widgets\LanguageForm; |
4 | 4 | use common\modules\product\models\ProductStock; |
5 | + use common\modules\product\models\ProductUnit; | |
5 | 6 | use common\modules\product\models\ProductVariant; |
6 | 7 | use common\modules\product\models\ProductVariantLang; |
7 | 8 | use yii\db\ActiveQuery; |
... | ... | @@ -145,22 +146,26 @@ $(".dynamicform_wrapper").on("limitReached", function(e, item) { |
145 | 146 | <?php DynamicFormWidget::end(); ?> |
146 | 147 | |
147 | 148 | <?= $form->field($model, 'product_unit_id') |
148 | - ->dropDownList(ArrayHelper::map(\common\modules\product\models\ProductUnit::find() | |
149 | - ->all(), 'product_unit_id', 'product_unit_id'), [ | |
149 | + ->dropDownList(ArrayHelper::map(ProductUnit::find() | |
150 | + ->with('lang') | |
151 | + ->all(), 'product_unit_id', 'lang.name'), [ | |
150 | 152 | 'prompt' => Yii::t('product', 'Unit'), |
151 | 153 | ]) |
152 | 154 | ->label(Yii::t('product', 'Unit')) ?> |
153 | 155 | |
154 | - <?php if(isset( $groups )) : ?> | |
155 | - <?php foreach($groups->all() as $group) : ?> | |
156 | - <?= $form->field($model, 'options') | |
157 | - ->checkboxList(ArrayHelper::map($group->options, 'tax_option_id', 'tax_option_id'), [ | |
158 | - 'multiple' => true, | |
159 | - 'unselect' => NULL, | |
160 | - ]) | |
161 | - ->label($group->tax_group_id); ?> | |
162 | - <?php endforeach ?> | |
163 | - <?php endif ?> | |
156 | + <?php if(!empty( $groups )) { | |
157 | + foreach($groups->with('lang') | |
158 | + ->all() as $group) { | |
159 | + echo $form->field($model, 'options') | |
160 | + ->checkboxList(ArrayHelper::map($group->getOptions() | |
161 | + ->with('lang') | |
162 | + ->all(), 'tax_option_id', 'lang.value'), [ | |
163 | + 'multiple' => true, | |
164 | + 'unselect' => NULL, | |
165 | + ]) | |
166 | + ->label($group->lang->name); | |
167 | + } | |
168 | + } ?> | |
164 | 169 | |
165 | 170 | <div class="form-group"> |
166 | 171 | <?= Html::submitButton($model->isNewRecord ? Yii::t('product', 'Create') : Yii::t('product', 'Update'), [ 'class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary' ]) ?> | ... | ... |
common/modules/rubrication/controllers/TaxGroupController.php
... | ... | @@ -76,12 +76,11 @@ |
76 | 76 | public function actionCreate($level) |
77 | 77 | { |
78 | 78 | $model = new TaxGroup(); |
79 | - $model_langs = $model->generateLangs(); | |
80 | - | |
79 | + $model->generateLangs(); | |
81 | 80 | if($model->load(Yii::$app->request->post()) && $model->validate()) { |
82 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
81 | + $model->loadLangs(\Yii::$app->request); | |
83 | 82 | $model->level = $level; |
84 | - if($model->save() && $model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
83 | + if($model->save() && $model->transactionStatus) { | |
85 | 84 | return $this->redirect([ |
86 | 85 | 'index', |
87 | 86 | 'level' => $level, |
... | ... | @@ -90,7 +89,7 @@ |
90 | 89 | } |
91 | 90 | return $this->render('create', [ |
92 | 91 | 'model' => $model, |
93 | - 'model_langs' => $model_langs, | |
92 | + 'model_langs' => $model->model_langs, | |
94 | 93 | ]); |
95 | 94 | } |
96 | 95 | |
... | ... | @@ -106,11 +105,10 @@ |
106 | 105 | public function actionUpdate($level, $id) |
107 | 106 | { |
108 | 107 | $model = $this->findModel($id); |
109 | - $model_langs = $model->generateLangs(); | |
110 | - | |
108 | + $model->generateLangs(); | |
111 | 109 | if($model->load(Yii::$app->request->post())) { |
112 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
113 | - if($model->save() && $model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
110 | + $model->loadLangs(\Yii::$app->request); | |
111 | + if($model->save() && $model->transactionStatus) { | |
114 | 112 | return $this->redirect([ |
115 | 113 | 'index', |
116 | 114 | 'level' => $level, |
... | ... | @@ -119,7 +117,7 @@ |
119 | 117 | } |
120 | 118 | return $this->render('update', [ |
121 | 119 | 'model' => $model, |
122 | - 'model_langs' => $model_langs, | |
120 | + 'model_langs' => $model->model_langs, | |
123 | 121 | ]); |
124 | 122 | } |
125 | 123 | |
... | ... | @@ -149,7 +147,6 @@ |
149 | 147 | { |
150 | 148 | TaxOption::find() |
151 | 149 | ->rebuildMP($id); |
152 | - | |
153 | 150 | return $this->redirect([ 'index' ]); |
154 | 151 | } |
155 | 152 | ... | ... |
common/modules/rubrication/controllers/TaxOptionController.php
... | ... | @@ -74,24 +74,16 @@ |
74 | 74 | public function actionCreate() |
75 | 75 | { |
76 | 76 | $model = new TaxOption(); |
77 | - $model_langs = $model->generateLangs(); | |
77 | + $model->generateLangs(); | |
78 | 78 | $group = TaxGroup::findOne(Yii::$app->request->queryParams[ 'group' ]); |
79 | - | |
80 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
81 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
82 | - | |
83 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
79 | + if($model->load(Yii::$app->request->post())) { | |
80 | + $model->loadLangs(\Yii::$app->request); | |
81 | + if($model->save() && $model->transactionStatus) { | |
84 | 82 | return is_null(Yii::$app->request->post('create_and_new')) ? $this->redirect([ |
85 | 83 | 'view', |
86 | 84 | 'id' => $model->tax_option_id, |
87 | 85 | ]) : $this->redirect(array_merge([ 'create' ], Yii::$app->request->queryParams)); |
88 | - } else { | |
89 | - return $this->redirect([ | |
90 | - 'update', | |
91 | - 'id' => $model->tax_option_id, | |
92 | - ]); | |
93 | 86 | } |
94 | - | |
95 | 87 | } |
96 | 88 | $model->tax_group_id = $group->tax_group_id; |
97 | 89 | if(!empty( Yii::$app->request->queryParams[ 'parent' ] )) { |
... | ... | @@ -99,7 +91,7 @@ |
99 | 91 | } |
100 | 92 | return $this->render('create', [ |
101 | 93 | 'model' => $model, |
102 | - 'model_langs' => $model_langs, | |
94 | + 'model_langs' => $model->model_langs, | |
103 | 95 | 'group' => $group, |
104 | 96 | ]); |
105 | 97 | } |
... | ... | @@ -115,15 +107,13 @@ |
115 | 107 | public function actionUpdate($id) |
116 | 108 | { |
117 | 109 | $model = $this->findModel($id); |
118 | - $model_langs = $model->generateLangs(); | |
110 | + $model->generateLangs(); | |
119 | 111 | $group = TaxGroup::findOne($model->tax_group_id); |
120 | - | |
121 | - if($model->load(Yii::$app->request->post()) && $model->save()) { | |
122 | - $model->loadLangs(\Yii::$app->request, $model_langs); | |
123 | - | |
112 | + if($model->load(Yii::$app->request->post())) { | |
113 | + $model->loadLangs(\Yii::$app->request); | |
124 | 114 | TaxOption::find() |
125 | 115 | ->rebuildMP($model->tax_group_id); |
126 | - if($model->linkLangs($model_langs) && $model->saveLangs($model_langs)) { | |
116 | + if($model->save() && $model->transactionStatus) { | |
127 | 117 | return $this->redirect([ |
128 | 118 | 'view', |
129 | 119 | 'id' => $model->tax_option_id, |
... | ... | @@ -132,7 +122,7 @@ |
132 | 122 | } |
133 | 123 | return $this->render('update', [ |
134 | 124 | 'model' => $model, |
135 | - 'model_langs' => $model_langs, | |
125 | + 'model_langs' => $model->model_langs, | |
136 | 126 | 'group' => $group, |
137 | 127 | ]); |
138 | 128 | } | ... | ... |
common/modules/rubrication/models/TaxGroup.php
... | ... | @@ -26,6 +26,8 @@ |
26 | 26 | * @property TaxGroupLang $object_lang |
27 | 27 | * @property string $ownerKey |
28 | 28 | * @property string $langKey |
29 | + * @property TaxGroupLang[] $model_langs | |
30 | + * @property bool $transactionStatus | |
29 | 31 | * @method string getOwnerKey() |
30 | 32 | * @method void setOwnerKey( string $value ) |
31 | 33 | * @method string getLangKey() |
... | ... | @@ -33,12 +35,13 @@ |
33 | 35 | * @method ActiveQuery getLangs() |
34 | 36 | * @method ActiveQuery getLang( integer $language_id ) |
35 | 37 | * @method TaxGroupLang[] generateLangs() |
36 | - * @method void loadLangs( Request $request, ActiveRecord[] $model_langs ) | |
37 | - * @method bool linkLangs( ActiveRecord[] $model_langs ) | |
38 | - * @method bool saveLangs( ActiveRecord[] $model_langs ) | |
38 | + * @method void loadLangs( Request $request ) | |
39 | + * @method bool linkLangs() | |
40 | + * @method bool saveLangs() | |
41 | + * @method bool getTransactionStatus() | |
39 | 42 | * * End language behavior * |
40 | 43 | */ |
41 | - class TaxGroup extends \yii\db\ActiveRecord | |
44 | + class TaxGroup extends ActiveRecord | |
42 | 45 | { |
43 | 46 | |
44 | 47 | /** |
... | ... | @@ -146,12 +149,14 @@ |
146 | 149 | ->inverseOf('taxGroup'); |
147 | 150 | } |
148 | 151 | |
149 | - public function getAlias() { | |
152 | + public function getAlias() | |
153 | + { | |
150 | 154 | $default_lang = Language::getDefaultLanguage(); |
151 | 155 | /** |
152 | 156 | * @var TaxGroupLang $lang |
153 | 157 | */ |
154 | - $lang = $this->getLang($default_lang->language_id)->one(); | |
158 | + $lang = $this->getLang($default_lang->language_id) | |
159 | + ->one(); | |
155 | 160 | return $lang->alias; |
156 | 161 | } |
157 | 162 | } | ... | ... |
common/modules/rubrication/models/TaxOption.php
... | ... | @@ -31,6 +31,8 @@ |
31 | 31 | * @property TaxOptionLang $object_lang |
32 | 32 | * @property string $ownerKey |
33 | 33 | * @property string $langKey |
34 | + * @property TaxOptionLang[] $model_langs | |
35 | + * @property bool $transactionStatus | |
34 | 36 | * @method string getOwnerKey() |
35 | 37 | * @method void setOwnerKey( string $value ) |
36 | 38 | * @method string getLangKey() |
... | ... | @@ -38,12 +40,13 @@ |
38 | 40 | * @method ActiveQuery getLangs() |
39 | 41 | * @method ActiveQuery getLang( integer $language_id ) |
40 | 42 | * @method TaxOptionLang[] generateLangs() |
41 | - * @method void loadLangs( Request $request, ActiveRecord[] $model_langs ) | |
42 | - * @method bool linkLangs( ActiveRecord[] $model_langs ) | |
43 | - * @method bool saveLangs( ActiveRecord[] $model_langs ) | |
43 | + * @method void loadLangs( Request $request ) | |
44 | + * @method bool linkLangs() | |
45 | + * @method bool saveLangs() | |
46 | + * @method bool getTransactionStatus() | |
44 | 47 | * * End language behavior * |
45 | 48 | */ |
46 | - class TaxOption extends \yii\db\ActiveRecord | |
49 | + class TaxOption extends ActiveRecord | |
47 | 50 | { |
48 | 51 | |
49 | 52 | public $_items_count; | ... | ... |
common/modules/rubrication/views/tax-group/_form.php
... | ... | @@ -22,7 +22,7 @@ |
22 | 22 | <?php $form = ActiveForm::begin([ 'options' => [ 'enctype' => 'multipart/form-data' ] ]); ?> |
23 | 23 | |
24 | 24 | <?= $form->field($model, 'categories') |
25 | - ->dropDownList(ArtboxTreeHelper::treeMap(ProductHelper::getCategories(), 'category_id', 'category_id'), [ | |
25 | + ->dropDownList(ArtboxTreeHelper::treeMap(ProductHelper::getCategories(), 'category_id', 'lang.name'), [ | |
26 | 26 | 'multiple' => true, |
27 | 27 | ]) |
28 | 28 | ->label('Use in the following categories') ?> | ... | ... |