php - CartalystSentinel getting all Users with resulting permissions

For the purpose of a user-management ui I want to get all users with resulting permissions. I use the native implementation of Cartalyst\Sentinel and tried:

$users = Sentinel::getUserRepository()->with('roles')->get();
    $permissions = array();
    foreach ($users as $user) {
        $user_permissions = Sentinel::getResultingPermissionsFor($user);
        $permissions[$user['id']] = $user_permissions;
    }

But the function "getResultingPermissionsFor()" seems not to be available anymore in V5.

Answer

Solution:

I solved this by passing the roles-Object to the twig template:

router.php

$app->get('/admin/users', function (Request $request, Response $response) {
    $loggedUser = Sentinel::check();
    $users = Sentinel::getUserRepository()->with('roles')->get();
    $roles = Sentinel::getRoleRepository()->get();

    if (!$loggedUser) {
        // do sth.
    }

    if (!$loggedUser->hasAccess('user.*')) {
        // do sth.
    }

    $view = Twig::fromRequest($request);
    $view->render($response, 'admin.users.html.twig', array(
        'loggedUser' => $loggedUser,
        'users' => $users,
        'roles' => $roles
    ));
    return $response;
});

twig-template:

{% for user in users %}
   {% set rolePermissions = [] %}
      {% for role in user.roles %}
         {% set rolePermissions = rolePermissions|merge(role.permissions) %}
      {% endfor %}
   {% set resultingPermissions = rolePermissions %}
   {% set resultingPermissions = resultingPermissions|merge(user.permissions) %}
{% endfor %}

// followed by output html

Source