/**
  * get all permissions with rolewise access
  * @return array
  */
 public function get_all_permisssions()
 {
     $all_permissions = Permissions::all();
     $all_roles = Roles::all();
     $permission_matrix = array();
     foreach ($all_permissions as $permission) {
         $permission_matrix[$permission->group][$permission->pid]['permission'] = $permission;
         foreach ($all_roles as $role) {
             $permission_matrix[$permission->group][$permission->pid]['roles'][$role->rid]['role'] = $role;
             $role_permission_access = $role->role_permissions()->where('pid', '=', $permission->pid)->get();
             if (count($role_permission_access) > 0) {
                 $permission_matrix[$permission->group][$permission->pid]['roles'][$role->rid]['access'] = 1;
             } else {
                 $permission_matrix[$permission->group][$permission->pid]['roles'][$role->rid]['access'] = 0;
             }
         }
     }
     return $permission_matrix;
 }
 /**
  * This function is to delete role
  */
 public function deleteRole($role_id)
 {
     access_check('delete_role');
     $role = Roles::find($role_id);
     if ($role) {
         $roleObj = new Roles();
         $roleObj->where('rid', $role_id)->delete();
         Session::flash('success', 'Role deleted successfully.');
         return redirect()->back();
     } else {
         Session::flash('error', 'This Role not exist.');
         return redirect()->back();
     }
 }
 public function run()
 {
     \Focalworks\Users\Roles::create(['role' => 'Superadmin']);
     \Focalworks\Users\Roles::create(['role' => 'User']);
     \Focalworks\Users\Roles::create(['role' => 'Editor']);
 }