Есть табличка с колонкой "права" (authorities). В зависимости от того, какие даны права пользователю необходимо выводить разные кнопки. Например, у пользователя стандартная роль USER, тогда должны отображаться кнопки "Сделать водителем" и "Сделать админом", для пользователя с ролью DRIVER - "Сделать пользователем", "Сделать админом" и т.д.
Код таблицы:
<a th:href="@{/users/add}" href="#">Добавить пользователя</a>
<div class="table-responsive pt-3">
<table class="table table-bordered">
<thead>
<tr>
<th>#</th>
<th>Логин</th>
<th>Фамилия</th>
<th>Имя</th>
<th>Отчество</th>
<th>Дата рождения</th>
<th>Телефон</th>
<th>Email</th>
<th>Организация</th>
<th>Права</th>
<th>Действия</th>
</tr>
</thead>
<tbody>
<tr class="Authors-item" th:each="user : ${users}">
<td th:text="${user.id}">Id</td>
<td th:text="${user?.username}">Username</td>
<td th:text="${user?.userInfo.firstName}">First name</td>
<td th:text="${user?.userInfo.middleName}">Middle name</td>
<td th:text="${user?.userInfo.lastName}">Last name</td>
<td th:text="${user?.userInfo.birthDate}">Birthdate</td>
<td th:text="${user?.userInfo.phoneNumber}">Phone</td>
<td th:text="${user?.email}">Email</td>
<td th:text="${user?.organization?.name}">Organization</td>
<td th:text="${user.authorities}">Authorities</td>
<td>
<a th:href="@{/users/edit/{id}(id=${user.id})}" href="#">Редактировать</a><br>
<a th:href="@{/users/delete/{id}(id=${user.id})}" href="#">Удалить</a>
<a th:href="@{/users/setuser/{id}(id=${user.id})}" href="#">Сделать пользователем</a>
<a th:href="@{/users/setdriver/{id}(id=${user.id})}" href="#">Сделать водителем</a>
<a th:href="@{/users/setadmin/{id}(id=${user.id})}" href="#">Сделать админом</a>
</td>
</tr>
</tbody>
</table>
Код контроллера:
@GetMapping({"/index", "/", ""})
public String showMainPage(Model model)
{
model.addAttribute("users", userService.getUsers());
return "users/index";
}
Подскажите как реализовать подобный функционал? Насколько я понимаю, это можно сделать через th, но ничего не получилось