templates/base.html.twig line 1

Open in your IDE?
  1. {% if is_granted('ROLE_USER') == true or is_granted('ROLE_ESTUDIANTE') == true  or is_granted('ROLE_ADMIN') == true %}
  2. <!DOCTYPE html>
  3. <!-- 
  4.    Template Name: Metronic - Responsive Admin Dashboard Template build with Twitter Bootstrap 4
  5.    Author: KeenThemes
  6.    Website: http://www.keenthemes.com/
  7.    Contact: support@keenthemes.com
  8.    Follow: www.twitter.com/keenthemes
  9.    Dribbble: www.dribbble.com/keenthemes
  10.    Like: www.facebook.com/keenthemes
  11.    Purchase: http://themeforest.net/item/metronic-responsive-admin-dashboard-template/4021469?ref=keenthemes
  12.    Renew Support: http://themeforest.net/item/metronic-responsive-admin-dashboard-template/4021469?ref=keenthemes
  13.    License: You must have a valid license purchased only from themeforest(the above link) in order to legally use the theme for your project.
  14.    -->
  15. <html lang="en" >
  16. <!-- begin::Head -->
  17. <head>
  18.     <!-- Google Tag Manager -->
  19.     <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  20.     new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  21.     j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  22.     'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  23.     })(window,document,'script','dataLayer','GTM-5VVM4B8M');</script>
  24.     <!-- End Google Tag Manager -->
  25.     <meta charset="utf-8" />
  26.     <title>
  27.         Difusión | Dashboard
  28.     </title>
  29.     <meta name="description" content="Latest updates and statistic charts">
  30.     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no">
  31.     <script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>
  32.     <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
  33.     <script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.16/webfont.js"></script>
  34.     <script>
  35.         WebFont.load({
  36.             google: {"families":["Poppins:300,400,500,600,700","Roboto:300,400,500,600,700"]},
  37.             active: function() {
  38.                 sessionStorage.fonts = true;
  39.             }
  40.         });
  41.     </script>
  42.     <link href="{{ asset('metronic/assets/vendors/custom/datatables/datatables.bundle.css') }}" rel="stylesheet" type="text/css" />
  43.     <link href="{{ asset('metronic/assets/css/style.bundle.css') }}" rel="stylesheet" type="text/css" />
  44.     <link href="{{ asset('metronic/assets/plugins/global/plugins.bundle.css') }}" rel="stylesheet" type="text/css" />
  45.     <link href="{{ asset('metronic/assets/vendors/custom/fullcalendar/fullcalendar.bundle.css') }}" rel="stylesheet" type="text/css" />
  46.     <link href="{{ asset('metronic/assets/vendors/base/vendors.bundle.css') }}" rel="stylesheet" type="text/css" />
  47.     <link href="{{ asset('metronic/assets/demo/default/base/style.bundle.css') }}" rel="stylesheet" type="text/css" />
  48.     <link rel="shortcut icon" href="{{ asset('metronic/assets/demo/default/media/img/logo/favicon.ico') }}" />
  49.     <link href="{{ asset('metronic/assets/plugins/global/plugins.bundle.css') }}" rel="stylesheet" type="text/css" />
  50.     <link href="{{ asset('modal.css') }}" rel="stylesheet" type="text/css" />
  51.     <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
  52.     <style>
  53.         /* Agregar scroll al menú lateral cuando supere la altura */
  54.         .m-aside-menu {
  55.             max-height: calc(100vh - 60px);
  56.             overflow-y: auto;
  57.             overflow-x: hidden;
  58.         }
  59.         
  60.         /* Personalizar scrollbar para que se vea mejor */
  61.         .m-aside-menu::-webkit-scrollbar {
  62.             width: 6px;
  63.         }
  64.         
  65.         .m-aside-menu::-webkit-scrollbar-track {
  66.             background: rgba(0, 0, 0, 0.1);
  67.         }
  68.         
  69.         .m-aside-menu::-webkit-scrollbar-thumb {
  70.             background: rgba(255, 255, 255, 0.3);
  71.             border-radius: 3px;
  72.         }
  73.         
  74.         .m-aside-menu::-webkit-scrollbar-thumb:hover {
  75.             background: rgba(255, 255, 255, 0.5);
  76.         }
  77.         /* ===== MODERNIZACIÓN GLOBAL ===== */
  78.         .m-portlet {
  79.             background: #fff;
  80.             border-radius: 10px;
  81.             box-shadow: 0 2px 10px rgba(0,0,0,0.07);
  82.             border: 1px solid #e8ecef;
  83.             margin-bottom: 24px;
  84.             overflow: hidden;
  85.         }
  86.         .m-portlet__head {
  87.             padding: 14px 20px;
  88.             border-bottom: 1px solid #edf0f5;
  89.             background: #fff;
  90.             min-height: auto !important;
  91.             display: flex;
  92.             align-items: center;
  93.             justify-content: space-between;
  94.             flex-wrap: wrap;
  95.             gap: 8px;
  96.         }
  97.         .m-portlet__head-caption { display: flex; align-items: center; }
  98.         .m-portlet__head-text {
  99.             font-size: 14px !important;
  100.             font-weight: 600 !important;
  101.             color: #2d3748 !important;
  102.             margin: 0 !important;
  103.         }
  104.         .m-portlet__head-tools { display: flex; align-items: center; }
  105.         .m-portlet__nav {
  106.             display: flex;
  107.             flex-wrap: wrap;
  108.             gap: 6px;
  109.             list-style: none;
  110.             margin: 0;
  111.             padding: 0;
  112.             align-items: center;
  113.         }
  114.         .m-portlet__nav-item { display: flex; align-items: center; }
  115.         .m-portlet__body { padding: 16px; }
  116.         .m-content { padding: 18px 22px; }
  117.         /* Tablas */
  118.         .table thead th {
  119.             font-size: 10px;
  120.             font-weight: 700;
  121.             text-transform: uppercase;
  122.             letter-spacing: 0.04em;
  123.             color: #718096;
  124.             white-space: nowrap;
  125.             background: #f7fafc;
  126.             border-bottom: 2px solid #e2e8f0 !important;
  127.             padding: 8px 10px;
  128.         }
  129.         .table td {
  130.             vertical-align: middle !important;
  131.             font-size: 12px;
  132.             color: #2d3748;
  133.             padding: 7px 10px;
  134.         }
  135.         .table-hover tbody tr:hover { background-color: #f0f4ff; }
  136.         /* Badges de estado */
  137.         .badge-estado {
  138.             display: inline-block;
  139.             padding: 3px 10px;
  140.             border-radius: 20px;
  141.             font-size: 11px;
  142.             font-weight: 600;
  143.             white-space: nowrap;
  144.         }
  145.         .badge-pendiente  { background: #fff3cd; color: #856404; border: 1px solid #ffc107; }
  146.         .badge-agendada   { background: #d1ecf1; color: #0c5460; border: 1px solid #bee5eb; }
  147.         .badge-realizada  { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
  148.         .badge-cancelada  { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
  149.         .badge-eliminada  { background: #e2e3e5; color: #383d41; border: 1px solid #d6d8db; }
  150.         .badge-aceptada   { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
  151.         .badge-rechazada  { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
  152.         /* Override m-badge */
  153.         .m-badge {
  154.             display: inline-flex;
  155.             align-items: center;
  156.             gap: 3px;
  157.             padding: 4px 10px;
  158.             border-radius: 20px;
  159.             font-size: 11px;
  160.             font-weight: 600;
  161.             white-space: nowrap;
  162.         }
  163.         .m-badge--danger  { background: #fee2e2; color: #991b1b; }
  164.         .m-badge--warning { background: #fef3c7; color: #92400e; }
  165.         .m-badge--info    { background: #dbeafe; color: #1e40af; }
  166.         .m-badge--success { background: #d1fae5; color: #065f46; }
  167.         .m-badge--metal   { background: #f1f5f9; color: #64748b; }
  168.         .m-badge--wide    { min-width: 80px; justify-content: center; }
  169.         /* Bulk actions bar */
  170.         .bulk-actions-bar {
  171.             display: none;
  172.             align-items: center;
  173.             gap: 12px;
  174.             flex-wrap: wrap;
  175.             background: #eef2ff;
  176.             border: 1px solid #c7d2fe;
  177.             border-radius: 8px;
  178.             padding: 10px 16px;
  179.             margin-bottom: 14px;
  180.             animation: slideDown 0.15s ease;
  181.         }
  182.         .bulk-actions-bar.active { display: flex; }
  183.         @keyframes slideDown {
  184.             from { opacity: 0; transform: translateY(-6px); }
  185.             to   { opacity: 1; transform: translateY(0); }
  186.         }
  187.         /* Botones */
  188.         .btn { border-radius: 6px !important; font-size: 12px; font-weight: 500; }
  189.         .btn-sm { font-size: 11px; padding: 3px 8px; }
  190.         .btn-primary { background: #4f46e5 !important; border-color: #4f46e5 !important; }
  191.         .btn-primary:hover { background: #4338ca !important; border-color: #4338ca !important; }
  192.         .btn-success { background: #059669 !important; border-color: #059669 !important; }
  193.         .btn-success:hover { background: #047857 !important; border-color: #047857 !important; }
  194.         /* Link acción en tabla */
  195.         .table .btn-accion {
  196.             font-size: 12px;
  197.             padding: 3px 10px;
  198.             border-radius: 5px;
  199.             border: 1px solid #4f46e5;
  200.             color: #4f46e5;
  201.             background: transparent;
  202.             text-decoration: none;
  203.             white-space: nowrap;
  204.             display: inline-block;
  205.         }
  206.         .table .btn-accion:hover { background: #4f46e5; color: #fff; text-decoration: none; }
  207.         /* DataTables */
  208.         .dataTables_filter input { border-radius: 6px; border: 1px solid #cbd5e0; padding: 4px 10px; font-size: 13px; }
  209.         .dataTables_info { font-size: 12px; color: #718096; }
  210.         /* Formularios */
  211.         .form-control { border-radius: 6px !important; font-size: 13px; border-color: #cbd5e0; }
  212.         .form-control:focus { border-color: #4f46e5 !important; box-shadow: 0 0 0 3px rgba(79,70,229,0.15) !important; }
  213.         .form-group > label, .col-form-label { font-weight: 600; font-size: 13px; color: #4a5568; }
  214.         /* Alertas */
  215.         .alert { border-radius: 8px; font-size: 13px; border: none; }
  216.         .alert-success { background: #d1fae5; color: #065f46; }
  217.         .alert-danger  { background: #fee2e2; color: #991b1b; }
  218.         .alert-warning { background: #fef3c7; color: #92400e; }
  219.     </style>
  220.     <head>
  221.         <meta charset="utf-8" />
  222.         <title>
  223.             Difusión | Dashboard
  224.         </title>
  225.         <meta name="description" content="Latest updates and statistic charts">
  226.         <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no">
  227.         
  228.         <script src="{{ asset('metronic/js/calendar/scripts.bundle.js') }}"></script>
  229.         <script src="{{ asset('metronic/assets/demo/default/base/scripts.bundle.js') }}" type="text/javascript"></script>
  230.         <script src="{{ asset('metronic/assets/vendors/custom/datatables/datatables.bundle.js') }}" type="text/javascript"></script>
  231.         <script src="{{ asset('metronic/assets/demo/default/custom/crud/datatables/extensions/buttons.js') }}" type="text/javascript"></script>
  232. </head>
  233. <!-- end::Head -->
  234. <!-- end::Body -->
  235. <body  class="m-page--fluid m--skin- m-content--skin-light2 m-header--fixed m-header--fixed-mobile m-aside-left--enabled m-aside-left--skin-dark m-aside-left--fixed m-aside-left--offcanvas m-footer--push m-aside--offcanvas-default"  >
  236. <!-- Google Tag Manager (noscript) -->
  237. <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5VVM4B8M"
  238. height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  239. <!-- End Google Tag Manager (noscript) -->
  240. <!-- begin:: Page -->
  241. <div class="m-grid m-grid--hor m-grid--root m-page">
  242.     <!-- BEGIN: Header -->
  243.     <header id="m_header" class="m-grid__item    m-header "  m-minimize-offset="200" m-minimize-mobile-offset="200" >
  244.         <div class="m-container m-container--fluid m-container--full-height">
  245.             <div class="m-stack m-stack--ver m-stack--desktop">
  246.                 <!-- BEGIN: Brand -->
  247.                 <div class="m-stack__item m-brand  m-brand--skin-dark ">
  248.                     <div class="m-stack m-stack--ver m-stack--general">
  249.                         <div class="m-stack__item m-stack__item--middle m-brand__logo">
  250.                             <a href="{{ path('index') }}" class="m-brand__logo-wrapper">
  251.                                 <h1>Difusión</h1>
  252.                             </a>
  253.                         </div>
  254.                         <div class="m-stack__item m-stack__item--middle m-brand__tools">
  255.                             <!-- BEGIN: Left Aside Minimize Toggle -->
  256.                             <a href="javascript:;" id="m_aside_left_minimize_toggle" class="m-brand__icon m-brand__toggler m-brand__toggler--left m--visible-desktop-inline-block
  257.                               ">
  258.                                 <span></span>
  259.                             </a>
  260.                             <!-- END -->
  261.                             <!-- BEGIN: Responsive Aside Left Menu Toggler -->
  262.                             <a href="javascript:;" id="m_aside_left_offcanvas_toggle" class="m-brand__icon m-brand__toggler m-brand__toggler--left m--visible-tablet-and-mobile-inline-block">
  263.                                 <span></span>
  264.                             </a>
  265.                             <!-- END -->
  266.                             <!-- BEGIN: Responsive Header Menu Toggler -->
  267.                             <a id="m_aside_header_menu_mobile_toggle" href="javascript:;" class="m-brand__icon m-brand__toggler m--visible-tablet-and-mobile-inline-block">
  268.                                 <span></span>
  269.                             </a>
  270.                             <!-- END -->
  271.                             <!-- BEGIN: Topbar Toggler -->
  272.                             <a id="m_aside_header_topbar_mobile_toggle" href="javascript:;" class="m-brand__icon m--visible-tablet-and-mobile-inline-block">
  273.                                 <i class="flaticon-more"></i>
  274.                             </a>
  275.                             <!-- BEGIN: Topbar Toggler -->
  276.                         </div>
  277.                     </div>
  278.                 </div>
  279.                 <!-- END: Brand -->
  280.                 <div class="m-stack__item m-stack__item--fluid m-header-head" id="m_header_nav">
  281.                     <!-- BEGIN: Horizontal Menu -->
  282.                     <button class="m-aside-header-menu-mobile-close  m-aside-header-menu-mobile-close--skin-dark " id="m_aside_header_menu_mobile_close_btn">
  283.                         <i class="la la-close"></i>
  284.                     </button>
  285.                     <!-- END: Horizontal Menu -->                                <!-- BEGIN: Topbar -->
  286.                     <div id="m_header_topbar" class="m-topbar  m-stack m-stack--ver m-stack--general m-stack--fluid">
  287.                         <div class="m-stack__item m-topbar__nav-wrapper">
  288.                             <ul class="m-topbar__nav m-nav m-nav--inline">
  289.                                     <li class="m-nav__item m-topbar__user-profile m-topbar__user-profile--img  m-dropdown m-dropdown--medium m-dropdown--arrow m-dropdown--header-bg-fill m-dropdown--align-right m-dropdown--mobile-full-width m-dropdown--skin-light" m-dropdown-toggle="click">
  290.                                     <a href="#" class="m-nav__link m-dropdown__toggle">
  291.                                         <span class="m-topbar__userpic">
  292.                                             <span style="background:#716aca;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:bold;font-size:15px;">
  293.                                                 {{ (app.user.nombre ?? app.user.email)|first|upper }}
  294.                                             </span>
  295.                                         </span>
  296.                                         <span class="m-topbar__username" style="margin-left:8px;color:#fff;font-size:13px;">
  297.                                             {{ app.user.nombre ?? app.user.email }}
  298.                                             <small style="display:block;opacity:.7;font-size:11px;">{{ app.user.roleLabel }}</small>
  299.                                         </span>
  300.                                     </a>
  301.                                 </li>
  302.                             </ul>
  303.                         </div>
  304.                     </div>
  305.                     <!-- END: Topbar -->
  306.                 </div>
  307.             </div>
  308.         </div>
  309.     </header>
  310.     <!-- END: Header -->
  311.     <!-- begin::Body -->
  312.     <div class="m-grid__item m-grid__item--fluid m-grid m-grid--ver-desktop m-grid--desktop m-body">
  313.         <!-- BEGIN: Left Aside -->
  314.         <button class="m-aside-left-close  m-aside-left-close--skin-dark " id="m_aside_left_close_btn">
  315.             <i class="la la-close"></i>
  316.         </button>
  317.         <div id="m_aside_left" class="m-grid__item    m-aside-left  m-aside-left--skin-dark ">
  318.             <!-- BEGIN: Aside Menu -->
  319.             <div
  320.                     id="m_ver_menu"
  321.                     class="m-aside-menu  m-aside-menu--skin-dark m-aside-menu--submenu-skin-dark "
  322.                     style="position: relative;"
  323.             >
  324.                             {# Menú admin: visible para ROLE_AYUDANTE, ROLE_OPERATIVO y superiores (ROLE_COORDINADOR, ROLE_ADMIN) #}
  325.                             {% if is_granted('ROLE_AYUDANTE') or is_granted('ROLE_OPERATIVO') %}
  326.                 <ul class="m-menu__nav  m-menu__nav--dropdown-submenu-arrow ">
  327.                     <li class="m-menu__item  m-menu__item--active" aria-haspopup="true" >
  328.                         <a  href="{{ path('index') }}" class="m-menu__link ">
  329.                             <i class="m-menu__link-icon la-tags"></i>
  330.                             <span class="m-menu__link-title">
  331.                         <span class="m-menu__link-wrap">
  332.                         <span class="m-menu__link-text">
  333.                         Inicio
  334.                         </span>
  335.                         </span>
  336.                         </span>
  337.                         </a>
  338.                     </li>
  339.                     <li class="m-menu__item  m-menu__item--active" aria-haspopup="true" >
  340.                         <a  href="{{ path('dashboard_metricas') }}" class="m-menu__link ">
  341.                             <i class="m-menu__link-icon la la-dashboard"></i>
  342.                             <span class="m-menu__link-title">
  343.                         <span class="m-menu__link-wrap">
  344.                         <span class="m-menu__link-text">
  345.                         Dashboard Métricas
  346.                         </span>
  347.                         </span>
  348.                         </span>
  349.                         </a>
  350.                     </li>
  351.                     <li class="m-menu__item  m-menu__item--active" aria-haspopup="true" >
  352.                         <a  href="{{ path('app_solicitud_index') }}" class="m-menu__link ">
  353.                             <i class="m-menu__link-icon flaticon-email"></i>
  354.                             <span class="m-menu__link-title">
  355.                         <span class="m-menu__link-wrap">
  356.                         <span class="m-menu__link-text">
  357.                         Solicitudes
  358.                         </span>
  359.                                 {% set solPendientes = project.get()|length %}
  360.                                 {% if solPendientes > 0 %}
  361.                                     <span class="m-menu__link-badge">
  362.                         <span class="m-badge m-badge--danger">
  363.  {{ solPendientes }}
  364.                         </span>
  365.                         </span>
  366.                                 {% endif %}
  367.                         </span>
  368.                         </span>
  369.                         </a>
  370.                     </li>
  371.                     <li class="m-menu__section ">
  372.                         <h4 class="m-menu__section-text">
  373.                             Módulos
  374.                         </h4>
  375.                         <i class="m-menu__section-icon flaticon-more-v3"></i>
  376.                     </li>
  377.                     <li class="m-menu__item  m-menu__item--submenu" aria-haspopup="true"  m-menu-submenu-toggle="hover">
  378.                         <a  href="javascript:;" class="m-menu__link m-menu__toggle">
  379.                             <i class="m-menu__link-icon flaticon-layers"></i>
  380.                             <span class="m-menu__link-text">
  381.                         Colegios
  382.                         </span>
  383.                             <i class="m-menu__ver-arrow la la-angle-right"></i>
  384.                         </a>
  385.                         <div class="m-menu__submenu ">
  386.                             <span class="m-menu__arrow"></span>
  387.                             <ul class="m-menu__subnav">
  388.                                 <li class="m-menu__item  m-menu__item--parent" aria-haspopup="true" >
  389.                                  <span class="m-menu__link">
  390.                                  <span class="m-menu__link-text">
  391.                                  Colegios
  392.                                  </span>
  393.                                  </span>
  394.                                 </li>
  395.                                 <li class="m-menu__item " aria-haspopup="true" >
  396.                                     <a  href="{{ path('colegio_indexprograma') }}" class="m-menu__link ">
  397.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  398.                                             <span></span>
  399.                                         </i>
  400.                                         <span class="m-menu__link-text">
  401.                                  Del programa
  402.                                  </span>
  403.                                     </a>
  404.                                 </li>
  405.                                 <li class="m-menu__item " aria-haspopup="true" >
  406.                                     <a  href="{{ path('colegio_index') }}" class="m-menu__link ">
  407.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  408.                                             <span></span>
  409.                                         </i>
  410.                                         <span class="m-menu__link-text">
  411.                                  Todos
  412.                                  </span>
  413.                                     </a>
  414.                                 </li>
  415.                                 <li class="m-menu__item " aria-haspopup="true" >
  416.                                     <a  href="{{ path('app_contacto_index') }}" class="m-menu__link ">
  417.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  418.                                             <span></span>
  419.                                         </i>
  420.                                         <span class="m-menu__link-text">
  421.                                  Contactos
  422.                                  </span>
  423.                                     </a>
  424.                                 </li>
  425.                             </ul>
  426.                         </div>
  427.                     </li>
  428.                     <li class="m-menu__item  m-menu__item--submenu" aria-haspopup="true"  m-menu-submenu-toggle="hover">
  429.                         <a  href="javascript:;" class="m-menu__link m-menu__toggle">
  430.                             <i class="m-menu__link-icon flaticon-calendar"></i>
  431.                             <span class="m-menu__link-text">
  432.                         Agenda
  433.                         </span>
  434.                             <i class="m-menu__ver-arrow la la-angle-right"></i>
  435.                         </a>
  436.                         <div class="m-menu__submenu ">
  437.                             <span class="m-menu__arrow"></span>
  438.                             <ul class="m-menu__subnav">
  439.                                 <li class="m-menu__item  m-menu__item--parent" aria-haspopup="true" >
  440.                                  <span class="m-menu__link">
  441.                                  <span class="m-menu__link-text">
  442.                                  Ver agenda
  443.                                  </span>
  444.                                  </span>
  445.                                 </li>
  446.                                 <li class="m-menu__item " aria-haspopup="true" >
  447.                                     <a  href="{{ path('agenda_index') }}" class="m-menu__link ">
  448.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  449.                                             <span></span>
  450.                                         </i>
  451.                                         <span class="m-menu__link-text">
  452.                                  Ver agenda
  453.                                  </span>
  454.                                     </a>
  455.                                 </li>
  456.                                 <li class="m-menu__item " aria-haspopup="true" >
  457.                                     <a  href="{{ path('agenda_new') }}" class="m-menu__link ">
  458.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  459.                                             <span></span>
  460.                                         </i>
  461.                                         <span class="m-menu__link-text">
  462.                                  agregar
  463.                                  </span>
  464.                                     </a>
  465.                                 </li>
  466.                                 <li class="m-menu__item " aria-haspopup="true" >
  467.                                     <a  href="{{ path('agenda_calendario')}}" class="m-menu__link ">
  468.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  469.                                             <span></span>
  470.                                         </i>
  471.                                         <span class="m-menu__link-text">
  472.                                  calendario
  473.                                  </span>
  474.                                     </a>
  475.                                 </li>
  476.                                 <li class="m-menu__item " aria-haspopup="true" >
  477.                                     <a  href="{{ path('agenda_index_abiertas')}}" class="m-menu__link ">
  478.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  479.                                             <span></span>
  480.                                         </i>
  481.                                         <span class="m-menu__link-text">
  482.                                  abiertas a postulación
  483.                                  </span>
  484.                                     </a>
  485.                                 </li>
  486.                                 <li class="m-menu__item " aria-haspopup="true" >
  487.                                     <a  href="{{ path('agenda_escanear_qr')}}" class="m-menu__link ">
  488.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  489.                                             <span></span>
  490.                                         </i>
  491.                                         <span class="m-menu__link-text">
  492.                                  <i class="la la-qrcode"></i> Confirmar asistencia QR
  493.                                  </span>
  494.                                     </a>
  495.                                 </li>
  496.                                 <li class="m-menu__item " aria-haspopup="true" >
  497.                                     <a  href="{{ path('convocatoria_semana')}}" class="m-menu__link ">
  498.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  499.                                             <span></span>
  500.                                         </i>
  501.                                         <span class="m-menu__link-text">
  502.                                  Convocatoria semana
  503.                                  </span>
  504.                                     </a>
  505.                                 </li>
  506.                                 <li class="m-menu__item " aria-haspopup="true" >
  507.                                     <a  href="{{ path('apertura')}}" class="m-menu__link ">
  508.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  509.                                             <span></span>
  510.                                         </i>
  511.                                         <span class="m-menu__link-text">
  512.                                  Apertura actividades de la semana
  513.                                  </span>
  514.                                     </a>
  515.                                 </li>
  516.                                 <li class="m-menu__item " aria-haspopup="true" >
  517.                                     <a  href="{{ path('cierre')}}" class="m-menu__link ">
  518.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  519.                                             <span></span>
  520.                                         </i>
  521.                                         <span class="m-menu__link-text">
  522.                                  Cierre actividades de la semana
  523.                                  </span>
  524.                                     </a>
  525.                                 </li>
  526.                                     {% if is_granted('ROLE_AYUDANTE') %}{# ROLE_OPERATIVO NO ve evaluaciones #}
  527.                                 <li class="m-menu__item  m-menu__item--parent" aria-haspopup="true">
  528.                                     <span class="m-menu__link">
  529.                                         <span class="m-menu__link-text">Gestión de encuestas</span>
  530.                                     </span>
  531.                                 </li>
  532.                                 <li class="m-menu__item " aria-haspopup="true" >
  533.                                     <a  href="{{ path('app_evaluacioncolegio_index')}}" class="m-menu__link ">
  534.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  535.                                             <span></span>
  536.                                         </i>
  537.                                         <span class="m-menu__link-text">
  538.                                  Encuestas colegios
  539.                                  </span>
  540.                                     </a>
  541.                                 </li>
  542.                                 <li class="m-menu__item " aria-haspopup="true" >
  543.                                     <a  href="{{ path('app_evaluacionembajador_index')}}" class="m-menu__link ">
  544.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  545.                                             <span></span>
  546.                                         </i>
  547.                                         <span class="m-menu__link-text">
  548.                                  Encuestas embajadores
  549.                                  </span>
  550.                                     </a>
  551.                                 </li>
  552.                                 <li class="m-menu__item " aria-haspopup="true" >
  553.                                     <a href="{{ path('encuesta_plantilla_index')}}" class="m-menu__link ">
  554.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  555.                                             <span></span>
  556.                                         </i>
  557.                                         <span class="m-menu__link-text">
  558.                                  Plantillas de preguntas
  559.                                  </span>
  560.                                     </a>
  561.                                 </li>
  562.                                     {% endif %}{# /Evaluaciones: solo ROLE_AYUDANTE+ #}
  563.                                 
  564.                                 <li class="m-menu__item " aria-haspopup="true" >
  565.                                     <a  href="{{ path('app_bloqueodias_index')}}" class="m-menu__link ">
  566.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  567.                                             <span></span>
  568.                                         </i>
  569.                                         <span class="m-menu__link-text">
  570.                                  Bloqueo de días
  571.                                  </span>
  572.                                     </a>
  573.                                 </li>
  574.                                 <li class="m-menu__item " aria-haspopup="true" >
  575.                                     <a  href="{{ path('app_colegio_participante_index')}}" class="m-menu__link ">
  576.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  577.                                             <span></span>
  578.                                         </i>
  579.                                         <span class="m-menu__link-text">
  580.                                  Asistencia colegios
  581.                                  </span>
  582.                                     </a>
  583.                                 </li>
  584.                                 
  585.                                 
  586.                             </ul>
  587.                         </div>
  588.                     </li>
  589.                     {# Embajadores: solo ROLE_COORDINADOR y superiores #}
  590.                     {% if is_granted('ROLE_COORDINADOR') %}
  591.                     <li class="m-menu__item  m-menu__item--submenu" aria-haspopup="true"  m-menu-submenu-toggle="hover">
  592.                         <a  href="javascript:;" class="m-menu__link m-menu__toggle">
  593.                             <i class="m-menu__link-icon flaticon-users"></i>
  594.                             <span class="m-menu__link-text">
  595.                         Embajadores
  596.                         </span>
  597.                             <i class="m-menu__ver-arrow la la-angle-right"></i>
  598.                         </a>
  599.                         <div class="m-menu__submenu ">
  600.                             <span class="m-menu__arrow"></span>
  601.                             <ul class="m-menu__subnav">
  602.                                 <li class="m-menu__item  m-menu__item--parent" aria-haspopup="true" >
  603.                                  <span class="m-menu__link">
  604.                                  <span class="m-menu__link-text">
  605.                                  Listado
  606.                                  </span>
  607.                                  </span>
  608.                                 </li>
  609.                                 <li class="m-menu__item " aria-haspopup="true" >
  610.                                     <a  href="{{ path('embajadores_index') }}" class="m-menu__link ">
  611.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  612.                                             <span></span>
  613.                                         </i>
  614.                                         <span class="m-menu__link-text">
  615.                                  Listado
  616.                                  </span>
  617.                                     </a>
  618.                                 </li>
  619.                                 <li class="m-menu__item " aria-haspopup="true" >
  620.                                     <a  href="{{ path('embajadores_new') }}" class="m-menu__link ">
  621.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  622.                                             <span></span>
  623.                                         </i>
  624.                                         <span class="m-menu__link-text">
  625.                                  Agregar
  626.                                  </span>
  627.                                     </a>
  628.                                 </li>
  629.                                 <li class="m-menu__item " aria-haspopup="true" >
  630.                                     <a  href="{{ path('app_embajador_participante_new') }}" class="m-menu__link ">
  631.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  632.                                             <span></span>
  633.                                         </i>
  634.                                         <span class="m-menu__link-text">
  635.                                  agregar Actividad
  636.                                  </span>
  637.                                     </a>
  638.                                 </li>
  639.                             </ul>
  640.                         </div>
  641.                     </li>
  642.                                     {% endif %}{# /Embajadores ROLE_COORDINADOR #}
  643.                                     {% if is_granted('ROLE_AYUDANTE') %}{# ROLE_OPERATIVO NO ve: Ensayos PAES, Reportes, Leads, Expo #}
  644.                     <li class="m-menu__item  m-menu__item--submenu" aria-haspopup="true"  m-menu-submenu-toggle="hover">
  645.                         <a  href="javascript:;" class="m-menu__link m-menu__toggle">
  646.                             <i class="m-menu__link-icon la la-calendar-check-o"></i>
  647.                             <span class="m-menu__link-text">
  648.                         Ensayos PAES
  649.                         </span>
  650.                             <i class="m-menu__ver-arrow la la-angle-right"></i>
  651.                         </a>
  652.                         <div class="m-menu__submenu ">
  653.                             <span class="m-menu__arrow"></span>
  654.                             <ul class="m-menu__subnav">
  655.                                 <li class="m-menu__item  m-menu__item--parent" aria-haspopup="true" >
  656.                                   <span class="m-menu__link">
  657.                                   <span class="m-menu__link-text">
  658.                                   Ensayos PAES
  659.                                   </span>
  660.                                   </span>
  661.                                 </li>
  662.                                 <li class="m-menu__item " aria-haspopup="true" >
  663.                                     <a  href="{{ path('app_ensayo_paes_index') }}" class="m-menu__link ">
  664.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  665.                                             <span></span>
  666.                                         </i>
  667.                                         <span class="m-menu__link-text">
  668.                                   Gestión de Ediciones
  669.                                   </span>
  670.                                     </a>
  671.                                 </li>
  672.                                 <li class="m-menu__item " aria-haspopup="true" >
  673.                                     <a  href="{{ path('app_inscripcionensayo_index') }}" class="m-menu__link ">
  674.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  675.                                             <span></span>
  676.                                         </i>
  677.                                         <span class="m-menu__link-text">
  678.                                   Listado de Inscripciones
  679.                                   </span>
  680.                                     </a>
  681.                                 </li>
  682.                                 <li class="m-menu__item " aria-haspopup="true" >
  683.                                     <a  href="{{ path('int_form') }}" class="m-menu__link ">
  684.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  685.                                             <span></span>
  686.                                         </i>
  687.                                         <span class="m-menu__link-text">
  688.                                   Buscar Inscripción
  689.                                   </span>
  690.                                     </a>
  691.                                 </li>
  692.                                 <li class="m-menu__item " aria-haspopup="true" >
  693.                                     <a  href="{{ path('app_inscripcionensayo_excel') }}" class="m-menu__link ">
  694.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  695.                                             <span></span>
  696.                                         </i>
  697.                                         <span class="m-menu__link-text">
  698.                                   Descargar Excel
  699.                                   </span>
  700.                                     </a>
  701.                                 </li>
  702.                                 <li class="m-menu__item " aria-haspopup="true" >
  703.                                     <a  href="{{ path('app_paes_campo_config_index') }}" class="m-menu__link ">
  704.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  705.                                             <span></span>
  706.                                         </i>
  707.                                         <span class="m-menu__link-text">
  708.                                   Editor dinámico del formulario
  709.                                   </span>
  710.                                     </a>
  711.                                 </li>
  712.                             </ul>
  713.                         </div>
  714.                     </li>
  715.                     <li class="m-menu__item  m-menu__item--submenu" aria-haspopup="true"  m-menu-submenu-toggle="hover">
  716.                         <a  href="javascript:;" class="m-menu__link m-menu__toggle">
  717.                             <i class="m-menu__link-icon flaticon-line-graph"></i>
  718.                             <span class="m-menu__link-text">
  719.                         Reportes
  720.                         </span>
  721.                             <i class="m-menu__ver-arrow la la-angle-right"></i>
  722.                         </a>
  723.                         <div class="m-menu__submenu ">
  724.                             <span class="m-menu__arrow"></span>
  725.                             <ul class="m-menu__subnav">
  726.                                 <li class="m-menu__item  m-menu__item--parent" aria-haspopup="true" >
  727.                                  <span class="m-menu__link">
  728.                                  <span class="m-menu__link-text">
  729.                                  Reporte general
  730.                                  </span>
  731.                                  </span>
  732.                                 </li>
  733.                                 <li class="m-menu__item " aria-haspopup="true" >
  734.                                     <a  href="{{ path('app_reporte', { 'anio':2025 }) }}" class="m-menu__link ">
  735.                                         <i class="m-menu__link-icon flaticon-line-graph"></i>
  736.                                         <span></span>
  737.                                         </i>
  738.                                         <span class="m-menu__link-text">
  739.                                  Reporte 2025
  740.                                  </span>
  741.                                     </a>
  742.                                 </li>
  743.                                 <li class="m-menu__item " aria-haspopup="true" >
  744.                                     <a  href="{{ path('app_reporte', { 'anio':2024 }) }}" class="m-menu__link ">
  745.                                         <i class="m-menu__link-icon flaticon-line-graph"></i>
  746.                                         <span></span>
  747.                                         </i>
  748.                                         <span class="m-menu__link-text">
  749.                                  Reporte 2024
  750.                                  </span>
  751.                                     </a>
  752.                                 </li>
  753.                                 <li class="m-menu__item " aria-haspopup="true" >
  754.                                     <a  href="{{ path('app_reporte', { 'anio':2023 }) }}" class="m-menu__link ">
  755.                                         <i class="m-menu__link-icon flaticon-line-graph"></i>
  756.                                             <span></span>
  757.                                         </i>
  758.                                         <span class="m-menu__link-text">
  759.                                  Reporte 2023
  760.                                  </span>
  761.                                     </a>
  762.                                 </li>
  763.                                 <li class="m-menu__item " aria-haspopup="true" >
  764.                                     <a  href="{{ path('app_reporte', { 'anio':2022 }) }}" class="m-menu__link ">
  765.                                         <i class="m-menu__link-icon flaticon-line-graph"></i>
  766.                                         <span></span>
  767.                                         </i>
  768.                                         <span class="m-menu__link-text">
  769.                                  Reporte 2022
  770.                                  </span>
  771.                                     </a>
  772.                                 </li>
  773.                             </ul>
  774.                         </div>
  775.                     </li>
  776.                     <li class="m-menu__item  m-menu__item--submenu" aria-haspopup="true"  m-menu-submenu-toggle="hover">
  777.                         <a  href="javascript:;" class="m-menu__link m-menu__toggle">
  778.                             <i class="m-menu__link-icon flaticon-line-graph"></i>
  779.                             <span class="m-menu__link-text">
  780.                         Leads
  781.                         </span>
  782.                             <i class="m-menu__ver-arrow la la-angle-right"></i>
  783.                         </a>
  784.                         <div class="m-menu__submenu ">
  785.                             <span class="m-menu__arrow"></span>
  786.                             <ul class="m-menu__subnav">
  787.                                 <li class="m-menu__item  m-menu__item--parent" aria-haspopup="true" >
  788.                                  <span class="m-menu__link">
  789.                                  <span class="m-menu__link-text">
  790.                                  Formularios
  791.                                  </span>
  792.                                  </span>
  793.                                 </li>
  794.                                 <li class="m-menu__item " aria-haspopup="true" >
  795.                                     <a  href="{{ path('app_prospecto_index') }}" class="m-menu__link ">
  796.                                         <i class="m-menu__link-icon flaticon-line-graph"></i>
  797.                                         <span></span>
  798.                                         </i>
  799.                                         <span class="m-menu__link-text">
  800.                                  Estudiantes
  801.                                  </span>
  802.                                     </a>
  803.                                 </li>
  804.                             </ul>
  805.                         </div>
  806.                     </li>
  807.                     <li class="m-menu__item  m-menu__item--submenu" aria-haspopup="true"  m-menu-submenu-toggle="hover">
  808.                         <a  href="javascript:;" class="m-menu__link m-menu__toggle">
  809.                             <i class="m-menu__link-icon flaticon-layers"></i>
  810.                             <span class="m-menu__link-text">
  811.                         Expo
  812.                         </span>
  813.                             <i class="m-menu__ver-arrow la la-angle-right"></i>
  814.                         </a>
  815.                         <div class="m-menu__submenu ">
  816.                             <span class="m-menu__arrow"></span>
  817.                             <ul class="m-menu__subnav">
  818.                                 <li class="m-menu__item  m-menu__item--parent" aria-haspopup="true" >
  819.                                  <span class="m-menu__link">
  820.                                  <span class="m-menu__link-text">
  821.                                  Expo
  822.                                  </span>
  823.                                  </span>
  824.                                 </li>
  825.                                 <li class="m-menu__item " aria-haspopup="true" >
  826.                                     <a  href="{{ path('app_pre_inscripcion_expo_index') }}" class="m-menu__link ">
  827.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  828.                                             <span></span>
  829.                                         </i>
  830.                                         <span class="m-menu__link-text">
  831.                                  Preinscripciones
  832.                                  </span>
  833.                                     </a>
  834.                                 </li>
  835.                                 <li class="m-menu__item " aria-haspopup="true" >
  836.                                     <a  href="{{ path('app_inscripcionexpo_index') }}" class="m-menu__link ">
  837.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  838.                                             <span></span>
  839.                                         </i>
  840.                                         <span class="m-menu__link-text">
  841.                                  Inscripciones
  842.                                  </span>
  843.                                     </a>
  844.                                 </li>
  845.                                 <li class="m-menu__item " aria-haspopup="true" >
  846.                                     <a  href="{{ path('app_encuestaexpo_index') }}" class="m-menu__link ">
  847.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  848.                                             <span></span>
  849.                                         </i>
  850.                                         <span class="m-menu__link-text">
  851.                                  Encuesta
  852.                                  </span>
  853.                                     </a>
  854.                                 </li>
  855.                             </ul>
  856.                         </div>
  857.                     </li>
  858.                                     {% endif %}{# /Formularios-Reportes-Leads-Expo: solo ROLE_AYUDANTE+ #}
  859.                     {# Pagos: solo ROLE_COORDINADOR y superiores #}
  860.                     {% if is_granted('ROLE_COORDINADOR') %}
  861.                     <li class="m-menu__item  m-menu__item--submenu" aria-haspopup="true"  m-menu-submenu-toggle="hover">
  862.                         <a  href="javascript:;" class="m-menu__link m-menu__toggle">
  863.                             <i class="m-menu__link-icon flaticon-layers"></i>
  864.                             <span class="m-menu__link-text">
  865.                         Pagos
  866.                         </span>
  867.                             <i class="m-menu__ver-arrow la la-angle-right"></i>
  868.                         </a>
  869.                         <div class="m-menu__submenu ">
  870.                             <span class="m-menu__arrow"></span>
  871.                             <ul class="m-menu__subnav">
  872.                                 <li class="m-menu__item  m-menu__item--parent" aria-haspopup="true" >
  873.                                  <span class="m-menu__link">
  874.                                  <span class="m-menu__link-text">
  875.                                  Pagos
  876.                                  </span>
  877.                                  </span>
  878.                                 </li>
  879.                                 <li class="m-menu__item " aria-haspopup="true" >
  880.                                     <a  href="{{ path('app_embajador_participante_pagos') }}" class="m-menu__link ">
  881.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  882.                                             <span></span>
  883.                                         </i>
  884.                                         <span class="m-menu__link-text">
  885.                                  Pagos pendientes
  886.                                  </span>
  887.                                     </a>
  888.                                 </li>
  889.                                 <li class="m-menu__item " aria-haspopup="true" >
  890.                                     <a  href="{{ path('app_embajador_participante_pagos2') }}" class="m-menu__link ">
  891.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  892.                                             <span></span>
  893.                                         </i>
  894.                                         <span class="m-menu__link-text">
  895.                                  Pago masivo (múltiples montos)
  896.                                  </span>
  897.                                     </a>
  898.                                 </li>
  899.                                 <li class="m-menu__item " aria-haspopup="true" >
  900.                                     <a  href="{{ path('app_nominapago_index') }}" class="m-menu__link ">
  901.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  902.                                             <span></span>
  903.                                         </i>
  904.                                         <span class="m-menu__link-text">
  905.                                  Nóminas de pago totales
  906.                                  </span>
  907.                                     </a>
  908.                                 </li>
  909.                                 <li class="m-menu__item " aria-haspopup="true" >
  910.                                     <a  href="{{ path('app_nominapago_emitidas') }}" class="m-menu__link ">
  911.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  912.                                             <span></span>
  913.                                         </i>
  914.                                         <span class="m-menu__link-text">
  915.                                  Nóminas de pago emitidas
  916.                                  </span>
  917.                                     </a>
  918.                                 </li>
  919.                                 <li class="m-menu__item " aria-haspopup="true" >
  920.                                     <a  href="{{ path('app_embajador_participante_pagadas') }}" class="m-menu__link ">
  921.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  922.                                             <span></span>
  923.                                         </i>
  924.                                         <span class="m-menu__link-text">
  925.                                  Listado total actividades pagadas
  926.                                  </span>
  927.                                     </a>
  928.                                 </li>
  929.                             </ul>
  930.                         </div>
  931.                     </li>
  932.                                     {% endif %}{# /Pagos ROLE_COORDINADOR #}
  933.                     <li class="m-menu__item  m-menu__item--submenu" aria-haspopup="true"  m-menu-submenu-toggle="hover">
  934.                         <a  href="javascript:;" class="m-menu__link m-menu__toggle">
  935.                             <i class="m-menu__link-icon flaticon-settings"></i>
  936.                             <span class="m-menu__link-text">
  937.                         Configuración
  938.                         </span>
  939.                             <i class="m-menu__ver-arrow la la-angle-right"></i>
  940.                         </a>
  941.                         <div class="m-menu__submenu ">
  942.                             <span class="m-menu__arrow"></span>
  943.                             <ul class="m-menu__subnav">
  944.                                 <li class="m-menu__item  m-menu__item--parent" aria-haspopup="true" >
  945.                                  <span class="m-menu__link">
  946.                                  <span class="m-menu__link-text">
  947.                                  Configuración
  948.                                  </span>
  949.                                  </span>
  950.                                 </li>
  951.                                 <li class="m-menu__item " aria-haspopup="true" >
  952.                                     <a  href="{{ path('correo_index') }}" class="m-menu__link ">
  953.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  954.                                             <span></span>
  955.                                         </i>
  956.                                         <span class="m-menu__link-text">
  957.                                  Correos
  958.                                  </span>
  959.                                     </a>
  960.                                 </li>
  961.                                 <li class="m-menu__item " aria-haspopup="true" >
  962.                                     <a  href="{{ path('app_tipo_agenda_index')}}" class="m-menu__link ">
  963.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  964.                                             <span></span>
  965.                                         </i>
  966.                                         <span class="m-menu__link-text">
  967.                                  Tipo agenda
  968.                                  </span>
  969.                                     </a>
  970.                                 </li>
  971.                                 <li class="m-menu__item " aria-haspopup="true" >
  972.                                     <a  href="{{ path('app_tagembajador_index') }}" class="m-menu__link ">
  973.                                         <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  974.                                             <span></span>
  975.                                         </i>
  976.                                         <span class="m-menu__link-text">
  977.                                  Gestión de Tags
  978.                                  </span>
  979.                                     </a>
  980.                                 </li>
  981.                                     {% if is_granted('ROLE_ADMIN') %}
  982.                                             <li class="m-menu__item " aria-haspopup="true">
  983.                                                     <a href="{{ path('app_usuario_index') }}" class="m-menu__link ">
  984.                                                             <i class="m-menu__link-bullet m-menu__link-bullet--dot"><span></span></i>
  985.                                                             <span class="m-menu__link-text">
  986.                                   <i class="la la-users"></i> Gestión de Usuarios
  987.                                   </span>
  988.                                                     </a>
  989.                                             </li>
  990.                                     {% endif %}{# /Gestión Usuarios ROLE_ADMIN #}
  991.                             </ul>
  992.                         </div>
  993.                     </li>
  994.                     <li class="m-menu__item  m-menu__item--active" aria-haspopup="true" >
  995.                         <a  href="{{ path('app_logout') }}" class="m-menu__link ">
  996.                             <i class="m-menu__link-icon flaticon-logout"></i>
  997.                             <span class="m-menu__link-title">
  998.                         <span class="m-menu__link-wrap">
  999.                         <span class="m-menu__link-text">
  1000.                         Salir
  1001.                         </span>
  1002.                         </span>
  1003.                         </span>
  1004.                         </a>
  1005.                     </li>
  1006.                 </ul>
  1007.                 {% endif %}
  1008.                 {% if is_granted('ROLE_ESTUDIANTE') == true %}
  1009.                     <ul class="m-menu__nav  m-menu__nav--dropdown-submenu-arrow ">
  1010.                         <li class="m-menu__item  m-menu__item--submenu" aria-haspopup="true"  m-menu-submenu-toggle="hover">
  1011.                             <a  href="javascript:;" class="m-menu__link m-menu__toggle">
  1012.                                 <i class="m-menu__link-icon flaticon-file"></i>
  1013.                                 <span class="m-menu__link-text">
  1014.                         Boletas y pagos
  1015.                         </span>
  1016.                                 <i class="m-menu__ver-arrow la la-angle-right"></i>
  1017.                             </a>
  1018.                             <div class="m-menu__submenu ">
  1019.                                 <span class="m-menu__arrow"></span>
  1020.                                 <ul class="m-menu__subnav">
  1021.                                     <li class="m-menu__item  m-menu__item--parent" aria-haspopup="true" >
  1022.                                  <span class="m-menu__link">
  1023.                                  <span class="m-menu__link-text">
  1024.                                  </span>
  1025.                                  </span>
  1026.                                     </li>
  1027.                                     <li class="m-menu__item " aria-haspopup="true" >
  1028.                                         <a  href="{{ path('app_pago_index_byuser') }}" class="m-menu__link ">
  1029.                                             <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  1030.                                                 <span></span>
  1031.                                             </i>
  1032.                                             <span class="m-menu__link-text">
  1033.                                             <span class="m-menu__link-text">
  1034.                                  Boletas pendientes de subir
  1035.                                  </span>
  1036.                                         </a>
  1037.                                     </li>
  1038.                                 </ul>
  1039.                             </div>
  1040.                         </li>
  1041.                         <li class="m-menu__item  m-menu__item--submenu" aria-haspopup="true"  m-menu-submenu-toggle="hover">
  1042.                             <a  href="javascript:;" class="m-menu__link m-menu__toggle">
  1043.                                 <i class="m-menu__link-icon flaticon-calendar"></i>
  1044.                                 <span class="m-menu__link-text">
  1045.                         Agenda general actividades
  1046.                         </span>
  1047.                                 <i class="m-menu__ver-arrow la la-angle-right"></i>
  1048.                             </a>
  1049.                             <div class="m-menu__submenu ">
  1050.                                 <span class="m-menu__arrow"></span>
  1051.                                 <ul class="m-menu__subnav">
  1052.                                     <li class="m-menu__item  m-menu__item--parent" aria-haspopup="true" >
  1053.                                  <span class="m-menu__link">
  1054.                                  <span class="m-menu__link-text">
  1055.                                  </span>
  1056.                                  </span>
  1057.                                     </li>
  1058.                                     <li class="m-menu__item " aria-haspopup="true" >
  1059.                                         <a  href="{{ path('agenda_index_estudiante') }}" class="m-menu__link ">
  1060.                                             <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  1061.                                                 <span></span>
  1062.                                             </i>
  1063.                                             <span class="m-menu__link-text">
  1064.                                  Postular
  1065.                                  </span>
  1066.                                         </a>
  1067.                                     </li>
  1068.                                     <li class="m-menu__item " aria-haspopup="true" >
  1069.                                         <a  href="{{ path('agenda_index_estudiante_confirmadas')}}" class="m-menu__link ">
  1070.                                             <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  1071.                                                 <span></span>
  1072.                                             </i>
  1073.                                             <span class="m-menu__link-text">
  1074.                                  Aceptadas por realizar
  1075.                                  </span>
  1076.                                         </a>
  1077.                                     </li>
  1078.                                     <li class="m-menu__item " aria-haspopup="true" >
  1079.                                         <a  href="{{ path('agenda_index_estudiante_historicas')}}" class="m-menu__link ">
  1080.                                             <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  1081.                                                 <span></span>
  1082.                                             </i>
  1083.                                             <span class="m-menu__link-text">
  1084.                                  Postulaciones históricas
  1085.                                  </span>
  1086.                                         </a>
  1087.                                     </li>
  1088.                                     <li class="m-menu__item " aria-haspopup="true" >
  1089.                                         <a  href="{{ path('app_evaluacionembajador_indexembajador')}}" class="m-menu__link ">
  1090.                                             <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  1091.                                                 <span></span>
  1092.                                             </i>
  1093.                                             <span class="m-menu__link-text">
  1094.                                  Evaluación de actividades
  1095.                                  </span>
  1096.                                         </a>
  1097.                                     </li>
  1098.                                 </ul>
  1099.                             </div>
  1100.                         </li>
  1101.                         <li class="m-menu__item  m-menu__item--active" aria-haspopup="true" >
  1102.                             <a  href="{{ path('app_logout') }}" class="m-menu__link ">
  1103.                                 <i class="m-menu__link-icon flaticon-logout"></i>
  1104.                                 <span class="m-menu__link-title">
  1105.                         <span class="m-menu__link-wrap">
  1106.                         <span class="m-menu__link-text">
  1107.                         Salir
  1108.                         </span>
  1109.                         </span>
  1110.                         </span>
  1111.                             </a>
  1112.                         </li>
  1113.                         <!--
  1114.                         <li class="m-menu__item  m-menu__item--submenu" aria-haspopup="true"  m-menu-submenu-toggle="hover">
  1115.                             <a  href="javascript:;" class="m-menu__link m-menu__toggle">
  1116.                                 <i class="m-menu__link-icon flaticon-users"></i>
  1117.                                 <span class="m-menu__link-text">
  1118.                         Datos personales
  1119.                         </span>
  1120.                                 <i class="m-menu__ver-arrow la la-angle-right"></i>
  1121.                             </a>
  1122.                             <div class="m-menu__submenu ">
  1123.                                 <span class="m-menu__arrow"></span>
  1124.                                 <ul class="m-menu__subnav">
  1125.                                     <li class="m-menu__item  m-menu__item--parent" aria-haspopup="true" >
  1126.                                  <span class="m-menu__link">
  1127.                                  <span class="m-menu__link-text">
  1128.                                  Actualizar
  1129.                                  </span>
  1130.                                  </span>
  1131.                                     </li>
  1132.                                     <li class="m-menu__item " aria-haspopup="true" >
  1133.                                         <a  href="{{ path('embajadores_index') }}" class="m-menu__link ">
  1134.                                             <i class="m-menu__link-bullet m-menu__link-bullet--dot">
  1135.                                                 <span></span>
  1136.                                             </i>
  1137.                                             <span class="m-menu__link-text">
  1138.                                  Actualizar
  1139.                                  </span>
  1140.                                         </a>
  1141.                                     </li>
  1142.                                 </ul>
  1143.                             </div>
  1144.                         </li>
  1145.                         -->
  1146.                     </ul>
  1147.                 {% endif %}
  1148.                 {% if is_granted('ROLE_UNIDADACADEMICA') == true %}
  1149.                 <ul class="m-menu__nav  m-menu__nav--dropdown-submenu-arrow ">
  1150.                     <li class="m-menu__item" aria-haspopup="true">
  1151.                         <a href="{{ path('agenda_unidad_academica_abiertas') }}" class="m-menu__link ">
  1152.                             <i class="m-menu__link-icon flaticon-calendar"></i>
  1153.                             <span class="m-menu__link-text">Agendas para postular</span>
  1154.                         </a>
  1155.                     </li>
  1156.                     <li class="m-menu__item" aria-haspopup="true">
  1157.                         <a href="{{ path('unidad_academica_postulaciones') }}" class="m-menu__link ">
  1158.                             <i class="m-menu__link-icon flaticon-list"></i>
  1159.                             <span class="m-menu__link-text">Mis postulaciones</span>
  1160.                         </a>
  1161.                     </li>
  1162.                     <li class="m-menu__item  m-menu__item--active" aria-haspopup="true" >
  1163.                         <a  href="{{ path('app_logout') }}" class="m-menu__link ">
  1164.                             <i class="m-menu__link-icon flaticon-logout"></i>
  1165.                             <span class="m-menu__link-title">
  1166.                         <span class="m-menu__link-wrap">
  1167.                         <span class="m-menu__link-text">
  1168.                         Salir
  1169.                         </span>
  1170.                         </span>
  1171.                         </span>
  1172.                         </a>
  1173.                     </li>
  1174.                 </ul>
  1175.                 
  1176.                 {% endif %}
  1177.             </div>
  1178.             <!-- END: Aside Menu -->
  1179.         </div>
  1180.         <!-- END: Left Aside -->
  1181.         <div class="m-grid__item m-grid__item--fluid m-wrapper">
  1182.             <!-- BEGIN: Subheader -->
  1183.             <div class="m-subheader ">
  1184.                 <div class="d-flex align-items-center">
  1185.                     <div>
  1186.                     </div>
  1187.                 </div>
  1188.             </div>
  1189.             <!-- END: Subheader -->
  1190.             <div class="m-content">
  1191.                 <!-- Flash Messages -->
  1192.                 {% for type, messages in app.flashes %}
  1193.                     {% for message in messages %}
  1194.                         <div class="alert alert-{{ type == 'success' ? 'success' : (type == 'error' ? 'danger' : type) }} alert-dismissible fade show" role="alert" style="margin-bottom: 20px;">
  1195.                             <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  1196.                                 <span aria-hidden="true">&times;</span>
  1197.                             </button>
  1198.                             <strong>{{ type == 'success' ? '?' : (type == 'error' ? '?' : '?') }}</strong> {{ message }}
  1199.                         </div>
  1200.                     {% endfor %}
  1201.                 {% endfor %}
  1202.                 <!-- End Flash Messages -->
  1203.                 {% block body %}
  1204.                     <!--Begin::Section-->
  1205.                     <!--End::Section-->
  1206.                     <!--Begin::Section-->
  1207.                     <!--End::Section-->
  1208.                 {% endblock %}
  1209.             </div>
  1210.         </div>
  1211.     </div>
  1212.     <!-- end:: Body -->
  1213.     <!-- begin::Footer -->
  1214.     <footer class="m-grid__item        m-footer ">
  1215.         <div class="m-container m-container--fluid m-container--full-height m-page__container">
  1216.             <div class="m-stack m-stack--flex-tablet-and-mobile m-stack--ver m-stack--desktop">
  1217.                 <div class="m-stack__item m-stack__item--left m-stack__item--middle m-stack__item--last">
  1218.                      <span class="m-footer__copyright">
  1219.                      2022 &copy;
  1220.                      <a href="https://www.eurekatech.io" class="m-link">
  1221.                      Eurekatech
  1222.                      </a>
  1223.                      </span>
  1224.                 </div>
  1225.                 <div class="m-stack__item m-stack__item--right m-stack__item--middle m-stack__item--first">
  1226.                     <ul class="m-footer__nav m-nav m-nav--inline m--pull-right">
  1227.                         <li class="m-nav__item">
  1228.                             <a href="#" class="m-nav__link">
  1229.                            <span class="m-nav__link-text">
  1230.                            Acerca de
  1231.                            </span>
  1232.                             </a>
  1233.                         </li>
  1234.                         <li class="m-nav__item m-nav__item">
  1235.                             <a href="#" class="m-nav__link" data-toggle="m-tooltip" title="Support Center" data-placement="left">
  1236.                                 <i class="m-nav__link-icon flaticon-info m--icon-font-size-lg3"></i>
  1237.                             </a>
  1238.                         </li>
  1239.                     </ul>
  1240.                 </div>
  1241.             </div>
  1242.         </div>
  1243.     </footer>
  1244.     <!-- end::Footer -->
  1245. </div>
  1246. <div id="m_scroll_top" class="m-scroll-top">
  1247.     <i class="la la-arrow-up"></i>
  1248. </div>
  1249. <script type="application/javascript">
  1250.     $(document).ready(function () {
  1251.         // Verificar que DataTables esté disponible antes de usarlo
  1252.         if (typeof $.fn.DataTable !== 'undefined') {
  1253.             $('#example').DataTable({
  1254.                 dom: 'Bfrtip',
  1255.                 order: [[0, 'desc']],
  1256.                 buttons: [
  1257.                     'copy', 'csv', 'excel', 'pdf', 'print'
  1258.                 ],
  1259.                 language: {
  1260.                     url: "//cdn.datatables.net/plug-ins/1.11.5/i18n/es-ES.json",
  1261.                     search: "Buscar:",
  1262.                     info: "Mostrando _START_ a _END_ de _TOTAL_ registros"
  1263.                 }
  1264.             });
  1265.             $('#example2').DataTable({
  1266.                 dom: 'Bfrtip',
  1267.                 order: [[1, 'asc']],
  1268.                 language: {
  1269.                     url: "//cdn.datatables.net/plug-ins/1.11.5/i18n/es-ES.json",
  1270.                     search: "Buscar:",
  1271.                     info: "Mostrando _START_ a _END_ de _TOTAL_ registros"
  1272.                 }
  1273.             });
  1274.             $('#example3').DataTable({
  1275.                 dom: 'Bfrtip',
  1276.                 order: [[1, 'desc']], // Cambiado a columna 1 (Id) porque ahora la 0 es checkbox
  1277.                 columnDefs: [
  1278.                     { targets: 0, orderable: false, searchable: false }, // Checkbox no ordenable
  1279.                     { targets: 1, type: 'num' }, // Columna Id como numérica
  1280.                     { targets: -1, orderable: false, searchable: false } // Deshabilita ordenar/buscar en última columna (acciones)
  1281.                 ],
  1282.                 buttons: [
  1283.                     'copy', 'csv', 'excel', 'pdf', 'print'
  1284.                 ],
  1285.                 language: {
  1286.                     url: "//cdn.datatables.net/plug-ins/1.11.5/i18n/es-ES.json",
  1287.                     search: "Buscar:",
  1288.                     info: "Mostrando _START_ a _END_ de _TOTAL_ registros"
  1289.                 }
  1290.             });
  1291.         }
  1292.         $('.select2').select2({
  1293.             language: "es"
  1294.         });
  1295.     });
  1296. </script>
  1297. </script>
  1298. </body>
  1299. <!-- end::Body -->
  1300. </html>
  1301.     <script src="{{ asset('metronic/assets/app/js/dashboard.js') }}" type="text/javascript"></script>
  1302.     </body>
  1303.                                 </html>
  1304. {% else %}
  1305. <script>window.location.href = "{{ path('app_login') }}";</script>
  1306. {% endif %}