Blame view

backend/modules/location/controllers/RegionController.php 1.63 KB
d1f8bd40   Alexey Boroda   first commit
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
  <?php
  
  namespace backend\modules\location\controllers;
  
  use yii\helpers\ArrayHelper;
  //
  use thread\actions\EditableAttributeSave;
  use thread\actions\fileapi\{
      DeleteAction, UploadAction
  };
  use thread\app\base\controllers\BackendController;
  //
  use backend\modules\location\models\{
      Region as MainModel, search\Region as SearchModel
  };
  use common\modules\location\models\RegionLang as MainModelLang;
  
  /**
   * Class RegionController
   * @package backend\modules\location\controllers
   * @author Alla Kuzmenko
   * @copyright (c), Thread
   */
  class RegionController extends BackendController
  {
      public $model = MainModel::class;
      public $modelLang = MainModelLang::class;
      public $filterModel = SearchModel::class;
      public $name = 'region';
      public $title = 'region';
  
      /**
       * Actions
       *
       * @return array
       */
      public function actions()
      {
          $link = function () {
              return Url::to(
                  [
                      'list',
                      'group_id' => ($this->group !== null) ? $this->group->id : 0,
                      'parent_id' => ($this->parent !== null) ? $this->parent->id : 0
                  ]
              );
          };
  
          return ArrayHelper::merge(
              parent::actions(),
              [
                  'attribute-save-position' => [
                      'class' => EditableAttributeSave::class,
                      'modelClass' => $this->model,
                      'attribute' => 'position',
                      'returnValue' => function ($model) {
                          return $model['position'] ?? 0;
                      }
                  ]
              ]
          );
      }
  
  }