Skip to content

Commit

Permalink
dev
Browse files Browse the repository at this point in the history
  • Loading branch information
skeeks-semenov committed May 4, 2018
1 parent 9963707 commit 76eb4e7
Show file tree
Hide file tree
Showing 2 changed files with 103 additions and 0 deletions.
85 changes: 85 additions & 0 deletions src/controllers/AdminCmsSiteTwoController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
<?php
/**
* @author Semenov Alexander <semenov@skeeks.com>
* @link http://skeeks.com/
* @copyright 2010 SkeekS (СкикС)
* @date 31.05.2015
*/

namespace skeeks\cms\controllers;

use skeeks\cms\backend\controllers\BackendModelStandartController;
use skeeks\cms\components\Cms;
use skeeks\cms\models\CmsSite;
use skeeks\cms\modules\admin\actions\modelEditor\AdminMultiModelEditAction;
use skeeks\cms\modules\admin\traits\AdminModelEditorStandartControllerTrait;
use yii\helpers\ArrayHelper;

/**
* Class AdminCmsSiteController
* @package skeeks\cms\controllers
*/
class AdminCmsSiteTwoController extends BackendModelStandartController
{
use AdminModelEditorStandartControllerTrait;

public function init()
{
$this->name = \Yii::t('skeeks/cms', "Site management");
$this->modelShowAttribute = "name";
$this->modelClassName = CmsSite::class;

parent::init();
}

/**
* @inheritdoc
*/
public function actions()
{
return ArrayHelper::merge(parent::actions(),
[
"def-multi" =>
[
'class' => AdminMultiModelEditAction::className(),
"name" => "По умолчанию",
//"icon" => "glyphicon glyphicon-trash",
"eachCallback" => [$this, 'eachMultiDef'],
"priority" => 0,
],

"activate-multi" =>
[
'class' => AdminMultiModelEditAction::className(),
"name" => "Активировать",
//"icon" => "glyphicon glyphicon-trash",
"eachCallback" => [$this, 'eachMultiActivate'],
],

"inActivate-multi" =>
[
'class' => AdminMultiModelEditAction::className(),
"name" => "Деактивировать",
//"icon" => "glyphicon glyphicon-trash",
"eachCallback" => [$this, 'eachMultiInActivate'],
],
]
);
}

/**
* @param $model
* @param $action
* @return bool
*/
public function eachMultiDef($model, $action)
{
try {
$model->def = Cms::BOOL_Y;
return $model->save(false);
} catch (\Exception $e) {
return false;
}
}

}
18 changes: 18 additions & 0 deletions src/widgets/GridView.php
Original file line number Diff line number Diff line change
Expand Up @@ -359,13 +359,31 @@ protected function _preInitColumns()
}
}

$columnsTmp = (array)$columns;
$columns = ArrayHelper::merge((array)$autoColumns, (array)$columns);

foreach ($columns as $key => $config) {
$config['visible'] = true;
$columns[$key] = $config;
}

$resultColumns = [];

if ($columnsTmp) {
foreach ($columnsTmp as $key => $column)
{
if (isset($columns[$key])) {
$resultColumns[$key] = $columns[$key];
unset($columns[$key]);
}
}
}

if ($resultColumns) {
$resultColumns = ArrayHelper::merge((array) $resultColumns, (array) $columns);
$columns = $resultColumns;
}

$this->_preInitColumns = $columns;
$this->columns = $this->_preInitColumns;

Expand Down

0 comments on commit 76eb4e7

Please sign in to comment.