93 lines
5.0 KiB
HTML
93 lines
5.0 KiB
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">
|
|
|
|
<!--
|
|
Composant réutilisable: Formulaire Rôle (WOU/DRY Pattern)
|
|
|
|
Auteur: Lions User Manager
|
|
Version: 1.0.0
|
|
Description: Formulaire complet pour créer/modifier un rôle
|
|
|
|
Paramètres:
|
|
- role: RoleDTO (requis) - Le rôle à éditer (peut être null pour création)
|
|
- formId: String (défaut: "roleForm") - ID du formulaire
|
|
- mode: String (défaut: "create") - Mode: "create" ou "edit"
|
|
- showRealmSelector: Boolean (défaut: true) - Afficher le sélecteur de realm
|
|
- showClientSelector: Boolean (défaut: false) - Afficher le sélecteur de client
|
|
- showCompositeOptions: Boolean (défaut: true) - Afficher les options composite
|
|
- readonly: Boolean (défaut: false) - Mode lecture seule
|
|
- submitAction: String (optionnel) - Action à exécuter à la soumission
|
|
- submitOutcome: String (optionnel) - Page de redirection après soumission
|
|
- update: String (optionnel) - Composants à mettre à jour après soumission
|
|
|
|
Exemples d'utilisation:
|
|
|
|
1. Formulaire de création rôle Realm:
|
|
<ui:include src="/templates/components/role-management/role-form.xhtml">
|
|
<ui:param name="role" value="#{roleBean.newRole}" />
|
|
<ui:param name="mode" value="create" />
|
|
<ui:param name="showClientSelector" value="false" />
|
|
<ui:param name="submitAction" value="#{roleBean.createRole}" />
|
|
</ui:include>
|
|
|
|
2. Formulaire de création rôle Client:
|
|
<ui:include src="/templates/components/role-management/role-form.xhtml">
|
|
<ui:param name="role" value="#{roleBean.newRole}" />
|
|
<ui:param name="mode" value="create" />
|
|
<ui:param name="showClientSelector" value="true" />
|
|
<ui:param name="submitAction" value="#{roleBean.createClientRole}" />
|
|
</ui:include>
|
|
-->
|
|
|
|
<c:set var="formId" value="#{empty formId ? 'roleForm' : formId}" />
|
|
<c:set var="mode" value="#{empty mode ? 'create' : mode}" />
|
|
<c:set var="showRealmSelector" value="#{empty showRealmSelector ? true : showRealmSelector}" />
|
|
<c:set var="showClientSelector" value="#{empty showClientSelector ? false : showClientSelector}" />
|
|
<c:set var="showCompositeOptions" value="#{empty showCompositeOptions ? true : showCompositeOptions}" />
|
|
<c:set var="readonly" value="#{empty readonly ? false : readonly}" />
|
|
<c:set var="useParentForm" value="#{empty useParentForm ? false : useParentForm}" />
|
|
|
|
<c:choose>
|
|
<c:when test="#{useParentForm}">
|
|
<!-- Utiliser le formulaire parent (pas de h:form ici) -->
|
|
<ui:include src="/templates/components/role-management/role-form-content.xhtml">
|
|
<ui:param name="role" value="#{role}" />
|
|
<ui:param name="mode" value="#{mode}" />
|
|
<ui:param name="showRealmSelector" value="#{showRealmSelector}" />
|
|
<ui:param name="showClientSelector" value="#{showClientSelector}" />
|
|
<ui:param name="showCompositeOptions" value="#{showCompositeOptions}" />
|
|
<ui:param name="readonly" value="#{readonly}" />
|
|
<ui:param name="hasSubmitAction" value="#{hasSubmitAction}" />
|
|
<ui:param name="submitAction" value="#{submitAction}" />
|
|
<ui:param name="submitOutcome" value="#{submitOutcome}" />
|
|
<ui:param name="update" value="#{update}" />
|
|
<ui:param name="cancelOutcome" value="#{cancelOutcome}" />
|
|
</ui:include>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<!-- Créer son propre formulaire -->
|
|
<h:form id="#{formId}">
|
|
<ui:include src="/templates/components/role-management/role-form-content.xhtml">
|
|
<ui:param name="role" value="#{role}" />
|
|
<ui:param name="mode" value="#{mode}" />
|
|
<ui:param name="showRealmSelector" value="#{showRealmSelector}" />
|
|
<ui:param name="showClientSelector" value="#{showClientSelector}" />
|
|
<ui:param name="showCompositeOptions" value="#{showCompositeOptions}" />
|
|
<ui:param name="readonly" value="#{readonly}" />
|
|
<ui:param name="hasSubmitAction" value="#{hasSubmitAction}" />
|
|
<ui:param name="submitAction" value="#{submitAction}" />
|
|
<ui:param name="submitOutcome" value="#{submitOutcome}" />
|
|
<ui:param name="update" value="#{update}" />
|
|
<ui:param name="cancelOutcome" value="#{cancelOutcome}" />
|
|
</ui:include>
|
|
</h:form>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
|
|
</ui:composition>
|
|
|