ArticleController.php
2.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
namespace backend\modules\calendar\controllers;
use Yii;
use yii\helpers\ArrayHelper;
//
use thread\actions\{
EditableAttributeSave, EditableAttributeSaveLang
};
use thread\actions\fileapi\UploadAction;
use thread\app\base\controllers\BackendController;
//
use backend\modules\calendar\models\{
Article, ArticleLang, search\Article as filterArticleModel
};
/**
* Class ArticleController
*
* @package backend\modules\calendar\controllers
* @author FilamentV <vortex.filament@gmail.com>
* @copyright (c), Thread
*/
class ArticleController extends BackendController
{
public $model = Article::class;
public $modelLang = ArticleLang::class;
public $filterModel = filterArticleModel::class;
public $title = 'Article';
public $name = 'article';
/**
* @return array
*/
public function actions()
{
return ArrayHelper::merge(
parent::actions(),
[
'create' => [
'afterSaveCallback' => function ($m) {
return true;
}
],
'update' => [
'afterSaveCallback' => function ($m) {
return true;
}
],
'fileupload' => [
'class' => UploadAction::class,
'unique' => true,
'fileNameSave' => function ($m) {
$model_id = Yii::$app->getRequest()->get('model_id');
$model = Article::getById($model_id);
$m->model = $model;
return ($m->model === null) ? '' : $m->model->alias . '_' . uniqid();
}
],
'attribute-save' => [
'class' => EditableAttributeSaveLang::class,
'modelClass' => $this->modelLang,
'attribute' => 'title',
],
'attribute-save-group' => [
'class' => EditableAttributeSave::class,
'modelClass' => $this->model,
'attribute' => 'group_id',
'returnValue' => function ($model) {
return $model['group']['lang']['title'] ?? '---';
}
]
]
);
}
}