예제 #1
0
 public function behaviors()
 {
     return ['access' => ['class' => \yii\filters\AccessControl::className(), 'only' => ['index', 'view', 'create', 'update', 'delete'], 'rules' => [['actions' => ['index', 'view'], 'allow' => true, 'roles' => ['@'], 'matchCallback' => function ($rule, $action) {
         return PermissionHelpers::requireMinimumRole('Admin') && PermissionHelpers::requireStatus('Active');
     }], ['actions' => ['update', 'delete'], 'allow' => true, 'roles' => ['@'], 'matchCallback' => function ($rule, $action) {
         return PermissionHelpers::requireMinimumRole('SuperUser') && PermissionHelpers::requireStatus('Active');
     }]]], 'verbs' => ['class' => VerbFilter::className(), 'actions' => ['delete' => ['post']]]];
 }
예제 #2
0
 public function loginAdmin()
 {
     if ($this->validate() && PermissionHelpers::requireMinimumRole('Admin', $this->getUser()->id)) {
         return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600 * 24 * 30 : 0);
     } else {
         throw new NotFoundHttpException('You Shall Not Pass.');
     }
 }
예제 #3
0
<?php

use yii\helpers\Html;
use yii\widgets\DetailView;
use common\models\PermissionHelpers;
/* @var $this yii\web\View */
/* @var $model common\models\user */
$this->title = $model->username;
$show_this_nav = PermissionHelpers::requireMinimumRole('SuperUser');
$this->params['breadcrumbs'][] = ['label' => 'Users', 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="user-view">

    <h1><?php 
echo Html::encode($this->title);
?>
</h1>

     <p>

<?php 
if (!Yii::$app->user->isGuest && $show_this_nav) {
    echo Html::a('Update', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']);
}
?>

<?php 
if (!Yii::$app->user->isGuest && $show_this_nav) {
    echo Html::a('Delete', ['delete', 'id' => $model->id], ['class' => 'btn btn-danger', 'data' => ['confirm' => Yii::t('app', 'Are you sure you want to delete this item?'), 'method' => 'post']]);
}
예제 #4
0
 /**
  * @inheritdoc
  */
 public function behaviors()
 {
     return ['access' => ['class' => AccessControl::className(), 'rules' => [['actions' => ['login', 'error'], 'allow' => true], ['actions' => ['index'], 'allow' => true, 'roles' => ['@'], 'matchCallback' => function ($rule, $action) {
         return PermissionHelpers::requireMinimumRole('Admin') && PermissionHelpers::requireStatus('Active');
     }], ['actions' => ['logout'], 'allow' => true, 'roles' => ['@']]]], 'verbs' => ['class' => VerbFilter::className(), 'actions' => ['logout' => ['get', 'post']]]];
 }
예제 #5
0
    <title><?php 
echo Html::encode($this->title);
?>
</title>
    <?php 
$this->head();
?>
</head>
<body>
<?php 
$this->beginBody();
?>
<div class="wrap">
    <?php 
if (!Yii::$app->user->isGuest) {
    $is_admin = PermissionHelpers::requireMinimumRole('Admin');
    NavBar::begin(['brandLabel' => 'Yii 2 Build <i class="fa fa-plug"></i> Admin', 'brandUrl' => Yii::$app->homeUrl, 'options' => ['class' => 'navbar-inverse navbar-fixed-top']]);
} else {
    NavBar::begin(['brandLabel' => 'Yii 2 Build <i class="fa fa-plug"></i>', 'brandUrl' => Yii::$app->homeUrl, 'options' => ['class' => 'navbar-inverse navbar-fixed-top']]);
    $menuItems = [['label' => 'Home', 'url' => ['site/index']]];
}
if (!Yii::$app->user->isGuest && $is_admin) {
    $menuItems[] = ['label' => 'Users', 'url' => ['user/index']];
    $menuItems[] = ['label' => 'Profiles', 'url' => ['profile/index']];
    $menuItems[] = ['label' => 'Roles', 'url' => ['role/index']];
    $menuItems[] = ['label' => 'User Types', 'url' => ['user-type/index']];
    $menuItems[] = ['label' => 'Statuses', 'url' => ['status/index']];
}
if (Yii::$app->user->isGuest) {
    $menuItems[] = ['label' => 'Login', 'url' => ['site/login']];
} else {
예제 #6
0
        <?php 
$this->head();
?>

    </head>

    <body>
    <?php 
$this->beginBody();
?>

    <div class="wrap">

        <?php 
if (!Yii::$app->user->isGuest) {
    $is_admin = PermissionHelpers::requireMinimumRole('SuperUser');
    NavBar::begin(['brandLabel' => 'НПЦАП АДМИНКА <i class="fa fa-plug"></i> Админ', 'brandUrl' => Yii::$app->homeUrl, 'options' => ['class' => 'navbar-inverse navbar-fixed-top']]);
} else {
    NavBar::begin(['brandLabel' => 'НПЦАП <i class="fa fa-plug"></i>', 'brandUrl' => Yii::$app->homeUrl, 'options' => ['class' => 'navbar-inverse navbar-fixed-top']]);
}
if (Yii::$app->user->isGuest) {
    $menuItemsLogOut[] = ['label' => 'Войти', 'url' => ['site/login']];
} else {
    $menuItemsLogOut[] = ['label' => 'Выйти (' . Yii::$app->user->identity->username . ')', 'url' => ['/site/logout'], 'linkOptions' => ['data-method' => 'post']];
}
echo Nav::widget(['options' => ['class' => 'navbar-nav navbar-right'], 'items' => $menuItemsLogOut]);
if (!Yii::$app->user->isGuest && $is_admin) {
    echo Nav::widget(['options' => ['class' => 'navbar-nav navbar-right'], 'items' => [['label' => 'Пользователи', 'items' => [['label' => 'Пользователи', 'url' => ['user/index']], ['label' => 'Профили', 'url' => ['profile/index']]]], ['label' => 'Поддержка', 'items' => [['label' => 'Запрос в поддержку', 'url' => ['content/index']], ['label' => 'Найстройка автоответчика', 'url' => ['status-message/index']], ['label' => 'ЧАВО', 'url' => ['faq/index']], ['label' => 'ЧАВО Категории', 'url' => ['faq-category/index']]]], ['label' => 'Контроль доступа', 'items' => [['label' => 'Роли', 'url' => ['role/index']], ['label' => 'Типы пользователей', 'url' => ['user-type/index']], ['label' => 'Статусы', 'url' => ['status/index']]]], ['label' => 'Контент', 'items' => [['label' => 'Контент', 'url' => ['content/index']], ['label' => 'Автоответчик', 'url' => ['status-message/index']], ['label' => 'ЧАВО', 'url' => ['faq/index']], ['label' => 'Категории ЧАВО', 'url' => ['faq-category/index']], ['label' => 'Дракон-Тест', 'url' => ['drakon/index']]]]]]);
}
$menuItems = [['label' => 'Главная', 'url' => ['site/index']]];
echo Nav::widget(['options' => ['class' => 'navbar-nav navbar-right'], 'items' => $menuItems]);