100 lines
4.5 KiB
HTML
100 lines
4.5 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}Estado del Sistema - ARCH{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="container my-5">
|
|
<h1 class="mb-4">Estado del Sistema</h1>
|
|
|
|
<div class="row mb-4">
|
|
<div class="col-md-6">
|
|
<div class="card h-100">
|
|
<div class="card-header bg-primary text-white">
|
|
<h5 class="card-title mb-0">Información del Sistema</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<dl class="row mb-0">
|
|
<dt class="col-sm-4">Versión Python:</dt>
|
|
<dd class="col-sm-8">{{ stats.python_version }}</dd>
|
|
|
|
<dt class="col-sm-4">Plataforma:</dt>
|
|
<dd class="col-sm-8">{{ stats.platform }}</dd>
|
|
|
|
<dt class="col-sm-4">Proyectos:</dt>
|
|
<dd class="col-sm-8">{{ stats.projects_count }}</dd>
|
|
|
|
<dt class="col-sm-4">Hora del servidor:</dt>
|
|
<dd class="col-sm-8">{{ now.strftime('%Y-%m-%d %H:%M:%S') }}</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="card h-100">
|
|
<div class="card-header bg-success text-white">
|
|
<h5 class="card-title mb-0">Uso de Almacenamiento</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="mb-3">
|
|
<h4 class="mb-0">{{ (stats.storage_size / (1024*1024))|round(2) }} MB</h4>
|
|
<small class="text-muted">Espacio total utilizado</small>
|
|
</div>
|
|
|
|
<div class="progress mb-4" style="height: 20px;">
|
|
<div class="progress-bar" role="progressbar"
|
|
style="width: {{ (stats.storage_size / (1024*1024*1024))|float * 100 }}%;"
|
|
aria-valuenow="{{ (stats.storage_size / (1024*1024*1024))|float * 100 }}"
|
|
aria-valuemin="0" aria-valuemax="100">
|
|
{{ ((stats.storage_size / (1024*1024*1024))|float * 100)|round(1) }}%
|
|
</div>
|
|
</div>
|
|
|
|
<dl class="row mb-0">
|
|
<dt class="col-sm-4">Tamaño de logs:</dt>
|
|
<dd class="col-sm-8">{{ (stats.log_size / 1024)|round(2) }} KB</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="card">
|
|
<div class="card-header bg-warning">
|
|
<h5 class="card-title mb-0">Mantenimiento del Sistema</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<h5>Limpieza de Logs</h5>
|
|
<p>Elimina los archivos de log rotados para liberar espacio.</p>
|
|
|
|
<form method="POST" action="{{ url_for('admin.clear_logs') }}"
|
|
onsubmit="return confirm('¿Está seguro que desea eliminar los logs rotados?');">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
|
|
<button type="submit" class="btn btn-outline-danger">
|
|
<i class="fas fa-trash"></i> Limpiar Logs Rotados
|
|
</button>
|
|
</form>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<h5>Reinicializar Valores Predeterminados</h5>
|
|
<p>Restablece los tipos de archivo y esquemas predeterminados.</p>
|
|
|
|
<a href="{{ url_for('admin.initialize') }}"
|
|
class="btn btn-outline-warning"
|
|
onclick="return confirm('¿Está seguro que desea reinicializar los valores predeterminados?');">
|
|
<i class="fas fa-sync-alt"></i> Reinicializar Valores
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|