Vinculaciones multi-agencia
This commit is contained in:
179
views/partials/sidebar_administrador.php
Normal file
179
views/partials/sidebar_administrador.php
Normal file
@@ -0,0 +1,179 @@
|
||||
<style>
|
||||
.nav .nav-link { font-weight: normal; color: white; transition: all 0.3s ease; }
|
||||
.nav .nav-link:hover,
|
||||
.nav .nav-link.active { background-color: #495057; color: #fff; }
|
||||
/* Estilo inverso solo para pantallas pequeñas (sidebar tipo offcanvas) */
|
||||
@media (max-width: 767.98px) {
|
||||
.nav .nav-link { font-weight: normal; color: #343a40; background-color: transparent; }
|
||||
.nav .nav-link:hover,
|
||||
.nav .nav-link.active { background-color: #e9ecef; color: #212529; }
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- 🔷 NAVBAR -->
|
||||
<nav class="navbar navbar-dark bg-dark fixed-top">
|
||||
<div class="container-fluid">
|
||||
<!-- Botón de menú para móviles -->
|
||||
<button class="btn btn-outline-light d-md-none me-2" type="button" data-bs-toggle="offcanvas" data-bs-target="#sidebarMenu">
|
||||
☰
|
||||
</button>
|
||||
<span class="navbar-brand">SIIH | Administrador</span>
|
||||
<div class="d-flex ms-auto text-white">
|
||||
<?php
|
||||
// Verifica si estás en el dashboard principal del administrador
|
||||
$esDashboard = str_contains($_SERVER['REQUEST_URI'], '/administrador/dashboard');
|
||||
|
||||
if ($esDashboard): ?>
|
||||
Bienvenido, <?= htmlspecialchars($_SESSION['usuario_nombre']) ?>
|
||||
<?php else: ?>
|
||||
<a href="/IMPORTADORES/sistemas/logout" class="btn btn-outline-light btn-sm">Cerrar Sesión</a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- SIDEBAR FIJA (escritorio) -->
|
||||
<div class="d-none d-md-block bg-dark text-white position-fixed h-100 pt-5" style="width: 250px;">
|
||||
<nav class="nav flex-column">
|
||||
|
||||
<!-- INICIO -->
|
||||
<a href="/IMPORTADORES/administrador/dashboard"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/dashboard') ? 'active' : '' ?>">
|
||||
🏠 Inicio
|
||||
</a>
|
||||
|
||||
<!-- AGENCIAS -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuAgencias" role="button" aria-expanded="false">
|
||||
🏪 Agencias
|
||||
<span class="badge bg-secondary">3</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/administrador') ? 'show' : '' ?>" id="submenuAgencias">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/administrador/aprobarAgencias"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/aprobarAgencias') ? 'active' : '' ?>">
|
||||
• Aprobar agencias
|
||||
</a>
|
||||
<a href="/IMPORTADORES/administrador/altaAgencias"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/altaAgencias') ? 'active' : '' ?>">
|
||||
• Alta de agencia
|
||||
</a>
|
||||
<a href="/IMPORTADORES/administrador/agenciasActivas"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/agenciasActivas') ? 'active' : '' ?>">
|
||||
• Ver agencias
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<!-- USUARIOS -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuUsuarios" role="button" aria-expanded="false">
|
||||
👥 Usuarios
|
||||
<span class="badge bg-secondary">3</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/administrador') ? 'show' : '' ?>" id="submenuUsuarios">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/administrador/aprobarUsuarios"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/aprobarUsuarios') ? 'active' : '' ?>">
|
||||
• Aprobar usuarios
|
||||
</a>
|
||||
<a href="/IMPORTADORES/administrador/altaUsuarios"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/altaUsuarios') ? 'active' : '' ?>">
|
||||
• Ver usuarios
|
||||
</a>
|
||||
<a href="/IMPORTADORES/administrador/usuariosInactivos"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/usuariosInactivos') ? 'active' : '' ?>">
|
||||
• Usuarios inactivos
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<!-- CONFIGURACIÓN -->
|
||||
<a href="/IMPORTADORES/administrador/configuracion"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/configuracion') ? 'active' : '' ?>">
|
||||
⚙️ Configuración
|
||||
</a>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<!-- OFFCANVAS PARA MÓVILES -->
|
||||
<div class="offcanvas offcanvas-start d-md-none" tabindex="-1" id="sidebarMenu" style="top: 75px;">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title">Menú</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
|
||||
<!-- INICIO -->
|
||||
<a href="/IMPORTADORES/administrador/dashboard"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/dashboard') ? 'active' : '' ?>">
|
||||
🏠 Inicio
|
||||
</a>
|
||||
|
||||
<!-- AGENCIAS -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuAgencias" role="button"
|
||||
aria-expanded="<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador') ? 'true' : 'false' ?>"
|
||||
aria-controls="submenuAgencias">
|
||||
🏪 Agencias
|
||||
<span class="badge bg-secondary">3</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/administrador') ? 'show' : '' ?>" id="submenuAgencias">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/administrador/aprobarAgencias"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/aprobarAgencias') ? 'active' : '' ?>">
|
||||
• Aprobar agencias
|
||||
</a>
|
||||
<a href="/IMPORTADORES/administrador/altaAgencias"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/altaAgencias') ? 'active' : '' ?>">
|
||||
• Alta de agencia
|
||||
</a>
|
||||
<a href="/IMPORTADORES/administrador/agenciasActivas"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/agenciasActivas') ? 'active' : '' ?>">
|
||||
• Ver agencias
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<!-- USUARIOS -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuUsuarios" role="button"
|
||||
aria-expanded="<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador') ? 'true' : 'false' ?>"
|
||||
aria-controls="submenuUsuarios">
|
||||
👥 Usuarios
|
||||
<span class="badge bg-secondary">4</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/administrador') ? 'show' : '' ?>" id="submenuUsuarios">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/administrador/aprobarUsuarios"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/aprobarUsuarios') ? 'active' : '' ?>">
|
||||
• Aprobar usuarios
|
||||
</a>
|
||||
<a href="/IMPORTADORES/administrador/altaUsuarios"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/altaUsuarios') ? 'active' : '' ?>">
|
||||
• Alta de usuario
|
||||
</a>
|
||||
<a href="/IMPORTADORES/administrador/usuariosActivos"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/usuariosActivos') ? 'active' : '' ?>">
|
||||
• Ver usuarios
|
||||
</a>
|
||||
<a href="/IMPORTADORES/administrador/usuariosInactivos"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/usuariosInactivos') ? 'active' : '' ?>">
|
||||
• Usuarios inactivos
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<!-- CONFIGURACIÓN -->
|
||||
<a href="/IMPORTADORES/administrador/configuracion"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/administrador/configuracion') ? 'active' : '' ?>">
|
||||
⚙️ Configuración
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -38,27 +38,34 @@
|
||||
|
||||
<!-- INICIO -->
|
||||
<a href="/IMPORTADORES/agencias/dashboard"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/agencias/dashboard' ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/agencias/dashboard') ? 'active' : '' ?>">
|
||||
🏠 Inicio
|
||||
</a>
|
||||
|
||||
<!-- SOLICITUDES VINCULACIÓN -->
|
||||
<a href="/IMPORTADORES/vinculaciones/solicitudesVinculacion"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/vinculaciones/solicitudesVinculacion') ? 'active' : '' ?>">
|
||||
🔗 Vinculación
|
||||
</a>
|
||||
|
||||
<!-- USUARIOS ACTIVOS -->
|
||||
<a href="/IMPORTADORES/agencias/activos"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/agencias/activos' ? 'active' : '' ?>">
|
||||
✅ Usuarios Activos
|
||||
<a href="/IMPORTADORES/vinculaciones/usuariosVinculados"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/vinculaciones/usuariosVinculados') ? 'active' : '' ?>">
|
||||
👥 Usuarios Vinculados
|
||||
</a>
|
||||
|
||||
<!-- ALTA DE AGENTES -->
|
||||
<a href="/IMPORTADORES/agencias/alta"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/agencias/alta' ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/agencias/alta') ? 'active' : '' ?>">
|
||||
📥 Alta de Agentes
|
||||
</a>
|
||||
|
||||
<!-- BITÁCORA -->
|
||||
<a href="/IMPORTADORES/agencias/bitacora"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/agencias/bitacora' ? 'active' : '' ?>">
|
||||
🕓 Bitácora
|
||||
<!-- CONFIGURACIÓN -->
|
||||
<a href="/IMPORTADORES/configuracion"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/configuracion') ? 'active' : '' ?>">
|
||||
⚙️ Configuración
|
||||
</a>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
@@ -71,27 +78,33 @@
|
||||
<div class="offcanvas-body">
|
||||
|
||||
<!-- INICIO -->
|
||||
<a href="/IMPORTADORES/agencias/dashboard"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/agencias/dashboard' ? 'active' : '' ?>">
|
||||
<a href="/IMPORTADORES/agencias/dashboard"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/agencias/dashboard') ? 'active' : '' ?>">
|
||||
🏠 Inicio
|
||||
</a>
|
||||
|
||||
<!-- SOLICITUDES VINCULACIÓN -->
|
||||
<a href="/IMPORTADORES/agencias/solicitudesVinculacion"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/agencias/solicitudesVinculacion') ? 'active' : '' ?>">
|
||||
🔗 Vinculación
|
||||
</a>
|
||||
|
||||
<!-- USUARIOS ACTIVOS -->
|
||||
<a href="/IMPORTADORES/agencias/activos"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/agencias/activos' ? 'active' : '' ?>">
|
||||
✅ Usuarios Activos
|
||||
<a href="/IMPORTADORES/vinculaciones/usuariosVinculados"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/vinculaciones/usuariosVinculados') ? 'active' : '' ?>">
|
||||
✅ Usuarios Vinculados
|
||||
</a>
|
||||
|
||||
<!-- ALTA DE AGENTES -->
|
||||
<a href="/IMPORTADORES/agencias/alta"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/agencias/alta' ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/agencias/alta') ? 'active' : '' ?>">
|
||||
📥 Alta de Agentes
|
||||
</a>
|
||||
|
||||
<!-- BITÁCORA -->
|
||||
<a href="/IMPORTADORES/agencias/bitacora"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/agencias/bitacora' ? 'active' : '' ?>">
|
||||
🕓 Bitácora
|
||||
<!-- CONFIGURACIÓN -->
|
||||
<a href="/IMPORTADORES/configuracion"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/configuracion') ? 'active' : '' ?>">
|
||||
⚙️ Configuración
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,10 +1,3 @@
|
||||
<?php
|
||||
if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'agente_aduanal') {
|
||||
header('Location: /IMPORTADORES/login');
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
|
||||
<style>
|
||||
.nav .nav-link { font-weight: normal; color: white; transition: all 0.3s ease; }
|
||||
.nav .nav-link:hover,
|
||||
@@ -58,55 +51,12 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'agente_adu
|
||||
🏠 Inicio
|
||||
</a>
|
||||
|
||||
<!-- IMPORTADORES ACTIVOS -->
|
||||
<!-- IMPORTADORES VINCULADOS -->
|
||||
<a href="/IMPORTADORES/agentes/activos"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/agentes/activos' ? 'active' : '' ?>">
|
||||
✅ Importadores Activos
|
||||
🔗 Vinculados
|
||||
</a>
|
||||
|
||||
<!-- SOLICITUDES PENDIENTES -->
|
||||
<a href="/IMPORTADORES/agentes/solicitudes_pendientes"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/agentes/solicitudes_pendientes' ? 'active' : '' ?>">
|
||||
📥 Solicitudes de Registro
|
||||
</a>
|
||||
|
||||
<!-- BITÁCORA -->
|
||||
<a href="/IMPORTADORES/agentes/bitacora"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/agentes/bitacora' ? 'active' : '' ?>">
|
||||
🕓 Bitácora
|
||||
</a>
|
||||
|
||||
<!-- LOCACIONES -->
|
||||
<?php if ($esVistaLocaciones): ?>
|
||||
<?php $enDashboardLocaciones = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/locaciones/lista'; ?>
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center <?= $esVistaLocaciones ? 'active' : '' ?>"
|
||||
href="<?= $enDashboardLocaciones ? '#submenuLocaciones' : '/IMPORTADORES/locaciones/lista' ?>"
|
||||
<?= $enDashboardLocaciones ? 'data-bs-toggle="collapse"' : '' ?>
|
||||
role="button" aria-expanded="true" aria-controls="submenuLocaciones"
|
||||
onclick="<?= $enDashboardLocaciones ? '' : 'event.preventDefault(); window.location.href = \'/IMPORTADORES/locaciones/lista\';' ?>">
|
||||
🗺️ Locaciones
|
||||
<span class="badge bg-secondary">2</span>
|
||||
</a>
|
||||
<div class="collapse show" id="submenuLocaciones">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/locaciones/lista"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/locaciones/lista' ? 'active' : '' ?>">
|
||||
• Ver Locaciones
|
||||
</a>
|
||||
<a href="/IMPORTADORES/locaciones/alta"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/locaciones/alta') ? 'active' : '' ?>">
|
||||
• Agregar Locaciones
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
<?php elseif ($esVistaAgentes || $esVistaPatente): ?>
|
||||
<a href="/IMPORTADORES/locaciones/lista"
|
||||
class="nav-link px-3 py-2 d-flex justify-content-between align-items-center">
|
||||
🗺️ Locaciones
|
||||
<span class="badge bg-secondary">2</span>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- Patentes -->
|
||||
<?php if ($esVistaPatente): ?>
|
||||
<?php $enDashboardPatente = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/patente/dashboard'; ?>
|
||||
@@ -138,6 +88,43 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'agente_adu
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- LOCACIONES -->
|
||||
<?php if ($esVistaLocaciones): ?>
|
||||
<?php $enDashboardLocaciones = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/locaciones/lista'; ?>
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center <?= $esVistaLocaciones ? 'active' : '' ?>"
|
||||
href="<?= $enDashboardLocaciones ? '#submenuLocaciones' : '/IMPORTADORES/locaciones/lista' ?>"
|
||||
<?= $enDashboardLocaciones ? 'data-bs-toggle="collapse"' : '' ?>
|
||||
role="button" aria-expanded="true" aria-controls="submenuLocaciones"
|
||||
onclick="<?= $enDashboardLocaciones ? '' : 'event.preventDefault(); window.location.href = \'/IMPORTADORES/locaciones/lista\';' ?>">
|
||||
🗺️ Locaciones
|
||||
<span class="badge bg-secondary">2</span>
|
||||
</a>
|
||||
<div class="collapse show" id="submenuLocaciones">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/locaciones/lista"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/locaciones/lista' ? 'active' : '' ?>">
|
||||
• Ver Locaciones
|
||||
</a>
|
||||
<a href="/IMPORTADORES/locaciones/alta"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/locaciones/alta') ? 'active' : '' ?>">
|
||||
• Agregar Locaciones
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
<?php elseif ($esVistaAgentes || $esVistaPatente): ?>
|
||||
<a href="/IMPORTADORES/locaciones/lista"
|
||||
class="nav-link px-3 py-2 d-flex justify-content-between align-items-center">
|
||||
🗺️ Locaciones
|
||||
<span class="badge bg-secondary">2</span>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- CONFIGURACIÓN -->
|
||||
<a href="/IMPORTADORES/configuracion"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/configuracion') ? 'active' : '' ?>">
|
||||
⚙️ Configuración
|
||||
</a>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
@@ -161,12 +148,6 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'agente_adu
|
||||
✅ Importadores Activos
|
||||
</a>
|
||||
|
||||
<!-- SOLICITUDES PENDIENTES -->
|
||||
<a href="/IMPORTADORES/agentes/solicitudes_pendientes"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/agentes/solicitudes_pendientes' ? 'active' : '' ?>">
|
||||
📥 Solicitudes de Registro
|
||||
</a>
|
||||
|
||||
<!-- BITÁCORA -->
|
||||
<a href="/IMPORTADORES/agentes/bitacora"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/agentes/bitacora' ? 'active' : '' ?>">
|
||||
@@ -235,5 +216,11 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'agente_adu
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- CONFIGURACIÓN -->
|
||||
<a href="/IMPORTADORES/configuracion"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/configuracion') ? 'active' : '' ?>">
|
||||
⚙️ Configuración
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,9 +1,130 @@
|
||||
<!-- views/partials/sidebar_configuracion.php -->
|
||||
<?php
|
||||
if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador') {
|
||||
// Verificar que el usuario esté autenticado
|
||||
if (!isset($_SESSION['usuario_id'])) {
|
||||
header('Location: /IMPORTADORES/login');
|
||||
exit;
|
||||
}
|
||||
|
||||
// Obtener información del usuario
|
||||
$tipoUsuario = $_SESSION['tipo_usuario'] ?? '';
|
||||
$agenciaId = $_SESSION['agencia_id'] ?? null;
|
||||
$usuarioId = $_SESSION['usuario_id'] ?? null;
|
||||
|
||||
// Definir permisos por tipo de usuario
|
||||
$permisos = [
|
||||
'super_admin' => [
|
||||
'informacion_general' => true,
|
||||
'automatizaciones' => true,
|
||||
'preferencias' => true,
|
||||
'seguridad' => true,
|
||||
'bitacoras' => [
|
||||
'registro_accesos' => true,
|
||||
'registro_usuarios' => true,
|
||||
'registro_agencias' => true,
|
||||
'mi_actividad' => true
|
||||
],
|
||||
],
|
||||
'admin_agencia' => [
|
||||
'informacion_general' => true,
|
||||
'automatizaciones' => true,
|
||||
'preferencias' => true,
|
||||
'seguridad' => true,
|
||||
'bitacoras' => [
|
||||
'acceso_usuarios_agencia' => true,
|
||||
'registro_vinculaciones' => true,
|
||||
'mi_actividad' => true
|
||||
],
|
||||
],
|
||||
'agente_aduanal' => [
|
||||
'informacion_general' => true,
|
||||
'automatizaciones' => true,
|
||||
'preferencias' => true,
|
||||
'seguridad' => true,
|
||||
'bitacoras' => [
|
||||
'acceso_usuarios_agencia' => true,
|
||||
'mi_actividad' => true
|
||||
],
|
||||
],
|
||||
'importador' => [
|
||||
'informacion_general' => true,
|
||||
'automatizaciones' => true,
|
||||
'preferencias' => true,
|
||||
'seguridad' => true,
|
||||
'bitacoras' => [
|
||||
'vinculaciones_usuario' => true,
|
||||
'mi_actividad' => true
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
// Obtener permisos del usuario actual
|
||||
$permisosUsuario = $permisos[$tipoUsuario] ?? $permisos['importador'];
|
||||
$permisosBitacoras = $permisosUsuario['bitacoras'] ?? [];
|
||||
|
||||
// Función para verificar si el usuario tiene acceso a bitácoras
|
||||
function tieneAccesoBitacoras($permisosBitacoras) {
|
||||
if (is_bool($permisosBitacoras)) {
|
||||
return $permisosBitacoras;
|
||||
}
|
||||
return !empty($permisosBitacoras) && array_filter($permisosBitacoras);
|
||||
}
|
||||
|
||||
// Contar bitácoras disponibles según permisos
|
||||
function contarBitacorasDisponibles($permisosBitacoras) {
|
||||
if (!is_array($permisosBitacoras)) {
|
||||
return is_bool($permisosBitacoras) && $permisosBitacoras ? 1 : 0;
|
||||
}
|
||||
return count(array_filter($permisosBitacoras));
|
||||
}
|
||||
|
||||
$cantidadBitacoras = contarBitacorasDisponibles($permisosBitacoras);
|
||||
|
||||
// Función para obtener el texto descriptivo según el permiso
|
||||
function obtenerTextoPermiso($permiso, $tipoUsuario) {
|
||||
$textos = [
|
||||
'registro_accesos' => ($tipoUsuario === 'super_admin') ? 'Registro de accesos' : null,
|
||||
'registro_usuarios' => ($tipoUsuario === 'super_admin') ? 'Registro de usuarios' : null,
|
||||
'registro_agencias' => ($tipoUsuario === 'super_admin') ? 'Registro de agencias' : null,
|
||||
'acceso_usuarios_agencias' => ($tipoUsuario === 'admin_agencia' || $tipoUsuario === 'agente_aduanal') ? 'Registros de accesos' : null,
|
||||
'registro_vinculaciones' => ($tipoUsuario === 'admin_agencia' || $tipoUsuario === 'agente_aduanal') ? 'Vinculaciones (Agencia)' : null,
|
||||
'mi_actividad' => in_array($tipoUsuario, ['super_admin', 'admin_agencia', 'agente_aduanal', 'importador']) ? 'Mi actividad' : null,
|
||||
'vinculaciones_usuario' => ($tipoUsuario === 'importador') ? 'Mis vinculaciones' : null,
|
||||
];
|
||||
|
||||
return $textos[$permiso] ?? ucfirst(str_replace('_', ' ', $permiso));
|
||||
}
|
||||
|
||||
// Función para obtener el icono según el permiso
|
||||
function obtenerIconoPermiso($permiso) {
|
||||
$iconos = [
|
||||
'registro_accesos' => '🌐',
|
||||
'registro_usuarios' => '👥',
|
||||
'registro_agencias' => '🏪',
|
||||
'acceso_usuarios_agencia' => '👥',
|
||||
'registro_vinculaciones' => '🔗',
|
||||
'mi_actividad' => '👤',
|
||||
'vinculaciones_usuario' => '🔗'
|
||||
];
|
||||
|
||||
return $iconos[$permiso] ?? '📋';
|
||||
}
|
||||
|
||||
// Función para obtener la URL según el permiso
|
||||
function obtenerUrlPermiso($permiso) {
|
||||
$urls = [
|
||||
'registro_accesos' => '/IMPORTADORES/bitacoras/sistema',
|
||||
'registro_usuarios' => '/IMPORTADORES/bitacoras/usuarios',
|
||||
'registro_agencias' => '/IMPORTADORES/bitacoras/agencias',
|
||||
'acceso_usuarios_agencia' => '/IMPORTADORES/bitacoras/sistemaAgencia',
|
||||
'registro_vinculaciones' => '/IMPORTADORES/bitacoras/vinculaciones',
|
||||
'mis_vinculaciones' => '/IMPORTADORES/bitacoras/misVinculaciones',
|
||||
'mi_actividad' => '/IMPORTADORES/bitacoras/miAcceso',
|
||||
'vinculaciones_usuario' => '/IMPORTADORES/bitacoras/vinculacionesUsuario'
|
||||
];
|
||||
|
||||
return $urls[$permiso] ?? '/IMPORTADORES/bitacoras/index';
|
||||
}
|
||||
?>
|
||||
|
||||
<style>
|
||||
@@ -15,7 +136,14 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
.nav .nav-link { font-weight: normal; color: #343a40; background-color: transparent; }
|
||||
.nav .nav-link:hover,
|
||||
.nav .nav-link.active { background-color: #e9ecef; color: #212529; }
|
||||
.permission-scope { background-color: rgba(108, 117, 125, 0.2); }
|
||||
.submenu-item:hover { background-color: rgba(233, 236, 239, 0.8) !important; }
|
||||
}
|
||||
.user-badge { font-size: 0.75rem; padding: 2px 6px; border-radius: 3px; }
|
||||
.permission-indicator { font-size: 0.7rem; color: #28a745; margin-left: 5px; }
|
||||
.permission-scope { font-size: 0.65rem; color: #6c757d; margin-left: 5px; padding: 1px 4px; background-color: rgba(108, 117, 125, 0.1); border-radius: 2px; }
|
||||
.submenu-item { font-size: 0.9rem; padding-left: 1rem !important; }
|
||||
.submenu-item:hover { background-color: rgba(73, 80, 87, 0.7) !important; }
|
||||
</style>
|
||||
|
||||
<!-- NAVBAR -->
|
||||
@@ -25,9 +153,22 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
<button class="btn btn-outline-light d-md-none me-2" type="button" data-bs-toggle="offcanvas" data-bs-target="#sidebarMenu">
|
||||
☰
|
||||
</button>
|
||||
<span class="navbar-brand">SIIH | Configuración</span>
|
||||
<span class="navbar-brand">
|
||||
SIIH | Configuración
|
||||
<span class="user-badge bg-info text-dark ms-2"><?= strtoupper(str_replace('_', ' ', $tipoUsuario)) ?></span>
|
||||
</span>
|
||||
<div class="d-flex ms-auto">
|
||||
<a href="/IMPORTADORES/importadores/dashboard" class="btn btn-outline-light btn-sm" style="margin: 0 0 0 25px;">
|
||||
<?php
|
||||
// Definir la URL de regreso según el tipo de usuario
|
||||
$urlRegreso = match($tipoUsuario) {
|
||||
'super_admin' => '/IMPORTADORES/administrador/dashboard',
|
||||
'admin_agencia' => '/IMPORTADORES/agencias/dashboard',
|
||||
'agente_aduanal' => '/IMPORTADORES/agentes/dashboard',
|
||||
'importador' => '/IMPORTADORES/importadores/dashboard',
|
||||
default => '/IMPORTADORES/importadores/dashboard'
|
||||
};
|
||||
?>
|
||||
<a href="<?= $urlRegreso ?>" class="btn btn-outline-light btn-sm" style="margin: 0 0 0 25px;">
|
||||
← Panel Principal
|
||||
</a>
|
||||
</div>
|
||||
@@ -41,118 +182,148 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
<!-- Definimos variables de ubicación -->
|
||||
<?php
|
||||
// Detecta si estamos en alguna parte de configuración
|
||||
$esConfiguracion = str_contains($_SERVER['REQUEST_URI'], '/configuracion');
|
||||
// Detecta si estamos en alguna ruta de bitácoras
|
||||
$esVistaBitacoras = str_contains($_SERVER['REQUEST_URI'], '/bitacoras');
|
||||
$esConfiguracion = str_contains($_SERVER['REQUEST_URI'], '/configuracion');
|
||||
// Detecta si estamos en alguna parte de bitácoras
|
||||
$esVistaBitacoras = str_contains($_SERVER['REQUEST_URI'], '/bitacoras');
|
||||
// Detecta si estamos en alguna parta de seguridad
|
||||
$esVistaSeguridad = str_contains($_SERVER['REQUEST_URI'], '/seguridad');
|
||||
$esVistaSeguridad = str_contains($_SERVER['REQUEST_URI'], '/seguridad');
|
||||
// Detecta si estamos en alguna parte de preferencias
|
||||
$esVistaPreferencias = str_contains($_SERVER['REQUEST_URI'], '/preferencias');
|
||||
$esVistaPreferencias = str_contains($_SERVER['REQUEST_URI'], '/preferencias');
|
||||
// Detecta si estamos en alguna parte de automatizaciones
|
||||
$esVistaAutomatizaciones = str_contains($_SERVER['REQUEST_URI'], '/automatizaciones');
|
||||
?>
|
||||
|
||||
<!-- INFORMACIÓN GENERAL -->
|
||||
<a href="/IMPORTADORES/configuracion/index"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/configuracion/dashboard_configuracion') ? 'active' : '' ?>">
|
||||
ℹ️ Información General
|
||||
</a>
|
||||
<?php if ($permisosUsuario['informacion_general']): ?>
|
||||
<a href="/IMPORTADORES/configuracion/index"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/configuracion/dashboard_configuracion') ? 'active' : '' ?>">
|
||||
ℹ️ Información General
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- AUTOMATIZACIONES -->
|
||||
<?php if ($esVistaAutomatizaciones): ?>
|
||||
<?php $enDashboardAutomatizaciones = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/automatizaciones/index'; ?>
|
||||
<a href="/IMPORTADORES/automatizaciones/index"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/automatizaciones/index') ? 'active' : '' ?>">
|
||||
⚙️ Automatizaciones
|
||||
</a>
|
||||
<?php elseif ($esConfiguracion || $esVistaSeguridad || $esVistaPreferencias || $esVistaBitacoras): ?>
|
||||
<a href="/IMPORTADORES/automatizaciones/index"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/automatizaciones/index') ? 'active' : '' ?>">
|
||||
⚙️ Automatizaciones
|
||||
</a>
|
||||
<?php if ($permisosUsuario['automatizaciones']): ?>
|
||||
<?php if ($esVistaAutomatizaciones): ?>
|
||||
<?php $enDashboardAutomatizaciones = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/automatizaciones/index'; ?>
|
||||
<a href="/IMPORTADORES/automatizaciones/index"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/automatizaciones/index') ? 'active' : '' ?>">
|
||||
⚙️ Automatizaciones
|
||||
</a>
|
||||
<?php elseif ($esConfiguracion || $esVistaSeguridad || $esVistaPreferencias || $esVistaBitacoras): ?>
|
||||
<a href="/IMPORTADORES/automatizaciones/index"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/automatizaciones/index') ? 'active' : '' ?>">
|
||||
⚙️ Automatizaciones
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- PREFERENCIAS -->
|
||||
<?php if ($esVistaPreferencias): ?>
|
||||
<?php $enDashboardPreferencias = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/preferencias/index'; ?>
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center <?= $esVistaPreferencias ? 'active' : '' ?>"
|
||||
href="<?= $enDashboardPreferencias ? '#submenuPreferencias' : '/IMPORTADORES/preferencias/index' ?>"
|
||||
<?= $enDashboardPreferencias ? 'data-bd-toggle="collapse"' : '' ?>
|
||||
role="button" aria-expanded="true" aria-controls="submenuPreferencias"
|
||||
onclick="<? $enDashboardPreferencias ? '' : 'event.preventDefault(); window.location.href = \'/IMPORTADORES/preferencias/index\';' ?>">
|
||||
✅ Preferencias
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<div class="collapse show" id="submenuPreferencias">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/preferencias/notificaciones"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/preferencias/notificaciones' ? 'active' : '' ?>">
|
||||
• Gestión de Notificaciones
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
<?php elseif ($esConfiguracion || $esVistaAutomatizaciones || $esVistaSeguridad || $esVistaBitacoras): ?>
|
||||
<a href="/IMPORTADORES/preferencias/index"
|
||||
class="nav-link px-3 py-2 d-flex justify-content-between align-items-center">
|
||||
✅ Preferencias
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<?php if ($permisosUsuario['preferencias']): ?>
|
||||
<?php if ($esVistaPreferencias): ?>
|
||||
<?php $enDashboardPreferencias = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/preferencias/index'; ?>
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center <?= $esVistaPreferencias ? 'active' : '' ?>"
|
||||
href="<?= $enDashboardPreferencias ? '#submenuPreferencias' : '/IMPORTADORES/preferencias/index' ?>"
|
||||
<?= $enDashboardPreferencias ? 'data-bd-toggle="collapse"' : '' ?>
|
||||
role="button" aria-expanded="true" aria-controls="submenuPreferencias"
|
||||
onclick="<? $enDashboardPreferencias ? '' : 'event.preventDefault(); window.location.href = \'/IMPORTADORES/preferencias/index\';' ?>">
|
||||
✅ Preferencias
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<div class="collapse show" id="submenuPreferencias">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/preferencias/notificaciones"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/preferencias/notificaciones' ? 'active' : '' ?>">
|
||||
• Gestión de Notificaciones
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
<?php elseif ($esConfiguracion || $esVistaAutomatizaciones || $esVistaSeguridad || $esVistaBitacoras): ?>
|
||||
<a href="/IMPORTADORES/preferencias/index"
|
||||
class="nav-link px-3 py-2 d-flex justify-content-between align-items-center">
|
||||
✅ Preferencias
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- SEGURIDAD -->
|
||||
<?php if ($esVistaSeguridad): ?>
|
||||
<?php $enDashboardSeguridad = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/seguridad/index'; ?>
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center <?= $esVistaSeguridad ? 'active' : '' ?>"
|
||||
href="<?= $enDashboardSeguridad ? '#submenuSeguridad' : '/IMPORTADORES/seguridad/index' ?>"
|
||||
<?= $enDashboardSeguridad ? 'data-bs-toggle="collapse"' : '' ?>
|
||||
role="button" aria-expanded="true" aria-controls="submenuSeguridad"
|
||||
onclick="<?= $enDashboardSeguridad ? '' : 'event.preventDefault(); window.location.href = \'/IMPORTADORES/seguridad/index\';' ?>">
|
||||
👮 Seguridad
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<div class="collapse show" id="submenuSeguridad">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/seguridad/opciones"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/seguridad/opciones' ? 'active' : '' ?>">
|
||||
• Opciones de Seguridad
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
<?php elseif ($esConfiguracion || $esVistaAutomatizaciones || $esVistaPreferencias || $esVistaBitacoras): ?>
|
||||
<a href="/IMPORTADORES/seguridad/index"
|
||||
class="nav-link px-3 py-2 d-flex justify-content-between align-items-center">
|
||||
👮 Seguridad
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<?php if ($permisosUsuario['seguridad']): ?>
|
||||
<?php if ($esVistaSeguridad): ?>
|
||||
<?php $enDashboardSeguridad = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/seguridad/index'; ?>
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center <?= $esVistaSeguridad ? 'active' : '' ?>"
|
||||
href="<?= $enDashboardSeguridad ? '#submenuSeguridad' : '/IMPORTADORES/seguridad/index' ?>"
|
||||
<?= $enDashboardSeguridad ? 'data-bs-toggle="collapse"' : '' ?>
|
||||
role="button" aria-expanded="true" aria-controls="submenuSeguridad"
|
||||
onclick="<?= $enDashboardSeguridad ? '' : 'event.preventDefault(); window.location.href = \'/IMPORTADORES/seguridad/index\';' ?>">
|
||||
👮 Seguridad
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<div class="collapse show" id="submenuSeguridad">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/seguridad/opciones"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/seguridad/opciones' ? 'active' : '' ?>">
|
||||
• Opciones de Seguridad
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
<?php elseif ($esConfiguracion || $esVistaAutomatizaciones || $esVistaPreferencias || $esVistaBitacoras): ?>
|
||||
<a href="/IMPORTADORES/seguridad/index"
|
||||
class="nav-link px-3 py-2 d-flex justify-content-between align-items-center">
|
||||
👮 Seguridad
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- BITÁCORAS -->
|
||||
<?php if ($esVistaBitacoras): ?>
|
||||
<!-- BITÁCORAS CON PERMISOS ESPECÍFICOS -->
|
||||
<?php if (tieneAccesoBitacoras($permisosBitacoras)): ?>
|
||||
<?php $enDashboardBitacoras = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/bitacoras/index'; ?>
|
||||
<!-- Estamos en cualquier página relacionada a bitácoras -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center <?= $esVistaBitacoras ? 'active' : '' ?>"
|
||||
href="<?= $enDashboardBitacoras ? '#submenuBitacoras' : '/IMPORTADORES/bitacoras/index' ?>"
|
||||
<?= $enDashboardBitacoras ? 'data-bs-toggle="collapse"' : '' ?>
|
||||
role="button" aria-expanded="true" aria-controls="submenuBitacoras"
|
||||
onclick="<?= $enDashboardBitacoras ? '' : 'event.preventDefault(); window.location.href = \'/IMPORTADORES/bitacoras/index\';' ?>">
|
||||
📖 Bitácoras
|
||||
<span class="badge bg-secondary">1</span>
|
||||
<span class="badge bg-secondary"><?= $cantidadBitacoras ?></span>
|
||||
</a>
|
||||
<div class="collapse show" id="submenuBitacoras">
|
||||
|
||||
<div class="collapse <?= $esVistaBitacoras ? 'show' : '' ?>" id="submenuBitacoras">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/bitacoras/lista"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/bitacoras/lista' ? 'active' : '' ?>">
|
||||
• Registro de Accesos
|
||||
</a>
|
||||
<?php foreach ($permisosBitacoras as $permiso => $tienePermiso): ?>
|
||||
<?php if ($tienePermiso): ?>
|
||||
<?php
|
||||
$url = obtenerUrlPermiso($permiso);
|
||||
$texto = obtenerTextoPermiso($permiso, $tipoUsuario);
|
||||
$icono = obtenerIconoPermiso($permiso);
|
||||
$esActivo = $_SERVER['REQUEST_URI'] === $url;
|
||||
|
||||
// Scope según dashboard
|
||||
$scope = '';
|
||||
if ($tipoUsuario === 'super_admin') {
|
||||
$scope = 'Global';
|
||||
} elseif ($tipoUsuario === 'admin_agencia' || $tipoUsuario === 'agente_aduanal') {
|
||||
if (in_array($permiso, ['acceso_usuarios_agencia', 'registro_vinculaciones'])) {
|
||||
$scope = 'Agencia';
|
||||
} elseif (in_array($permiso, ['mis_vinculaciones', 'mi_actividad'])) {
|
||||
$scope = 'Personal';
|
||||
}
|
||||
} elseif ($tipoUsuario === 'importador') {
|
||||
$scope = 'Personal';
|
||||
}
|
||||
?>
|
||||
<a href="<?= $url ?>"
|
||||
class="nav-link submenu-item px-3 py-2 d-flex justify-content-between align-items-center <?= $esActivo ? 'active' : '' ?>">
|
||||
<span>
|
||||
<?= $icono ?> <?= htmlspecialchars($texto) ?>
|
||||
<?php if ($scope): ?>
|
||||
<span class="permission-scope"><?= $scope ?></span>
|
||||
<?php endif; ?>
|
||||
</span>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<?php endforeach; ?>
|
||||
</nav>
|
||||
</div>
|
||||
<?php elseif ($esConfiguracion || $esVistaAutomatizaciones || $esVistaSeguridad || $esVistaPreferencias): ?>
|
||||
<!-- Si estamos en configuración, pero no en bitácoras -->
|
||||
<a href="/IMPORTADORES/bitacoras/index"
|
||||
class="nav-link px-3 py-2 d-flex justify-content-between align-items-center">
|
||||
📖 Bitácoras
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
|
||||
</nav>
|
||||
@@ -167,106 +338,136 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
<div class="offcanvas-body">
|
||||
|
||||
<!-- INFORMACIÓN GENERAL -->
|
||||
<a href="/IMPORTADORES/configuracion/index"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/configuracion/index') ? 'active' : '' ?>">
|
||||
ℹ️ Información General
|
||||
</a>
|
||||
<?php if ($permisosUsuario['informacion_general']): ?>
|
||||
<a href="/IMPORTADORES/configuracion/index"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/configuracion/dashboard_configuracion') ? 'active' : '' ?>">
|
||||
ℹ️ Información General
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- AUTOMATIZACIONES -->
|
||||
<?php if ($esVistaAutomatizaciones): ?>
|
||||
<?php $enDashboardAutomatizaciones = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/automatizaciones/index'; ?>
|
||||
<a href="/IMPORTADORES/automatizaciones/index"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/automatizaciones/index') ? 'active' : '' ?>">
|
||||
⚙️ Automatizaciones
|
||||
</a>
|
||||
<?php elseif ($esConfiguracion || $esVistaSeguridad || $esVistaPreferencias || $esVistaBitacoras): ?>
|
||||
<a href="/IMPORTADORES/automatizaciones/index"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/automatizaciones/index') ? 'active' : '' ?>">
|
||||
⚙️ Automatizaciones
|
||||
</a>
|
||||
<?php if ($permisosUsuario['automatizaciones']): ?>
|
||||
<?php if ($esVistaAutomatizaciones): ?>
|
||||
<?php $enDashboardAutomatizaciones = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/automatizaciones/index'; ?>
|
||||
<a href="/IMPORTADORES/automatizaciones/index"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/automatizaciones/index') ? 'active' : '' ?>">
|
||||
⚙️ Automatizaciones
|
||||
</a>
|
||||
<?php elseif ($esConfiguracion || $esVistaSeguridad || $esVistaPreferencias || $esVistaBitacoras): ?>
|
||||
<a href="/IMPORTADORES/automatizaciones/index"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/automatizaciones/index') ? 'active' : '' ?>">
|
||||
⚙️ Automatizaciones
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- PREFERENCIAS -->
|
||||
<?php if ($esVistaPreferencias): ?>
|
||||
<?php $enDashboardPreferencias = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/preferencias/index'; ?>
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center <?= $esVistaPreferencias ? 'active' : '' ?>"
|
||||
href="<?= $enDashboardPreferencias ? '#submenuPreferencias' : '/IMPORTADORES/preferencias/index' ?>"
|
||||
<?= $enDashboardPreferencias ? 'data-bd-toggle="collapse"' : '' ?>
|
||||
role="button" aria-expanded="true" aria-controls="submenuPreferencias"
|
||||
onclick="<? $enDashboardPreferencias ? '' : 'event.preventDefault(); window.location.href = \'/IMPORTADORES/preferencias/index\';' ?>">
|
||||
✅ Preferencias
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<div class="collapse show" id="submenuPreferencias">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/preferencias/notificaciones"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/preferencias/notificaciones' ? 'active' : '' ?>">
|
||||
• Gestión de Notificaciones
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
<?php elseif ($esConfiguracion || $esVistaAutomatizaciones || $esVistaSeguridad || $esVistaBitacoras): ?>
|
||||
<a href="/IMPORTADORES/preferencias/index"
|
||||
class="nav-link px-3 py-2 d-flex justify-content-between align-items-center">
|
||||
✅ Preferencias
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<?php if ($permisosUsuario['preferencias']): ?>
|
||||
<?php if ($esVistaPreferencias): ?>
|
||||
<?php $enDashboardPreferencias = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/preferencias/index'; ?>
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center <?= $esVistaPreferencias ? 'active' : '' ?>"
|
||||
href="<?= $enDashboardPreferencias ? '#submenuPreferencias' : '/IMPORTADORES/preferencias/index' ?>"
|
||||
<?= $enDashboardPreferencias ? 'data-bd-toggle="collapse"' : '' ?>
|
||||
role="button" aria-expanded="true" aria-controls="submenuPreferencias"
|
||||
onclick="<? $enDashboardPreferencias ? '' : 'event.preventDefault(); window.location.href = \'/IMPORTADORES/preferencias/index\';' ?>">
|
||||
✅ Preferencias
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<div class="collapse show" id="submenuPreferencias">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/preferencias/notificaciones"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/preferencias/notificaciones' ? 'active' : '' ?>">
|
||||
• Gestión de Notificaciones
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
<?php elseif ($esConfiguracion || $esVistaAutomatizaciones || $esVistaSeguridad || $esVistaBitacoras): ?>
|
||||
<a href="/IMPORTADORES/preferencias/index"
|
||||
class="nav-link px-3 py-2 d-flex justify-content-between align-items-center">
|
||||
✅ Preferencias
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- SEGURIDAD -->
|
||||
<?php if ($esVistaSeguridad): ?>
|
||||
<?php $enDashboardSeguridad = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/seguridad/index'; ?>
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center <?= $esVistaSeguridad ? 'active' : '' ?>"
|
||||
href="<?= $enDashboardSeguridad ? '#submenuSeguridad' : '/IMPORTADORES/seguridad/index' ?>"
|
||||
<?= $enDashboardSeguridad ? 'data-bs-toggle="collapse"' : '' ?>
|
||||
role="button" aria-expanded="true" aria-controls="submenuSeguridad"
|
||||
onclick="<?= $enDashboardSeguridad ? '' : 'event.preventDefault(); window.location.href = \'/IMPORTADORES/seguridad/index\';' ?>">
|
||||
👮 Seguridad
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<div class="collapse show" id="submenuSeguridad">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/seguridad/opciones"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/seguridad/opciones' ? 'active' : '' ?>">
|
||||
• Opciones de Seguridad
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
<?php elseif ($esConfiguracion || $esVistaAutomatizaciones || $esVistaPreferencias || $esVistaBitacoras): ?>
|
||||
<a href="/IMPORTADORES/seguridad/index"
|
||||
class="nav-link px-3 py-2 d-flex justify-content-between align-items-center">
|
||||
👮 Seguridad
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<?php if ($permisosUsuario['seguridad']): ?>
|
||||
<?php if ($esVistaSeguridad): ?>
|
||||
<?php $enDashboardSeguridad = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/seguridad/index'; ?>
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center <?= $esVistaSeguridad ? 'active' : '' ?>"
|
||||
href="<?= $enDashboardSeguridad ? '#submenuSeguridad' : '/IMPORTADORES/seguridad/index' ?>"
|
||||
<?= $enDashboardSeguridad ? 'data-bs-toggle="collapse"' : '' ?>
|
||||
role="button" aria-expanded="true" aria-controls="submenuSeguridad"
|
||||
onclick="<?= $enDashboardSeguridad ? '' : 'event.preventDefault(); window.location.href = \'/IMPORTADORES/seguridad/index\';' ?>">
|
||||
👮 Seguridad
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<div class="collapse show" id="submenuSeguridad">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/seguridad/opciones"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/seguridad/opciones' ? 'active' : '' ?>">
|
||||
• Opciones de Seguridad
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
<?php elseif ($esConfiguracion || $esVistaAutomatizaciones || $esVistaPreferencias || $esVistaBitacoras): ?>
|
||||
<a href="/IMPORTADORES/seguridad/index"
|
||||
class="nav-link px-3 py-2 d-flex justify-content-between align-items-center">
|
||||
👮 Seguridad
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- BITÁCORAS -->
|
||||
<?php if ($esVistaBitacoras): ?>
|
||||
<!-- BITÁCORAS CON PERMISOS ESPECÍFICOS -->
|
||||
<?php if (tieneAccesoBitacoras($permisosBitacoras)): ?>
|
||||
<?php $enDashboardBitacoras = $_SERVER['REQUEST_URI'] === '/IMPORTADORES/bitacoras/index'; ?>
|
||||
<!-- Estamos en cualquier página relacionada a bitácoras -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center <?= $esVistaBitacoras ? 'active' : '' ?>"
|
||||
href="<?= $enDashboardBitacoras ? '#submenuBitacoras' : '/IMPORTADORES/bitacoras/index' ?>"
|
||||
<?= $enDashboardBitacoras ? 'data-bs-toggle="collapse"' : '' ?>
|
||||
role="button" aria-expanded="true" aria-controls="submenuBitacoras"
|
||||
onclick="<?= $enDashboardBitacoras ? '' : 'event.preventDefault(); window.location.href = \'/IMPORTADORES/bitacoras/index\';' ?>">
|
||||
📖 Bitácoras
|
||||
<span class="badge bg-secondary">1</span>
|
||||
<span class="badge bg-secondary"><?= $cantidadBitacoras ?></span>
|
||||
</a>
|
||||
<div class="collapse show" id="submenuBitacoras">
|
||||
|
||||
<div class="collapse <?= $esVistaBitacoras ? 'show' : '' ?>" id="submenuBitacoras">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/bitacoras/lista"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/bitacoras/lista' ? 'active' : '' ?>">
|
||||
• Registro de Accesos
|
||||
</a>
|
||||
<?php foreach ($permisosBitacoras as $permiso => $tienePermiso): ?>
|
||||
<?php if ($tienePermiso): ?>
|
||||
<?php
|
||||
$url = obtenerUrlPermiso($permiso);
|
||||
$texto = obtenerTextoPermiso($permiso, $tipoUsuario);
|
||||
$icono = obtenerIconoPermiso($permiso);
|
||||
$esActivo = $_SERVER['REQUEST_URI'] === $url;
|
||||
|
||||
// Scope según dashboard
|
||||
$scope = '';
|
||||
if ($tipoUsuario === 'super_admin') {
|
||||
$scope = 'Global';
|
||||
} elseif ($tipoUsuario === 'admin_agencia' || $tipoUsuario === 'agente_aduanal') {
|
||||
if (in_array($permiso, ['acceso_usuarios_agencia', 'registro_vinculaciones'])) {
|
||||
$scope = 'Agencia';
|
||||
} elseif (in_array($permiso, ['mis_vinculaciones', 'mi_actividad'])) {
|
||||
$scope = 'Personal';
|
||||
}
|
||||
} elseif ($tipoUsuario === 'importador') {
|
||||
$scope = 'Personal';
|
||||
}
|
||||
?>
|
||||
<a href="<?= $url ?>"
|
||||
class="nav-link submenu-item px-3 py-2 d-flex justify-content-between align-items-center <?= $esActivo ? 'active' : '' ?>">
|
||||
<span>
|
||||
<?= $icono ?> <?= htmlspecialchars($texto) ?>
|
||||
<?php if ($scope): ?>
|
||||
<span class="permission-scope"><?= $scope ?></span>
|
||||
<?php endif; ?>
|
||||
</span>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<?php endforeach; ?>
|
||||
</nav>
|
||||
</div>
|
||||
<?php elseif ($esConfiguracion || $esVistaAutomatizaciones || $esVistaPreferencias || $esVistaSeguridad): ?>
|
||||
<!-- Si estamos en configuración, pero no en bitácoras -->
|
||||
<a href="/IMPORTADORES/bitacoras/index"
|
||||
class="nav-link px-3 py-2 d-flex justify-content-between align-items-center">
|
||||
📖 Bitácoras
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,11 +1,3 @@
|
||||
<!-- views/partials/sidebar_importador.php -->
|
||||
<?php
|
||||
if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador') {
|
||||
header('Location: /IMPORTADORES/login');
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
|
||||
<style>
|
||||
.nav .nav-link { font-weight: normal; color: white; transition: all 0.3s ease; }
|
||||
.nav .nav-link:hover,
|
||||
@@ -46,35 +38,56 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
|
||||
<!-- INICIO -->
|
||||
<a href="/IMPORTADORES/importadores/dashboard"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/importadores/dashboard' ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/importadores/dashboard') ? 'active' : '' ?>">
|
||||
🏠 Inicio
|
||||
</a>
|
||||
|
||||
<!-- LOCACIONES -->
|
||||
<a href="/IMPORTADORES/importadores/lista"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/importadores/lista' ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/importadores/lista') ? 'active' : '' ?>">
|
||||
🗺️ Locaciones
|
||||
</a>
|
||||
|
||||
<!-- VINCULACIONES -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/vinculaciones') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuVinculaciones" role="button" aria-expanded="false">
|
||||
🔗 Vinculación
|
||||
<span class="badge bg-secondary">2</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/vinculaciones') ? 'show' : '' ?>" id="submenuVinculaciones">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/vinculaciones/vinculacionesUsuario"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/vinculaciones/vinculacionesUsuario') ? 'active' : '' ?>">
|
||||
• Mis vinculaciones
|
||||
</a>
|
||||
<a href="/IMPORTADORES/vinculaciones/nuevaVinculacion"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/vinculaciones/nuevaVinculacion') ? 'active' : '' ?>">
|
||||
• Nueva vinculación
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- TRANSPORTISTAS -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/transportistas') ? 'active' : '' ?>"
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportistas') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuTransportistas" role="button" aria-expanded="false">
|
||||
👨✈️ Transportistas
|
||||
<span class="badge bg-secondary">3</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/transportistas') ? 'show' : '' ?>" id="submenuTransportistas">
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportistas') ? 'show' : '' ?>" id="submenuTransportistas">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/transportistas/lista"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/transportistas/lista' ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportistas/lista') ? 'active' : '' ?>">
|
||||
• Mis transportistas
|
||||
</a>
|
||||
<a href="/IMPORTADORES/transportistas/alta"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/transportistas/alta') ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportistas/alta') ? 'active' : '' ?>">
|
||||
• Alta de transportista
|
||||
</a>
|
||||
<a href="/IMPORTADORES/transportistas/bulk_upload"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/transportistas/bulk_upload') ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportistas/bulk_upload') ? 'active' : '' ?>">
|
||||
• Carga masiva
|
||||
</a>
|
||||
</nav>
|
||||
@@ -82,23 +95,23 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
|
||||
<!-- TRANSPORTES -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/transportes') ? 'active' : '' ?>"
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportes') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuTransportes" role="button" aria-expanded="false">
|
||||
🚚 Transportes
|
||||
<span class="badge bg-secondary">3</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/transportes') ? 'show' : '' ?>" id="submenuTransportes">
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportes') ? 'show' : '' ?>" id="submenuTransportes">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/transportes/lista"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/transportes/lista' ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportes/lista') ? 'active' : '' ?>">
|
||||
• Mis transportes
|
||||
</a>
|
||||
<a href="/IMPORTADORES/transportes/crear"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/transportes/crear') ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportes/crear') ? 'active' : '' ?>">
|
||||
• Nuevo transporte
|
||||
</a>
|
||||
<a href="/IMPORTADORES/transportes/masivo"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/transportes/masivo') ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportes/masivo') ? 'active' : '' ?>">
|
||||
• Carga masiva
|
||||
</a>
|
||||
</nav>
|
||||
@@ -111,29 +124,31 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
🚛 Choferes
|
||||
<span class="badge bg-secondary">2</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/choferes') ? 'show' : '' ?>" id="submenuChoferes">
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/choferes') ? 'show' : '' ?>" id="submenuChoferes">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/choferes/lista"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/choferes/lista' ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/choferes/lista') ? 'active' : '' ?>">
|
||||
• Mis choferes
|
||||
</a>
|
||||
<a href="/IMPORTADORES/choferes/crear"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/choferes/crear') ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/choferes/crear') ? 'active' : '' ?>">
|
||||
• Nuevo chofer
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<!-- PROVEEDORES -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/proveedores') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuProveedores" role="button" aria-expanded="<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/proveedores') ? 'true' : 'false' ?>"
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/proveedores') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuProveedores" role="button"
|
||||
aria-expanded="<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/proveedores') ? 'true' : 'false' ?>"
|
||||
aria-controls="submenuProveedores">
|
||||
🏭 Proveedores
|
||||
<span class="badge bg-secondary">2</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/proveedores') ? 'show' : '' ?>" id="submenuProveedores">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/proveedores" class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/proveedores' ? 'active' : '' ?>">
|
||||
<a href="/IMPORTADORES/proveedores" class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/proveedores') ? 'active' : '' ?>">
|
||||
• Lista de Proveedores
|
||||
</a>
|
||||
<a href="/IMPORTADORES/proveedores/crear" class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/proveedores/crear') ? 'active' : '' ?>">
|
||||
@@ -149,14 +164,14 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
📄 Solicitudes Importación
|
||||
<span class="badge bg-secondary">2</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/solicitud_importacion') ? 'show' : '' ?>" id="submenuSolicitudes">
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/solicitud_importacion') ? 'show' : '' ?>" id="submenuSolicitudes">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/solicitud_importacion/lista"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/solicitud_importacion/lista' ? 'active' : '' ?>">
|
||||
• Mis solicitudes
|
||||
</a>
|
||||
<a href="/IMPORTADORES/solicitud_importacion/crear"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/solicitud_importacion/crear') ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/solicitud_importacion/crear') ? 'active' : '' ?>">
|
||||
• Nueva solicitud
|
||||
</a>
|
||||
</nav>
|
||||
@@ -164,12 +179,12 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
|
||||
<!-- EXPEDIENTE ELECTRÓNICO -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/expediente') ? 'active' : '' ?>"
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/expediente') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuExpediente" role="button" aria-expanded="false">
|
||||
📁 Expediente Electrónico
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/expediente') ? 'show' : '' ?>" id="submenuExpediente">
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/expediente') ? 'show' : '' ?>" id="submenuExpediente">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/expediente/index"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/expediente/consultar' ? 'active' : '' ?>">
|
||||
@@ -180,7 +195,7 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
|
||||
<!-- CONFIGURACIÓN -->
|
||||
<a href="/IMPORTADORES/configuracion"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/configuracion') ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/configuracion') ? 'active' : '' ?>">
|
||||
⚙️ Configuración
|
||||
</a>
|
||||
|
||||
@@ -194,37 +209,59 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
|
||||
<!-- INICIO -->
|
||||
<a href="/IMPORTADORES/importadores/dashboard"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/importadores/dashboard' ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/importadores/dashboard') ? 'active' : '' ?>">
|
||||
🏠 Inicio
|
||||
</a>
|
||||
|
||||
<!-- LOCACIONES -->
|
||||
<a href="/IMPORTADORES/importadores/lista"
|
||||
class="nav-link px-3 py-2 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/importadores/lista' ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/importadores/lista') ? 'active' : '' ?>">
|
||||
🗺️ Locaciones
|
||||
</a>
|
||||
|
||||
<!-- VINCULACIONES -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/vinculaciones') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuVinculaciones" role="button" aria-expanded="false">
|
||||
🔗 Vinculación
|
||||
<span class="badge bg-secondary">2</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/vinculaciones') ? 'show' : '' ?>" id="submenuVinculaciones">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/vinculaciones/vinculacionesUsuario"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/vinculaciones/vinculacionesUsuario') ? 'active' : '' ?>">
|
||||
• Mis vinculaciones
|
||||
</a>
|
||||
<a href="/IMPORTADORES/vinculaciones/nuevaVinculacion"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/vinculaciones/nuevaVinculacion') ? 'active' : '' ?>">
|
||||
• Nueva vinculación
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- TRANSPORTISTAS -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/transportistas') ? 'active' : '' ?>"
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportistas') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuTransportistas" role="button" aria-expanded="false">
|
||||
👨✈️ Transportistas
|
||||
<span class="badge bg-secondary">3</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/transportistas') ? 'show' : '' ?>" id="submenuTransportistas">
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportistas') ? 'show' : '' ?>" id="submenuTransportistas">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/transportistas/lista"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/transportistas/lista' ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportistas/lista') ? 'active' : '' ?>">
|
||||
• Mis transportistas
|
||||
</a>
|
||||
<a href="/IMPORTADORES/transportistas/alta"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/transportistas/alta') ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportistas/alta') ? 'active' : '' ?>">
|
||||
• Alta de transportista
|
||||
</a>
|
||||
<a href="/IMPORTADORES/transportistas/bulk_upload"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/transportistas/bulk_upload') ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportistas/bulk_upload') ? 'active' : '' ?>">
|
||||
• Carga masiva
|
||||
</a>
|
||||
</nav>
|
||||
@@ -232,23 +269,23 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
|
||||
<!-- TRANSPORTES -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/transportes') ? 'active' : '' ?>"
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportes') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuTransportes" role="button" aria-expanded="false">
|
||||
🚚 Transportes
|
||||
<span class="badge bg-secondary">3</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/transportes') ? 'show' : '' ?>" id="submenuTransportes">
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportes') ? 'show' : '' ?>" id="submenuTransportes">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/transportes/lista"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/transportes/lista' ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportes/lista') ? 'active' : '' ?>">
|
||||
• Mis transportes
|
||||
</a>
|
||||
<a href="/IMPORTADORES/transportes/crear"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/transportes/crear') ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportes/crear') ? 'active' : '' ?>">
|
||||
• Nuevo transporte
|
||||
</a>
|
||||
<a href="/IMPORTADORES/transportes/masivo"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/transportes/masivo') ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/transportes/masivo') ? 'active' : '' ?>">
|
||||
• Carga masiva
|
||||
</a>
|
||||
</nav>
|
||||
@@ -261,29 +298,31 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
🚛 Choferes
|
||||
<span class="badge bg-secondary">2</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/choferes') ? 'show' : '' ?>" id="submenuChoferes">
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/choferes') ? 'show' : '' ?>" id="submenuChoferes">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/choferes/lista"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/choferes/lista' ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/choferes/lista') ? 'active' : '' ?>">
|
||||
• Mis choferes
|
||||
</a>
|
||||
<a href="/IMPORTADORES/choferes/crear"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/choferes/crear') ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/choferes/crear') ? 'active' : '' ?>">
|
||||
• Nuevo chofer
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<!-- PROVEEDORES -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/proveedores') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuProveedores" role="button" aria-expanded="<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/proveedores') ? 'true' : 'false' ?>"
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/proveedores') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuProveedores" role="button"
|
||||
aria-expanded="<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/proveedores') ? 'true' : 'false' ?>"
|
||||
aria-controls="submenuProveedores">
|
||||
🏭 Proveedores
|
||||
<span class="badge bg-secondary">2</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/proveedores') ? 'show' : '' ?>" id="submenuProveedores">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/proveedores" class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/proveedores' ? 'active' : '' ?>">
|
||||
<a href="/IMPORTADORES/proveedores" class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/proveedores') ? 'active' : '' ?>">
|
||||
• Lista de Proveedores
|
||||
</a>
|
||||
<a href="/IMPORTADORES/proveedores/crear" class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/proveedores/crear') ? 'active' : '' ?>">
|
||||
@@ -299,14 +338,14 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
📄 Solicitudes Importación
|
||||
<span class="badge bg-secondary">2</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/solicitud_importacion') ? 'show' : '' ?>" id="submenuSolicitudes">
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/solicitud_importacion') ? 'show' : '' ?>" id="submenuSolicitudes">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/solicitud_importacion/lista"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/solicitud_importacion/lista' ? 'active' : '' ?>">
|
||||
• Mis solicitudes
|
||||
</a>
|
||||
<a href="/IMPORTADORES/solicitud_importacion/crear"
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/solicitud_importacion/crear') ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-1 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/solicitud_importacion/crear') ? 'active' : '' ?>">
|
||||
• Nueva solicitud
|
||||
</a>
|
||||
</nav>
|
||||
@@ -314,12 +353,12 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
|
||||
<!-- EXPEDIENTE ELECTRÓNICO -->
|
||||
<a class="nav-link px-3 py-2 d-flex justify-content-between align-items-center
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/expediente') ? 'active' : '' ?>"
|
||||
<?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/expediente') ? 'active' : '' ?>"
|
||||
data-bs-toggle="collapse" href="#submenuExpediente" role="button" aria-expanded="false">
|
||||
📁 Expediente Electrónico
|
||||
<span class="badge bg-secondary">1</span>
|
||||
</a>
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/expediente') ? 'show' : '' ?>" id="submenuExpediente">
|
||||
<div class="collapse <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/expediente') ? 'show' : '' ?>" id="submenuExpediente">
|
||||
<nav class="nav flex-column ms-3">
|
||||
<a href="/IMPORTADORES/expediente/index"
|
||||
class="nav-link px-3 py-1 <?= $_SERVER['REQUEST_URI'] === '/IMPORTADORES/expediente/consultar' ? 'active' : '' ?>">
|
||||
@@ -330,7 +369,7 @@ if (!isset($_SESSION['usuario_id']) || $_SESSION['tipo_usuario'] !== 'importador
|
||||
|
||||
<!-- CONFIGURACIÓN -->
|
||||
<a href="/IMPORTADORES/configuracion"
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/configuracion') ? 'active' : '' ?>">
|
||||
class="nav-link px-3 py-2 <?= str_contains($_SERVER['REQUEST_URI'], '/IMPORTADORES/configuracion') ? 'active' : '' ?>">
|
||||
⚙️ Configuración
|
||||
</a>
|
||||
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
<style>
|
||||
body { font-family: 'Segoe UI', sans-serif; }
|
||||
.table td, .table th { vertical-align: middle; }
|
||||
.sidebar { width: 220px; background-color: #343a40; position: fixed; top: 56px; bottom: 0; left: 0; z-index: 1045; padding-top: 1rem; height: 100vh; overflow-y: auto; border-right: 1px solid #dee2e6; }
|
||||
.sidebar a { color: white; text-decoration: none; }
|
||||
.sidebar .nav-link.active,
|
||||
.sidebar .nav-link:hover { background-color: #495057; }
|
||||
.content { margin-left: 230px; margin-top: 70px; }
|
||||
@media (max-width: 991.98px) {
|
||||
.sidebar { position: relative; width: 100%; height: auto; border-right: none; }
|
||||
.content { margin-left: 0; margin-top: 20px; }
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- 🔷 NAVBAR -->
|
||||
<nav class="navbar navbar-dark bg-dark fixed-top">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="#">SIIH | Admin</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- SIDEBAR FIJA (escritorio) -->
|
||||
<div class="d-none d-md-block bg-dark text-white position-fixed h-100 pt-5" style="width: 250px;">
|
||||
<nav class="nav flex-column">
|
||||
<a href="/IMPORTADORES/sistemas/alta_usuarios" class="nav-link px-3 py-2 <?= $_GET['url'] === 'sistemas/alta_usuarios' ? 'active' : '' ?>">👥 Usuarios</a>
|
||||
|
||||
<a href="/IMPORTADORES/sistemas/agencias_activas" class="nav-link px-3 py-2 <?= $_GET['url'] === 'sistemas/agencias_activas' ? 'active' : '' ?>">🏪 Agencias</a>
|
||||
|
||||
<a href="/IMPORTADORES/sistemas/bitacora_login" class="nav-link px-3 py-2 <?= $_GET['url'] === 'sistemas/bitacora_login' ? 'active' : '' ?>">🕵️ Bitácora Accesos</a>
|
||||
|
||||
<a href="/IMPORTADORES/sistemas/bitacora_usuarios" class="nav-link px-3 py-2 <?= $_GET['url'] === 'sistemas/bitacora_usuarios' ? 'active' : '' ?>">🛠️ Bitácora Usuarios</a>
|
||||
|
||||
<a href="#" class="nav-link px-3 py-2">📦 Configuración</a>
|
||||
|
||||
<a href="/IMPORTADORES/sistemas/logout" class="nav-link px-3 py-2 text-danger">🚪 Cerrar sesión</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<!-- OFFCANVAS PARA MÓVILES -->
|
||||
<div class="offcanvas offcanvas-start d-md-none" tabindex="-1" id="sidebarMenu" style="top: 56px;">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title">Menú</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
|
||||
<!-- INICIO -->
|
||||
<a href="/IMPORTADORES/sistemas/alta_usuarios" class="nav-link px-3 py-2 <?= $_GET['url'] === 'sistemas/alta_usuarios' ? 'active' : '' ?>">👥 Usuarios</a>
|
||||
|
||||
<a href="/IMPORTADORES/sistemas/agencias_activas" class="nav-link px-3 py-2 <?= $_GET['url'] === 'sistemas/agencias_activas' ? 'active' : '' ?>">🏪 Agencias</a>
|
||||
|
||||
<a href="/IMPORTADORES/sistemas/bitacora_login" class="nav-link px-3 py-2 <?= $_GET['url'] === 'sistemas/bitacora_login' ? 'active' : '' ?>">🕵️ Bitácora Accesos</a>
|
||||
|
||||
<a href="/IMPORTADORES/sistemas/bitacora_usuarios" class="nav-link px-3 py-2 <?= $_GET['url'] === 'sistemas/bitacora_usuarios' ? 'active' : '' ?>">🛠️ Bitácora Usuarios</a>
|
||||
|
||||
<a href="#" class="nav-link px-3 py-2">📦 Configuración</a>
|
||||
|
||||
<a href="/IMPORTADORES/sistemas/logout" class="nav-link px-3 py-2 text-danger">🚪 Cerrar sesión</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user