Files

123 lines
6.4 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="#{configurationBean}"/>
<ui:define name="title">Sauvegarde et Restauration - UnionFlow</ui:define>
<ui:define name="content">
<h:form id="formSauvegarde">
<p:messages id="messages" showDetail="true" closable="true"/>
<!-- En-tête -->
<div class="card mb-3">
<div class="flex justify-content-between align-items-center flex-column md:flex-row">
<div>
<h3 class="m-0">
<i class="pi pi-database text-green-500 mr-2"></i>
Sauvegarde et Restauration
</h3>
<p class="text-600 m-0 mt-2">
Gérez les sauvegardes et restaurez la base de données
</p>
</div>
<div class="flex gap-2 mt-2 md:mt-0">
<p:commandButton value="Créer une sauvegarde"
icon="pi pi-save"
styleClass="ui-button-success"
action="#{configurationBean.creerSauvegarde}"
update="@form"/>
</div>
</div>
</div>
<!-- Information système -->
<div class="card mb-3">
<h5 class="mb-3">État du Système</h5>
<div class="grid">
<div class="col-12 md:col-3">
<div class="surface-100 border-round p-3">
<div class="text-600 text-sm mb-1">Dernière sauvegarde</div>
<div class="font-bold text-lg">#{configurationBean.derniereSauvegarde}</div>
</div>
</div>
<div class="col-12 md:col-3">
<div class="surface-100 border-round p-3">
<div class="text-600 text-sm mb-1">Fréquence</div>
<div class="font-bold text-lg">#{configurationBean.frequenceSauvegarde}</div>
</div>
</div>
<div class="col-12 md:col-3">
<div class="surface-100 border-round p-3">
<div class="text-600 text-sm mb-1">Rétention</div>
<div class="font-bold text-lg">#{configurationBean.retentionSauvegardes} jours</div>
</div>
</div>
<div class="col-12 md:col-3">
<div class="surface-100 border-round p-3">
<div class="text-600 text-sm mb-1">Temps d'activité</div>
<div class="font-bold text-lg text-green-500">#{configurationBean.tempsActivite}</div>
</div>
</div>
</div>
</div>
<!-- Liste des sauvegardes -->
<div class="card">
<h5 class="mb-3">Sauvegardes Disponibles</h5>
<p:dataTable id="dtSauvegardes"
var="sauvegarde"
value="#{configurationBean.sauvegardes}"
paginator="true"
rows="10"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,25">
<p:column headerText="Date" sortBy="#{sauvegarde.date}">
<h:outputText value="#{sauvegarde.date}">
<f:convertDateTime pattern="dd/MM/yyyy HH:mm"/>
</h:outputText>
</p:column>
<p:column headerText="Taille" sortBy="#{sauvegarde.taille}">
<div class="font-medium">#{sauvegarde.taille}</div>
</p:column>
<p:column headerText="Type" sortBy="#{sauvegarde.type}">
<p:tag value="#{sauvegarde.type}" severity="info"/>
</p:column>
<p:column headerText="Statut" sortBy="#{sauvegarde.statut}">
<p:tag value="#{sauvegarde.statut}"
severity="#{sauvegarde.statutSeverity}"
icon="pi #{sauvegarde.statutIcon}"/>
</p:column>
<p:column headerText="Actions" style="width:200px">
<div class="flex gap-1">
<p:commandButton icon="pi pi-download"
styleClass="ui-button-rounded ui-button-text ui-button-info"
action="#{configurationBean.telechargerSauvegarde(sauvegarde)}"
title="Télécharger"/>
<p:commandButton icon="pi pi-refresh"
styleClass="ui-button-rounded ui-button-text ui-button-success"
action="#{configurationBean.restaurerSauvegarde(sauvegarde)}"
title="Restaurer"
onclick="return confirm('Êtes-vous sûr de vouloir restaurer cette sauvegarde ?');"/>
<p:commandButton icon="pi pi-trash"
styleClass="ui-button-rounded ui-button-text ui-button-danger"
action="#{configurationBean.supprimerSauvegarde(sauvegarde)}"
title="Supprimer"/>
</div>
</p:column>
</p:dataTable>
</div>
</h:form>
</ui:define>
</ui:composition>