fix(classrooms): corregir renderizado de aulas presenciales, metricas de ocupacion y asignacion de cursadas
This commit is contained in:
@@ -325,16 +325,16 @@
|
||||
<div class="row g-1 text-center">
|
||||
<!-- Día -->
|
||||
<div class="col-4">
|
||||
<a href="/schedule/list_reservations"
|
||||
<a href="/schedule/list_reservations?classroom_id={{ classroom.id }}"
|
||||
class="d-block p-1 text-decoration-none border metric-pill metric-{% if metrics.day_pct > 80 %}high{% elif metrics.day_pct > 40 %}medium{% elif metrics.day_pct > 0 %}low{% else %}zero{% endif %}"
|
||||
title="Ocupación Hoy: {{ metrics.day_count }} clases registradas">
|
||||
<div class="metric-label">Hoy</div>
|
||||
title="Ocupación Día Operativo: {{ metrics.day_count }} clases registradas">
|
||||
<div class="metric-label">Día</div>
|
||||
<div class="metric-val">{{ metrics.day_pct }}%</div>
|
||||
</a>
|
||||
</div>
|
||||
<!-- Semana -->
|
||||
<div class="col-4">
|
||||
<a href="/schedule/list_reservations"
|
||||
<a href="/schedule/list_reservations?classroom_id={{ classroom.id }}"
|
||||
class="d-block p-1 text-decoration-none border metric-pill metric-{% if metrics.week_pct > 80 %}high{% elif metrics.week_pct > 40 %}medium{% elif metrics.week_pct > 0 %}low{% else %}zero{% endif %}"
|
||||
title="Ocupación Semana: {{ metrics.week_count }} clases registradas">
|
||||
<div class="metric-label">Semana</div>
|
||||
@@ -343,30 +343,65 @@
|
||||
</div>
|
||||
<!-- Mes -->
|
||||
<div class="col-4">
|
||||
<a href="/schedule/list_reservations"
|
||||
<a href="/schedule/list_reservations?classroom_id={{ classroom.id }}"
|
||||
class="d-block p-1 text-decoration-none border metric-pill metric-{% if metrics.month_pct > 80 %}high{% elif metrics.month_pct > 40 %}medium{% elif metrics.month_pct > 0 %}low{% else %}zero{% endif %}"
|
||||
title="Ocupación Mes: {{ metrics.month_count }} clases registradas">
|
||||
title="Ocupación Cuatrimestre: {{ metrics.month_count }} clases registradas">
|
||||
<div class="metric-label">Mes</div>
|
||||
<div class="metric-val">{{ metrics.month_pct }}%</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Clases y Materias Asignadas en esta Aula -->
|
||||
<div class="mt-2 mb-2 p-2 rounded bg-body border" style="font-size: 0.75rem;">
|
||||
<div class="d-flex justify-content-between align-items-center mb-1">
|
||||
<span class="fw-semibold text-body">
|
||||
<i class="bi bi-journal-bookmark me-1 text-primary"></i>Cursadas Asignadas
|
||||
</span>
|
||||
<span class="badge bg-primary-subtle text-primary border" style="font-size: 0.68rem;">
|
||||
{{ classroom.total_classes or 0 }} clases
|
||||
</span>
|
||||
</div>
|
||||
{% if classroom.assigned_commissions and (classroom.assigned_commissions|length > 0) %}
|
||||
<div class="d-flex flex-column gap-1 mt-1">
|
||||
{% for comm in classroom.assigned_commissions %}
|
||||
<div class="d-flex justify-content-between align-items-center text-truncate py-1 px-2 rounded bg-body-tertiary border" style="font-size: 0.7rem;">
|
||||
<span class="text-truncate fw-semibold me-1" title="{{ comm.subject_name }}">
|
||||
<i class="bi bi-check2-circle text-success me-1"></i>{{ comm.subject_code or comm.commission_code }}: {{ comm.subject_name }}
|
||||
</span>
|
||||
<span class="badge bg-secondary-subtle text-secondary font-monospace flex-shrink-0" style="font-size: 0.65rem;">
|
||||
{{ comm.shift }}
|
||||
</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="text-muted text-center py-2 fst-italic" style="font-size: 0.7rem;">
|
||||
<i class="bi bi-calendar-x me-1"></i>Sin cursadas asignadas en el cronograma
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Footer con Botones Compactos -->
|
||||
<div class="pt-2 border-top d-flex justify-content-between align-items-center">
|
||||
<div class="btn-group btn-group-sm">
|
||||
<a href="/classrooms/view_classroom"
|
||||
class="btn btn-outline-primary py-0 px-2" title="Ver Ficha" style="font-size: 0.75rem;">
|
||||
<a href="/classrooms/view_classroom?id={{ classroom.id }}"
|
||||
class="btn btn-outline-primary py-0 px-2" title="Ver Ficha y Lista de Clases" style="font-size: 0.75rem;">
|
||||
<i class="bi bi-eye me-1"></i>Ficha
|
||||
</a>
|
||||
<a href="/classrooms/edit_classroom"
|
||||
<a href="/schedule/calendar_view?classroom_id={{ classroom.id }}"
|
||||
class="btn btn-outline-info py-0 px-2" title="Ver Horarios en Calendario" style="font-size: 0.75rem;">
|
||||
<i class="bi bi-calendar3 me-1"></i>Horarios
|
||||
</a>
|
||||
<a href="/classrooms/edit_classroom?id={{ classroom.id }}"
|
||||
class="btn btn-outline-secondary py-0 px-2" title="Editar Aula" style="font-size: 0.75rem;">
|
||||
<i class="bi bi-pencil"></i>
|
||||
</a>
|
||||
</div>
|
||||
<form method="POST" action="/classrooms/toggle_classroom" class="d-inline mb-0">
|
||||
<input type="hidden" name="classroom_id" value="{{ classroom.id }}">
|
||||
<button type="submit" class="btn btn-sm py-0 px-2 {% if classroom.is_active %}btn-outline-warning{% else %}btn-outline-success{% endif %}"
|
||||
title="{% if classroom.is_active %}Desactivar{% else %}Activar{% endif %}" style="font-size: 0.75rem;">
|
||||
{% if classroom.is_active %}
|
||||
@@ -395,7 +430,7 @@
|
||||
<th>Edificio / Sede</th>
|
||||
<th>Piso</th>
|
||||
<th>Capacidad</th>
|
||||
<th>Equipamiento</th>
|
||||
<th>Cursadas Asignadas</th>
|
||||
<th>Ocupación (D / S / M)</th>
|
||||
<th>Estado</th>
|
||||
<th class="text-end pe-3">Acciones</th>
|
||||
@@ -406,7 +441,7 @@
|
||||
{% set metrics = (occupancy_metrics[classroom.id] if occupancy_metrics else null) or {'day_pct': 0, 'day_count': 0, 'week_pct': 0, 'week_count': 0, 'month_pct': 0, 'month_count': 0} %}
|
||||
<tr>
|
||||
<td class="ps-3">
|
||||
<a href="/classrooms/view_classroom" class="fw-bold text-primary text-decoration-none">
|
||||
<a href="/classrooms/view_classroom?id={{ classroom.id }}" class="fw-bold text-primary text-decoration-none">
|
||||
<i class="bi bi-door-open me-1"></i>{{ classroom.code }}
|
||||
</a>
|
||||
{% if classroom.description %}
|
||||
@@ -427,9 +462,14 @@
|
||||
<strong class="text-body">{{ classroom.capacity }}</strong> <span class="small text-muted">asientos</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="badge bg-body-tertiary text-body border">
|
||||
<i class="bi bi-tools me-1"></i>{{ classroom.resources|length if classroom.resources else 0 }} recursos
|
||||
<span class="badge bg-primary-subtle text-primary border">
|
||||
<i class="bi bi-calendar-event me-1"></i>{{ classroom.total_classes or 0 }} clases
|
||||
</span>
|
||||
{% if classroom.assigned_commissions and (classroom.assigned_commissions|length > 0) %}
|
||||
<small class="text-muted d-block mt-1 font-monospace" style="font-size: 0.7rem;">
|
||||
{{ classroom.assigned_commissions|length }} comisión(es)
|
||||
</small>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center gap-1">
|
||||
@@ -451,15 +491,19 @@
|
||||
</td>
|
||||
<td class="text-end pe-3">
|
||||
<div class="btn-group btn-group-sm">
|
||||
<a href="/classrooms/view_classroom" class="btn btn-outline-primary" title="Ver Detalles">
|
||||
<a href="/classrooms/view_classroom?id={{ classroom.id }}" class="btn btn-outline-primary" title="Ver Ficha">
|
||||
<i class="bi bi-eye"></i>
|
||||
</a>
|
||||
<a href="/schedule/calendar_view?classroom_id={{ classroom.id }}" class="btn btn-outline-info" title="Ver Horarios">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</a>
|
||||
{% if user.has_permission('classrooms', 'read_write') %}
|
||||
<a href="/classrooms/edit_classroom" class="btn btn-outline-secondary" title="Editar">
|
||||
<a href="/classrooms/edit_classroom?id={{ classroom.id }}" class="btn btn-outline-secondary" title="Editar">
|
||||
<i class="bi bi-pencil"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
<form method="POST" action="/classrooms/toggle_classroom" class="d-inline mb-0">
|
||||
<input type="hidden" name="classroom_id" value="{{ classroom.id }}">
|
||||
<button type="submit" class="btn btn-outline-{% if classroom.is_active %}warning{% else %}success{% endif %}"
|
||||
title="{% if classroom.is_active %}Desactivar{% else %}Activar{% endif %}">
|
||||
<i class="bi bi-{% if classroom.is_active %}pause{% else %}play{% endif %}"></i>
|
||||
|
||||
Reference in New Issue
Block a user