Fixes and improvements to main.php, test.php, c_login.php, reposicion_profesor_materias.php, puesto.php, action_usuarios_insert.php, periodos.php, reposicion_autoriza.php, profesor_faltas.php

This commit is contained in:
2024-01-22 16:12:37 +00:00
parent 8b9ef01a36
commit 113ac2aedd
17 changed files with 366 additions and 156 deletions

View File

@@ -66,21 +66,25 @@
:aria-controls="`puesto-${puesto.puesto_id}`">
{{puesto.nombre}}
</button>
<?php if ($user->acceso == 'w') { ?>
<button type="button" class="btn btn-outline-light" data-target="#eliminar-puesto"
data-toggle="modal" @click="to_delete = puesto">
<i class="fas fa-trash-alt"></i>
</button>
<?php } ?>
</div>
<div :id="`puesto-${puesto.puesto_id}`" class="collapse"
:aria-labelledby="`puesto-${puesto.nombre}`" data-parent="#puestos">
<div class="card-body">
<!-- Encargado -->
<div class="form-row justify-content-around align-items-center mb-2">
<label :for="`encargado-${puesto.puesto_id}`" class="col-2 barra-right">
Encargado del área
<!-- $user->lectura && $user->escritura && $user->none -->
</label>
<div id="encargados" class="datalist datalist-select mb-1 col-9">
<div id="encargados" class="datalist datalist-select mb-1 col-9 <?php if ($user->acceso != 'w') { ?>disabled<?php } ?>">
<div class="datalist-input" v-if="puesto.encargado">
({{puesto.encargado.usuario_clave}}) {{ puesto.encargado.usuario_nombre }}
</div>
@@ -101,6 +105,7 @@
</div>
<hr>
<?php if ($user->acceso == 'w') { ?>
<div class="form-row justify-content-around align-items-center mb-2"
v-show="carreras.length">
<label :for="`carrera-${puesto.puesto_id}`" class="col-2 barra-right">
@@ -125,6 +130,7 @@
<input type="hidden" id="carrera_id" name="id">
</div>
</div>
<div class="form-row justify-content-around align-items-center"
v-scope="{to_add_materia: null}">
<label :for="`materias-${puesto.puesto_id}`" class="col-2 barra-right">
@@ -149,17 +155,24 @@
v-for="materia in materias.filter(m => selected_carrera_id == 0 || m.carrera_id == selected_carrera_id).filter(m => !puesto.materias.find(p => p.materia_id == m.materia_id))"
:value="`${materia.clave_materia} - ${materia.materia_nombre}`">
</datalist>
<?php } ?>
<hr>
<style>
.list-group-item-action:hover {
<?php if ($user->acceso == 'w') { ?>
background-color: rgba(255, 0, 0, 0.1);
/* Light red tint on hover for better feedback */
<?php } else { ?>
background-color: rgba(0, 0, 255, 0.1);
<?php } ?>
}
.list-group-item-action:active {
<?php if ($user->acceso == 'w') { ?>
background-color: rgba(255, 0, 0, 0.2);
/* Slightly darker red tint when active */
<?php } else { ?>
background-color: rgba(0, 0, 255, 0.2);
<?php } ?>
}
</style>
<fieldset class="container mt-4">
@@ -172,15 +185,19 @@
style="max-height: 250px; overflow-y: auto;">
<li class="list-group-item list-group-item-action d-flex justify-content-between align-items-center"
v-for="materia in puesto.materias" :key="materia.materia_id"
<?php if ($user->acceso == 'w') { ?>
@click="puesto.materias.splice(puesto.materias.indexOf(materia), 1); materias.push(materia)"
<?php } ?>
style="cursor: pointer; transition: background-color 0.3s ease;">
<span class="flex-grow-1">
{{materia.clave_materia}} - {{materia.materia_nombre}}
</span>
<?php if ($user->acceso == 'w') { ?>
<!-- Delete icon - assuming using FontAwesome, replace with your icon system if different -->
<i class="fas fa-trash-alt text-danger ml-3" style="cursor: pointer;"></i>
<?php } ?>
</li>
</ul>
@@ -192,13 +209,15 @@
</div>
<div class="card-footer d-flex justify-content-between align-items-center">
<!-- <small class="text-muted">Última actualización: {{ puesto.lastUpdate | formatDate }}</small> -->
<button type="button" class="btn btn-primary"
@click="actualizarPuesto(puesto.puesto_id, puesto.materias, puesto.encargado?.usuario_id); window.scrollTo(0, 0); setTimeout(() => window.scrollTo(0, 0), 100);">
{{ puesto.encargado ? 'Guardar cambios' : 'Guardar sin encargado' }}
</button>
</div>
<?php if ($user->acceso == 'w') { ?>
<div class="card-footer d-flex justify-content-between align-items-center">
<!-- <small class="text-muted">Última actualización: {{ puesto.lastUpdate | formatDate }}</small> -->
<button type="button" class="btn btn-primary"
@click="actualizarPuesto(puesto.puesto_id, puesto.materias, puesto.encargado?.usuario_id); window.scrollTo(0, 0); setTimeout(() => window.scrollTo(0, 0), 100);">
{{ puesto.encargado ? 'Guardar cambios' : 'Guardar sin encargado' }}
</button>
</div>
<?php } ?>
</div>
</div>
</div>