From 017df4571c72a8f4fa523844d7dd85c3aee3320c Mon Sep 17 00:00:00 2001
From: David Siegfried <david.siegfried@uni-vechta.de>
Date: Sat, 15 Jul 2023 20:18:21 +0000
Subject: [PATCH] replace role-information into view, closes #2009

Closes #2009

Merge request studip/studip!1964
---
 app/controllers/admin/user.php | 21 ++++-----------------
 app/views/admin/user/edit.php  | 16 +++++++++++++++-
 2 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/app/controllers/admin/user.php b/app/controllers/admin/user.php
index 33d56a5080a..37b8b532f04 100644
--- a/app/controllers/admin/user.php
+++ b/app/controllers/admin/user.php
@@ -401,8 +401,8 @@ class Admin_UserController extends AuthenticatedController
             }
         }
 
-        //get user
         $this->user = User::find($user_id);
+        $this->user_roles = $this->user->getRoles();
 
         // Änderungen speichern
         if (Request::submitted('edit')) {
@@ -1805,25 +1805,12 @@ class Admin_UserController extends AuthenticatedController
                 );
             }
 
-            // Create link to role administration for this user
-            $extra = '';
-            $roles = $this->user->getRoles();
-            $roles_attributes   = [];
-            if ($roles) {
-                $extra = ' (' . count($roles) . ')';
-                $title = '• ' . implode("\n• ", array_map(function ($role) {
-                    return $role->rolename;
-                }, $roles));
-                $roles_attributes['data-tooltip'] = json_encode([
-                    'html' => htmlReady($title, true, true),
-                ]);
-            }
+
 
             $views->addLink(
-                _('Zur Rollenverwaltung') . $extra,
+                _('Zur Rollenverwaltung'),
                 $this->url_for("admin/role/assign_role/{$this->user->id}"),
-                Icon::create('roles2'),
-                $roles_attributes
+                Icon::create('roles2')
             );
         }
         $sidebar->insertWidget($views, 'user_actions', 'views');
diff --git a/app/views/admin/user/edit.php b/app/views/admin/user/edit.php
index 1b0c2831892..9e1241eb449 100644
--- a/app/views/admin/user/edit.php
+++ b/app/views/admin/user/edit.php
@@ -203,6 +203,20 @@ use Studip\Button, Studip\LinkButton;
                 </label>
             </div>
         </section>
+
+
+        <? if (!empty($user_roles)) : ?>
+            <section>
+                <span class="label-text">
+                <?= _('Zugewiesene Rollen') ?>
+            </span>
+                <ul>
+                    <? foreach($user_roles as $role) : ?>
+                        <li><?= htmlReady($role->rolename) ?> </li>
+                    <? endforeach ?>
+                </ul>
+            </section>
+        <? endif ?>
     </fieldset>
 
 
@@ -272,7 +286,7 @@ use Studip\Button, Studip\LinkButton;
             </select>
         </label>
 
-        
+
         <section class="col-2">
             <label for="expiration_date">
                 <?= _('Ablaufdatum') ?>
-- 
GitLab