public function run()
 {
     \Focalworks\Users\Permissions::create(['name' => 'manage_users', 'display_name' => 'Manage Users', 'group' => 'User']);
     \Focalworks\Users\Permissions::create(['name' => 'manage_profile', 'display_name' => 'View / Edit Own profile', 'group' => 'User']);
     \Focalworks\Users\Permissions::create(['name' => 'delete_user', 'display_name' => 'Delete User Profile', 'group' => 'User']);
     \Focalworks\Users\Permissions::create(['name' => 'manage_permission_matrix', 'display_name' => 'Manage Permission Matrix', 'group' => 'Permission']);
     \Focalworks\Users\Permissions::create(['name' => 'manage_permissions', 'display_name' => 'Manage Permissions', 'group' => 'Permission']);
     \Focalworks\Users\Permissions::create(['name' => 'delete_permission', 'display_name' => 'Delete Permission', 'group' => 'Permission']);
     \Focalworks\Users\Permissions::create(['name' => 'manage_roles', 'display_name' => 'Manage Roles', 'group' => 'Role']);
     \Focalworks\Users\Permissions::create(['name' => 'delete_role', 'display_name' => 'Delete Role', 'group' => 'Role']);
 }
 /**
  * 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 will display edit permission
  * @param CreatePermissionRequest $request
  * @return Redirect
  */
 public function updatePermission(CreatePermissionRequest $request)
 {
     access_check('manage_permissions');
     $permissions = Permissions::find($request->input('pid'));
     $permissions->update($request->all());
     Session::flash('success', 'Permission changes saved successfully.');
     return redirect('admin/permissionsListing');
 }