Скрытие виджетов в вояджере

Я работаю в laravel 5.6 с Voyager и хочу реализовать виджеты voyager, но, тем не менее, он показывает мне все виджеты, которые я создал, но мне нужно скрыть некоторые виджеты от обычных пользователей, поскольку некоторые виджеты доступны только администратору. Я не могу скрыть виджеты, он показывает все виджеты. Заранее спасибо.

public function run()
{

     $count = \App\Organization::count();


    $string = trans_choice('Organization', $count);


    return view('voyager::dimmer', array_merge($this->config, [
        'icon' => 'voyager-edit',
        'title' => [
            'text' => "{$string} {$count}",
            'link' => route('org_data'),
        ],
        // 'image' => voyager_asset('images/widget-backgrounds/03.jpg'),
    ]));
}

person Uddyan Semwal    schedule 17.01.2019    source источник


Ответы (1)


вам нужно изменить метод виджета shouldBeDisplayed следующим образом:

public function shouldBeDisplayed(){
   return auth()->user()->hasRole('admin');
}

он просто проверяет, является ли роль текущего пользователя администратором или нет.

удачи

person Mojtaba Hn    schedule 31.01.2019