feat: permite rechazar (eliminar) usuarios en pending_verification

Antes solo se podia rechazar un usuario en pending_approval. Una cuenta
autorregistrada que nunca confirmo su correo quedaba en
pending_verification para siempre, sin ninguna accion disponible en
Usuarios para quitarla.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Milton Gonzalez
2026-09-10 16:00:00 -05:00
parent 5b899256b1
commit f8b80d9bb4
6 changed files with 32 additions and 16 deletions
+15 -11
View File
@@ -132,19 +132,23 @@ export default function UsersPanel() {
getSearchHaystack={(u) => `${u.name} ${u.email} ${u.role_name} ${u.department_name || ''}`}
getRowKey={(u) => u.id}
onRowClick={canManage ? startEdit : undefined}
rowActions={canManage ? (u) => (
u.status === 'pending_approval'
? [
rowActions={canManage ? (u) => {
if (u.status === 'pending_approval') {
return [
{ label: t('user_approve'), icon: Check, onClick: () => startApprove(u) },
{ label: t('user_reject'), icon: XIcon, danger: true, onClick: () => confirmReject(u) },
]
: [
{ label: t('common_edit'), onClick: () => startEdit(u) },
u.is_active
? { label: t('common_inactive'), icon: UserX, danger: true, onClick: () => toggleActive(u) }
: { label: t('common_active'), icon: UserCheck, onClick: () => toggleActive(u) },
]
) : undefined}
];
}
if (u.status === 'pending_verification') {
return [{ label: t('user_reject'), icon: XIcon, danger: true, onClick: () => confirmReject(u) }];
}
return [
{ label: t('common_edit'), onClick: () => startEdit(u) },
u.is_active
? { label: t('common_inactive'), icon: UserX, danger: true, onClick: () => toggleActive(u) }
: { label: t('common_active'), icon: UserCheck, onClick: () => toggleActive(u) },
];
} : undefined}
/>
<DetailPopup open={editing} title={selected ? t('common_edit') : t('user_new')} onClose={() => setEditing(false)} width={560} height={440}>