Bugfixes for user admin UI

Former-commit-id: 0482a1e7ec
pull/7/head
Jens Pelzetter 2020-10-02 19:57:28 +02:00
parent 06bba15fef
commit f4cc7db018
4 changed files with 62 additions and 58 deletions

View File

@ -216,7 +216,8 @@ public class UsersController {
user.setBanned(true); user.setBanned(true);
userRepository.save(user); userRepository.save(user);
return String.format( return String.format(
"redirect:%s", mvc.uri("UsersController#getUsers") //"redirect:%s", mvc.uri("UsersController#getUsers")
"redirect:users-groups-roles/users"
); );
} else { } else {
userDetailsModel.addMessage( userDetailsModel.addMessage(

View File

@ -1,7 +1,6 @@
<!DOCTYPE html [<!ENTITY times '&#215;'>]> <!DOCTYPE html [<!ENTITY times '&#215;'>]>
<html xmlns="http://www.w3.org/1999/xhtml" <html xmlns="http://www.w3.org/1999/xhtml"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:xlink="http://www.w3.org/1999/xlink"> xmlns:xlink="http://www.w3.org/1999/xlink">
<ui:composition template="/WEB-INF/views/org/libreccm/ui/admin/users-groups-roles.xhtml"> <ui:composition template="/WEB-INF/views/org/libreccm/ui/admin/users-groups-roles.xhtml">
@ -67,8 +66,9 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<c:forEach items="#{UsersTableModel.users}" var="user"> <c:forEach items="#{UsersTableModel.users}"
<tr> var="user">
<tr class="#{user.banned ? 'text-muted' : ''}">
<td>#{user.name}</td> <td>#{user.name}</td>
<td>#{user.givenName}</td> <td>#{user.givenName}</td>
<td>#{user.familyName}</td> <td>#{user.familyName}</td>
@ -93,58 +93,60 @@
</a> </a>
</td> </td>
<td class="text-center action-col"> <td class="text-center action-col">
<button class="btn btn-danger" <c:if test="#{!user.banned}">
data-toggle="modal" <button class="btn btn-danger"
data-target="#confirm-disable-#{user.name}"> data-toggle="modal"
<svg class="bi" data-target="#confirm-disable-#{user.name}">
width="1em" <svg class="bi"
height="1em" width="1em"
fill="currentColor"> height="1em"
<use xlink:href="#{request.contextPath}/assets/bootstrap/bootstrap-icons.svg#person-x" /> fill="currentColor">
</svg> <use xlink:href="#{request.contextPath}/assets/bootstrap/bootstrap-icons.svg#person-x" />
<span> </svg>
#{AdminMessages['usersgroupsroles.users.disablebutton.label']} <span>
</span> #{AdminMessages['usersgroupsroles.users.disablebutton.label']}
</button> </span>
<div class="modal" </button>
id="confirm-disable-#{user.name}" <div class="modal"
tabindex="-1"> id="confirm-disable-#{user.name}"
<div class="modal-dialog"> tabindex="-1">
<form action="#{mvc.uri('UsersController#disableUser', { 'userIdentifier': user.name })}" <div class="modal-dialog">
class="modal-content" <form action="#{mvc.uri('UsersController#disableUser', { 'userIdentifier': user.name })}"
method="post"> class="modal-content"
<div class="modal-header"> method="post">
<h3 class="modal-title"> <div class="modal-header">
#{AdminMessages['usersgroupsroles.users.disable.confirm.title']} <h3 class="modal-title">
</h3> #{AdminMessages['usersgroupsroles.users.disable.confirm.title']}
<button aria-label="#{AdminMessages['usersgroupsroles.users.disable.confirm.cancel']}" </h3>
class="close" <button aria-label="#{AdminMessages['usersgroupsroles.users.disable.confirm.cancel']}"
data-dismiss="modal" class="close"
type="button"> data-dismiss="modal"
<span aria-hidden="true">&times;</span> type="button">
</button> <span aria-hidden="true">&times;</span>
</div> </button>
<div class="modal-body"> </div>
#{AdminMessages.getMessage('usersgroupsroles.users.disable.confirm.message', [user.name])} <div class="modal-body">
<input name="confirmed" #{AdminMessages.getMessage('usersgroupsroles.users.disable.confirm.message', [user.name])}
type="hidden" <input name="confirmed"
value="true" /> type="hidden"
</div> value="true" />
<div class="modal-footer"> </div>
<button class="btn btn-secondary" <div class="modal-footer">
data-dismiss="modal" <button class="btn btn-secondary"
type="button"> data-dismiss="modal"
#{'usersgroupsroles.users.disable.confirm.cancel'} type="button">
</button> #{AdminMessages['usersgroupsroles.users.disable.confirm.cancel']}
<button class="btn btn-danger" </button>
data-dismiss="modal" <button class="btn btn-danger"
type="submit"> data-submit-confirm-dialog="#confirm-disable-#{user.name}"
#{'usersgroupsroles.users.disable.confirm.yes'} type="submit">
</button> #{AdminMessages['usersgroupsroles.users.disable.confirm.yes']}
</div> </button>
</form> </div>
</form>
</div>
</div> </div>
</div> </c:if>
</td> </td>
</tr> </tr>
</c:forEach> </c:forEach>

View File

@ -1,5 +1,2 @@
import "bootstrap"; import "bootstrap";
import { initFilterables } from "./filterable-list";
document.addEventListener("DOMContentReady", event => initFilterables());

View File

@ -1,3 +1,7 @@
/**
* Not ready yet. Don' use
*/
export function initFilterables(): void { export function initFilterables(): void {
document document
.querySelectorAll("*[data-filter]") .querySelectorAll("*[data-filter]")