@Kurper

Как лучше сделать управление GridView из админки?

Всем привет.

Возникла необходимость настройки вида GridView для разных ролей и для разных пользователей. К примеру у нас есть некая таблица "товары", которую могут просматривать такие пользователи как менеджеры, кладовщик...
Для менеджера хочу показывать все колонки, а для кладовщика важны не все колонки и покажу только номер и наименование товара. Хочу это делать не для одной таблицы, а для многих и настраивать видимость колонок из админ панели. Кто что может мне посоветовать? Может кто-то делал уже такую задачу, как это лучше сделать? Заранее спасибо за помощь!
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
myks92
@myks92 Куратор тега Yii
Нашёл решение — пометь вопрос ответом!
Права доступа делаются с использованием RBAC, который есть в Yii2. Можете реализовать свою логику. Чтобы можно было изменять данные их лучше хранить в базе. RBAC Yii2 это позволяет.

Отображением колонок предусмотрено свойство «visible» в GridViev. Ему нужно передавать булево значение (false, true)

“visible” => true // или ваше условие

[
    'label' => 'Executive Name',
    'attribute' => 'cs.first_name',
    'visible' => function ($data) {
        if ($data->hc_customersupport->is_supervisor) {
            return '1'; // or return true;
        } else {
            return '0'; // or return false;
        }
    },
],


use Yii;

...

'visible' => Yii::$app->user->can('supervisor'),
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы