refactor(users): eliminar columna orden, listar alfabéticamente
- Migración 012: ALTER TABLE users DROP COLUMN orden - Lookups: abogadoNames y allUsers ordenan por name ASC - API admin: create/update_user dejan de leer/escribir orden - UI admin: removida la columna "Orden" de la tabla y el input "Orden" del modal de usuario
This commit is contained in:
+2
-15
@@ -234,7 +234,6 @@ tr.is-me td { background:#FFFBEB; font-weight:500; }
|
||||
<th>Nombre completo</th>
|
||||
<th>Rol</th>
|
||||
<th>Activo</th>
|
||||
<th>Orden</th>
|
||||
<th>Último login</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
@@ -339,16 +338,8 @@ tr.is-me td { background:#FFFBEB; font-weight:500; }
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fg-row">
|
||||
<div class="fg">
|
||||
<label>Orden</label>
|
||||
<input type="number" id="f-orden" value="0" step="1">
|
||||
<div class="fg-hint">Para ordenar el dropdown manualmente.</div>
|
||||
</div>
|
||||
<div class="fg">
|
||||
<label> </label>
|
||||
<label class="fg-check"><input type="checkbox" id="f-activo" checked> Activo — puede entrar a Donna</label>
|
||||
</div>
|
||||
<div class="fg">
|
||||
<label class="fg-check"><input type="checkbox" id="f-activo" checked> Activo — puede entrar a Donna</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-foot" style="justify-content:space-between;">
|
||||
@@ -463,7 +454,6 @@ function render(){
|
||||
<td>${esc(u.name) || '<span class="placeholder">—</span>'}</td>
|
||||
<td><span class="role-pill role-${u.role}">${ROLE_LABEL[u.role] || u.role}</span></td>
|
||||
<td><span class="activo-pill activo-${u.activo}">${u.activo ? 'Activo' : 'Inactivo'}</span></td>
|
||||
<td>${u.orden}</td>
|
||||
<td class="last-login">${u.last_login_at ? fmtDate(u.last_login_at) : '<span class="placeholder">Nunca</span>'}</td>
|
||||
<td><div class="actions"><button class="btn-icon" title="Editar" onclick="openEdit(${u.id})">✎</button></div></td>
|
||||
</tr>`;
|
||||
@@ -476,7 +466,6 @@ function openCreate(){
|
||||
$('f-email').value = ''; $('f-email').readOnly = false;
|
||||
$('f-name').value = '';
|
||||
$('f-role-edit').value = 'usuario';
|
||||
$('f-orden').value = '0';
|
||||
$('f-activo').checked = true;
|
||||
$('hint-email').textContent = 'El email debe coincidir exactamente con la cuenta de Mailcow que el usuario usa para entrar.';
|
||||
$('btn-delete').style.display = 'none'; // solo en modo edición
|
||||
@@ -493,7 +482,6 @@ function openEdit(id){
|
||||
$('f-email').readOnly = false;
|
||||
$('f-name').value = u.name || '';
|
||||
$('f-role-edit').value = u.role;
|
||||
$('f-orden').value = u.orden;
|
||||
$('f-activo').checked = u.activo === 1;
|
||||
$('hint-email').textContent = (u.email||'').startsWith('placeholder-')
|
||||
? 'Reemplaza este email placeholder por el email real del abogado. Si el email real ya existe como otro usuario, mejor borra el placeholder con el botón de abajo.'
|
||||
@@ -544,7 +532,6 @@ async function saveUser(){
|
||||
email: $('f-email').value.trim().toLowerCase(),
|
||||
name: $('f-name').value.trim(),
|
||||
role: $('f-role-edit').value,
|
||||
orden: parseInt($('f-orden').value, 10) || 0,
|
||||
activo: $('f-activo').checked ? 1 : 0,
|
||||
};
|
||||
if (!payload.email) { toast('Email requerido','error'); $('f-email').focus(); return; }
|
||||
|
||||
Reference in New Issue
Block a user