RegionController.php 1.63 KB
<?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;
                    }
                ]
            ]
        );
    }

}