feat: version 2.17.0 -- Equipos: pestaña Usuarios (sesion, usuarios y grupos locales)
Migracion 027 (device_accounts). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "project-linkedcorp-frontend",
|
||||
"private": true,
|
||||
"version": "2.16.5",
|
||||
"version": "2.17.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -210,6 +210,13 @@ export const messages = {
|
||||
eq_share_remove: 'Quitar acceso',
|
||||
eq_share_remove_title: 'Quitar acceso a Equipos',
|
||||
eq_share_remove_msg: 'dejará de ver el menú Equipos.',
|
||||
eq_tab_users: 'Usuarios',
|
||||
eq_users_session: 'Con sesión iniciada',
|
||||
eq_users_local_count: 'Usuarios locales (total)',
|
||||
eq_groups_local_count: 'Grupos locales (total)',
|
||||
eq_users_local: 'Usuarios locales de Windows',
|
||||
eq_groups_local: 'Grupos locales',
|
||||
eq_users_hint: 'Solo cuentas locales del equipo: no incluye usuarios de dominio ni de Microsoft 365, e incluye cuentas de sistema o de programas. Los grupos no indican a qué usuario pertenecen.',
|
||||
eq_tab_summary: 'Resumen',
|
||||
eq_show_components: 'Mostrar actualizaciones, drivers y componentes del sistema',
|
||||
eq_tab_devices: 'Equipos',
|
||||
@@ -685,6 +692,13 @@ export const messages = {
|
||||
eq_share_remove: 'Remove access',
|
||||
eq_share_remove_title: 'Remove access to Devices',
|
||||
eq_share_remove_msg: 'will no longer see the Devices menu.',
|
||||
eq_tab_users: 'Users',
|
||||
eq_users_session: 'Signed in',
|
||||
eq_users_local_count: 'Local users (total)',
|
||||
eq_groups_local_count: 'Local groups (total)',
|
||||
eq_users_local: 'Windows local users',
|
||||
eq_groups_local: 'Local groups',
|
||||
eq_users_hint: 'Local accounts of the machine only: domain and Microsoft 365 users are not included, and system or application accounts are. Groups do not show which user belongs to them.',
|
||||
eq_tab_summary: 'Summary',
|
||||
eq_show_components: 'Show updates, drivers and system components',
|
||||
eq_tab_devices: 'Devices',
|
||||
|
||||
@@ -103,6 +103,7 @@ function DeviceDetail({ id, onClose, onChanged, canEdit }) {
|
||||
|
||||
const tabs = [
|
||||
{ key: 'general', label: t('eq_tab_general') },
|
||||
{ key: 'users', label: t('eq_tab_users'), count: device.accounts.filter((a) => a.kind === 'local_user').length },
|
||||
{ key: 'hardware', label: t('eq_tab_hardware') },
|
||||
{ key: 'network', label: t('eq_tab_network'), count: device.networks.length },
|
||||
{ key: 'software', label: t('eq_tab_software'), count: device.software.filter((r) => showComponents || !r.is_component).length },
|
||||
@@ -152,6 +153,16 @@ function DeviceDetail({ id, onClose, onChanged, canEdit }) {
|
||||
<SimpleTable empty={emptyText} rows={rows} columns={columns} />
|
||||
</>
|
||||
);
|
||||
const sessionNames = device.accounts.filter((a) => a.kind === 'session').map((a) => (a.domain ? `${a.domain}\\${a.name}` : a.name));
|
||||
const allLocalUsers = device.accounts.filter((a) => a.kind === 'local_user');
|
||||
const allLocalGroups = device.accounts.filter((a) => a.kind === 'local_group');
|
||||
const userRows = [
|
||||
[t('eq_users_session'), val(sessionNames.join(', ')), sessionNames.join(' ')],
|
||||
[t('eq_users_local_count'), String(allLocalUsers.length), String(allLocalUsers.length)],
|
||||
[t('eq_groups_local_count'), String(allLocalGroups.length), String(allLocalGroups.length)],
|
||||
];
|
||||
const localUsers = only(allLocalUsers, (r) => [r.name, r.sid]);
|
||||
const localGroups = only(allLocalGroups, (r) => [r.name, r.sid]);
|
||||
const networks = only(device.networks, (r) => [r.description, r.ip, r.mask, r.gateway, r.mac, r.status]);
|
||||
const software = only(device.software.filter((r) => showComponents || !r.is_component), (r) => [r.name, r.version, r.publisher]);
|
||||
const changes = only(device.changes, (r) => [fmtDate(r.created_at), t(`eq_change_${r.change_type}`), r.field, r.old_value, r.new_value]);
|
||||
@@ -208,6 +219,20 @@ function DeviceDetail({ id, onClose, onChanged, canEdit }) {
|
||||
</>
|
||||
)}
|
||||
|
||||
{tab === 'users' && (
|
||||
<>
|
||||
{showRows(userRows)}
|
||||
{hwSection(t('eq_users_local'), localUsers, [
|
||||
{ key: 'name', label: t('common_name') }, { key: 'sid', label: 'SID' },
|
||||
])}
|
||||
{hwSection(t('eq_groups_local'), localGroups, [
|
||||
{ key: 'name', label: t('common_name') }, { key: 'sid', label: 'SID' },
|
||||
])}
|
||||
{q && showRows(userRows).length + localUsers.length + localGroups.length === 0 && <div className="text-muted">{t('common_search_no_results')}</div>}
|
||||
<div className="text-muted" style={{ fontSize: '.72rem', marginTop: 12 }}>{t('eq_users_hint')}</div>
|
||||
</>
|
||||
)}
|
||||
|
||||
{tab === 'hardware' && (
|
||||
<>
|
||||
{showRows(hwRows)}
|
||||
|
||||
Reference in New Issue
Block a user