public function run() { if (BackendAccessControl::checkPermissionAccess(AdminLogController::BACKEND_PERMISSION)) { $logs = AdminLog::find()->joinWith('user')->orderBy(['id' => SORT_DESC])->limit($this->limit)->all(); $logsFull = []; if ($logs) { $prevIcon = ''; foreach ($logs as $log) { $logFull['additional_icon'] = RadiataHelper::getActionAdditionalIconClass($log['action']); $logFull['action'] = RadiataHelper::getActionName($log['action']); if ($log['user_id'] > 0) { $logFull['user'] = $log['user']->getFullName(); } if ($prevIcon != $log['icon']) { $logFull['icon'] = $log['icon']; $prevIcon = $log['icon']; } else { $logFull['icon'] = ''; } $logFull['data'] = $log['data']; $logFull['created_at'] = $log['created_at']; $logFull['user_id'] = $log['user_id']; $logsFull[] = $logFull; } } if (count($logsFull) > 0) { return $this->render('AdminLog', ['logs' => $logsFull]); } } }
public static function getActions() { $actionsData = AdminLog::find()->select('action')->distinct()->column(); if (count($actionsData) > 0) { $actions = []; foreach ($actionsData as $action) { $actions[$action] = RadiataHelper::getActionName($action); } return $actions; } else { return []; } }
use yii\grid\GridView; use yii\helpers\Html; /* @var $this yii\web\View */ /* @var $searchModel backend\modules\radiata\models\AdminLogSearch */ /* @var $dataProvider yii\data\ActiveDataProvider */ $this->title = Yii::t('b/radiata/admin-log', 'Admin Log'); $this->params['breadcrumbs'][] = '<i class="fa fa-history"></i> ' . $this->title; ?> <div class="admin-log-index"> <h1><?php echo Html::encode($this->title); ?> </h1> <?php echo $this->render('_search', ['model' => $searchModel]); ?> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'columns' => [['label' => '', 'format' => 'raw', 'value' => function ($model) { return Html::tag('i', '', ['class' => 'grid-icon fa ' . $model->icon]); }], ['label' => Yii::t('b/radiata/admin-log', 'User ID'), 'attribute' => 'user_id', 'format' => 'raw', 'value' => function ($model) { return $model->user_id > 0 ? $model->user->getFullName() : ''; }], ['label' => Yii::t('b/radiata/admin-log', 'Action'), 'format' => 'raw', 'value' => function ($model) { return Html::tag('i', '', ['class' => 'fa ' . RadiataHelper::getActionAdditionalIconClass($model->action)]) . ' ' . RadiataHelper::getActionName($model->action); }], 'data:ntext', 'created_at:datetime']]); ?> </div>