templates/adminbase.html.twig line 1

Open in your IDE?
  1. {% extends "base.html.twig" %}
  2. {% block metas %}
  3.     <meta charset="UTF-8">
  4.     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5.     <!-- Meta, title, CSS, favicons, etc. -->
  6.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7.     <meta name="viewport" content="width=device-width, initial-scale=1">
  8.     <link rel="icon" href="{{ asset('media/favicon.ico') }}" type="image/ico" />
  9.     <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
  10. {% endblock %}
  11. {% block stylesheets %}
  12.     <!-- Bootstrap -->
  13.     <link href="{{ asset('vendors/bootstrap/dist/css/bootstrap.min.css') }}" rel="stylesheet">
  14.     <!-- Font Awesome -->
  15.     <link href="{{ asset('vendors/font-awesome/css/font-awesome.min.css') }}" rel="stylesheet">
  16.     <!-- NProgress -->
  17.     <link href="{{ asset('vendors/nprogress/nprogress.css') }}" rel="stylesheet">
  18.     <!-- iCheck -->
  19.     <link href="{{ asset('vendors/iCheck/skins/flat/green.css') }}" rel="stylesheet">
  20.     <!-- bootstrap-progressbar -->
  21.     <link href="{{ asset('vendors/bootstrap-progressbar/css/bootstrap-progressbar-3.3.4.min.css') }}" rel="stylesheet">
  22.     <!-- JQVMap -->
  23.     <link href="{{ asset('vendors/jqvmap/dist/jqvmap.min.css') }}" rel="stylesheet"/>
  24.     <!-- Custom Theme Style -->
  25.     <link href="{{ asset('build/css/custom.css?20210915-01') }}" rel="stylesheet">
  26.     <link href="{{ asset('build/css/transfarma.css?20220326-01') }}" rel="stylesheet">
  27.     <!-- Datatables -->
  28.     <link href="{{ asset('vendors/datatables.net-bs/css/dataTables.bootstrap.min.css') }}" rel="stylesheet">
  29.     <!-- PNotify -->
  30.     <link href="{{ asset('vendors/pnotify/dist/pnotify.css') }}" rel="stylesheet">
  31.     <link href="{{ asset('vendors/pnotify/dist/pnotify.buttons.css') }}" rel="stylesheet">
  32.     <link href="{{ asset('vendors/pnotify/dist/pnotify.nonblock.css') }}" rel="stylesheet">
  33.     <!-- Latest compiled and minified CSS -->
  34.     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/css/bootstrap-select.min.css">
  35.     <!-- include summernote css/js -->
  36.     <link href="https://cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote.min.css" rel="stylesheet">
  37.     <link href="{{ asset('build/bootstrap-datepicker/css/bootstrap-datepicker3.css')}}" rel="stylesheet">
  38.     <link href="{{ asset('build/datetimepicker/jquery.datetimepicker.min.css')}}" rel="stylesheet">
  39.     <link href="{{ asset('build/lightbox/lightbox.css')}}" rel="stylesheet">
  40.     <link href="{{ asset('build/etracking/material.css')}}" rel="stylesheet">
  41.     <link href="{{ asset('build/etracking/etracking.css?20230307-01')}}" rel="stylesheet">    
  42.     <link rel="stylesheet" href="{{ asset('build/chosen/chosen.min.css')}}">
  43.             
  44.     <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:regular,bold,italic,thin,light,bolditalic,black,medium&amp;lang=en">
  45.     <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">        
  46.     <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCvsD6unOdIymQAipIg_zMR8iGCOKt3e4k" defer></script>
  47.     
  48.     <link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css"
  49.     integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="
  50.     crossorigin=""/>
  51.     <script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"
  52.     integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA=="
  53.     crossorigin=""></script>
  54.     <link href="{{ asset('vendors/select2/dist/css/select2.min.css')}}" rel="stylesheet" />
  55.     <link href="{{ asset('build/css/reintegro.css?03') }}" rel="stylesheet">
  56. {% endblock %}
  57. {% block bodyclass %} class="nav-md" {% endblock %}
  58. {% block body %}
  59.     <div class="container body">
  60.         <div class="main_container">
  61.             {% block bars %}{% endblock %}
  62.         </div>
  63.     </div>
  64. {% endblock %}
  65. {% block javascripts %}
  66.     <!-- jQuery -->
  67.     <script src="{{ asset('vendors/jquery/dist/jquery.min.js') }}"></script>
  68.     <script src="{{ asset('build/jquery-validation/jquery.validate.min.js') }}"></script>
  69.     <script src="{{ asset('build/jquery-validation/localization/messages_es.min.js') }}"></script>
  70.     <!-- Bootstrap -->
  71.     <script src="{{ asset('vendors/bootstrap/dist/js/bootstrap.bundle.min.js')}}"></script>
  72.     <!-- FastClick -->
  73.     <script src="{{ asset('vendors/fastclick/lib/fastclick.js')}}"></script>
  74.     <!-- NProgress -->
  75.     <script src="{{ asset('vendors/nprogress/nprogress.js')}}"></script>
  76.     <!-- Chart.js -->
  77.     <script src="{{ asset('vendors/Chart.js/dist/Chart.min.js')}}"></script>
  78.     <!-- bootstrap-progressbar -->
  79.     <script src="{{ asset('vendors/bootstrap-progressbar/bootstrap-progressbar.min.js')}}"></script>
  80.     <!-- iCheck -->
  81.     <script src="{{ asset('vendors/iCheck/icheck.min.js')}}"></script>
  82.     <!-- Skycons -->
  83.     <script src="{{ asset('vendors/skycons/skycons.js')}}"></script>
  84.     <!-- Flot -->
  85.     <script src="{{ asset('vendors/Flot/jquery.flot.js')}}"></script>
  86.     <script src="{{ asset('vendors/Flot/jquery.flot.pie.js')}}"></script>
  87.     <script src="{{ asset('vendors/Flot/jquery.flot.time.js')}}"></script>
  88.     <script src="{{ asset('vendors/Flot/jquery.flot.stack.js')}}"></script>
  89.     <script src="{{ asset('vendors/Flot/jquery.flot.resize.js')}}"></script>
  90.     <!-- Flot plugins -->
  91.     <script src="{{ asset('vendors/flot.orderbars/js/jquery.flot.orderBars.js')}}"></script>
  92.     <script src="{{ asset('vendors/flot-spline/js/jquery.flot.spline.min.js')}}"></script>
  93.     <script src="{{ asset('vendors/flot.curvedlines/curvedLines.js')}}"></script>
  94.     <!-- DateJS -->
  95.     <script src="{{ asset('vendors/DateJS/build/date.js')}}"></script>
  96.     <!-- JQVMap -->
  97.     <script src="{{ asset('vendors/jqvmap/dist/jquery.vmap.js')}}"></script>
  98.     <script src="{{ asset('vendors/jqvmap/dist/maps/jquery.vmap.world.js')}}"></script>
  99.     <script src="{{ asset('vendors/jqvmap/examples/js/jquery.vmap.sampledata.js')}}"></script>
  100.     <!-- bootstrap-daterangepicker -->
  101.     <script src="{{ asset('vendors/moment/min/moment.min.js')}}"></script>
  102.     <script src="{{ asset('vendors/bootstrap-daterangepicker/daterangepicker.js')}}"></script>
  103.     <!-- Custom Theme Scripts -->
  104.     <script src="{{ asset('build/js/custom.min.js')}}"></script>
  105.     <!-- Custom Theme Scripts -->
  106.     <script src="{{ asset('vendors/datatables.net/js/jquery.dataTables.min.js') }}"></script>
  107.     <script src="{{ asset('vendors/datatables.net-bs/js/dataTables.bootstrap.min.js') }}"></script>
  108.     <!-- PNotify -->
  109.     <script src="{{ asset('vendors/pnotify/dist/pnotify.js') }}"></script>
  110.     <script src="{{ asset('vendors/pnotify/dist/pnotify.buttons.js') }}"></script>
  111.     <script src="{{ asset('vendors/pnotify/dist/pnotify.nonblock.js') }}"></script>
  112.     <!-- select-custom Latest compiled and minified JavaScript -->
  113.     <script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/js/bootstrap-select.min.js"></script>
  114.     <!-- Tagsinput -->
  115.     <script src="{{ asset('vendors/jquery.tagsinput/src/jquery.tagsinput.js') }}"></script>
  116.     <!-- Summernote -->
  117.     <script src="https://cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote.min.js"></script>
  118.     <script src="{{ asset('build/bootstrap-datepicker/js/bootstrap-datepicker.min.js')}}"></script>
  119.     <script src="{{ asset('build/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js')}}"></script>
  120.     <script src="{{ asset('build/datetimepicker/jquery.datetimepicker.full.min.js')}}"></script>
  121.     <script src="{{ asset('build/lightbox/lightbox.js')}}"></script>
  122.     <script src="{{ asset('build/chosen/chosen.jquery.min.js')}}"></script>
  123.     {# HEAD o antes del cierre de </body> #}
  124. <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
  125. <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
  126. <script src="https://cdn.jsdelivr.net/npm/echarts@5.2.1/dist/echarts.min.js"></script>
  127.     <!-- script src="{{ asset('vendors/echarts/dist/echarts.min.js')}}"></script -->
  128.     <script src="{{ asset('vendors/echarts-countries-js/Chile.js')}}"></script>
  129.     <script src="{{ asset('build/jspdf/jspdf.min.js')}}"></script>
  130.     <script src="{{ asset('build/html2canvas/html2canvas.min.js')}}"></script>
  131.     <script src="{{ asset('build/dom-to-image/dist/dom-to-image.min.js')}}"></script>
  132.     <!--  https://bernii.github.io/gauge.js/ -->
  133.     <script src="{{ asset('vendors/gauge.js/gauge.min.js')}}"></script>
  134.     <script src="{{ asset('vendors/select2/dist/js/select2.min.js')}}"></script>
  135.     <script src="{{ asset('vendors/select2/dist/js/i18n/es.js')}}"></script>
  136.     <script src="{{ asset('build/js/imageMapResizer.min.js')}}"></script>
  137.     <script>
  138.         var dataminetables = $('.dataminetables').dataTable({
  139.             "columnDefs": [
  140.                 {"orderable": false, "targets": 0}
  141.             ]
  142.         });
  143.         var datasorttables = $('.dataminetables').DataTable();
  144.         var datanotminetables = $('.datanotminetables').dataTable({
  145.         });
  146.         var datanotsorttables = $('.datanotminetables').DataTable();
  147.         $(document).on("click",".activate-link",function (e) {
  148.             /*$(".activate-link").click(function(e) {*/
  149.             e.preventDefault();
  150.             var btn = $(this);
  151.             var link = $(this).attr("href");
  152.             $.ajax({
  153.                 url: link,
  154.                 method: 'POST',
  155.                 success: function(data){
  156.                     if(data.message=="success"){
  157.                         if(data.value===true){
  158.                             btn.removeClass("btn-success");
  159.                             btn.removeClass("btn-warning");
  160.                             btn.addClass("btn-success");
  161.                             btn.html("<i class=\"fa fa-check\"></i>");
  162.                             notif("success","Exito","Activado");
  163.                         }else if(data.value===false) {
  164.                             btn.removeClass("btn-success");
  165.                             btn.removeClass("btn-warning");
  166.                             btn.addClass("btn-warning");
  167.                             btn.html("<i class=\"fa fa-times\"></i>");
  168.                             notif("warning","Exito","Desactivado");
  169.                         }
  170.                     }else {
  171.                         notif("error","Error","Ha ocurrido un error inesperado.");
  172.                     }
  173.                 },
  174.                 error: function(xhr){
  175.                     notif("error","Error","Ha ocurrido un error inesperado.");
  176.                 }
  177.             });
  178.         });
  179.         $(document).on("click",".del-link",function (e) {
  180.             /*$(".activate-link").click(function(e) {*/
  181.             e.preventDefault();
  182.             if(confirm("¿Está seguro de eliminar este elemento?")){
  183.                 var btn = $(this);
  184.                 var link = $(this).attr("href");
  185.                 $.ajax({
  186.                     url: link,
  187.                     method: 'POST',
  188.                     success: function(data){
  189.                         if(data.message=="success"){
  190.                             if(data.value===true){
  191.                                 notif("success","Exito","Eliminado");
  192.                                 // Get the position of the current data from the node
  193.                                 var aPos = dataminetables.fnGetPosition( btn.closest('tr').get(0) );
  194.                                 // Delete the row
  195.                                 dataminetables.fnDeleteRow(aPos);
  196.                             }else if(data.value===false) {
  197.                                 notif("warning","Error", "Ha ocurrido un error inesperado.");
  198.                             }
  199.                         }else {
  200.                             notif("error","Error", "Ha ocurrido un error inesperado."  );
  201.                         }
  202.                     },
  203.                     error: function(xhr){
  204.                         notif("error","Error", "Ha ocurrido un error inesperado."  );
  205.                     }
  206.                 });
  207.             }
  208.         });
  209.         function notif(type,titre,text) {
  210.             new PNotify({
  211.                 title: titre,
  212.                 text: text,
  213.                 type: type,
  214.                 styling: 'bootstrap3'
  215.             });
  216.         }
  217.         // transform all select
  218.         //$('select').selectpicker();
  219.         $('#select_all').click(function() {
  220.             if ($(this).is(':checked')) {
  221.                 $('.chkgrp').prop('checked', true);
  222.             } else {
  223.                 $('.chkgrp').prop('checked', false);
  224.             }
  225.         });
  226.         $("#grpaction").submit(function (e) {
  227.             e.preventDefault();
  228.             var ids = [];
  229.             var action = $("#action_select").val();
  230.             datasorttables.rows().every(function (rowIdx, tableLoop, rowLoop) {
  231.                 var data = this.node();
  232.                 if ($(data).find("input[name='chkgrp\[\]']").prop('checked')) {
  233.                     ids.push($(this.data()[0]).val());
  234.                 }
  235.             });
  236.             if (ids.length === 0){
  237.                 alert("No hay elementos seleccionados");
  238.             }else if (action === ""){
  239.                 alert("Seleccione una acción")
  240.             } else {
  241.                 if (confirm("Por favor, confirmar")){
  242.                     var link = $(this).attr("action");
  243.                     ;
  244.                     $.ajax({
  245.                         url: link,
  246.                         method: 'POST',
  247.                         data : {
  248.                             action:action,
  249.                             ids:ids
  250.                         },
  251.                         success: function(data){
  252.                             if(data.message==="success"){
  253.                                 notif("success","Exito",data.nb +" elementos " +action);
  254.                                 setTimeout(window.location.reload(), 2000);
  255.                             }else {
  256.                                 $(".main_container").prepend(data);
  257.                                 notif("error","Error", "Ha ocurrido un error inesperado 1"  );
  258.                             }
  259.                         },
  260.                         error: function(xhr){
  261.                             notif("error","Error", "Ha ocurrido un error inesperado 2"  );
  262.                         }
  263.                     });
  264.                 }
  265.             }
  266.         });
  267.         $("body").on('DOMSubtreeModified', ".dataTables_info", function () {
  268.             if ($("#select_all").is(':checked')) {
  269.                 $('#select_all').prop('checked', false);
  270.             }
  271.         });
  272.         {% block summernote %}
  273.         $(document).ready(function() {
  274.             $('.summernote').summernote();
  275.         });
  276.         {% endblock  %}
  277.         $('.custom-file-input').on('change', function(event) {
  278.             var inputFile = event.currentTarget;
  279.             $(inputFile).parent()
  280.                 .find('.custom-file-label')
  281.                 .html(inputFile.files[0].name);
  282.         });
  283.         $('input').attr('autocomplete', 'off');
  284.         $('.js-datepicker').datepicker({
  285.             format: "dd-mm-yyyy",
  286.             language: "es",
  287.             autoclose: true,
  288.             todayBtn: true,
  289.             todayHighlight: true,
  290.         });
  291.         jQuery.datetimepicker.setLocale('es');
  292.         
  293.         $('.js-datetimepicker').datetimepicker({
  294.             format: "d-m-Y H:i",
  295.             language: "es",
  296.             dayOfWeekStart: 1,
  297.             todayBtn: true,
  298.             todayHighlight: true,
  299.             autoclose: true,
  300.             step: 15
  301.         });
  302.         $('.js-select-multiple').select2();
  303.         $('.folio_numerico').keypress(function () {
  304.             //console.log(event.charCode);
  305.             return event.charCode >= 48 && event.charCode <= 57;
  306.         });
  307.         window.setTimeout(function () { 
  308.             $(".alert").alert('close'); 
  309.         }, 5000);   
  310.     </script>
  311.     {% block javascripts_content %}
  312.     {% endblock %}
  313. {% endblock %}