Files
erp-efintel-2026-portainer/templates/base.html
T

92 lines
4.2 KiB
HTML

{% load static %}
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>EFINTEL | ERP Interno I+D+i</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;700;800&display=swap" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script src="https://unpkg.com/lucide@latest"></script>
<link rel="stylesheet" href="{% static 'css/style.css' %}">
<meta name="csrf-token" content="{{ csrf_token }}">
</head>
<body>
<!-- Top Corporate ERP Header -->
<header class="app-header">
<div class="brand-section">
<div class="brand-logo-container">
<img src="{% static 'img/efintel_logo.png' %}" alt="EFINTEL Logo" class="brand-logo-img" />
</div>
<div class="brand-title">
<h1>EFINTEL | ERP Interno I+D+i</h1>
<p>Sistema Integrado de Control Financiero, Operaciones, Talento y Proyectos</p>
</div>
</div>
<!-- Normalized Action Bar for ERP -->
<div class="header-actions">
<div style="font-size:0.8rem; font-weight: 600; color: white; margin-right: 15px;">
Usuario: {{ request.user.username }} | Rol: {% if request.user.groups.all %}{{ request.user.groups.all.0.name }}{% else %}Usuario{% endif %}
</div>
<a href="{% url 'export_csv' %}" class="btn-primary" style="background:#107c41; text-decoration: none;">
<i data-lucide="file-spreadsheet" style="width:16px;"></i> Exportar CSV
</a>
<a href="{% url 'expense_create' %}" class="btn-primary" style="text-decoration: none;">
<i data-lucide="plus-circle" style="width:16px;"></i> + Registrar Erogación
</a>
<a href="{% url 'logout' %}" class="btn-danger" style="text-decoration: none;">
<i data-lucide="log-out" style="width:16px;"></i> Salir
</a>
</div>
</header>
<!-- Corporate Ecosystem Navigation Bar -->
<nav class="nav-bar">
<a href="{% url 'dashboard' %}" class="nav-tab {% if request.resolver_match.url_name == 'dashboard' %}active{% endif %}">
<i data-lucide="pie-chart" style="width:16px;"></i> Resumen Financiero
</a>
<a href="{% url 'expense_list' %}" class="nav-tab {% if request.resolver_match.url_name == 'expense_list' %}active{% endif %}">
<i data-lucide="truck" style="width:16px;"></i> Operaciones y Gastos
</a>
<a href="{% url 'project_list' %}" class="nav-tab {% if request.resolver_match.url_name == 'project_list' %}active{% endif %}">
<i data-lucide="folder-kanban" style="width:16px;"></i> Control de Proyectos
</a>
{% if 'Administrador Finanzas' in request.user.groups.all.0.name or 'Administrador' in request.user.groups.all.0.name or request.user.is_superuser %}
<a href="{% url 'accounts_payable' %}" class="nav-tab {% if request.resolver_match.url_name == 'accounts_payable' %}active{% endif %}">
<i data-lucide="calculator" style="width:16px;"></i> Cuentas por Pagar (CXP)
</a>
{% endif %}
{% if 'Administrador' in request.user.groups.all.0.name or request.user.is_superuser %}
<a href="{% url 'gestion_panel' %}" class="nav-tab {% if request.resolver_match.url_name == 'gestion_panel' %}active{% endif %}" style="margin-left:auto; background:var(--efintel-petroleum); color:white;">
<i data-lucide="settings" style="width:16px;"></i> Gestión ERP
</a>
{% endif %}
</nav>
<main class="main-container">
{% if messages %}
<div class="messages-container" style="margin-bottom: 1rem;">
{% for message in messages %}
<div class="alert alert-{{ message.tags }}" style="padding: 10px; border-radius: 4px; background: var(--efintel-light); border-left: 4px solid var(--efintel-blue); font-weight: 600;">
{{ message }}
</div>
{% endfor %}
</div>
{% endif %}
{% block content %}{% endblock %}
</main>
<script>
if (window.lucide) {
lucide.createIcons();
}
</script>
{% block extra_js %}{% endblock %}
</body>
</html>