<!DOCTYPE html><html lang="es"><head> <base href=""> <title> Gestión de Servicios IANSA {{ titlePage|default('Bienvenido') }} </title> <meta charset="utf-8"/> <meta name="description" content=""/> <meta name="keywords" content="palabras claves "/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <meta property="og:locale" content="en_US"/> <meta property="og:type" content="article"/> <meta property="og:title" content="Iansa, Gestión de Servicios"/> <meta property="og:url" content="https://keenthemes.com/metronic"/> <meta property="og:site_name" content="Iansa, Gestión de Servicios | IAnalytics"/> <link rel="shortcut icon" href="{{ asset('media/logoicon.png') }}"/> <!--begin::Fonts--> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700"/> <!--end::Fonts--> <!--begin::Page Vendor Stylesheets(used by this page)--> <link href="{{ asset('css/css-chart.css') }}" rel="stylesheet"/> <link href="{{ asset('plugins/global/plugins.bundle.css') }}" rel="stylesheet" type="text/css"/> <link href="{{ asset('css/style.bundle.css') }}" rel="stylesheet" type="text/css"/> <link href="{{ asset('css/service.css') }}" rel="stylesheet" type="text/css"/> <link href="{{ asset('plugins/custom/datatables/datatables.bundle.css') }} " rel="stylesheet" type="text/css"/> <link href="{{ asset('plugins/datatables/dataTables.bootstrap4.css') }}" rel="stylesheet"/> {% set headerImg = 'media/patterns/background-plants.png' %} {% set logoPpro = 'media/logo2.png' %} {% set logo = 'media/logo_blanco.png' %} {% block stylesheets %} {% endblock %}</head><!--end::Head--><!--begin::Body--><body id="kt_body" style="background-image: url({{ asset(headerImg) }})" class="header-fixed header-tablet-and-mobile-fixed toolbar-enabled"><div class="d-flex flex-column flex-root"> <!--begin::Page--> <div class="page d-flex flex-row flex-column-fluid"> <!--begin::Wrapper--> <div class="wrapper d-flex flex-column flex-row-fluid" id="kt_wrapper"> <!--begin::Header--> <div id="kt_header" class="header align-items-stretch" data-kt-sticky="true" data-kt-sticky-name="header" data-kt-sticky-offset="{default: '200px', lg: '300px'}"> <!--begin::Container--> <div class="container-xxl d-flex align-items-center"> <!--begin::Heaeder menu toggle--> <div class="d-flex topbar align-items-center d-lg-none ms-n2 me-3" title="Show aside menu"> <div class="btn btn-icon btn-active-light-primary btn-custom w-30px h-30px w-md-40px h-md-40px" id="kt_header_menu_mobile_toggle"> <!--begin::Svg Icon | path: icons/duotune/abstract/abs015.svg--> <span class="svg-icon svg-icon-1"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <path d="M21 7H3C2.4 7 2 6.6 2 6V4C2 3.4 2.4 3 3 3H21C21.6 3 22 3.4 22 4V6C22 6.6 21.6 7 21 7Z" fill="currentColor"/> <path opacity="0.3" d="M21 14H3C2.4 14 2 13.6 2 13V11C2 10.4 2.4 10 3 10H21C21.6 10 22 10.4 22 11V13C22 13.6 21.6 14 21 14ZM22 20V18C22 17.4 21.6 17 21 17H3C2.4 17 2 17.4 2 18V20C2 20.6 2.4 21 3 21H21C21.6 21 22 20.6 22 20Z" fill="currentColor"/> </svg> </span> <!--end::Svg Icon--> </div> </div> <!--end::Heaeder menu toggle--> <!--begin::Header Logo--> <div class="header-logo me-5 me-md-10 flex-grow-1 flex-lg-grow-0"> <a href="{{ path('app_dash') }}"> <img alt="Logo" src="{{ asset(logo) }}" class="logo-default h-100px"/> <img alt="Logo" src="{{ asset(logoPpro) }}" class="logo-sticky h-100px"/> </a> </div> <div class="d-flex align-items-stretch justify-content-between flex-lg-grow-1"> <!--begin::Navbar--> <div class="d-flex align-items-stretch" id="kt_header_nav"> <!--begin::Menu wrapper--> <div class="header-menu align-items-stretch" data-kt-drawer="true" data-kt-drawer-name="header-menu" data-kt-drawer-activate="{default: true, lg: false}" data-kt-drawer-overlay="true" data-kt-drawer-width="{default:'200px', '300px': '250px'}" data-kt-drawer-direction="start" data-kt-drawer-toggle="#kt_header_menu_mobile_toggle" data-kt-swapper="true" data-kt-swapper-mode="prepend" data-kt-swapper-parent="{default: '#kt_body', lg: '#kt_header_nav'}"> <!--begin::Menu--> {% if app.user %} <div class="menu menu-lg-rounded menu-column menu-lg-row menu-state-bg menu-title-gray-700 menu-state-icon-primary menu-state-bullet-primary menu-arrow-gray-400 fw-bold my-5 my-lg-0 align-items-stretch" id="#kt_header_menu" data-kt-menu="true" style="font-size: medium"> {# <div class="menu-item me-lg-1"> <a class="menu-link {{ dashAdminHere|default('') }} py-3" href="{{ path('app_dash') }} "> <span class="menu-title">Panel Administrativo </span> </a> </div> #} {% if is_granted('ROLE_ADMIN') or is_granted('ROLE_SUPER_ADMIN') %} <div class="menu-item me-lg-1"> <a class="menu-link {{ reportingActive|default('') }} py-3" href={{ path('app_start') }}> <span class="menu-title">Panel</span> </a> </div> {% endif %} {% if is_granted('ROLE_TENDERER') %} <div class="menu-item me-lg-1"> <a class="menu-link {{ reportingActive|default('') }} py-3" href={{ path('app_tenderer_dash') }}> <span class="menu-title">Panel</span> </a> </div> {% endif %} {% if is_granted('ROLE_SUPERVISOR_TENDER') %} <div class="menu-item me-lg-1"> <a class="menu-link {{ reportingActive|default('') }} py-3" href={{ path('app_tenderer_dash') }}> <span class="menu-title">Panel</span> </a> </div> {% endif %} {% if is_granted('ROLE_SUPPLIER') or is_granted('ROLE_ADMIN') or is_granted('ROLE_SUPER_ADMIN') or is_granted('ROLE_APROVEED_SUPPLIER') %} <div class="menu-item me-lg-1"> <a class="menu-link {{ supplierActive|default('') }} py-3" {% if is_granted('ROLE_ADMIN') or is_granted('ROLE_SUPER_ADMIN') %} href={{ path('app_supplier_index') }}> {% elseif is_granted('ROLE_SUPPLIER') %} href={{ path('view_supplier') }} {% endif %} <span class="menu-title">Proveedores</span> </a> </div> {% endif %} {% if not (is_granted('ROLE_SUPPLIER') or is_granted('ROLE_APROVEED_SUPPLIER')) %} <div class="menu-item me-lg-1"> <a class="menu-link {{ supplierApprovedActive|default('') }} py-3" href={{ path('app_supplier_approved') }}> <span class="menu-title">Proveedores Aprobados</span> </a> </div> {% endif %} {% if is_granted('ROLE_AUDITORIA_INTERNA') %} <div class="menu-item me-lg-1"> <a class="menu-link {{ tenderActive|default('') }} py-3" href={{ path('app_tender_interno_index') }}> <span class="menu-title">Licitaciones</span> </a> </div> {% endif %} {% if is_granted('ROLE_SUPPLIER') and showDiv is defined and showDiv == true %} <div class="menu-item me-lg-1"> <a class="menu-link {{ supplierTender|default('') }} py-3" href="{{ path('app_supplier_tender') }}"> <span class="menu-title">Licitaciones</span> </a> </div> {% endif %} {# <div class="menu-item me-lg-1"> <a class="menu-link {{ formActive|default('') }} py-3" href={{ path('app_form_index') }}> <span class="menu-title">Formulario</span> </a> </div> #} {% if is_granted('ROLE_TENDERER') or is_granted('ROLE_SUPERVISOR_TENDER') or is_granted('ROLE_ADMIN') or is_granted('ROLE_SUPER_ADMIN') or is_granted('ROLE_APROVEED_SUPPLIER') or is_granted('ROLE_AUDITOR') %} <div class="menu-item me-lg-1"> <a class="menu-link {{ tenderActive|default('') }} py-3" href={{ path('app_tender_index') }}> <span class="menu-title">Licitaciones</span> </a> </div> {% endif %} {% if is_granted('ROLE_ADMIN') %} <div data-kt-menu-trigger="click" data-kt-menu-placement="bottom-start" class="menu-item {{ configurations|default('') }} menu-lg-down-accordion me-lg-1"> <span class="menu-link {{ configurations|default('') }} py-3"> <span class="menu-title">Configuraciones</span> <span class="menu-arrow fs-2"></span> </span> <div class="menu-sub menu-sub-lg-down-accordion menu-sub-lg-dropdown menu-rounded-0 py-lg-4 w-lg-225px"> <div class="menu-item"> <a class="menu-link {{ documentTypeActive|default('') }} py-3" href="{{ path('app_document_type_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">Tipo de Documento</span> </a> </div> <div class="menu-item"> <a class="menu-link {{ libraryActive|default('') }} py-3" href="{{ path('app_library') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">Anexos</span> </a> </div> <div class="menu-item"> <a class="menu-link {{ classTypeActive|default('') }} py-3" href="{{ path('app_class_type_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">Tipo Clase</span> </a> </div> <div class="menu-item"> <a class="menu-link {{ itemTypeActive|default('') }} py-3" href="{{ path('app_item_type_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">Tipos de Bases</span> </a> </div> <div class="menu-item"> <a class="menu-link {{ descriptorTypeActive|default('') }} py-3" href="{{ path('app_descriptor_type_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">{{ 'Especial Data'|trans }}</span> </a> </div> {% if is_granted('ROLE_SUPER_ADMIN') or is_granted('ROLE_ADMIN') %} <div class="menu-item "> <a class="menu-link {{ tenderActive|default('') }} py-3" href={{ path('app_config_email_index') }}> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">Correo Iansa</span> </a> </div> {% endif %} </div> </div> {% endif %} {% if is_granted('ROLE_SUPER_ADMIN') or is_granted('ROLE_ADMIN') %} <div class="menu-item me-lg-1"> <a class="menu-link {{ newUserActive|default('') }} py-3" href={{ path('admin_user_list') }}> <span class="menu-title">Cuentas</span> </a> </div> {% endif %} {% if not is_granted('ROLE_SUPPLIER') and has_documents_to_approve %} <div class="menu-item me-lg-1"> <a class="menu-link {{ document|default('') }} py-3" href={{ path('app_document_index') }}> <span class="menu-title">Documentos</span> </a> </div> {% endif %} {% if is_granted('ROLE_SUPER_ADMIN') %} <div data-kt-menu-trigger="click" data-kt-menu-placement="bottom-start" class="menu-item {{ maintainers|default('') }} menu-lg-down-accordion me-lg-1"> <span class="menu-link {{ maintainers|default('') }} py-3"> <span class="menu-title">Mantenedores</span> <span class="menu-arrow fs-2"></span> </span> <div class="menu-sub menu-sub-lg-down-accordion menu-sub-lg-dropdown menu-rounded-0 py-lg-4 w-lg-225px"> <div class="menu-item"> <a class="menu-link {{ addressTypeActive|default('') }} py-3" href="{{ path('app_address_type_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">Tipo de Dirección</span> </a> </div> <div class="menu-item"> <a class="menu-link {{ flowTypeActive|default('') }} py-3" href="{{ path('app_flow_type_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">Tipo de Flujo</span> </a> </div> <div class="menu-item"> <a class="menu-link {{ plantActive|default('') }} py-3" href="{{ path('app_plant_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">{{ 'Plant'|trans }}</span> </a> </div> <div class="menu-item"> <a class="menu-link {{ positionActive|default('') }} py-3" href="{{ path('app_position_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">Posición</span> </a> </div> <div class="menu-item"> <a class="menu-link {{ situationTypeActive|default('') }} py-3" href="{{ path('app_situation_type_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">Tipo de Situación</span> </a> </div> <div class="menu-item"> <a class="menu-link {{ phaseTypeActive|default('') }} py-3" href="{{ path('app_phase_type_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">Tipo de Fase</span> </a> </div> <div class="menu-item"> <a class="menu-link {{ statusTypeActive|default('') }} py-3" href="{{ path('app_status_type_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">{{ 'Status Type'|trans }}</span> </a> </div> </div> </div> {# <div data-kt-menu-trigger="click" data-kt-menu-placement="bottom-start" class="menu-item {{ maintainers|default('') }} menu-lg-down-accordion me-lg-1"> <span class="menu-link {{ maintainers|default('') }} py-3"> <span class="menu-title">Mantenedores</span> <span class="menu-arrow fs-2"></span> </span> <div class="menu-sub menu-sub-lg-down-accordion menu-sub-lg-dropdown menu-rounded-0 py-lg-4 w-lg-225px"> <div class="menu-item"> <a class="menu-link {{ formTypeActive|default('') }} py-3" href="{{ path('app_form_type_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">Tipo de Formulario</span> </a> </div> <div class="menu-item"> <a class="menu-link {{ fieldTypeActive|default('') }} py-3" href="{{ path('app_field_type_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">Tipo de Campo</span> </a> </div> <div class="menu-item"> <a class="menu-link {{ categoryTypeActive|default('') }} py-3" href="{{ path('app_category_type_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">{{ 'Category Type'|trans }}</span> </a> </div> <div class="menu-item"> <a class="menu-link {{ productActive|default('') }} py-3" href="{{ path('app_product_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">{{ 'Product'|trans }}</span> </a> </div> <!--<div class="menu-item"> <a class="menu-link {{ fileTypeActive|default('') }} py-3" href="{{ path('app_file_type_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">{{ 'File Type'|trans }}</span> </a> </div>--> <div class="menu-item"> <a class="menu-link {{ areaActive|default('') }} py-3" href="{{ path('app_area_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">Área</span> </a> </div> <!--<div class="menu-item"> <a class="menu-link {{ alertActive|default('') }} py-3" href="{{ path('app_alert_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">Alert</span> </a> </div>--> <!--<div class="menu-item"> <a class="menu-link {{ typeEventLogActive|default('') }} py-3" href="{{ path('app_type_event_log_index') }}"> <span class="menu-bullet"> <span class="bullet bullet-dot"></span> </span> <span class="menu-title">{{ 'typeEventLog'|trans }}</span> </a> </div>--> </div> </div> #} {% endif %} </div> {% endif %} </div> </div> <!--end::Navbar--> <!--begin::Toolbar wrapper--> <div class="topbar d-flex align-items-stretch flex-shrink-0"> <!--begin::Search--> <!--end::Search--> <!--end::Theme mode--> <!--begin::User--> <div class="d-flex align-items-center me-n3 ms-1 ms-lg-3" id="kt_header_user_menu_toggle"> {% if app.user %} <!--begin::Menu wrapper--> <div class="btn btn-icon btn-active-light-primary btn btn-icon btn-active-light-primary btn-custom w-30px h-30px w-md-40px h-md-40px" data-kt-menu-trigger="click" data-kt-menu-attach="parent" data-kt-menu-placement="bottom-end"> <img class="h-30px w-30px rounded" src="{{ url('profile_avatar', { 'id': app.user.avatar|default('none') } ) }}" alt=""/> </div> <!--begin::User account menu--> <div class="menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg menu-state-primary fw-bold py-4 fs-6 w-275px" data-kt-menu="true"> <!--begin::Menu item--> <div class="menu-item px-3"> <div class="menu-content d-flex align-items-center px-3"> <!--begin::Avatar--> <div class="symbol symbol-50px me-5"> <img alt="Logo" src="{{ url('profile_avatar', { 'id': app.user.avatar|default('none') } ) }}"/> </div> <!--end::Avatar--> <!--begin::Username--> <div class="d-flex flex-column"> <div class="fw-bolder d-flex align-items-center fs-5">{{ app.user.name }} </div> <a href="#" class="fw-bold text-muted text-hover-primary fs-7">{{ app.user.email }}</a> </div> <!--end::Username--> </div> </div> <!--end::Menu item--> <!--begin::Menu separator--> <div class="separator my-2"></div> <!--end::Menu separator--> <!--begin::Menu item--> <div class="menu-item px-5"> <a href="{{ path('app_profile') }}" class="menu-link px-5">Mi Perfil</a> </div> <!--end::Menu item--> <div class="separator my-2"></div> <div class="separator my-2"></div> <div class="menu-item px-5"> <a href="{{ path('app_logout') }}" class="menu-link px-5">Cerrar Sesión</a> </div> </div> {% endif %} </div> </div> </div> </div> </div> {% if showToolbar|default(1) %} <div class="toolbar py-5 py-lg-15" id="kt_toolbar"> <!--begin::Container--> <div id="kt_toolbar_container" class="container-xxl d-flex flex-stack flex-wrap"> {% if app.user %} <div class="page-title d-flex flex-column me-3"> <h1 class="d-flex text-white fw-bolder my-1 fs-3">{% block title %} {% endblock %} </h1> <ul class="breadcrumb breadcrumb-separatorless fw-bold fs-7 my-1"> <li class="breadcrumb-item text-white opacity-75"> <a href="{{ path('app_dash') }}" class="text-white text-hover-primary">Sistema Gestión de Servicios</a> </li> <li class="breadcrumb-item"> <span class="bullet bg-white opacity-75 w-5px h-2px"></span> </li> {% block breadcrumb %} {% endblock %} </ul> </div> {% endif %} <!--end::Page title--> <!--begin::Actions--> <div class="d-flex align-items-center py-3 py-md-1"> {% block breadBottom %} {% endblock %} </div> <!--end::Actions--> </div> <!--end::Container--> </div> {% else %} <!--begin::Actions--> <div class="mb-5"> </div> {% endif %} <!--end::Toolbar--> <!--begin::Container--> <div id="kt_content_container" class="d-flex flex-column-fluid align-items-start container-fluid"> <!--begin::Post--> <div class="content flex-row-fluid" id="kt_content"> <!--begin::Row--> {% block body %} {% endblock %} </div> <!--end::Post--> </div> </div> <!--end::Page--> </div> <!--end::Root--> <div id="kt_scrolltop" class="scrolltop" data-kt-scrolltop="true"> <!--begin::Svg Icon | path: icons/duotune/arrows/arr066.svg--> <span class="svg-icon"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <rect opacity="0.5" x="13" y="6" width="13" height="2" rx="1" transform="rotate(90 13 6)" fill="currentColor"/> <path d="M12.5657 8.56569L16.75 12.75C17.1642 13.1642 17.8358 13.1642 18.25 12.75C18.6642 12.3358 18.6642 11.6642 18.25 11.25L12.7071 5.70711C12.3166 5.31658 11.6834 5.31658 11.2929 5.70711L5.75 11.25C5.33579 11.6642 5.33579 12.3358 5.75 12.75C6.16421 13.1642 6.83579 13.1642 7.25 12.75L11.4343 8.56569C11.7467 8.25327 12.2533 8.25327 12.5657 8.56569Z" fill="currentColor"/> </svg> </span> <!--end::Svg Icon--> </div></div><script src="{{ asset('plugins/global/plugins.bundle.js') }} "></script><script src="{{ asset('js/scripts.bundle.js') }} "></script><script src="{{ asset('plugins/datatables/jquery.dataTables.min.js') }}"></script><script src="{{ asset('plugins/datatables/jquery.dataTables.min.js') }}"></script><script src="{{ asset('plugins/datatables/custom-datatable.js') }}"></script><script src="{{ asset('plugins/datatables/datatable-basic.init.js') }}"></script><script src="{{ asset('https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js') }}"></script><script> $(document).ready(function () { $('.btn').each(function () { if ($(this).text().trim() === 'Guardar' || $(this).text().trim() === 'Actualizar') { $(this).addClass('btn-success').css('margin-top', '10px'); } }); }); $(document).ready(function () { $("a").each(function () { if ($(this).text().trim() === 'Volver') { $(this).addClass('btn btn-secondary'); $(this).css('margin-top', '5px'); $(this).css('font-weight', 'bolder'); } }); });</script><script> {% for flashMessage in app.session.flashbag.get('error') %} Swal.fire({ text: "{{ flashMessage }}", icon: "error", timer: 2000, showConfirmButton: false, showCancelButton: false, }); {% endfor %} {% for flashMessage in app.session.flashbag.get('success') %} Swal.fire({ text: "{{ flashMessage }}", icon: "success", timer: 2000, showConfirmButton: false, showCancelButton: false, }); {% endfor %} {% for flashMessage in app.session.flashbag.get('info') %} Swal.fire({ text: "{{ flashMessage }}", icon: "info", timer: 2000, showConfirmButton: false, showCancelButton: false, }); {% endfor %} toastr.options = { "closeButton": false, "debug": false, "newestOnTop": false, "progressBar": true, "positionClass": "toastr-top-right", "preventDuplicates": false, "onclick": null, "showDuration": "300", "hideDuration": "1000", "timeOut": "5000", "extendedTimeOut": "1000", "showEasing": "swing", "hideEasing": "linear", "showMethod": "fadeIn", "hideMethod": "fadeOut" };</script><script> {% set excluded_routes = ['app_dash_supplier'] %} {% if app.request.attributes.get('_route') not in excluded_routes %} $(document).ready(function () { $('.dataTableOn').each(function () { let tableTBody = $(this).find('tbody tr').not('.no-data'); if (tableTBody.length > 1 || (tableTBody.length === 1 && !tableTBody.hasClass('no-data'))) { console.log('la hace') $(this).DataTable({ language: { url: 'https://cdn.datatables.net/plug-ins/1.10.19/i18n/Spanish.json' }, order: [[0, "desc"]], columnDefs: [ { targets: 'no-sort', orderable: false }, {type: 'num', targets: 0} ], }); } }); }); {% endif %}</script><script> function validateForm(currentForm) { var allFilled = true; $(currentForm).find('input, textarea, select').each(function () { if ($(this).attr('type') !== 'file' && $(this).prop('required') && $.trim($(this).val()) === '') { allFilled = false; return false; } }); if (!allFilled) { Swal.fire('Error', 'Faltan campos por completar.', 'error'); return false; } return true; } {% set excluded_routes_audit = ['admin_user_list', 'app_evaluation_view', 'app_supplier_index', 'app_tender_index', 'admin_user_edit'] %} {% if app.request.attributes.get('_route') not in excluded_routes_audit %} $(document).ready(function () { var forms = $('form:not(.non-global)'); if (forms.length > 0) { forms.on('submit', function (e) { e.preventDefault(); var currentForm = this; var isSubmitting = $(currentForm).data('isSubmitting'); if (isSubmitting) { return; } if (validateForm(currentForm)) { Swal.fire({ title: '¿Estás Seguro?', text: "¡No podrás revertir esta acción!", icon: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', confirmButtonText: 'Confirmar', cancelButtonText: 'Cancelar' }).then((result) => { if (result.isConfirmed) { $(currentForm).data('isSubmitting', true); currentForm.submit(); } }); } }); } }); {% endif %}</script>{% block javascripts %}{% endblock %}</body><!--end::Body--></html>