templates/bundles/SonataAdminBundle/standard_layout.html.twig line 1

Open in your IDE?
  1. {% extends '@!SonataAdmin/standard_layout.html.twig' %}
  2. {% block html_attributes %}{{ parent() }} lang="{{ app.request.locale }}" {% endblock %}
  3. {% set adminCode = '' %}
  4. {% if admin is defined %}
  5.     {% set adminCode = admin.getCode | pregreplace('/(.*)\\./', '') %}
  6.     {% set cssRoute = 'assets/admin/css/' ~ adminCode ~ '/specific.css' %}
  7.     {% set jsRoute = 'assets/admin/js/' ~ adminCode ~ '/specific.js' %}
  8. {% endif %}
  9. {% block stylesheets %}
  10.     <link rel="icon" type="image/x-icon" href="{{ asset('assets/img/favicon.png') }}">
  11.     {{ parent() }}
  12.     <link rel="stylesheet" href="{{ asset('assets/prometeo/css/list-action-toolbar-prometeo.css') }}">
  13.     <link rel="stylesheet" href="{{ asset('assets/prometeo/css/modal-nav-prometeo.css') }}">
  14.     <link rel="stylesheet" href="{{ asset('assets/prometeo/css/nav-filter-prometeo.css') }}">
  15.     <link rel="stylesheet" href="{{ asset('assets/prometeo/css/nav-prometeo.css') }}">
  16.     <link rel="stylesheet" href="{{ asset('assets/prometeo/css/model-list-type.css') }}">
  17.     <link rel="stylesheet" href="{{ asset('assets/prometeo/css/table-card.css') }}">
  18.     <link rel="stylesheet" href="{{ asset('assets/plugins/bootstrap-dialog/css/bootstrap-dialog.min.css') }}">
  19.     <link rel="stylesheet" href="{{ asset('assets/plugins/bootstrap-dialog/css/bootstrap-dialog.min.css') }}">
  20.     <link rel="stylesheet" href="{{ asset('assets/plugins/webfonts/uicons-solid-rounded.css') }}">
  21.     <link rel="stylesheet" href="{{ asset('assets/plugins/webfonts/uicons-regular-rounded.css') }}">
  22.     <link rel="stylesheet" href="{{ asset('assets/plugins/codemirror/lib/codemirror.css') }}">
  23.     <link rel="stylesheet" href="{{ asset('assets/css/crl.css') }}">
  24.     {% if admin is defined and cssRoute is defined %}
  25.         <link rel="stylesheet" href="{{ asset(cssRoute) }}">
  26.     {% endif %}
  27. {% endblock %}
  28. {% block javascripts %}
  29.     {{ parent() }}
  30.     {% include 'JS/translations_js.html.twig' %}
  31.     {% include 'JS/env_js.html.twig' %}
  32.     {% include 'JS/routes_js.html.twig' %}
  33.     <script src="{{ asset("assets/plugins/bootstrap-dialog/js/bootstrap-dialog.min.js") }}"></script>
  34.     <script src="{{ asset("assets/plugins/codemirror/lib/codemirror.js") }}"></script>
  35.     <script src="{{ asset("assets/plugins/codemirror/lib/mode/javascript/javascript.js") }}"></script>
  36.     <script src="{{ asset("assets/plugins/codemirror/lib/mode/css/css.js") }}"></script>
  37.     <script src="{{ asset("assets/plugins/codemirror/lib/mode/xml/xml.js") }}"></script>
  38.     <script src="{{ asset("assets/plugins/codemirror/lib/mode/php/php.js") }}"></script>
  39.     <script src="{{ asset('assets/plugins/autonumeric/autonumeric.min.js') }}"></script>
  40.     <script src="{{ asset('assets/plugins/autonumeric/autonumeric.functions.js') }}"></script>
  41.     <script src="{{ asset("assets/prometeo/js/jquery.functions.js") }}"></script>
  42.     <script src="{{ asset("assets/prometeo/js/combos-anidados.js") }}"></script>
  43.     <script src="{{ asset("assets/prometeo/js/table-to-card.js") }}"></script>
  44.     <script src="{{ asset("assets/prometeo/js/nav-prometeo.js") }}"></script>
  45.     <script src="{{ asset("assets/prometeo/js/modal-nav-prometeo.js") }}"></script>
  46.     <script src="{{ asset("assets/js/nav-prometeo-crl.js") }}"></script>
  47.     <script src="{{ asset("assets/prometeo/js/pre-load-image.js") }}"></script>
  48.     <script src="{{ asset("assets/prometeo/js/pre-load-file.js") }}"></script>
  49.     <script src="{{ asset("assets/prometeo/js/modal-view-image-original.js") }}"></script>
  50.     <script src="{{ asset("assets/prometeo/js/vichuploader-delete.js") }}"></script>
  51.     <script src="{{ asset("assets/js/crl.js") }}"></script>
  52.     {% if admin is defined and jsRoute is defined %}
  53.         <script src="{{ asset(jsRoute) }}"></script>
  54.     {% endif %}
  55.     <script>
  56.         $(function()
  57.         {
  58.             $("form").on("submit", function()
  59.             {
  60.                 $("form").find("input.numeric").getNumericValues();
  61.             });
  62.             $("input.percents").setPercent();
  63.             $("input.numerics").setNumeric();
  64.             $("input.currencies").setCurrency();
  65.             $(".codemirror-css").each(function(index, value)
  66.             {
  67.                 CodeMirror.fromTextArea(value, {
  68.                     lineWrapping: true,
  69.                     fixedGutter: false,
  70.                     foldGutter: true,
  71.                     mode: "css",
  72.                     theme: "darcula",
  73.                     lineNumbers: true,
  74.                     gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"],
  75.                 });
  76.             });
  77.             $(".codemirror-js").each(function(index, value)
  78.             {
  79.                 CodeMirror.fromTextArea(value, {
  80.                     lineWrapping: true,
  81.                     fixedGutter: false,
  82.                     foldGutter: true,
  83.                     mode: "javascript",
  84.                     theme: "darcula",
  85.                     lineNumbers: true,
  86.                     gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"]
  87.                 });
  88.             });
  89.             $(".codemirror-xml").each(function(index, value)
  90.             {
  91.                 CodeMirror.fromTextArea(value, {
  92.                     lineWrapping: true,
  93.                     fixedGutter: false,
  94.                     foldGutter: true,
  95.                     mode: "xml",
  96.                     theme: "darcula",
  97.                     lineNumbers: true,
  98.                     gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"]
  99.                 });
  100.             });
  101.             $(".codemirror-php").each(function(index, value)
  102.             {
  103.                 CodeMirror.fromTextArea(value, {
  104.                     lineWrapping: true,
  105.                     fixedGutter: false,
  106.                     foldGutter: true,
  107.                     mode: {
  108.                         name: 'php',
  109.                         startOpen: true
  110.                     },
  111.                     theme: "darcula",
  112.                     lineNumbers: true,
  113.                     gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"]
  114.                 });
  115.             });
  116.         });
  117.     </script>
  118. {% endblock %}
  119. {% block admin_lte_skin_class %}
  120.     {{ parent() }}
  121.     {{ adminCode }}
  122. {% endblock %}
  123. {% block body_attributes %}
  124.     {{ parent() }}
  125.     {% if admin is defined %}id="{{ admin.code|replace({'.':'_' }) }}"{% endif %}
  126.     {% if admin is defined %}data-code="{{ admin.code }}"{% endif %}
  127. {% endblock %}
  128. {% block logo %}
  129.     {% apply spaceless %}
  130.         <a href="#" class="sidebar-toggle fa5" data-toggle="push-menu"
  131.            role="button" title="{{ 'toggle_navigation'|trans({}, 'SonataAdminBundle') }}">
  132.             <span class="sr-only">{{ 'toggle_navigation'|trans({}, 'SonataAdminBundle') }}</span>
  133.         </a>
  134.     {% endapply %}
  135. {% endblock %}
  136. {% block sonata_nav %}
  137.     <nav class="navbar navbar-static-top">
  138.         {% apply spaceless %}
  139.             <a class="logo" href="{{ path('sonata_admin_dashboard') }}">
  140.                 {% if 'icon' == sonata_config.getOption('logo_content') or 'all' == sonata_config.getOption('logo_content') %}
  141.                     <img src="{{ asset(sonata_config.logo) }}" alt="{{ sonata_config.title }}">
  142.                 {% endif %}
  143.                 {% if 'text' == sonata_config.getOption('logo_content') or 'all' == sonata_config.getOption('logo_content') %}
  144.                     <span>{{ sonata_config.title }}</span>
  145.                 {% endif %}
  146.             </a>
  147.         {% endapply %}
  148.         <div class="navbar-left {% if _tab_menu is not empty %} tab-menu {% endif %}">
  149.             {% block sonata_breadcrumb %}
  150.                 {{ parent() }}
  151.             {% endblock sonata_breadcrumb %}
  152.         </div>
  153.         {% block sonata_top_nav_menu %}
  154.             {% if app.user and is_granted(sonata_config.getOption('role_admin')) %}
  155.                 <div class="navbar-custom-menu">
  156.                     <ul class="nav navbar-nav">
  157.                         {% block languages %}
  158.                             {% for locale in locales | split(',') %}
  159.                                 <li><a href="{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params') | merge({ '_locale': locale | trim })) }}">{{ (localesLiteral | split(','))[loop.index0] | trim }}</a></li>
  160.                             {% endfor %}
  161.                         {% endblock languages %}
  162.                         {% block sonata_top_nav_menu_add_block %}
  163.                             <li class="dropdown sonata-actions manuals menu-links">
  164.                                 <a href="#" class="dropdown-toggle" data-toggle="dropdown">
  165.                                     <span id="icon-menu-manuales" class="icon-menu fi fi-sr-before-graduation-cap" title="Manuales de Usuario"></span>
  166.                                 </a>
  167.                                 <ul class="dropdown-menu" role="menu">
  168.                                     <li>
  169.                                         <a class="link-descarga" target="_blank" href="{{ asset('downloads/20240305MaquetaV1.pdf') }}">
  170.                                             <span class="icon-menu fi fi-sr-before-book-user" title="Maqueta Preco Version 1">Maqueta Preco V.1</span>
  171.                                         </a>
  172.                                     </li>
  173.                                 </ul>
  174.                             </li>
  175.                         {% endblock %}
  176.                         {% block sonata_top_nav_menu_user_block %}
  177.                         {% endblock %}
  178.                     </ul>
  179.                 </div>
  180.             {% endif %}
  181.         {% endblock %}
  182.     </nav>
  183. {% endblock sonata_nav %}
  184. {% block sonata_wrapper %}
  185.     {% block sonata_left_side %}
  186.         {{ parent() }}
  187.     {% endblock sonata_left_side %}
  188.     <div class="content-wrapper {% if _tab_menu is not empty %} tab-menu {% endif %}">
  189.         {% block sonata_page_content %}
  190.             {{ parent() }}
  191.         {% endblock sonata_page_content %}
  192.     </div>
  193. {% endblock sonata_wrapper %}
  194. {% block sonata_page_content_nav %}
  195.         {% if _navbar_title is not empty
  196.             or _tab_menu is not empty
  197.             or _actions is not empty
  198.             or _list_filters_actions is not empty
  199.         %}
  200.             <div class="content-header__title {% if _tab_menu is not empty %} tab-menu {% endif %}">
  201.                 {% if _tab_menu is not empty %}
  202.                     <div class="navbar-left">
  203.                         {{ _tab_menu|raw }}
  204.                     </div>
  205.                 {% endif %}
  206.             </div>
  207.             <nav id="navbar-prometeo" class="navbar navbar-default {% if action == 'list' %} action-list {% endif %}" role="navigation">
  208.                 <div class="container-fluid">
  209.                     {% block tab_menu_navbar_header %}
  210.                         {% if _navbar_title is not empty %}
  211.                             <div class="navbar-header"></div>
  212.                         {% endif %}
  213.                     {% endblock %}
  214.                     <div class="navbar-collapse">
  215.                         {#                    {% if _tab_menu is not empty %}#}
  216.                         {#                        <div class="navbar-left">#}
  217.                         {#                            {{ _tab_menu|raw }}#}
  218.                         {#                        </div>#}
  219.                         {#                    {% endif %}#}
  220.                         {#                    {% if admin is defined and action is defined and action == 'list' and admin.listModes|length > 1 %}#}
  221.                         {#                        <div class="nav navbar-right btn-group">#}
  222.                         {#                            {% for mode, settings in admin.listModes %}#}
  223.                         {#                                <a href="{{ admin.generateUrl('list', app.request.query.all|merge({_list_mode: mode})) }}" class="btn btn-default navbar-btn btn-sm{% if admin.getListMode() == mode %} active{% endif %}"><i class="{{ settings.class }}"></i></a>#}
  224.                         {#                            {% endfor %}#}
  225.                         {#                        </div>#}
  226.                         {#                    {% endif %}#}
  227.                         {% block sonata_admin_content_actions_wrappers %}
  228.                             {#                        {% if _actions|replace({ '<li>': '', '</li>': '' })|trim is not empty %}#}
  229.                             {#                            <ul class="nav navbar-nav navbar-right">#}
  230.                             {#                                {% if _actions|split('</a>')|length > 2 %}#}
  231.                             {#                                    <li class="dropdown sonata-actions">#}
  232.                             {#                                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ 'link_actions'|trans({}, 'SonataAdminBundle') }} <b class="caret"></b></a>#}
  233.                             {#                                        <ul class="dropdown-menu" role="menu">#}
  234.                             {#                                            {{ _actions|raw }}#}
  235.                             {#                                        </ul>#}
  236.                             {#                                    </li>#}
  237.                             {#                                {% else %}#}
  238.                             {#                                    {{ _actions|raw }}#}
  239.                             {#                                {% endif %}#}
  240.                             {#                            </ul>#}
  241.                             {#                        {% endif %}#}
  242.                             {% if action == 'list' %}
  243.                                 <form {# action="{{ app.request.pathinfo }}" method="GET" #}>
  244.                             {% endif %}
  245.                             <ul class="nav navbar-nav navbar-left">
  246.                                 {% block navbar_actions_filters_prometeo_left %}
  247.                                     {% if action == 'list' %}
  248.                                         {% include 'navbar_actions_filters_prometeo_left_list.html.twig' %}
  249.                                     {% elseif action == 'show' %}
  250.                                         {% include 'navbar_actions_filters_prometeo_left_show.html.twig' %}
  251.                                     {% else %}
  252.                                         {% include 'navbar_actions_filters_prometeo_left_edit.html.twig' %}
  253.                                     {% endif %}
  254.                                 {% endblock navbar_actions_filters_prometeo_left %}
  255.                             </ul>
  256.                             <ul class="nav navbar-nav navbar-right">
  257.                                 {% block navbar_actions_filters_prometeo_right %}
  258.                                     {% if action == 'list' %}
  259.                                         {% include 'navbar_actions_filters_prometeo_right_list.html.twig' %}
  260.                                     {% elseif action == 'show' %}
  261.                                         {% include 'navbar_actions_filters_prometeo_right_show.html.twig' %}
  262.                                     {% else %}
  263.                                         {% include 'navbar_actions_filters_prometeo_right_edit.html.twig' %}
  264.                                     {% endif %}
  265.                                 {% endblock navbar_actions_filters_prometeo_right %}
  266.                             </ul>
  267.                             {% if action == 'list' %}
  268.                                 </form>
  269.                             {% endif %}
  270.                         {% endblock sonata_admin_content_actions_wrappers %}
  271.                         {#                    {% if _list_filters_actions is not empty %}#}
  272.                         {#                        {{ _list_filters_actions|raw }}#}
  273.                         {#                    {% endif %}#}
  274.                     </div>
  275.                 </div>
  276.             </nav>
  277.         {% endif %}
  278.     {% endblock sonata_page_content_nav %}
  279.     {% block side_bar_after_nav_content %}
  280.         <a href="/es/admin/logout" style="padding-bottom: 1px; margin-bottom: 1px;"><span id="icon-menu-user" class="icon-menu fi fi-sr-before-user" title="Logout"></span></a>
  281.         <a href="{{ path('admin_app_domain_sonatauseruser_edit', {id: app.user.id})  }}" style="padding-top: 1px; margin-top: 1px;" title="Mi Perfil">{{ app.user.username }}</a>
  282.         <div class="app-info" style="background-color:#666466; color:#9D9B9B; position: absolute; bottom: 0px; width: 100%; padding: 5px 5px;">
  283.             <a href="/info" target="_blank" title="versión {{ appInfoVer }}">
  284.                 <img src="{{ asset('assets/img/logo.png') }}" alt="{{ sonata_config.title }}" style="height: auto; width: 15px;">
  285.                 <span class="version" style="border-left: 1px solid; color:#9D9B9B; padding-left: 5px;">V {{ appInfoVer }}</span>
  286.             </a>
  287.         </div>
  288.     {% endblock %}