feat(sidebar): Configuracion visible para auxiliar y cliente
- Sidebars/topnav: agrega 'auxiliar' y 'cliente' a la opción Configuracion - /configuracion/page.tsx: auxiliar y cliente solo ven Información de Usuario, Información de Empresa y Seguridad (cambio de contraseña). Todo lo demás (FIEL, Obligaciones, Notificaciones, Facturación, CSD) queda restringido a owner/cfo/supervisor
This commit is contained in:
@@ -379,6 +379,7 @@ export default function ConfiguracionPage() {
|
|||||||
const empresaNombre = viewingTenantName || user?.tenantName;
|
const empresaNombre = viewingTenantName || user?.tenantName;
|
||||||
const isGlobalAdmin = isGlobalAdminRfc(user?.tenantRfc, user?.role, user?.platformRoles);
|
const isGlobalAdmin = isGlobalAdminRfc(user?.tenantRfc, user?.role, user?.platformRoles);
|
||||||
const isDespacho = isDespachoTenant(user?.tenantRfc);
|
const isDespacho = isDespachoTenant(user?.tenantRfc);
|
||||||
|
const showFullConfig = ['owner', 'cfo', 'supervisor'].includes(user?.role || '');
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -456,6 +457,8 @@ export default function ConfiguracionPage() {
|
|||||||
)
|
)
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
{showFullConfig && (
|
||||||
|
<>
|
||||||
{/* SAT Configuration */}
|
{/* SAT Configuration */}
|
||||||
<Link href="/configuracion/sat">
|
<Link href="/configuracion/sat">
|
||||||
<Card className="hover:border-primary/50 transition-colors cursor-pointer">
|
<Card className="hover:border-primary/50 transition-colors cursor-pointer">
|
||||||
@@ -518,7 +521,7 @@ export default function ConfiguracionPage() {
|
|||||||
</Card>
|
</Card>
|
||||||
</Link>
|
</Link>
|
||||||
|
|
||||||
{/* Preferencias de Facturación (auto-emisión de pagos de suscripción) */}
|
{/* Preferencias de Facturación */}
|
||||||
<Link href="/configuracion/facturacion">
|
<Link href="/configuracion/facturacion">
|
||||||
<Card className="hover:border-primary/50 transition-colors cursor-pointer">
|
<Card className="hover:border-primary/50 transition-colors cursor-pointer">
|
||||||
<CardHeader>
|
<CardHeader>
|
||||||
@@ -538,26 +541,6 @@ export default function ConfiguracionPage() {
|
|||||||
</Card>
|
</Card>
|
||||||
</Link>
|
</Link>
|
||||||
|
|
||||||
{/* Seguridad */}
|
|
||||||
<Link href="/configuracion/seguridad">
|
|
||||||
<Card className="hover:border-primary/50 transition-colors cursor-pointer">
|
|
||||||
<CardHeader>
|
|
||||||
<CardTitle className="flex items-center gap-2 text-base">
|
|
||||||
<KeyRound className="h-4 w-4" />
|
|
||||||
Seguridad
|
|
||||||
</CardTitle>
|
|
||||||
<CardDescription>
|
|
||||||
Cambia tu contraseña y gestiona las sesiones activas de tu cuenta
|
|
||||||
</CardDescription>
|
|
||||||
</CardHeader>
|
|
||||||
<CardContent>
|
|
||||||
<p className="text-sm text-muted-foreground">
|
|
||||||
Actualiza tu contraseña o cierra todas las sesiones activas si sospechas un acceso no autorizado.
|
|
||||||
</p>
|
|
||||||
</CardContent>
|
|
||||||
</Card>
|
|
||||||
</Link>
|
|
||||||
|
|
||||||
{/* CSD / Facturapi */}
|
{/* CSD / Facturapi */}
|
||||||
<Link href="/configuracion/csd">
|
<Link href="/configuracion/csd">
|
||||||
<Card className="hover:border-primary/50 transition-colors cursor-pointer">
|
<Card className="hover:border-primary/50 transition-colors cursor-pointer">
|
||||||
@@ -577,6 +560,28 @@ export default function ConfiguracionPage() {
|
|||||||
</CardContent>
|
</CardContent>
|
||||||
</Card>
|
</Card>
|
||||||
</Link>
|
</Link>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{/* Seguridad */}
|
||||||
|
<Link href="/configuracion/seguridad">
|
||||||
|
<Card className="hover:border-primary/50 transition-colors cursor-pointer">
|
||||||
|
<CardHeader>
|
||||||
|
<CardTitle className="flex items-center gap-2 text-base">
|
||||||
|
<KeyRound className="h-4 w-4" />
|
||||||
|
Seguridad
|
||||||
|
</CardTitle>
|
||||||
|
<CardDescription>
|
||||||
|
Cambia tu contraseña y gestiona las sesiones activas de tu cuenta
|
||||||
|
</CardDescription>
|
||||||
|
</CardHeader>
|
||||||
|
<CardContent>
|
||||||
|
<p className="text-sm text-muted-foreground">
|
||||||
|
Actualiza tu contraseña o cierra todas las sesiones activas si sospechas un acceso no autorizado.
|
||||||
|
</p>
|
||||||
|
</CardContent>
|
||||||
|
</Card>
|
||||||
|
</Link>
|
||||||
|
|
||||||
{/* Admin global: edición de precios */}
|
{/* Admin global: edición de precios */}
|
||||||
{isGlobalAdmin && (
|
{isGlobalAdmin && (
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ const navigation: NavItem[] = [
|
|||||||
{ name: 'Usuarios', href: '/usuarios', icon: Users, roles: ['owner', 'cfo'] },
|
{ name: 'Usuarios', href: '/usuarios', icon: Users, roles: ['owner', 'cfo'] },
|
||||||
{ name: 'Tareas', href: '/tareas', icon: CheckSquare2, roles: ['owner', 'cfo', 'contador', 'auxiliar', 'supervisor'] },
|
{ name: 'Tareas', href: '/tareas', icon: CheckSquare2, roles: ['owner', 'cfo', 'contador', 'auxiliar', 'supervisor'] },
|
||||||
{ name: 'Planes', href: '/configuracion/planes-despacho', icon: CreditCard, roles: ['owner', 'cfo'] },
|
{ name: 'Planes', href: '/configuracion/planes-despacho', icon: CreditCard, roles: ['owner', 'cfo'] },
|
||||||
{ name: 'Configuracion', href: '/configuracion', icon: Settings, roles: ['owner', 'cfo', 'supervisor'] },
|
{ name: 'Configuracion', href: '/configuracion', icon: Settings, roles: ['owner', 'cfo', 'supervisor', 'auxiliar', 'cliente'] },
|
||||||
];
|
];
|
||||||
|
|
||||||
const adminNavigation: NavItem[] = [
|
const adminNavigation: NavItem[] = [
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ const navigation: NavItem[] = [
|
|||||||
{ name: 'Usuarios', href: '/usuarios', icon: Users, roles: ['owner', 'cfo'] },
|
{ name: 'Usuarios', href: '/usuarios', icon: Users, roles: ['owner', 'cfo'] },
|
||||||
{ name: 'Tareas', href: '/tareas', icon: CheckSquare2, roles: ['owner', 'cfo', 'contador', 'auxiliar', 'supervisor'] },
|
{ name: 'Tareas', href: '/tareas', icon: CheckSquare2, roles: ['owner', 'cfo', 'contador', 'auxiliar', 'supervisor'] },
|
||||||
{ name: 'Planes', href: '/configuracion/planes-despacho', icon: CreditCard, roles: ['owner', 'cfo'] },
|
{ name: 'Planes', href: '/configuracion/planes-despacho', icon: CreditCard, roles: ['owner', 'cfo'] },
|
||||||
{ name: 'Configuracion', href: '/configuracion', icon: Settings, roles: ['owner', 'cfo', 'supervisor'] },
|
{ name: 'Configuracion', href: '/configuracion', icon: Settings, roles: ['owner', 'cfo', 'supervisor', 'auxiliar', 'cliente'] },
|
||||||
];
|
];
|
||||||
|
|
||||||
const adminNavigation: NavItem[] = [
|
const adminNavigation: NavItem[] = [
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ const navigation: NavItem[] = [
|
|||||||
{ name: 'Usuarios', href: '/usuarios', icon: Users, roles: ['owner', 'cfo'] },
|
{ name: 'Usuarios', href: '/usuarios', icon: Users, roles: ['owner', 'cfo'] },
|
||||||
{ name: 'Tareas', href: '/tareas', icon: CheckSquare2, roles: ['owner', 'cfo', 'contador', 'auxiliar', 'supervisor'] },
|
{ name: 'Tareas', href: '/tareas', icon: CheckSquare2, roles: ['owner', 'cfo', 'contador', 'auxiliar', 'supervisor'] },
|
||||||
{ name: 'Planes', href: '/configuracion/planes-despacho', icon: CreditCard, roles: ['owner', 'cfo'] },
|
{ name: 'Planes', href: '/configuracion/planes-despacho', icon: CreditCard, roles: ['owner', 'cfo'] },
|
||||||
{ name: 'Configuracion', href: '/configuracion', icon: Settings, roles: ['owner', 'cfo', 'supervisor'] },
|
{ name: 'Configuracion', href: '/configuracion', icon: Settings, roles: ['owner', 'cfo', 'supervisor', 'auxiliar', 'cliente'] },
|
||||||
];
|
];
|
||||||
|
|
||||||
const adminNavigation: NavItem[] = [
|
const adminNavigation: NavItem[] = [
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ const navigation: NavItem[] = [
|
|||||||
{ name: 'Usuarios', href: '/usuarios', icon: Users, roles: ['owner', 'cfo'] },
|
{ name: 'Usuarios', href: '/usuarios', icon: Users, roles: ['owner', 'cfo'] },
|
||||||
{ name: 'Tareas', href: '/tareas', icon: CheckSquare2, roles: ['owner', 'cfo', 'contador', 'auxiliar', 'supervisor'] },
|
{ name: 'Tareas', href: '/tareas', icon: CheckSquare2, roles: ['owner', 'cfo', 'contador', 'auxiliar', 'supervisor'] },
|
||||||
{ name: 'Planes', href: '/configuracion/planes-despacho', icon: CreditCard, roles: ['owner', 'cfo'] },
|
{ name: 'Planes', href: '/configuracion/planes-despacho', icon: CreditCard, roles: ['owner', 'cfo'] },
|
||||||
{ name: 'Configuracion', href: '/configuracion', icon: Settings, roles: ['owner', 'cfo', 'supervisor'] },
|
{ name: 'Configuracion', href: '/configuracion', icon: Settings, roles: ['owner', 'cfo', 'supervisor', 'auxiliar', 'cliente'] },
|
||||||
];
|
];
|
||||||
|
|
||||||
const adminNavigation: NavItem[] = [
|
const adminNavigation: NavItem[] = [
|
||||||
|
|||||||
Reference in New Issue
Block a user