Configure Maven repository for unionflow-server-api dependency

This commit is contained in:
dahoud
2025-12-10 01:12:54 +00:00
commit 2910809949
1173 changed files with 435718 additions and 0 deletions

View File

@@ -0,0 +1,613 @@
<!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:define name="title">Gestion des Documents - UnionFlow</ui:define>
<ui:define name="content">
<div class="ui-fluid">
<!-- En-tête avec disposition Freya stricte -->
<div class="card surface-0 hover:surface-100 border-round-lg transition-all transition-duration-200">
<div class="p-4">
<div class="formgrid grid">
<div class="field col-12 lg:col-8">
<h2 class="text-primary font-bold mb-2">
<i class="pi pi-folder text-blue-500 mr-2"></i>
Gestion des Documents
</h2>
<p class="text-600 mt-0">Centralisation et organisation documentaire</p>
</div>
<div class="field col-12 lg:col-4 text-right">
<h:form id="formActionsEntete">
<div class="formgrid grid">
<div class="field col-12 md:col-4">
<p:commandButton value="Télécharger"
icon="pi pi-upload"
styleClass="ui-button-success ui-button-sm w-full"
onclick="PF('dlgTelechargerDocument').show();" />
</div>
<div class="field col-12 md:col-4">
<p:commandButton value="Dossier"
icon="pi pi-folder-plus"
styleClass="ui-button-info ui-button-outlined ui-button-sm w-full"
onclick="PF('dlgCreerDossier').show();" />
</div>
<div class="field col-12 md:col-4">
<p:commandButton value="Modèle"
icon="pi pi-file-plus"
styleClass="ui-button-secondary ui-button-outlined ui-button-sm w-full"
onclick="PF('dlgGenererModele').show();" />
</div>
</div>
</h:form>
</div>
</div>
</div>
</div>
<!-- Statistiques stockage avec Freya stricte -->
<div class="formgrid grid">
<div class="field col-12 md:col-6 lg:col-3">
<div class="card surface-0 hover:surface-100 border-round-lg transition-all transition-duration-200">
<div class="p-4" style="min-height: 9rem;">
<div class="flex align-items-center justify-content-between mb-3">
<span class="block text-600 font-medium text-sm">Total Documents</span>
<div class="flex align-items-center justify-content-center surface-100 border-round-lg"
style="width: 2.5rem; height: 2.5rem;">
<i class="pi pi-file text-blue-600 text-lg"></i>
</div>
</div>
<div class="text-900 font-bold text-2xl mb-3">#{documentsBean.statistiques.totalDocuments}</div>
<div class="flex align-items-center mb-2">
<div class="bg-blue-500 border-circle mr-2" style="width: 8px; height: 8px;"></div>
<span class="text-500 text-xs">Actifs</span>
</div>
</div>
</div>
</div>
<div class="field col-12 md:col-6 lg:col-3">
<div class="card surface-0 hover:surface-100 border-round-lg transition-all transition-duration-200">
<div class="p-4" style="min-height: 9rem;">
<div class="flex align-items-center justify-content-between mb-3">
<span class="block text-600 font-medium text-sm">Dossiers</span>
<div class="flex align-items-center justify-content-center surface-100 border-round-lg"
style="width: 2.5rem; height: 2.5rem;">
<i class="pi pi-folder text-green-600 text-lg"></i>
</div>
</div>
<div class="text-900 font-bold text-2xl mb-3">#{documentsBean.statistiques.totalDossiers}</div>
<div class="flex align-items-center mb-2">
<div class="bg-green-500 border-circle mr-2" style="width: 8px; height: 8px;"></div>
<span class="text-500 text-xs">Organisés</span>
</div>
</div>
</div>
</div>
<div class="field col-12 md:col-6 lg:col-3">
<div class="card surface-0 hover:surface-100 border-round-lg transition-all transition-duration-200">
<div class="p-4" style="min-height: 9rem;">
<div class="flex align-items-center justify-content-between mb-3">
<span class="block text-600 font-medium text-sm">Espace Utilisé</span>
<div class="flex align-items-center justify-content-center surface-100 border-round-lg"
style="width: 2.5rem; height: 2.5rem;">
<i class="pi pi-database text-orange-600 text-lg"></i>
</div>
</div>
<div class="text-900 font-bold text-2xl mb-3">#{documentsBean.statistiques.espaceUtilise}</div>
<div class="flex align-items-center mb-2">
<div class="bg-orange-500 border-circle mr-2" style="width: 8px; height: 8px;"></div>
<span class="text-500 text-xs">Stockage</span>
</div>
</div>
</div>
</div>
<div class="field col-12 md:col-6 lg:col-3">
<div class="card surface-0 hover:surface-100 border-round-lg transition-all transition-duration-200">
<div class="p-4" style="min-height: 9rem;">
<div class="flex align-items-center justify-content-between mb-3">
<span class="block text-600 font-medium text-sm">Partages</span>
<div class="flex align-items-center justify-content-center surface-100 border-round-lg"
style="width: 2.5rem; height: 2.5rem;">
<i class="pi pi-share-alt text-purple-600 text-lg"></i>
</div>
</div>
<div class="text-900 font-bold text-2xl mb-3">#{documentsBean.statistiques.partagesMois}</div>
<div class="flex align-items-center mb-2">
<div class="bg-purple-500 border-circle mr-2" style="width: 8px; height: 8px;"></div>
<span class="text-500 text-xs">ce mois</span>
</div>
</div>
</div>
</div>
</div>
<!-- Navigation des dossiers avec Freya stricte -->
<div class="card surface-0 hover:surface-100 border-round-lg transition-all transition-duration-200">
<div class="p-4">
<div class="flex align-items-center justify-content-between mb-4">
<h5 class="text-900 font-bold m-0">
<i class="pi pi-folder-open text-blue-500 mr-2"></i>
Navigation
</h5>
<div class="flex align-items-center gap-2">
<p:breadCrumb value="#{documentsBean.cheminNavigation}" var="niveau">
<p:menuitem value="#{niveau.nom}" />
</p:breadCrumb>
</div>
</div>
<!-- Vue dossiers -->
<div class="formgrid grid">
<ui:repeat value="#{documentsBean.dossiersAffichage}" var="dossier" varStatus="status">
<div class="field col-12 md:col-6 lg:col-3">
<div class="surface-100 border-round-lg p-3 hover:surface-200 transition-colors transition-duration-150 cursor-pointer"
onclick="#{documentsBean.naviguerVersDossier(dossier)}">
<div class="flex align-items-center">
<div class="surface-200 border-round-lg flex align-items-center justify-content-center mr-3"
style="width: 3rem; height: 3rem;">
<i class="pi pi-folder text-#{dossier.couleur} text-xl"></i>
</div>
<div class="flex-1">
<h6 class="text-900 m-0 mb-1">#{dossier.nom}</h6>
<div class="text-600 text-sm mb-1">#{dossier.nombreDocuments} documents</div>
<div class="text-500 text-xs">Modifié #{dossier.derniereModificationRelative}</div>
</div>
<h:form>
<p:commandButton icon="pi pi-ellipsis-v"
styleClass="ui-button-rounded ui-button-text ui-button-secondary ui-button-sm"
onclick="PF('dlgActionsDossier').show();"
title="Actions">
<f:setPropertyActionListener target="#{documentsBean.dossierSelectionne}" value="#{dossier}" />
</p:commandButton>
</h:form>
</div>
</div>
</div>
</ui:repeat>
</div>
</div>
</div>
<!-- Filtres et recherche avec Freya stricte -->
<div class="card surface-0 hover:surface-100 border-round-lg transition-all transition-duration-200">
<div class="p-4">
<h5 class="text-900 font-bold mb-4">
<i class="pi pi-search text-blue-500 mr-2"></i>
Filtres et Recherche
</h5>
<h:form id="formFiltres">
<div class="ui-fluid">
<div class="formgrid grid">
<div class="field col-12 md:col-4">
<p:outputLabel for="searchNom" value="Nom du document" />
<p:inputText id="searchNom" value="#{documentsBean.filtres.nom}"
placeholder="Rechercher par nom...">
<p:ajax event="keyup" update="dtDocuments @(.stats-summary)" />
</p:inputText>
</div>
<div class="field col-12 md:col-2">
<p:outputLabel for="filterType" value="Type" />
<p:selectOneMenu id="filterType" value="#{documentsBean.filtres.type}">
<f:selectItem itemLabel="Tous types" itemValue="" />
<f:selectItem itemLabel="PDF" itemValue="PDF" />
<f:selectItem itemLabel="Word" itemValue="WORD" />
<f:selectItem itemLabel="Excel" itemValue="EXCEL" />
<f:selectItem itemLabel="Image" itemValue="IMAGE" />
<f:selectItem itemLabel="Autre" itemValue="AUTRE" />
<p:ajax update="dtDocuments @(.stats-summary)" />
</p:selectOneMenu>
</div>
<div class="field col-12 md:col-2">
<p:outputLabel for="filterCategorie" value="Catégorie" />
<p:selectOneMenu id="filterCategorie" value="#{documentsBean.filtres.categorie}">
<f:selectItem itemLabel="Toutes" itemValue="" />
<f:selectItem itemLabel="Administratif" itemValue="ADMINISTRATIF" />
<f:selectItem itemLabel="Financier" itemValue="FINANCIER" />
<f:selectItem itemLabel="Juridique" itemValue="JURIDIQUE" />
<f:selectItem itemLabel="Communication" itemValue="COMMUNICATION" />
<f:selectItem itemLabel="Formation" itemValue="FORMATION" />
<p:ajax update="dtDocuments @(.stats-summary)" />
</p:selectOneMenu>
</div>
<div class="field col-12 md:col-2">
<p:outputLabel for="filterStatut" value="Statut" />
<p:selectOneMenu id="filterStatut" value="#{documentsBean.filtres.statut}">
<f:selectItem itemLabel="Tous statuts" itemValue="" />
<f:selectItem itemLabel="Brouillon" itemValue="BROUILLON" />
<f:selectItem itemLabel="Validé" itemValue="VALIDE" />
<f:selectItem itemLabel="Archivé" itemValue="ARCHIVE" />
<f:selectItem itemLabel="Expiré" itemValue="EXPIRE" />
<p:ajax update="dtDocuments @(.stats-summary)" />
</p:selectOneMenu>
</div>
<div class="field col-12 md:col-2">
<p:outputLabel for="filterAuteur" value="Auteur" />
<p:inputText id="filterAuteur" value="#{documentsBean.filtres.auteur}"
placeholder="Filtrer par auteur...">
<p:ajax event="keyup" update="dtDocuments @(.stats-summary)" />
</p:inputText>
</div>
</div>
<div class="formgrid grid">
<div class="field col-12 md:col-3">
<p:outputLabel for="filterDateDebut" value="Date début" />
<p:datePicker id="filterDateDebut" value="#{documentsBean.filtres.dateDebut}"
placeholder="Date de début">
<p:ajax update="dtDocuments @(.stats-summary)" />
</p:datePicker>
</div>
<div class="field col-12 md:col-3">
<p:outputLabel for="filterDateFin" value="Date fin" />
<p:datePicker id="filterDateFin" value="#{documentsBean.filtres.dateFin}"
placeholder="Date de fin">
<p:ajax update="dtDocuments @(.stats-summary)" />
</p:datePicker>
</div>
<div class="field col-12 md:col-3">
<p:outputLabel for="filterTaille" value="Taille max (MB)" />
<p:inputNumber id="filterTaille" value="#{documentsBean.filtres.tailleMax}"
placeholder="Taille maximum">
<p:ajax update="dtDocuments @(.stats-summary)" />
</p:inputNumber>
</div>
<div class="field col-12 md:col-3">
<p:outputLabel for="filterMots" value="Mots-clés" />
<p:inputText id="filterMots" value="#{documentsBean.filtres.motsCles}"
placeholder="Tags, mots-clés...">
<p:ajax event="keyup" update="dtDocuments @(.stats-summary)" />
</p:inputText>
</div>
</div>
<div class="flex gap-2 mt-3">
<p:commandButton value="Rechercher"
icon="pi pi-search"
styleClass="ui-button-primary ui-button-sm"
action="#{documentsBean.rechercher}"
update="dtDocuments @(.stats-summary)" />
<p:commandButton value="Réinitialiser"
icon="pi pi-refresh"
styleClass="ui-button-secondary ui-button-outlined ui-button-sm"
action="#{documentsBean.reinitialiserFiltres}"
update="@form dtDocuments @(.stats-summary)" />
</div>
</div>
</h:form>
</div>
</div>
<!-- Liste des documents avec Freya stricte -->
<div class="card surface-0 hover:surface-100 border-round-lg transition-all transition-duration-200">
<div class="p-4">
<div class="flex align-items-center justify-content-between mb-4">
<h5 class="text-900 font-bold m-0">
<i class="pi pi-file-o text-blue-500 mr-2"></i>
Documents (#{documentsBean.documentsFiltres.size()})
</h5>
<div class="flex align-items-center gap-2">
<h:form id="formActionsGroupees">
<p:commandButton value="Actions groupées"
icon="pi pi-cog"
styleClass="ui-button-outlined ui-button-warning"
onclick="PF('dlgActionsGroupees').show();"
disabled="#{empty documentsBean.documentsSelectionnes}" />
</h:form>
<div class="flex align-items-center gap-2">
<h:form>
<p:commandButton icon="pi pi-th-large"
styleClass="ui-button-rounded ui-button-outlined #{documentsBean.modeAffichage == 'GRID' ? 'ui-button-primary' : 'ui-button-secondary'}"
action="#{documentsBean.changerModeAffichage('GRID')}"
update="@form"
title="Vue grille" />
<p:commandButton icon="pi pi-list"
styleClass="ui-button-rounded ui-button-outlined #{documentsBean.modeAffichage == 'LIST' ? 'ui-button-primary' : 'ui-button-secondary'}"
action="#{documentsBean.changerModeAffichage('LIST')}"
update="@form"
title="Vue liste" />
</h:form>
</div>
<span class="text-600 text-sm stats-summary">
#{documentsBean.documentsFiltres.size()} sur #{documentsBean.tousLesDocuments.size()} documents
</span>
</div>
</div>
<!-- Vue grille -->
<div class="formgrid grid" rendered="#{documentsBean.modeAffichage == 'GRID'}">
<ui:repeat value="#{documentsBean.documentsFiltres}" var="document" varStatus="status">
<div class="field col-12 md:col-6 lg:col-4 xl:col-3">
<div class="surface-100 border-round-lg p-3 hover:surface-200 transition-colors transition-duration-150">
<div class="flex align-items-start justify-content-between mb-3">
<div class="surface-200 border-round-lg flex align-items-center justify-content-center"
style="width: 3rem; height: 3rem;">
<i class="pi #{document.typeIcon} text-#{document.typeCouleur} text-lg"></i>
</div>
<h:form>
<p:selectBooleanCheckbox value="#{documentsBean.estSelectionne(document)}"
onchange="#{documentsBean.toggleSelection(document)}" />
</h:form>
</div>
<h6 class="text-900 mb-2 line-height-3">#{document.nom}</h6>
<div class="flex align-items-center justify-content-between mb-2">
<p:tag value="#{document.categorieLibelle}" severity="#{document.categorieSeverity}" />
<span class="text-600 text-sm">#{document.taille}</span>
</div>
<div class="text-600 text-sm mb-3">
<div class="flex align-items-center mb-1">
<i class="pi pi-user mr-2"></i>
<span>#{document.auteur}</span>
</div>
<div class="flex align-items-center mb-1">
<i class="pi pi-calendar mr-2"></i>
<span>#{document.dateCreationFormatee}</span>
</div>
<div class="flex align-items-center">
<i class="pi pi-eye mr-2"></i>
<span>#{document.nombreVues} vues</span>
</div>
</div>
<div class="flex justify-content-between align-items-center">
<p:tag value="#{document.statutLibelle}" severity="#{document.statutSeverity}" />
<h:form>
<div class="flex gap-1">
<p:commandButton icon="pi pi-eye"
styleClass="ui-button-rounded ui-button-text ui-button-info ui-button-sm"
title="Prévisualiser"
onclick="PF('dlgPrevisualiser').show();">
<f:setPropertyActionListener target="#{documentsBean.documentSelectionne}" value="#{document}" />
</p:commandButton>
<p:commandButton icon="pi pi-download"
styleClass="ui-button-rounded ui-button-text ui-button-success ui-button-sm"
title="Télécharger"
action="#{documentsBean.telechargerDocument(document)}" />
<p:commandButton icon="pi pi-ellipsis-v"
styleClass="ui-button-rounded ui-button-text ui-button-secondary ui-button-sm"
title="Actions"
onclick="PF('dlgActionsDocument').show();">
<f:setPropertyActionListener target="#{documentsBean.documentSelectionne}" value="#{document}" />
</p:commandButton>
</div>
</h:form>
</div>
</div>
</div>
</ui:repeat>
</div>
<!-- Vue liste -->
<p:dataTable id="dtDocuments"
value="#{documentsBean.documentsFiltres}"
var="document"
selection="#{documentsBean.documentsSelectionnes}"
rowKey="#{document.id}"
paginator="true"
rows="15"
paginatorPosition="both"
sortMode="single"
styleClass="p-datatable-sm"
emptyMessage="Aucun document trouvé"
rendered="#{documentsBean.modeAffichage == 'LIST'}">
<p:column selectionMode="multiple" width="40" />
<p:column headerText="Document" sortBy="#{document.nom}" width="300">
<div class="flex align-items-center">
<div class="bg-#{document.typeCouleur} text-white border-round flex align-items-center justify-content-center mr-3"
style="width: 32px; height: 32px;">
<i class="pi #{document.typeIcon}"></i>
</div>
<div>
<div class="text-900 font-medium">#{document.nom}</div>
<div class="text-600 text-sm">#{document.description}</div>
</div>
</div>
</p:column>
<p:column headerText="Type" sortBy="#{document.type}" width="80">
<span class="text-900 font-bold">#{document.type}</span>
</p:column>
<p:column headerText="Catégorie" sortBy="#{document.categorie}" width="120">
<p:tag value="#{document.categorieLibelle}" severity="#{document.categorieSeverity}" />
</p:column>
<p:column headerText="Taille" sortBy="#{document.tailleBytes}" width="80">
<span class="text-900">#{document.taille}</span>
</p:column>
<p:column headerText="Auteur" sortBy="#{document.auteur}" width="120">
<div class="flex align-items-center">
<div class="border-circle bg-300 mr-2" style="width: 24px; height: 24px;"></div>
<span class="text-900">#{document.auteur}</span>
</div>
</p:column>
<p:column headerText="Date création" sortBy="#{document.dateCreation}" width="100">
<div class="text-900 text-sm">#{document.dateCreationFormatee}</div>
<div class="text-600 text-xs">#{document.dateCreationRelative}</div>
</p:column>
<p:column headerText="Vues" sortBy="#{document.nombreVues}" width="60">
<div class="text-center">
<span class="text-900 font-bold">#{document.nombreVues}</span>
</div>
</p:column>
<p:column headerText="Statut" sortBy="#{document.statut}" width="100">
<p:tag value="#{document.statutLibelle}" severity="#{document.statutSeverity}" />
</p:column>
<p:column headerText="Actions" width="150">
<h:form id="formActions#{document.id}">
<div class="flex gap-1">
<p:commandButton icon="pi pi-eye"
styleClass="ui-button-rounded ui-button-text ui-button-info"
title="Prévisualiser"
onclick="PF('dlgPrevisualiser').show();">
<f:setPropertyActionListener target="#{documentsBean.documentSelectionne}" value="#{document}" />
</p:commandButton>
<p:commandButton icon="pi pi-download"
styleClass="ui-button-rounded ui-button-text ui-button-success"
title="Télécharger"
action="#{documentsBean.telechargerDocument(document)}" />
<p:commandButton icon="pi pi-share-alt"
styleClass="ui-button-rounded ui-button-text ui-button-primary"
title="Partager"
onclick="PF('dlgPartagerDocument').show();">
<f:setPropertyActionListener target="#{documentsBean.documentSelectionne}" value="#{document}" />
</p:commandButton>
<p:commandButton icon="pi pi-pencil"
styleClass="ui-button-rounded ui-button-text ui-button-warning"
title="Modifier"
onclick="PF('dlgModifierDocument').show();">
<f:setPropertyActionListener target="#{documentsBean.documentSelectionne}" value="#{document}" />
</p:commandButton>
<p:commandButton icon="pi pi-trash"
styleClass="ui-button-rounded ui-button-text ui-button-danger"
title="Supprimer"
onclick="return confirm('Êtes-vous sûr de vouloir supprimer ce document ?');"
action="#{documentsBean.supprimerDocument(document)}" />
</div>
</h:form>
</p:column>
</p:dataTable>
</div>
</div>
<!-- Dialog Télécharger Document avec Freya stricte -->
<p:dialog header="Télécharger un Document" widgetVar="dlgTelechargerDocument" modal="true" width="600">
<h:form id="formTelechargerDocument" enctype="multipart/form-data">
<div class="ui-fluid">
<div class="formgrid grid">
<div class="field col-12">
<p:outputLabel for="uploadFile" value="Fichier" />
<p:fileUpload id="uploadFile"
mode="advanced"
dragDropSupport="true"
multiple="true"
uploadLabel="Télécharger"
cancelLabel="Annuler"
chooseLabel="Sélectionner"
sizeLimit="10000000"
fileLimit="10"
allowTypes="/\.(pdf|doc|docx|xls|xlsx|ppt|pptx|txt|jpg|jpeg|png|gif)$/" />
</div>
<div class="field col-12 md:col-6">
<p:outputLabel for="newCategorie" value="Catégorie" />
<p:selectOneMenu id="newCategorie" value="#{documentsBean.nouveauDocument.categorie}" required="true">
<f:selectItem itemLabel="Sélectionner..." itemValue="" />
<f:selectItem itemLabel="Administratif" itemValue="ADMINISTRATIF" />
<f:selectItem itemLabel="Financier" itemValue="FINANCIER" />
<f:selectItem itemLabel="Juridique" itemValue="JURIDIQUE" />
<f:selectItem itemLabel="Communication" itemValue="COMMUNICATION" />
<f:selectItem itemLabel="Formation" itemValue="FORMATION" />
<f:selectItem itemLabel="Autre" itemValue="AUTRE" />
</p:selectOneMenu>
</div>
<div class="field col-12 md:col-6">
<p:outputLabel for="newDossier" value="Dossier de destination" />
<p:selectOneMenu id="newDossier" value="#{documentsBean.nouveauDocument.dossierId}">
<f:selectItem itemLabel="Racine" itemValue="" />
<f:selectItems value="#{documentsBean.dossiersDisponibles}"
var="dossier"
itemLabel="#{dossier.cheminComplet}"
itemValue="#{dossier.id}" />
</p:selectOneMenu>
</div>
<div class="field col-12">
<p:outputLabel for="newDescription" value="Description" />
<p:inputTextarea id="newDescription" value="#{documentsBean.nouveauDocument.description}"
rows="3" placeholder="Description du document..." />
</div>
<div class="field col-12 md:col-6">
<p:outputLabel for="newMotsCles" value="Mots-clés" />
<p:inputText id="newMotsCles" value="#{documentsBean.nouveauDocument.motsCles}"
placeholder="Séparer par des virgules..." />
</div>
<div class="field col-12 md:col-6">
<p:outputLabel for="newAccesRestreint" value="Accès restreint" />
<p:selectBooleanCheckbox id="newAccesRestreint" value="#{documentsBean.nouveauDocument.accesRestreint}" />
</div>
</div>
</div>
<div class="flex gap-2 mt-3">
<p:commandButton value="Télécharger" icon="pi pi-upload"
styleClass="ui-button-success ui-button-sm"
action="#{documentsBean.telechargerNouveauDocument}"
update="@form"
oncomplete="if(!args.validationFailed) PF('dlgTelechargerDocument').hide();" />
<p:commandButton value="Annuler" icon="pi pi-times"
styleClass="ui-button-secondary ui-button-sm"
onclick="PF('dlgTelechargerDocument').hide();" type="button" />
</div>
</h:form>
</p:dialog>
<!-- Dialog Actions Document avec Freya stricte -->
<p:dialog header="Actions sur le Document" widgetVar="dlgActionsDocument" modal="true" width="400">
<h:form id="formActionsDocument">
<div class="formgrid grid">
<div class="field col-12">
<p:commandButton value="Créer une copie"
icon="pi pi-copy"
styleClass="ui-button-info ui-button-outlined ui-button-sm w-full mb-2"
action="#{documentsBean.dupliquerDocument}" />
<p:commandButton value="Déplacer vers..."
icon="pi pi-arrow-right"
styleClass="ui-button-warning ui-button-outlined ui-button-sm w-full mb-2"
onclick="PF('dlgDeplacerDocument').show();" />
<p:commandButton value="Gérer les permissions"
icon="pi pi-lock"
styleClass="ui-button-secondary ui-button-outlined ui-button-sm w-full mb-2"
onclick="PF('dlgPermissionsDocument').show();" />
<p:commandButton value="Historique des versions"
icon="pi pi-history"
styleClass="ui-button-primary ui-button-outlined ui-button-sm w-full mb-2"
action="#{documentsBean.voirHistoriqueVersions}" />
<p:commandButton value="Archiver le document"
icon="pi pi-archive"
styleClass="ui-button-help ui-button-outlined ui-button-sm w-full mb-2"
action="#{documentsBean.archiverDocument}"
rendered="#{documentsBean.documentSelectionne.statut != 'ARCHIVE'}" />
<p:commandButton value="Supprimer définitivement"
icon="pi pi-trash"
styleClass="ui-button-danger ui-button-outlined ui-button-sm w-full"
onclick="return confirm('ATTENTION: Cette action est irréversible. Confirmer la suppression ?');"
action="#{documentsBean.supprimerDefinitivement}" />
</div>
</div>
<div class="flex justify-content-end mt-3">
<p:commandButton value="Fermer" icon="pi pi-times"
styleClass="ui-button-secondary ui-button-sm"
onclick="PF('dlgActionsDocument').hide();" type="button" />
</div>
</h:form>
</p:dialog>
</div>
</ui:define>
</ui:composition>