feat: completar fases 3 y 4 del roadmap mvp (gradebook, drag-and-drop, impersonacion) y actualizar README

This commit is contained in:
2026-09-23 12:10:31 -03:00
parent 4ebc5df4fd
commit 7ad4e3f099
38 changed files with 3804 additions and 390 deletions
+7 -3
View File
@@ -3,10 +3,10 @@
{% block title %}Add Classroom - Edu-Space Admin{% endblock %}
{% block content %}
<div class="container-fluid pt-5 mt-4">
<div class="container-fluid px-0">
<div class="row">
<div class="col-12">
<div class="d-flex justify-content-between align-items-center mb-4">
<div class="d-flex justify-content-between align-items-center mb-3">
<div>
<nav aria-label="breadcrumb">
<ol class="breadcrumb mb-1 small">
@@ -171,10 +171,14 @@
{% endblock %}
{% block extra_js %}
<script type="application/json" id="buildingFloorsData">
{{ building_floors|tojson|safe }}
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Map of existing floors per building
var buildingFloors = {{ building_floors|tojson }};
var buildingFloorsDataEl = document.getElementById('buildingFloorsData');
var buildingFloors = buildingFloorsDataEl ? JSON.parse(buildingFloorsDataEl.textContent || '{}') : {};
var buildingSelect = document.getElementById('building_id');
var newBuildingContainer = document.getElementById('newBuildingContainer');
+7 -3
View File
@@ -3,9 +3,9 @@
{% block title %}Edit Classroom - {{ classroom.code_display }}{% endblock %}
{% block content %}
<div class="container-fluid pt-5 mt-4">
<div class="container-fluid px-0">
<!-- Header -->
<div class="row mb-4 align-items-center">
<div class="row mb-3 align-items-center">
<div class="col-md-7">
<nav aria-label="breadcrumb">
<ol class="breadcrumb mb-1 small">
@@ -165,9 +165,13 @@
{% endblock %}
{% block extra_js %}
<script type="application/json" id="buildingFloorsData">
{{ building_floors|tojson|safe }}
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
var buildingFloors = {{ building_floors|tojson }};
var buildingFloorsDataEl = document.getElementById('buildingFloorsData');
var buildingFloors = buildingFloorsDataEl ? JSON.parse(buildingFloorsDataEl.textContent || '{}') : {};
var buildingSelect = document.getElementById('building_id');
var newBuildingContainer = document.getElementById('newBuildingContainer');
+1 -1
View File
@@ -129,7 +129,7 @@
{% endblock %}
{% block content %}
<div class="container-fluid pt-5 mt-4">
<div class="container-fluid px-0">
<!-- 1. Encabezado y Selector de Entorno (Presencial vs Virtual) -->
<div class="row mb-3">