Commit 5707ae7a9f75282dcc87067d6d362e1d9b2b2358
1 parent
19265dc6
tiles admin controller
Showing
2 changed files
with
61 additions
and
2 deletions
Show diff stats
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace backend\controllers; | ||
| 4 | + | ||
| 5 | +use common\models\Tile; | ||
| 6 | +use yii\web\Controller; | ||
| 7 | +use yii\web\NotFoundHttpException; | ||
| 8 | + | ||
| 9 | +class TileController extends Controller | ||
| 10 | +{ | ||
| 11 | + /** | ||
| 12 | + * Creates a new Tile model. | ||
| 13 | + * If creation is successful, the browser will be redirected to the 'view' page. | ||
| 14 | + * @return mixed | ||
| 15 | + */ | ||
| 16 | + public function actionCreate() | ||
| 17 | + { | ||
| 18 | + $model = new Tile(); | ||
| 19 | + $model->generateLangs(); | ||
| 20 | + | ||
| 21 | + if ($model->loadWithLangs(\Yii::$app->request)) { | ||
| 22 | + if ($model->saveWithLangs()) { | ||
| 23 | + return $this->redirect( | ||
| 24 | + [ | ||
| 25 | + 'view', | ||
| 26 | + 'id' => $model->id, | ||
| 27 | + ] | ||
| 28 | + ); | ||
| 29 | + } | ||
| 30 | + } | ||
| 31 | + return $this->render( | ||
| 32 | + 'create', | ||
| 33 | + [ | ||
| 34 | + 'model' => $model, | ||
| 35 | + 'modelLangs' => $model->modelLangs, | ||
| 36 | + ] | ||
| 37 | + ); | ||
| 38 | + } | ||
| 39 | + public function actionView($id): string | ||
| 40 | + { | ||
| 41 | + return $this->render('view', [ | ||
| 42 | + 'model' => $this->findModel($id), | ||
| 43 | + ]); | ||
| 44 | + } | ||
| 45 | + public function actionDelete($id) | ||
| 46 | + { | ||
| 47 | + $this->findModel($id)->delete(); | ||
| 48 | + | ||
| 49 | + return $this->redirect(['index']); | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + protected function findModel($id): Tile | ||
| 53 | + { | ||
| 54 | + if (($model = Tile::findOne($id)) !== null) { | ||
| 55 | + return $model; | ||
| 56 | + } else { | ||
| 57 | + throw new NotFoundHttpException('The requested page does not exist.'); | ||
| 58 | + } | ||
| 59 | + } | ||
| 60 | +} | ||
| 0 | \ No newline at end of file | 61 | \ No newline at end of file |
common/models/TileLang.php
| @@ -4,7 +4,6 @@ namespace common\models; | @@ -4,7 +4,6 @@ namespace common\models; | ||
| 4 | 4 | ||
| 5 | use artbox\core\models\Image; | 5 | use artbox\core\models\Image; |
| 6 | use artbox\core\models\Language; | 6 | use artbox\core\models\Language; |
| 7 | -use artbox\core\models\Slide; | ||
| 8 | use yii\db\ActiveRecord; | 7 | use yii\db\ActiveRecord; |
| 9 | 8 | ||
| 10 | class TileLang extends ActiveRecord | 9 | class TileLang extends ActiveRecord |
| @@ -55,7 +54,7 @@ class TileLang extends ActiveRecord | @@ -55,7 +54,7 @@ class TileLang extends ActiveRecord | ||
| 55 | 'targetAttribute' => [ 'language_id' => 'id' ], | 54 | 'targetAttribute' => [ 'language_id' => 'id' ], |
| 56 | ], | 55 | ], |
| 57 | [ | 56 | [ |
| 58 | - [ 'slide_id' ], | 57 | + [ 'tile_id' ], |
| 59 | 'exist', | 58 | 'exist', |
| 60 | 'skipOnError' => true, | 59 | 'skipOnError' => true, |
| 61 | 'targetClass' => Tile::className(), | 60 | 'targetClass' => Tile::className(), |