D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
tattooscyy
/
stage
/
vendor
/
laraveldaily
/
quickadmin
/
src
/
Traits
/
Filename :
AdminPermissionsTrait.php
back
Copy
<?php namespace Laraveldaily\Quickadmin\Traits; use Laraveldaily\Quickadmin\Models\Menu; trait AdminPermissionsTrait { public function permissionCan($request) { if (is_null($request->route()->getName())) { return true; } list($role, $menu) = $this->parseData($request); if (is_int($menu)) { return $role == $menu; } return $menu->availableForRole($role); } /** * @param $request * * @return array */ private function parseData($request) { $role = $request->user()->role_id; $route = explode('.', $request->route()->getName()); $official = [ 'menu', 'users', 'roles', 'actions' ]; if (in_array($route[0], $official)) { return [$role, config('quickadmin.defaultRole')]; } else { $menuName = $route[1]; } $menu = Menu::where('name', ucfirst($menuName))->firstOrFail(); return [$role, $menu]; } }