Files
unionflow-client-quarkus-pr…/target/classes/META-INF/resources/pages/secure/personnel/documents.xhtml

147 lines
7.0 KiB
HTML

<!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="#{personnelBean}"/>
<ui:define name="title">Mes Documents - UnionFlow</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-folder text-green-500" />
<ui:param name="title" value="Mes Documents" />
<ui:param name="description" value="Gérez vos documents personnels et accédez aux fichiers partagés" />
<ui:define name="actions">
<h:form id="formActions">
<div class="flex gap-2">
<ui:include src="/templates/components/buttons/button-secondary.xhtml">
<ui:param name="value" value="Nouveau Dossier" />
<ui:param name="icon" value="pi pi-folder-plus" />
<ui:param name="outlined" value="true" />
</ui:include>
<ui:include src="/templates/components/buttons/button-primary.xhtml">
<ui:param name="value" value="Télécharger" />
<ui:param name="icon" value="pi pi-upload" />
<ui:param name="onclick" value="PF('uploadDialog').show();" />
</ui:include>
</div>
</h:form>
</ui:define>
</ui:include>
<!-- Statistiques stockage -->
<div class="grid">
<ui:include src="/templates/components/cards/stat-card.xhtml">
<ui:param name="value" value="#{personnelBean.documents != null ? personnelBean.documents.size() : 0}" />
<ui:param name="label" value="Documents" />
<ui:param name="subLabel" value="Personnels" />
<ui:param name="icon" value="pi pi-file" />
<ui:param name="bgColor" value="blue" />
</ui:include>
<ui:include src="/templates/components/cards/stat-card.xhtml">
<ui:param name="value" value="2.4 GB" />
<ui:param name="label" value="Utilisé" />
<ui:param name="subLabel" value="Sur 5 GB" />
<ui:param name="icon" value="pi pi-database" />
<ui:param name="bgColor" value="green" />
</ui:include>
</div>
<!-- Liste des documents -->
<div class="card">
<h5>Mes Documents</h5>
<p:dataTable value="#{personnelBean.documents}" var="document"
emptyMessage="Aucun document disponible"
styleClass="p-datatable-sm">
<p:column headerText="Nom">
<div class="flex align-items-center gap-2">
<i class="pi pi-file text-lg"></i>
<span class="font-semibold">#{document.nom}</span>
</div>
</p:column>
<p:column headerText="Type">
<span>#{document.type}</span>
</p:column>
<p:column headerText="Date">
<span>#{document.dateCreation}</span>
</p:column>
<p:column headerText="Taille">
<span>#{document.taille} bytes</span>
</p:column>
<p:column headerText="Actions" styleClass="text-center">
<div class="flex justify-content-center gap-1">
<p:commandButton icon="pi pi-eye"
title="Voir"
styleClass="p-button-sm p-button-rounded p-button-info" />
<p:commandButton icon="pi pi-download"
title="Télécharger"
styleClass="p-button-sm p-button-rounded p-button-success" />
</div>
</p:column>
</p:dataTable>
</div>
<!-- Dialog Upload -->
<h:form id="formUpload">
<p:dialog id="uploadDialog"
widgetVar="uploadDialog"
header="Télécharger des Documents"
modal="true"
resizable="false"
style="width: 90vw; max-width: 700px;">
<div class="grid">
<div class="col-12">
<div class="field">
<p:outputLabel for="dossierDestination" value="Dossier de destination" />
<p:selectOneMenu id="dossierDestination" styleClass="w-full">
<f:selectItem itemLabel="Documents Personnels" itemValue="personnel" />
<f:selectItem itemLabel="Certificats" itemValue="certificats" />
<f:selectItem itemLabel="Formations" itemValue="formations" />
</p:selectOneMenu>
</div>
</div>
<div class="col-12">
<div class="field">
<p:outputLabel for="fichierUpload" value="Fichier" />
<p:fileUpload id="fichierUpload"
mode="advanced"
multiple="true"
uploadLabel="Télécharger"
cancelLabel="Annuler"
chooseLabel="Choisir les fichiers"
sizeLimit="10485760"
allowTypes="/(\.|\/)(gif|jpe?g|png|pdf|docx?|xlsx?|pptx?)$/" />
</div>
</div>
</div>
<f:facet name="footer">
<div class="flex justify-content-end gap-2">
<p:commandButton value="Annuler"
styleClass="p-button-outlined"
onclick="PF('uploadDialog').hide();"
type="button" />
<p:commandButton value="Télécharger"
icon="pi pi-upload"
styleClass="p-button-primary"
action="#{personnelBean.actualiser}" />
</div>
</f:facet>
</p:dialog>
</h:form>
</ui:define>
</ui:composition>