Inheritance: extends Illuminate\Database\Eloquent\Model
Example #1
0
 /**
  * Handle an incoming request.
  *
  * @param \Illuminate\Http\Request $request
  * @param \Closure                 $next
  * @param string|null              $guard
  *
  * @return mixed
  */
 public function handle($request, Closure $next, $guard = 'admin')
 {
     config(['auth.defaults.guard' => 'admin']);
     if (Auth::guard($guard)->user()->is_super_admin == 1) {
         return $next($request);
     }
     $permissionName = $request->route()->getName();
     $permission = PermissionModel::where('name', '=', $permissionName)->first();
     if ($permission != NULL && Auth::guard($guard)->user()->cannot('hasPermission', [AdminUser::class, $permissionName])) {
         throw new \Exception('User Don\'t have permissions', 401);
     }
     return $next($request);
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  \Mage2\User\Requests\RoleRequest  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(RoleRequest $request, $id)
 {
     $role = Role::findorfail($id);
     $role->update($request->all());
     if (count($request->get('permissions')) > 0) {
         $permissionIds = Collection::make([]);
         foreach ($request->get('permissions') as $key => $value) {
             //save it into db
             if ($value != 1) {
                 continue;
             }
             $permissions = explode(',', $key);
             foreach ($permissions as $permissionName) {
                 if (null === ($permissionModel = Permission::getPermissionByName($permissionName))) {
                     $permissionModel = Permission::create(['name' => $permissionName]);
                 }
                 if (!$permissionIds->contains($permissionModel->id)) {
                     $permissionIds->push($permissionModel->id);
                 }
             }
         }
     }
     $role->permissions()->sync($permissionIds->toArray());
     return redirect()->route('role.index');
 }
 private function _saveRolePermissions($request, $role)
 {
     $permissionIds = [];
     if (count($request->get('permissions')) > 0) {
         //$permissionIds = Collection::make([]);
         foreach ($request->get('permissions') as $key => $value) {
             //save it into db
             if ($value != 1) {
                 continue;
             }
             $permissions = explode(',', $key);
             foreach ($permissions as $permissionName) {
                 if (null === ($permissionModel = Permission::getPermissionByName($permissionName))) {
                     $permissionModel = Permission::create(['name' => $permissionName]);
                 }
                 $permissionIds[] = $permissionModel->id;
             }
         }
     }
     $ids = array_unique($permissionIds);
     $role->permissions()->sync($ids);
     return $this;
 }