User landingPages connect per role permission.
This commit is contained in:
@@ -119,6 +119,7 @@ class Users extends Controller
|
||||
}
|
||||
|
||||
$u = new \stdClass();
|
||||
$u->role = $user->roles()->first();
|
||||
$u->landing_pages = [];
|
||||
|
||||
event(new LandingPageShowing($u));
|
||||
@@ -354,4 +355,35 @@ class Users extends Controller
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Process request for reinviting the specified resource.
|
||||
*
|
||||
* @param Role $role
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function landingPages(BaseRequest $request)
|
||||
{
|
||||
$role = false;
|
||||
|
||||
if ($request->has('role_id')) {
|
||||
$role = Role::find($request->get('role_id'));
|
||||
}
|
||||
|
||||
$u = new \stdClass();
|
||||
$u->role = $role;
|
||||
$u->landing_pages = [];
|
||||
|
||||
event(new LandingPageShowing($u));
|
||||
|
||||
$landing_pages = $u->landing_pages;
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'error' => false,
|
||||
'data' => $landing_pages,
|
||||
'message' => 'Get role by landing pages..',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@@ -15,6 +15,8 @@ class AddLandingPages
|
||||
public function handle(Event $event)
|
||||
{
|
||||
$user = user();
|
||||
$role = ! empty($event->user->role) ? $event->user->role : false;
|
||||
|
||||
$routes = [
|
||||
'dashboard' => [
|
||||
'permission' => 'read-common-dashboards',
|
||||
@@ -79,7 +81,9 @@ class AddLandingPages
|
||||
];
|
||||
|
||||
foreach($routes as $key => $route) {
|
||||
if (!$user->can($route['permission'])) {
|
||||
if ($role && ! $role->hasPermission($route['permission'])) {
|
||||
continue;
|
||||
} else if (! $user->can($route['permission'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user