コード例 #1
0
ファイル: index.php プロジェクト: artkost/yii2-starter-kit
<?php

/**
 * Roles list view.
 *
 * @var \yii\base\View $this View
 * @var \yii\data\ArrayDataProvider $provider Data provider
 */
use app\modules\rbac\Module;
use yii\grid\ActionColumn;
use yii\grid\CheckboxColumn;
use yii\helpers\Html;
$this->title = Module::t('rbac', 'BACKEND_ROLES_INDEX_TITLE');
$this->params['subtitle'] = Module::t('rbac', 'BACKEND_ROLES_INDEX_SUBTITLE');
$this->params['breadcrumbs'] = [$this->title];
$gridId = 'roles-grid';
$gridConfig = ['id' => $gridId, 'dataProvider' => $provider, 'columns' => [['class' => CheckboxColumn::classname()], 'item_name', ['attribute' => 'user', 'format' => 'html', 'value' => function ($model) {
    if ($model->user) {
        return Html::a("{$model->user->username} ({$model->user->email})", ['/user/default/view', 'id' => $model->user->id]);
    } else {
        return '';
    }
}], 'created_at:date']];
$boxButtons = $actions = [];
$showActions = false;
if (Yii::$app->user->can('adminAssignmentCreate')) {
    $boxButtons[] = '{create}';
}
if (Yii::$app->user->can('adminAssignmentUpdate')) {
    $actions[] = '{update}';
    $showActions = $showActions || true;
コード例 #2
0
 /**
  * Find Assignment by name.
  *
  * @param string $name Assignment name
  *
  * @return RbacAssignment
  *
  * @throws HttpException 404 error if role not found
  */
 protected function findAssignment($name)
 {
     if ($model = RbacAssignment::find()->where(['item_name' => $name])->one() !== null) {
         return $model;
     } else {
         throw new HttpException(404, Module::t('rbac', 'BACKEND_ROLES_NOT_FOUND'));
     }
 }
コード例 #3
0
ファイル: rules.php プロジェクト: artkost/yii2-starter-kit
<?php

use app\modules\rbac\Module;
use app\modules\rbac\rules\UserSuperAdminRule;
return ['permissions' => ['adminAssignmentView' => Module::t('rules', 'View Assignment'), 'adminAssignmentCreate' => Module::t('rules', 'Create Assignment'), 'adminAssignmentUpdate' => Module::t('rules', 'Update Assignment'), 'adminAssignmentDelete' => Module::t('rules', 'Delete Assignment')], 'roles' => ['superAdmin' => Module::t('rules', 'Super Administrator'), 'guest' => Module::t('rules', 'Guest'), 'adminAssignmentReader' => Module::t('rules', 'Read Assignments'), 'adminAssignmentManager' => Module::t('rules', 'Manage Assignments')], 'assignments' => ['adminAssignmentReader' => ['adminAssignmentView'], 'adminAssignmentManager' => ['adminAssignmentReader', 'adminAssignmentCreate', 'adminAssignmentUpdate', 'adminAssignmentDelete']], 'rules' => ['superAdmin' => new UserSuperAdminRule(['role' => 'superAdmin'])]];
コード例 #4
0
ファイル: config.php プロジェクト: artkost/yii2-starter-kit
<?php

use app\models\ModuleDefinition;
use app\modules\rbac\Module;
return ['id' => 'rbac', 'class' => Module::className(), 'config' => [], 'name' => 'Access Rights', 'package' => ModuleDefinition::PACKAGE_CORE, 'category' => Module::TRANSLATE_CATEGORY, 'required' => true, 'menu' => ['rbac.index' => ['title' => 'Access Rights', 'icon' => 'fa-group'], 'rbac.permissions' => ['title' => 'Permissions', 'route' => ['/rbac/permissions/index'], 'parent' => 'rbac.index'], 'rbac.roles' => ['title' => 'Roles', 'route' => ['/rbac/roles/index'], 'parent' => 'rbac.index']]];