feat: gestion RBAC granular, importacion sheets, filtrado de aulas virtuales y pisos, capacidad infinita y traduccion

This commit is contained in:
Carlos Tello
2026-09-03 03:08:49 -03:00
parent d1d4be0428
commit 5cc33cc7a0
138 changed files with 14419 additions and 1490 deletions
+8 -7
View File
@@ -23,7 +23,7 @@
<!-- Main Reservation Info -->
<div class="col-lg-8 mb-4">
<div class="card border-0 shadow-sm">
<div class="card-header bg-white border-0">
<div class="card-header border-0 py-3">
<div class="d-flex justify-content-between align-items-center">
<h5 class="mb-0">
<i class="bi bi-info-circle text-primary"></i> Reservation Information
@@ -54,7 +54,7 @@
<label class="text-muted small">Date & Time</label>
<p class="mb-0">
<i class="bi bi-clock"></i>
{{ reservation.start_time.strftime('%B %d, %Y') }}<br>
{{ format_date(reservation.start_time, format='long')|capitalize }}<br>
{{ reservation.start_time.strftime('%H:%M') }} - {{ reservation.end_time.strftime('%H:%M') }}
</p>
</div>
@@ -86,7 +86,7 @@
<!-- Classroom Details -->
<div class="card border-0 shadow-sm">
<div class="card-header bg-white border-0">
<div class="card-header border-0 py-3">
<h5 class="mb-0">
<i class="bi bi-building text-info"></i> Classroom Information
</h5>
@@ -124,7 +124,7 @@
<div class="col-lg-4">
<!-- Subject & Commission -->
<div class="card border-0 shadow-sm mb-4">
<div class="card-header bg-white border-0">
<div class="card-header border-0 py-3">
<h5 class="mb-0">
<i class="bi bi-book text-warning"></i> Subject & Commission
</h5>
@@ -149,7 +149,7 @@
<!-- Attendees -->
<div class="card border-0 shadow-sm mb-4">
<div class="card-header bg-white border-0">
<div class="card-header border-0 py-3">
<h5 class="mb-0">
<i class="bi bi-people text-success"></i> Attendance
</h5>
@@ -162,7 +162,8 @@
<div class="progress mt-3" style="height: 8px;">
{% set percentage = (reservation.expected_attendees / reservation.classroom.capacity * 100) %}
<div class="progress-bar bg-{% if percentage > 90 %}danger{% elif percentage > 75 %}warning{% else %}success{% endif %}"
style="width: {{ percentage }}%"></div>
role="progressbar"
style="{{ 'width: ' ~ (percentage|round(1)|string) ~ '%;' }}"></div>
</div>
<small class="text-muted">
{{ reservation.expected_attendees }} / {{ reservation.classroom.capacity }} capacity
@@ -174,7 +175,7 @@
<!-- Actions -->
<div class="card border-0 shadow-sm">
<div class="card-header bg-white border-0">
<div class="card-header border-0 py-3">
<h5 class="mb-0">
<i class="bi bi-gear text-secondary"></i> Actions
</h5>