jeudi 14 novembre 2019

How to use a function from Helper in Routes?

I have a function in helpers.php which I use in any blade to check if admin has a permission to view some buttons, and a it works also in Controllers, but it's not working in routes, the routes ignoring it.

This is my Function

function can($permission){
$userCheck = auth()->guard('admin')->check();
$user='';

if($userCheck==false)
{
    return redirect('admin/login');
}else{
    $user=  auth()->guard('admin')->user();
}

if ($user->id == 1) {
    return true;
}

$minutes = 5;
$permissions = Cache::remember('permissions_' . $user->id, $minutes, function () use ($user) {
    return explode(',', $user->permission->permission);
});


$permissions = array_flatten($permissions);
return in_array($permission, $permissions);
}

I use it like this in Blades.

@if(can('admins'))
    <a href="" class="nav-link nav-toggle">
@endif

But Routes just ignores the function and opens all the routes, I use the function in Routes like this.

if(can('admins')){
    Route::get('home', 'Admin\AdminController@index')->name('admin.home');
    Route::get('/admins/{id}/edit', 'Admin\AdminController@edit')->name('admins.edit');
}

Any Idea ?



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire