Update - Lions User Manager - Client (Quarkus PrimeFaces Freya)

This commit is contained in:
dahoud
2025-12-06 22:07:05 +00:00
parent 53ea02ccad
commit 51d087e5be
189 changed files with 38558 additions and 1 deletions

View File

@@ -0,0 +1,32 @@
<!DOCTYPE html>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
template="/templates/main-template.xhtml">
<ui:param name="page" value="#{userProfilBean}"/>
<ui:define name="title">Attribution de Rôles - Lions User Manager</ui:define>
<ui:define name="content">
<!-- En-tête -->
<ui:include src="/templates/components/layout/page-header.xhtml">
<ui:param name="icon" value="pi pi-key text-purple-500" />
<ui:param name="title" value="Attribution de Rôles" />
<ui:param name="description" value="Gérer les rôles de l'utilisateur" />
</ui:include>
<!-- Attribution de rôles -->
<div class="card">
<ui:include src="/templates/components/role-management/role-assignment.xhtml">
<ui:param name="user" value="#{userProfilBean.user}" />
<ui:param name="availableRoles" value="#{roleGestionBean.allRoles}" />
<ui:param name="userRoles" value="#{roleGestionBean.getUserRolesDTOs(userProfilBean.user)}" />
<ui:param name="update" value="@form" />
</ui:include>
</div>
</ui:define>
</ui:composition>

View File

@@ -0,0 +1,166 @@
<!DOCTYPE html>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
template="/templates/main-template.xhtml">
<ui:param name="page" value="#{roleGestionBean}"/>
<ui:define name="title">Gestion des Rôles - Lions User Manager</ui:define>
<ui:define name="content">
<!-- En-tête -->
<ui:include src="/templates/components/layout/page-header.xhtml">
<ui:param name="icon" value="pi pi-shield text-purple-500" />
<ui:param name="title" value="Gestion des Rôles" />
<ui:param name="description" value="Gestion des rôles Realm et Client Keycloak" />
<ui:define name="actions">
<h:form id="formActionsRoles">
<div class="flex gap-2">
<ui:include src="/templates/components/shared/buttons/button-user-action.xhtml">
<ui:param name="value" value="Nouveau Rôle Realm" />
<ui:param name="icon" value="pi pi-plus" />
<ui:param name="hasAction" value="false" />
<ui:param name="hasOutcome" value="false" />
<ui:param name="onclick" value="PF('createRealmRoleDialog').show()" />
<ui:param name="severity" value="success" />
</ui:include>
<ui:include src="/templates/components/shared/buttons/button-user-action.xhtml">
<ui:param name="value" value="Nouveau Rôle Client" />
<ui:param name="icon" value="pi pi-plus-circle" />
<ui:param name="hasAction" value="false" />
<ui:param name="hasOutcome" value="false" />
<ui:param name="onclick" value="PF('createClientRoleDialog').show()" />
<ui:param name="severity" value="info" />
</ui:include>
</div>
</h:form>
</ui:define>
</ui:include>
<!-- Filtres -->
<div class="card mb-3">
<h:form id="formFilters">
<p:panelGrid columns="3" styleClass="w-full" columnClasses="col-12 md:col-4">
<p:outputLabel for="realmFilter" value="Realm" />
<p:selectOneMenu id="realmFilter"
value="#{roleGestionBean.realmName}"
styleClass="w-full">
<f:selectItem itemLabel="Sélectionner..." itemValue="" />
<f:selectItems value="#{roleGestionBean.availableRealms}" />
<p:ajax event="change"
listener="#{roleGestionBean.loadRealmRoles}"
update=":formRealmRoles:realmRolesPanel :formClientRoles:clientRolesPanel" />
</p:selectOneMenu>
<p:outputLabel for="clientFilter" value="Client" />
<p:selectOneMenu id="clientFilter"
value="#{roleGestionBean.clientName}"
styleClass="w-full">
<f:selectItem itemLabel="Sélectionner..." itemValue="" />
<f:selectItems value="#{roleGestionBean.availableClients}" />
<p:ajax event="change"
listener="#{roleGestionBean.loadClientRoles}"
update=":formClientRoles:clientRolesPanel" />
</p:selectOneMenu>
<p:outputLabel for="typeFilter" value="Type" />
<p:selectOneMenu id="typeFilter"
value="#{roleGestionBean.selectedTypeRole}"
styleClass="w-full">
<f:selectItem itemLabel="Tous les types" itemValue="" />
<f:selectItems value="#{roleGestionBean.typeRoleOptions}" />
</p:selectOneMenu>
</p:panelGrid>
</h:form>
</div>
<!-- Rôles Realm -->
<div class="card mb-3">
<h:form id="formRealmRoles">
<p:panel id="realmRolesPanel" header="Rôles Realm" toggleable="true" collapsed="false">
<div class="grid">
<c:forEach var="role" items="#{roleGestionBean.realmRoles}">
<div class="col-12 md:col-6 lg:col-4">
<ui:include src="/templates/components/role-management/role-card.xhtml">
<ui:param name="role" value="#{role}" />
<ui:param name="showActions" value="true" />
</ui:include>
</div>
</c:forEach>
<c:if test="#{empty roleGestionBean.realmRoles}">
<div class="col-12">
<p class="text-center text-color-secondary">Aucun rôle Realm trouvé</p>
</div>
</c:if>
</div>
</p:panel>
</h:form>
</div>
<!-- Rôles Client -->
<div class="card">
<h:form id="formClientRoles">
<p:panel id="clientRolesPanel" header="Rôles Client" toggleable="true" collapsed="false">
<div class="grid">
<c:forEach var="role" items="#{roleGestionBean.clientRoles}">
<div class="col-12 md:col-6 lg:col-4">
<ui:include src="/templates/components/role-management/role-card.xhtml">
<ui:param name="role" value="#{role}" />
<ui:param name="showActions" value="true" />
</ui:include>
</div>
</c:forEach>
<c:if test="#{empty roleGestionBean.clientRoles}">
<div class="col-12">
<p class="text-center text-color-secondary">Aucun rôle Client trouvé</p>
</div>
</c:if>
</div>
</p:panel>
</h:form>
</div>
<!-- Dialog Création Rôle Realm -->
<p:dialog id="createRealmRoleDialog"
header="Nouveau Rôle Realm"
widgetVar="createRealmRoleDialog"
modal="true"
styleClass="w-full md:w-6">
<h:form id="formCreateRealmRole">
<ui:include src="/templates/components/role-management/role-form.xhtml">
<ui:param name="role" value="#{roleGestionBean.newRole}" />
<ui:param name="mode" value="create" />
<ui:param name="showClientSelector" value="false" />
<ui:param name="submitAction" value="#{roleGestionBean.createRealmRole}" />
<ui:param name="hasSubmitAction" value="true" />
<ui:param name="update" value=":formRealmRoles:realmRolesPanel" />
<ui:param name="useParentForm" value="true" />
</ui:include>
</h:form>
</p:dialog>
<!-- Dialog Création Rôle Client -->
<p:dialog id="createClientRoleDialog"
header="Nouveau Rôle Client"
widgetVar="createClientRoleDialog"
modal="true"
styleClass="w-full md:w-6">
<h:form id="formCreateClientRole">
<ui:include src="/templates/components/role-management/role-form.xhtml">
<ui:param name="role" value="#{roleGestionBean.newRole}" />
<ui:param name="mode" value="create" />
<ui:param name="showClientSelector" value="true" />
<ui:param name="submitAction" value="#{roleGestionBean.createClientRole}" />
<ui:param name="hasSubmitAction" value="true" />
<ui:param name="update" value=":formClientRoles:clientRolesPanel" />
<ui:param name="useParentForm" value="true" />
</ui:include>
</h:form>
</p:dialog>
</ui:define>
</ui:composition>