{# templates/partials/sidebar.html.twig #}
{# ==== COLORES DINÁMICOS SEGÚN BRANDING ==== #}
{% set sidebarBg = '#101230' %}
{% set sidebarAccent = '#32aaf0' %}
{% if branding_current is defined and branding_current is not null %}
{% if branding_current.secondaryColor is not empty %}
{% set sidebarBg = branding_current.secondaryColor %}
{% elseif branding_current.primaryColor is not empty %}
{% set sidebarBg = branding_current.primaryColor %}
{% endif %}
{% if branding_current.accentColor is not empty %}
{% set sidebarAccent = branding_current.accentColor %}
{% elseif branding_current.primaryColor is not empty %}
{% set sidebarAccent = branding_current.primaryColor %}
{% endif %}
{% endif %}
{% set iconAccentStyle = 'color: ' ~ sidebarAccent ~ ' !important;' %}
{# Config global de módulos (Configuration guardada en sesión como _modules) #}
{% set modules = app.session.get('_modules') ?? {} %}
{# Permisos finales para mostrar módulos en sidebar #}
{% set canClients = modules.mcliente %}
{% set canProviders = modules.mproveedor %}
{% set canSpaces = modules.mspaces %}
{% set canVenues = modules.mvenues %}
{% set canSage = modules.msage %}
{% set canSettings = modules.msettings %}
{% set canCatering = modules.mcatering %}
{% set canAv = modules.mav %}
{% set canInventory = modules.minven %}
{% set canLegends = modules.mlegends %}
{% set canAdmin = modules.madmin %}
{# Tipo de acceso actual (venues / catering / av) #}
{% set current_access = app.session.get('current_access_type') ?? null %}
{# 1. Primero se define _r (esto ya lo tienes en tu archivo, asegúrate de que esté arriba) #}
{% set _r = app.request.get('_route') %}
{# 2. Ahora ya puedes usar _r para el módulo LEGEND #}
{% set legend_routes = [
'venues_statistics_legends', 'reservation_invoice_legends_list'
] %}
{% set legends_open = _r in legend_routes %}
{# Ajuste entre los 3 módulos principales:
- Si está en VENUES -> no mostramos CATERING ni AV
- Si está en CATERING -> no mostramos VENUES ni AV
- Si está en AV -> no mostramos VENUES ni CATERING
#}
{% if current_access == 'venues' %}
{% set canCatering = false %}
{% set canAv = false %}
{% elseif current_access == 'catering' %}
{% set canVenues = false %}
{% set canAv = false %}
{% elseif current_access == 'av' %}
{% set canVenues = false %}
{% set canCatering = false %}
{% endif %}
{% block stylesheets %}
<style>
:root {
--sidebar-bg: {{ sidebarBg }};
--sidebar-accent: {{ sidebarAccent }};
}
{#span:hover {#}
{# color: {{ sidebarAccent }};#}
{#}#}
</style>
{% endblock %}
<div class="sidebar sidebar-main" id="sidebar-accordion">
<div class="sidebar-content">
{# --- LOGO (Trasladado desde el Navbar) --- #}
<div class="sidebar-logo" style="text-align: center; padding: 10px 20px; border-bottom: 1px solid rgba(255,255,255,0.1); margin-bottom: 20px; min-height: 60px; display: flex; align-items: center; justify-content: center;">
<a href="/" style="display: block;">
{% if branding_current is defined and branding_current.logoPath is not empty %}
<img src="{{ asset(branding_current.logoPath) }}" alt="{{ branding_current.name }}" style="max-height: 60px; max-width: 100%; object-fit: contain;">
{% elseif asset_exists('/assets/images/platform/logo.png') %}
<img src="{{ asset('assets/images/platform/logo.png') }}" alt="Mante" style="max-height: 60px; max-width: 100%; object-fit: contain;">
{% else %}
<img src="{{ asset('assets/images/placeholder.png') }}" alt="Mante" style="max-height: 60px; max-width: 100%; object-fit: contain;">
{% endif %}
</a>
</div>
{# dejamos mods por compatibilidad puntual si hiciera falta, aunque ya no lo usamos para permisos #}
{% set mods = app.session.get('_modules') %}
{# ==== helpers de ruta para abrir el bloque correspondiente ==== #}
{% set _r = app.request.get('_route') %}
{# INICIALIZACIÓN POR DEFECTO: Añade estas líneas aquí arriba #}
{% set current_space_id = null %}
{% set current_lounge_id = null %}
{% if space is defined %}
{# ID del espacio actual (si aplica) #}
{% set current_space_id = app.request.attributes.get('id') %}
{% if current_space_id is not null %}
{% set current_space_id = current_space_id * 1 %}
{% endif %}
{% endif %}
{# Si nos viene la variable currentSpaceId #}
{% if currentSpaceId is defined %}
{% set current_lounge_id = current_space_id %}
{% set current_space_id = currentSpaceId * 1 %}
{% endif %}
{# Flags de apertura por ruta #}
{% set clients_open = (_r starts with 'client_') or (_r in ['group_index']) %}
{% set suppliers_open = (_r starts with 'supplier_') or (_r in ['supplier_group_index']) %}
{% set venues_routes = [
'calendar_events_all', 'calendar_events_visits', 'app_space_index','reservations_venues_list_lounges','reservations_blueprints_home',
'reservations_venues_addvisit','reservations_venues_add','reservations_venues_gp_cvr_calendar',
'reservations_venues_index','reservation_invoice_list','reservations_venues_edit_general',
'reservations_venues_list_statistics','reservations_venues_list_stats_quoting','reservations_venues_list_stats_tarif',
'reservations_venues_list_statistics_client','reservations_venues_list_statistics_products',
'reservations_venues_services_stat_home','reservations_venues_loaded_reservations', 'reservations_venues_add_simple'
] %}
{% set venues_open = _r in venues_routes %}
{% set higotrigo_open = '/higotrigo/' in app.request.pathinfo %}
{% set inventory_open = '/inventory/' in app.request.pathinfo %}
{% set sage_routes = [
'sage_families_list','sage_subfamilies_list','sage_vat_rates_list',
'sage_articles_list','sage_payment_methods_list','app_sage_payment_index'
] %}
{% set sage_open = _r in sage_routes %}
{% set settings_routes = [
'settingsgeneral_index','users','addAction','printIndex','supplier_types'
] %}
{% set settings_open = _r in settings_routes %}
{# ==== VENUES ==== #}
{% if canVenues %}
<div class="sidebar-category sidebar-category-visible" style="margin-top:10px;">
<div class="category-title">
<a href="javascript:void(0)"
data-toggle="collapse"
data-target="#menu-venues"
data-parent="#sidebar-accordion"
aria-expanded="{{ venues_open or app.session.get('current_access_type') == 'venues' ? 'true' : 'false' }}"
class="{{ venues_open or app.session.get('current_access_type') == 'venues' ? '' : 'collapsed' }} text-default">
<i class="glyphicon glyphicon-map-marker"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">Venues</span>
<i class="glyphicon pull-right glyphicon-chevron-down"></i>
</a>
</div>
<div id="menu-venues" class="category-content collapse {% if venues_open or app.session.get('current_access_type') == 'venues' %}in{% endif %}">
<ul class="nav nav-pills nav-stacked nav-sidebar">
{# <li class="{% if _r == 'calendar_events_all' %}active{% endif %}">#}
{# <a href="{{ path('calendar_events_all') }}">#}
{# <i class="icon-calendar"></i>#}
{# <span style="margin-left:8px">{% trans %}Calendario Unificado{% endtrans %}</span>#}
{# </a>#}
{# </li>#}
<li class="{% if _r == 'calendar_events_visits' %}active{% endif %}">
<a href="{{ path('calendar_events_visits') }}">
<i class="icon-calendar5"></i>
<span style="margin-left:8px">{% trans %}Calendario de Visitas{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'app_space_index' %}active{% endif %}">
<a href="{{ path('app_space_index') }}">
<i class="glyphicon glyphicon-home"></i>
<span style="margin-left:8px">{% trans %}Venues{% endtrans %}</span>
</a>
</li>
<li id="gp-edit-lounges" class="{% if _r == 'reservations_venues_list_lounges' %}active{% endif %}">
<a href="{{ path('reservations_venues_list_lounges') }}">
<i class="glyphicon glyphicon-star"></i>
<span style="margin-left: 8px;">{% trans %}Lounges{% endtrans %}</span>
</a>
</li>
<li id="gp-new-visit" class="{% if _r == 'reservations_venues_addvisit' %}active{% endif %}">
<a href="{{ path('reservations_venues_addvisit') }}">
<i class="glyphicon glyphicon-bookmark"></i>
<span style="margin-left: 8px;">{% trans %}Visits{% endtrans %}</span>
</a>
</li>
<li id="gp-new-record" class="{% if _r == 'reservations_venues_add_simple' %}active{% endif %}">
<a href="{{ path('reservations_venues_add_simple') }}">
<i class="icon-folder-plus"></i>
<span style="margin-left: 8px;">{% trans %}Nuevo Expediente{% endtrans %}</span>
</a>
</li>
<li id="gp-list-records" class="{% if _r == 'reservations_venues_index' %}active{% endif %}">
<a href="{{ path('reservations_venues_index') }}">
<i class="glyphicon glyphicon-list"></i>
<span style="margin-left: 8px;">{% trans %}Listado de Expedientes{% endtrans %}</span>
</a>
</li>
<li id="gp-invoice-list" class="{% if _r == 'reservation_invoice_list' %}active{% endif %}">
<a href="{{ path('reservation_invoice_list') }}">
<i class="glyphicon glyphicon-euro"></i>
<span style="margin-left: 8px;">{% trans %}Facturación{% endtrans %}</span>
</a>
</li>
<li id="gp-edit-tariff" class="{% if _r == 'reservations_venues_edit_general' %}active{% endif %}">
<a href="{{ path('reservations_venues_edit_general') }}">
<i class="glyphicon glyphicon-check"></i>
<span style="margin-left: 8px;">{% trans %}Tarifario{% endtrans %}</span>
</a>
</li>
<li id="gp-stats-general" class="{% if _r == 'venues_statistics' %}active{% endif %}">
<a href="{{ path('venues_statistics') }}">
<i class="glyphicon glyphicon-signal"></i>
<span style="margin-left: 8px;">{% trans %}Estadísticas{% endtrans %}</span>
</a>
</li>
<li id="gp-stats-general" class="{% if _r == 'app_doc_contract_model_index' %}active{% endif %}">
<a href="{{ path('app_doc_contract_model_index') }}">
<i class="glyphicon glyphicon-inbox"></i>
<span style="margin-left: 8px;">{% trans %}Modelos de Contrato{% endtrans %}</span>
</a>
</li>
</ul>
</div>
</div>
{% endif %}
{# === CATERING === #}
{% if canCatering %}
<div class="sidebar-category sidebar-category-visible" style="margin-top:10px;">
<div class="category-title">
<a href="javascript:void(0)" data-toggle="collapse" data-target="#menu-higotrigo"
data-parent="#sidebar-accordion" aria-expanded="{{ higotrigo_open or app.session.get('current_access_type') == 'catering' ? 'true' : 'false' }}"
class="{{ higotrigo_open or app.session.get('current_access_type') == 'catering' ? '' : 'collapsed' }} text-default">
<i class="icon-basket"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">Catering</span>
<i class="glyphicon pull-right glyphicon-chevron-down"></i>
</a>
</div>
<div id="menu-higotrigo" class="category-content collapse {% if higotrigo_open or app.session.get('current_access_type') == 'catering' %}in{% endif %}">
<ul class="nav nav-pills nav-stacked nav-sidebar">
{# --- Calendario --- #}
<li class="{% if _r == 'ht_calendar' %}active{% endif %}">
<a href="/higotrigo/calendar">
<i class="icon-calendar"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Calendario{% endtrans %}</span>
</a>
</li>
{# --- Prueba de Menú / Visitas --- #}
<li class="{% if _r == 'app_higotrigo_ht_visit_index' %}active{% endif %}">
<a href="{{ path('app_higotrigo_ht_visit_index') }}">
<i class="icon-chair"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Prueba de Menú{% endtrans %}</span>
</a>
</li>
{# --- Submenú: Expedientes --- #}
{% set open_files = _r in ['app_ht_file_index','app_ht_file_new','app_ht_ten_days_ahead','app_ht_invoice_index', 'app_ht_proforma_index'] %}
<li>
<li class="{% if _r == 'app_ht_file_index' %}active{% endif %}">
<a class="" href="{{ path('app_ht_file_index') }}">
<i class="icon-list"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Listar Expedientes{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'app_ht_file_new' %}active{% endif %}">
<a class="" href="{{ path('app_ht_file_new') }}">
<i class="icon-folder-plus"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Nuevo Expediente{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'app_ht_ten_days_ahead' %}active{% endif %}">
<a class="" href="{{ path('app_ht_ten_days_ahead') }}">
<i class="icon-eye"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Previsión Semanal{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'app_ht_invoice_index' %}active{% endif %}">
<a class="" href="{{ path('app_ht_invoice_index') }}">
<i class="icon-coin-euro"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Facturación{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'app_ht_proforma_index' %}active{% endif %}">
<a class="" href="{{ path('app_ht_proforma_index') }}">
<i class="icon-file-text"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Proformas{% endtrans %}</span>
</a>
</li>
</li>
{# --- Submenú: Cocina --- #}
{% set open_kitchen = _r in [
'app_product_index','app_product_new',
'app_family_index','app_family_new',
'app_escandallo_index','app_escandallo_new',
'app_family_escandallo_index','app_family_escandallo_new',
'app_ht_menu_index','app_ht_menu_new'
] %}
<li>
<a href="javascript:void(0)" data-toggle="collapse" data-target="#submenu-ht-kitchen" aria-expanded="{{ open_kitchen ? 'true' : 'false' }}" class="{{ open_kitchen ? '' : 'collapsed' }}">
<i class="icon-coffee"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Cocina{% endtrans %}</span>
<i class="glyphicon pull-right glyphicon-chevron-down"></i>
</a>
<ul id="submenu-ht-kitchen" class="collapse {% if open_kitchen %}in{% endif %}">
<li class="{% if _r == 'app_product_index' %}active{% endif %}">
<a class="" href="{{ path('app_product_index') }}">
<i class="icon-list"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Listar Productos{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'app_product_new' %}active{% endif %}">
<a class="" href="{{ path('app_product_new') }}">
<i class="glyphicon glyphicon-plus-sign"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Nuevo Producto{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'app_family_index' %}active{% endif %}">
<a class="" href="{{ path('app_family_index') }}">
<i class="icon-list"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Listar Familia de Productos{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'app_family_new' %}active{% endif %}">
<a class="" href="{{ path('app_family_new') }}">
<i class="glyphicon glyphicon-plus-sign"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Nueva Familia de Producto{% endtrans %}</span>
</a>
</li>
<li><hr></li>
<li class="{% if _r == 'app_escandallo_index' %}active{% endif %}">
<a class="" href="{{ path('app_escandallo_index') }}">
<i class="icon-list"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Listar Escandallos{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'app_escandallo_new' %}active{% endif %}">
<a class="" href="{{ path('app_escandallo_new') }}">
<i class="glyphicon glyphicon-plus-sign"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Nuevo Escandallo{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'app_family_escandallo_index' %}active{% endif %}">
<a class="" href="{{ path('app_family_escandallo_index') }}">
<i class="icon-list"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Listar Familia de Escandallos{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'app_family_escandallo_new' %}active{% endif %}">
<a class="" href="{{ path('app_family_escandallo_new') }}">
<i class="glyphicon glyphicon-plus-sign"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Nueva Familia de Escandallo{% endtrans %}</span>
</a>
</li>
<li><hr></li>
<li class="{% if _r == 'app_ht_menu_index' %}active{% endif %}">
<a class="" href="{{ path('app_ht_menu_index') }}">
<i class="icon-list"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Listar Menú{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'app_ht_menu_new' %}active{% endif %}">
<a class="" href="{{ path('app_ht_menu_new') }}">
<i class="glyphicon glyphicon-plus-sign"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Nuevo Menú{% endtrans %}</span>
</a>
</li>
</ul>
</li>
{# --- Submenú: Estadísticas --- #}
{% if canAdmin %}
{% set open_stats = _r in ['app_higotrigo_ht_statistics_home','app_higotrigo_ht_statistics_production'] %}
<li>
<a href="javascript:void(0)" data-toggle="collapse" data-target="#submenu-ht-stats" aria-expanded="{{ open_stats ? 'true' : 'false' }}" class="{{ open_stats ? '' : 'collapsed' }}">
<i class="icon-stats-bars2"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Estadísticas{% endtrans %}</span>
<i class="glyphicon pull-right glyphicon-chevron-down"></i>
</a>
<ul id="submenu-ht-stats" class="collapse {% if open_stats %}in{% endif %}">
<li class="{% if _r == 'app_higotrigo_ht_statistics_home' %}active{% endif %}">
<a class="" href="{{ path('app_higotrigo_ht_statistics_home') }}">
<i class="icon-stairs position-left"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Informe de Facturación{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'app_higotrigo_ht_statistics_production' %}active{% endif %}">
<a class="" href="{{ path('app_higotrigo_ht_statistics_production') }}">
<i class="icon-stairs position-left"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Informe de Producción{% endtrans %}</span>
</a>
</li>
</ul>
</li>
{% endif %}
</ul>
</div>
</div>
{% endif %}
{# ==== AV EXPRESS ==== #}
{% set avexpress_routes = [
'ave_add_file','ave_list_product','ave_calendarav','ave_list_file','ave_list_invoices',
'ave_new_template','ave_list_template','ave_list_productfilelocation','reservations_venues',
'ave_monthly_benefits'
] %}
{% set avexpress_open = (_r in avexpress_routes) or ('/avexpress/' in app.request.pathinfo) %}
{% if canAv %}
<div class="sidebar-category sidebar-category-visible" style="margin-top:10px;">
<div class="category-title">
<a href="javascript:void(0)"
data-toggle="collapse"
data-target="#menu-avexpress"
data-parent="#sidebar-accordion"
aria-expanded="{{ avexpress_open or app.session.get('current_access_type') == 'av' ? 'true' : 'false' }}"
class="{{ avexpress_open or app.session.get('current_access_type') == 'av' ? '' : 'collapsed' }} text-default">
<i class="glyphicon glyphicon-facetime-video"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">{% trans %}Audiovisuals{% endtrans %}</span>
<i class="glyphicon pull-right glyphicon-chevron-down"></i>
</a>
</div>
<div id="menu-avexpress" class="category-content collapse {% if avexpress_open or app.session.get('current_access_type') == 'av' %}in{% endif %}">
<ul class="nav nav-pills nav-stacked nav-sidebar">
<li class="{% if _r == 'ave_add_file' %}active{% endif %}">
<a class="" href="{{ path('ave_add_file') }}">
<i class="icon-folder-plus"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Nuevo expediente{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'ave_list_product' %}active{% endif %}">
<a class="" href="{{ path('ave_list_product') }}" target="_blank">
<i class="glyphicon glyphicon-plus"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Nuevo producto{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'ave_calendarav' %}active{% endif %}">
<a class="" href="{{ path('ave_calendarav') }}">
<i class="icon-calendar"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Calendario{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'ave_list_file' %}active{% endif %}">
<a class="" href="{{ path('ave_list_file') }}">
<i class="glyphicon glyphicon-list"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Listado de expedientes{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'ave_list_product' %}active{% endif %}">
<a class="" href="{{ path('ave_list_product') }}">
<i class="glyphicon glyphicon-list-alt"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Listado de productos{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'ave_list_invoices' %}active{% endif %}">
<a class="" href="{{ path('ave_list_invoices') }}">
<i class="glyphicon glyphicon-euro"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Facturación{% endtrans %}</span>
</a>
</li>
{# --- Submenú: Plantillas --- #}
{% set av_tpl_open = _r in ['ave_new_template','ave_list_template'] %}
<li>
<a href="javascript:void(0)"
data-toggle="collapse"
data-target="#submenu-avexpress-templates"
aria-expanded="{{ av_tpl_open ? 'true' : 'false' }}"
class="{{ av_tpl_open ? '' : 'collapsed' }}">
<i class="glyphicon glyphicon-duplicate"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Plantillas{% endtrans %}</span>
<i class="glyphicon pull-right glyphicon-chevron-down"></i>
</a>
<ul id="submenu-avexpress-templates" class="collapse {% if av_tpl_open %}in{% endif %}">
<li class="{% if _r == 'ave_new_template' %}active{% endif %}">
<a class="" href="{{ path('ave_new_template') }}">
<i class="glyphicon glyphicon-plus"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Nueva plantilla{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'ave_list_template' %}active{% endif %}">
<a class="" href="{{ path('ave_list_template') }}">
<i class="glyphicon glyphicon-edit"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Modificar plantillas{% endtrans %}</span>
</a>
</li>
</ul>
</li>
{# --- Submenú: Paquetes --- #}
{% set av_pck_open = _r in ['ave_package','ave_package_list'] %}
<li>
<a href="javascript:void(0)"
data-toggle="collapse"
data-target="#submenu-avexpress-packages"
aria-expanded="{{ av_pck_open ? 'true' : 'false' }}"
class="{{ av_pck_open ? '' : 'collapsed' }}">
<i class="glyphicon glyphicon-inbox"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Paquetes{% endtrans %}</span>
<i class="glyphicon pull-right glyphicon-chevron-down"></i>
</a>
<ul id="submenu-avexpress-packages" class="collapse {% if av_pck_open %}in{% endif %}">
<li class="{% if _r == 'ave_package' %}active{% endif %}">
<a class="" href="{{ path('ave_package') }}">
<i class="glyphicon glyphicon-plus"></i>
<span>{% trans %}Nuevo paquete{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'ave_package_list' %}active{% endif %}">
<a class="" href="{{ path('ave_package_list') }}">
<i class="glyphicon glyphicon-edit"></i>
<span>{% trans %}Modificar paquete{% endtrans %}</span>
</a>
</li>
</ul>
</li>
{# --- Submenú: Otros --- #}
{% set av_other_open = _r in ['ave_list_productfilelocation','reservations_venues','ave_monthly_benefits'] or ('/avexpress/liststatistics' in app.request.pathinfo) %}
<li>
<a href="javascript:void(0)"
data-toggle="collapse"
data-target="#submenu-avexpress-others"
aria-expanded="{{ av_other_open ? 'true' : 'false' }}"
class="{{ av_other_open ? '' : 'collapsed' }}">
<i class="glyphicon glyphicon-option-horizontal"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Otros{% endtrans %}</span>
<i class="glyphicon pull-right glyphicon-chevron-down"></i>
</a>
<ul id="submenu-avexpress-others" class="collapse {% if av_other_open %}in{% endif %}">
<li class="{% if _r == 'ave_list_productfilelocation' %}active{% endif %}">
<a class="" href="{{ path('ave_list_productfilelocation') }}">
<i class="glyphicon glyphicon-map-marker"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Agregar / Listar Ubicaciones{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'ave_monthly_benefits' %}active{% endif %}">
<a class="" href="{{ path('ave_monthly_benefits') }}">
<i class="glyphicon glyphicon-stats"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Beneficios{% endtrans %}</span>
</a>
</li>
<li class="{% if '/avexpress/liststatistics' in app.request.pathinfo %}active{% endif %}">
<a class="" href="/avexpress/liststatistics">
<i class="glyphicon glyphicon-signal"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Estadísticas de Facturación{% endtrans %}</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
{% endif %}
{# ==== ESPACIOS (raíz) ==== #}
{% if canSpaces %}
{% for space in spaces %}
{% set space_open = (_r starts with 'calendar_by') and (current_space_id == space.id) %}
<div class="sidebar-category sidebar-category-visible" style="margin-top:10px;">
<div class="category-title">
<a href="javascript:void(0)"
data-toggle="collapse"
data-target="#submenu-space-{{ space.id }}"
data-parent="#sidebar-accordion"
aria-expanded="{{ space_open ? 'true' : 'false' }}"
class="{{ space_open ? '' : 'collapsed' }} text-default">
<i class="glyphicon glyphicon-home"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">{{ space.name }}</span>
<i class="glyphicon pull-right glyphicon-chevron-down"></i>
</a>
</div>
<div id="submenu-space-{{ space.id }}" class="category-content collapse {% if space_open %}in{% endif %}">
<ul class="nav nav-pills nav-stacked nav-sidebar">
<li class="{% if _r == 'calendar_by_space' and current_space_id == space.id %}active{% endif %}">
<a href="{{ path('calendar_by_space', { id: space.id }) }}">
<i class="icon-calendar"></i>
<span style="margin-left:8px">Calendario {{ space.name }}</span>
</a>
</li>
<li class="{% if _r == 'reservations_venues_space_index' and current_space_id == space.id %}active{% endif %}">
<a href="{{ path('reservations_venues_space_index', { idspace: space.id }) }}">
<i class="glyphicon glyphicon-list"></i>
<span style="margin-left:8px">Listado Expedientes {{ space.name }}</span>
</a>
</li>
{# {% if space.reservationLounges is defined and space.reservationLounges|length > 0 %}#}
{# {% for lounge in space.reservationLounges %}#}
{# {% set current_lounge_id = current_lounge_id is defined ? current_lounge_id : null %}#}
{# <li class="{% if _r == 'calendar_by_lounge' and current_lounge_id == lounge.id %}active{% endif %}">#}
{# <a href="{{ path('calendar_by_lounge', { id: lounge.id }) }}">#}
{# <i class="icon-calendar"></i>#}
{# <span style="margin-left:8px">Calendario {{ lounge.name }}</span>#}
{# </a>#}
{# </li>#}
{# {% endfor %}#}
{# {% else %}#}
{# <li class="disabled">#}
{# <a href="javascript:void(0)">#}
{# <i class="icon-calendar"></i>#}
{# <span style="margin-left:8px">Sin salas</span>#}
{# </a>#}
{# </li>#}
{# {% endif %}#}
</ul>
</div>
</div>
{% else %}
<div class="sidebar-category sidebar-category-visible" style="margin-top:10px;">
<div class="category-title">
<span style="margin-left:8px; letter-spacing: 1px;" class="text-muted">No hay venues definidos</span>
</div>
</div>
{% endfor %}
{% endif %}
{# ==== INVENTARIO ==== #}
{% if canInventory %}
<div class="sidebar-category sidebar-category-visible" style="margin-top:10px;">
<div class="category-title">
<a
href="javascript:void(0)"
data-toggle="collapse"
data-target="#menu-inventario"
data-parent="#sidebar-accordion"
aria-expanded="{{ inventory_open ? 'true' : 'false' }}"
class="{{ inventory_open ? '' : 'collapsed' }} text-default">
<i class="glyphicon glyphicon-user"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">Inventario</span>
<i class="glyphicon pull-right glyphicon-chevron-down"></i>
</a>
</div>
<div id="menu-inventario" class="category-content collapse {% if inventory_open %}in{% endif %}">
<ul class="nav nav-pills nav-stacked nav-sidebar">
<li class="{% if _r == 'inventory_item_new' %}active{% endif %}">
<a href="{{ path('inventory_item_new') }}">
<i class="glyphicon glyphicon-plus-sign"></i>
<span style="margin-left:8px">Añadir Item</span>
</a>
</li>
</ul>
</div>
</div>
{% endif %}
{# ==== SAGE ==== #}
{% if canSage %}
<div class="sidebar-category sidebar-category-visible" style="margin-top:10px;">
<div class="category-title">
<a href="javascript:void(0)"
data-toggle="collapse"
data-target="#menu-sage"
data-parent="#sidebar-accordion"
aria-expanded="{{ sage_open ? 'true' : 'false' }}"
class="{{ sage_open ? '' : 'collapsed' }} text-default">
<i class="glyphicon glyphicon-list-alt"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">SAGE</span>
<i class="glyphicon pull-right glyphicon-chevron-down"></i>
</a>
</div>
<div id="menu-sage" class="category-content collapse {% if sage_open %}in{% endif %}">
<ul class="nav nav-pills nav-stacked nav-sidebar">
<li class="{% if _r == 'sage_families_list' %}active{% endif %}">
<a href="{{ path('sage_families_list') }}">
<i class="glyphicon glyphicon-th-large"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">Familias</span>
</a>
</li>
<li class="{% if _r == 'sage_subfamilies_list' %}active{% endif %}">
<a href="{{ path('sage_subfamilies_list') }}">
<i class="glyphicon glyphicon-th"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">Subfamilias</span>
</a>
</li>
<li class="{% if _r == 'sage_vat_rates_list' %}active{% endif %}">
<a href="{{ path('sage_vat_rates_list') }}">
<i class="glyphicon glyphicon-euro"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">Tipos de IVA</span>
</a>
</li>
<li class="{% if _r == 'sage_articles_list' %}active{% endif %}">
<a href="{{ path('sage_articles_list') }}">
<i class="glyphicon glyphicon-book"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">Artículos</span>
</a>
</li>
<li class="{% if _r == 'sage_payment_methods_list' %}active{% endif %}">
<a href="{{ path('sage_payment_methods_list') }}">
<i class="glyphicon glyphicon-credit-card"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">Formas de pago</span>
</a>
</li>
<li class="{% if _r == 'sage_financial_account_list' %}active{% endif %}">
<a href="{{ path('sage_financial_account_list') }}">
<i class="glyphicon glyphicon-piggy-bank"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">Cuentas financieras</span>
</a>
</li>
<li id="reservations-add">
<a href="{{ path('app_sage_payment_index') }}">
<i class="glyphicon glyphicon-usd"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">Cobros</span>
</a>
</li>
</ul>
</div>
</div>
{% endif %}
{# ==== CLIENTES ==== #}
{% if canClients %}
<div class="sidebar-category sidebar-category-visible" style="margin-top:10px;">
<div class="category-title">
<a href="javascript:void(0)"
data-toggle="collapse"
data-target="#menu-clientes"
data-parent="#sidebar-accordion"
aria-expanded="{{ clients_open ? 'true' : 'false' }}"
class="{{ clients_open ? '' : 'collapsed' }} text-default">
<i class="glyphicon glyphicon-briefcase iconos"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">Clientes</span>
<i class="glyphicon pull-right glyphicon-chevron-down"></i>
</a>
</div>
<div id="menu-clientes" class="category-content collapse {% if clients_open %}in{% endif %}">
<ul class="nav nav-pills nav-stacked nav-sidebar">
<li class="{% if _r == 'client_list_simple_letters' %}active{% endif %}">
<a href="{{ path('client_list_simple_letters', {ind:0}) }}">
<i class="glyphicon glyphicon-list-alt"></i>
<span style="margin-left:8px">Listado Clientes (A ~ Z)</span>
</a>
</li>
<li class="{% if _r == 'client_add' %}active{% endif %}">
<a href="{{ path('client_add') }}">
<i class="glyphicon glyphicon-plus-sign"></i>
<span style="margin-left:8px">Añadir Cliente</span>
</a>
</li>
<li class="{% if _r == 'client_list_MyClients' %}active{% endif %}">
<a href="{{ path('client_list_MyClients') }}">
<i class="glyphicon glyphicon-pushpin"></i>
<span style="margin-left:8px">{% trans %}My Clients{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'client_list_NoClient' %}active{% endif %}">
<a href="{{ path('client_list_NoClient') }}">
<i class="glyphicon glyphicon-alert"></i>
<span style="margin-left:8px">{% trans %}Not Clients{% endtrans %}</span>
</a>
</li>
</ul>
</div>
</div>
{% endif %}
{# ==== PROVEEDORES ==== #}
{% if canProviders %}
<div class="sidebar-category sidebar-category-visible" style="margin-top:10px;">
<div class="category-title">
<a href="javascript:void(0)"
data-toggle="collapse"
data-target="#menu-proveedores"
data-parent="#sidebar-accordion"
aria-expanded="{{ suppliers_open ? 'true' : 'false' }}"
class="{{ suppliers_open ? '' : 'collapsed' }} text-default">
<i class="glyphicon glyphicon-user"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">Proveedores</span>
<i class="glyphicon pull-right glyphicon-chevron-down"></i>
</a>
</div>
<div id="menu-proveedores" class="category-content collapse {% if suppliers_open %}in{% endif %}">
<ul class="nav nav-pills nav-stacked nav-sidebar">
<li class="{% if _r == 'supplier_index_simple_letters' %}active{% endif %}">
<a href="{{ path('supplier_index_simple_letters', {ind:0}) }}">
<i class="glyphicon glyphicon-list-alt"></i>
<span style="margin-left:8px">Listado Proveedores (A ~ Z)</span>
</a>
</li>
<li class="{% if _r == 'supplier_add' %}active{% endif %}">
<a href="{{ path('supplier_add') }}">
<i class="glyphicon glyphicon-plus-sign"></i>
<span style="margin-left:8px">Añadir Proveedor</span>
</a>
</li>
</ul>
</div>
</div>
{% endif %}
{# ==== MODULO LEGEND ==== #}
{% if canLegends %} {# Usamos canVenues como permiso base, o puedes crear un canLegend #}
<div class="sidebar-category sidebar-category-visible" style="margin-top:10px;">
<div class="category-title">
<a href="javascript:void(0)"
data-toggle="collapse"
data-target="#menu-legend"
data-parent="#sidebar-accordion"
aria-expanded="{{ legends_open ? 'true' : 'false' }}"
class="{{ legends_open ? '' : 'collapsed' }} text-default">
{# Icono de estrella o diamante para diferenciar LEGEND #}
<i class="glyphicon glyphicon-star"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px; letter-spacing: 1px;">ESPACIO LEGENDS</span>
<i class="glyphicon pull-right glyphicon-chevron-down"></i>
</a>
</div>
<div id="menu-legend" class="category-content collapse {% if app.user.team.id == 18 %}in{% endif %}">
<ul class="nav nav-pills nav-stacked nav-sidebar">
<li>
<a href="/">
<i class="glyphicon glyphicon-calendar"></i>
<span style="margin-left:8px">Calendario LEGENDS</span>
</a>
</li>
<li class="{% if _r == 'venues_statistics_legends' %}active{% endif %}">
<a href="{{ path('venues_statistics_legends') }}">
<i class="glyphicon glyphicon-signal"></i>
<span style="margin-left:8px">Estadísticas LEGENDS</span>
</a>
</li>
<li class="{% if _r == 'reservation_invoice_legends_list' %}active{% endif %}">
<a href="{{ path('reservation_invoice_legends_list') }}">
<i class="glyphicon glyphicon-euro"></i>
<span style="margin-left:8px">Facturación LEGENDS</span>
</a>
</li>
<li class="{% if _r == 'reservation_quote_legends' %}active{% endif %}">
<a href="{{ path('reservation_quotation_legends_list') }}">
<i class="glyphicon glyphicon-bookmark"></i>
<span style="margin-left:8px">Cotización LEGENDS</span>
</a>
</li>
<li>
</ul>
</div>
</div>
{% endif %}
{# ==== SETTINGS ==== #}
{% if canSettings %}
<hr style="margin: 20px">
<div class="sidebar-category sidebar-category-visible" style="margin-top:30px;">
<div class="category-title">
<a href="javascript:void(0)"
data-toggle="collapse"
data-target="#menu-platform-settings"
data-parent="#sidebar-accordion"
aria-expanded="{{ settings_open ? 'true' : 'false' }}"
class="{{ settings_open ? '' : 'collapsed' }} text-default">
<i class="glyphicon glyphicon-cog"></i>
<span class="uppercase" style="margin-left:8px; letter-spacing: 1px;">{% trans %}Settings{% endtrans %}</span>
<i class="glyphicon pull-right glyphicon-chevron-down"></i>
</a>
</div>
<div id="menu-platform-settings" class="category-content collapse {% if settings_open %}in{% endif %}">
<ul class="nav nav-pills nav-stacked nav-sidebar">
<li class="{% if _r == 'settingsgeneral_index' %}active{% endif %}">
<a href="{{ path('settingsgeneral_index') }}">
<i class="icon-cog position-left"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}General{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'settingsbranding_index' %}active{% endif %}">
<a href="{{ path('settingsbranding_index') }}">
<i class="icon-ampersand position-left"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Branding{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'users' %}active{% endif %}">
<a href="{{ path('users') }}">
<i class="icon-people position-left"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Users{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'addAction' %}active{% endif %}">
<a href="{{ path('addAction') }}">
<i class="icon-key position-left"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Permissions{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'printIndex' %}active{% endif %}">
<a href="{{ path('printIndex') }}">
<i class="icon-earth position-left"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Edit Locations{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'supplier_types' %}active{% endif %}">
<a href="{{ path('supplier_types') }}">
<i class="icon-users4 position-left"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Supplier Type{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'settings_configuration_edit' %}active{% endif %}">
<a href="{{ path('settings_configuration_edit') }}">
<i class="note-icon-menu-check position-left"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Modules{% endtrans %}</span>
</a>
</li>
<li class="{% if _r == 'status_color_index' %}active{% endif %}">
<a href="{{ path('status_color_index') }}">
<i class="icon-paint-format position-left"></i>
<span style="margin-left:8px; letter-spacing: 1px;">{% trans %}Status Colors{% endtrans %}</span>
</a>
</li>
</ul>
</div>
<br><br><br>
</div>
{% endif %}
</div>
</div>