templates/security/layout.html.twig line 1

Open in your IDE?
  1. {% import "@component/_template/_html_macro.html.twig" as macros %}
  2. {% if platform_front('security.wrapper_header_content') %}
  3.     {% set wrapper_header_content = getFrontDataFromSettingOrYaml('front.security.wrapper_header_content', platform_front('security'), 'wrapper_header_content') %}
  4.     {% set wrapper_header_content_config = generateComponentOptions(wrapper_header_content, 'wrapper_header_content') %}
  5. {% endif %}
  6. <!DOCTYPE html>
  7. <html lang="fr">
  8. <head>
  9.     <title>{% block title %}{{ platform_global('seo.title') }}{% endblock title %}</title>
  10.     {% include "front/common/layout.head_common_meta_link.html.twig" with {bootstrapVersion: '5'} %}
  11.     {% block styles_global_vendor %}
  12.         {# Styles venant de vendor / fonts / commun à l'ensemble du site #}
  13.         <link rel="stylesheet" href="{{ asset('build/assets/plugins/cookieconsent2/build/cookieconsent.min.css') }}?v={{ version }}" />
  14.     {% endblock styles_global_vendor %}
  15.     {# Styles commun à l'ensemble du site #}
  16.     {% if platform_front('theme') and platform_front('theme') not in ['', null] %}
  17.         <link rel="stylesheet"
  18.               href="{{ asset('build/assets/templates/' ~ platform_front('theme') ~'/scss/main.css') }}?v={{ version }}">
  19.         <link rel="stylesheet"
  20.               href="{{ asset('build/assets/templates/' ~ platform_front('theme') ~'/scss/security.css') }}?v={{ version }}">
  21.         <link rel="stylesheet"
  22.               href="{{ asset('build/assets/templates/' ~ platform_front('theme') ~'/scss/media-queries.css') }}?v={{ version }}">
  23.     {% endif %}
  24.     <link rel="stylesheet" href="{{ path('front_common_css_custom') }}">
  25.     {# parsley hack pour help labels rouges #}
  26.     <style rel="stylesheet">
  27.         .fv-help-block {
  28.             color : red !important;
  29.         }
  30.         .cc-window{
  31.             border:1px solid #000000;
  32.         }
  33.     </style>
  34.     {# end parsley hack #}
  35.     {% block styles %}
  36.         {# Styles spécifique à une page #}
  37.     {% endblock styles %}
  38.     {# Style global venant du fichier platform.[projet].yaml, doit avoir la priorité absolue sur tous les autres #}
  39.     {% if platform_front('css_config.custom_css_files') %}
  40.         {% for file in platform_front('css_config.custom_css_files') %}
  41.             <link rel="stylesheet" href="{{ asset(file) }}?v={{ version }}">
  42.         {% endfor %}
  43.     {% endif %}
  44.     {% if platform_front('common.custom_css') %}
  45.         <style rel="stylesheet">
  46.             {{ platform_front('common.custom_css')|raw }}
  47.         </style>
  48.     {% endif %}
  49.     {% if platform_front('security.custom_css') %}
  50.         <style rel="stylesheet">
  51.             {{ platform_front('security.custom_css')|raw }}
  52.         </style>
  53.     {% endif %}
  54.     {% block styles_custom %}
  55.         {# Styles spécifique à une page et prioritaire par rapport au css global venant de platform.[projet].yaml #}
  56.     {% endblock styles_custom %}
  57.     {% include "front/common/layout.head_common_js.html.twig" %}
  58.     <script>
  59.         const cdn = '{{ cdn }}';
  60.     </script>
  61. </head>
  62. <body class="security {% block bodyclass %}login{% endblock %} --theme-{{ platform_front('security.theme') ? getFrontDataFromSettingOrYaml('front.security.theme', platform_front('security'), 'theme') : 'light' }}">
  63. <div class="main-wrapper">
  64.     {#
  65.         Wrapper qui permet de rassembler le header et le content dans une même div pour mettre un bg spécifique
  66.         Pas Iso DTV mais présent dans beaucoup de maquettes...
  67.     #}
  68.     {% if platform_front('security.wrapper_header_content') and wrapper_header_content.enabled %}
  69.         {{ macros.generateHtmlComponentStart(wrapper_header_content_config.wrapper) }}
  70.         {#ITEM#}
  71.         {{ macros.generateHtmlComponentStart(wrapper_header_content_config.item) }}
  72.         {#CONTAINER#}
  73.         {{ macros.generateHtmlComponentStart(wrapper_header_content_config.container) }}
  74.     {% endif %}
  75.     {{ component('security.header','security.header') }}
  76.     <main>
  77.         <div class="{% block content_container %}container{% endblock %}">
  78.             {% block content %}{% endblock %}
  79.         </div>
  80.     </main>
  81.     {#
  82.         Wrapper qui permet de rassembler le header et le content dans une même div pour mettre un bg spécifique
  83.         Pas Iso DTV mais présent dans beaucoup de maquettes...
  84.     #}
  85.     {% if platform_front('security.wrapper_header_content') and wrapper_header_content.enabled %}
  86.         {{ macros.generateHtmlComponentEnd(wrapper_header_content_config.wrapper) }}
  87.         {#ITEM#}
  88.         {{ macros.generateHtmlComponentEnd(wrapper_header_content_config.item) }}
  89.         {#CONTAINER#}
  90.         {{ macros.generateHtmlComponentEnd(wrapper_header_content_config.container) }}
  91.     {% endif %}
  92.     {% block footer %}
  93.         {{ component('security.footer', 'security.footer') }}
  94.     {% endblock footer %}
  95. </div>
  96. {% if platform_front('common.panels.enabled') %}
  97.     {% include 'front/common/panel-right.html.twig' %}
  98. {% endif %}
  99. </body>
  100. {% include '@back/_common/flash.html.twig' %}
  101. {% block scripts %}
  102.     {{ getTranslate() }}
  103.     <script>
  104.         console.log("Translation called")
  105.     </script>
  106.     <script src="{{ asset('build/assets/bower_components/bootstrap4/dist/js/bootstrap.bundle.min.js') }}?v={{ version }}"></script>
  107.     <script src="{{ asset('build/assets/bower_components/jquery-popup-overlay/jquery.popupoverlay.js') }}?v={{ version }}"></script>
  108.     <script src="{{ asset('build/assets/bower_components/moment/min/moment.min.js') }}?v={{ version }}"></script>
  109.     <script src="{{ asset('build/assets/plugins/cookieconsent2/build/cookieconsent.min.js') }}?v={{ version }}"
  110.             data-cfasync="false"></script>
  111.     <script>
  112.         let messageCookies;
  113.         {% if platform_front('security.cookies.message') %}
  114.         messageCookies = "{{ platform_front('security.cookies.message')|raw }}";
  115.         {% endif %}
  116.     </script>
  117.     <script src="{{ asset('build/assets/js/front/common/cookieConsentInit.js') }}?v={{ version }}"></script>
  118.     <script src="{{ asset('build/assets/templates/daikin/js/custom.js') }}?v={{ version }}"></script>
  119.     <script src="{{ asset('build/assets/templates/daikin/js/rater.js') }}?v={{ version }}"></script>
  120.     <script src="{{ asset('build/assets/bower_components/inputmask/dist/jquery.inputmask.min.js') }}?v={{ version }}"></script>
  121.     <script src="{{ asset('build/assets/bower_components/parsleyjs/dist/parsley.min.js') }}?v={{ version }}"></script>
  122.     <script src="{{ asset('build/assets/bower_components/parsleyjs/dist/i18n/fr.js') }}?v={{ version }}"></script>
  123.     <script src="{{ asset('build/assets/bower_components/parsleyjs/dist/i18n/fr.extra.js') }}?v={{ version }}"></script>
  124.     <script src="{{ asset('build/assets/js/front/parsley_validator.js') }}?v={{ version }}"></script>
  125.     <script src="{{ asset('build/assets/js/dtv/common/confirmation.js') }}?v={{ version }}"></script>
  126.     <script src="{{ asset('build/assets/js/dtv/common/spinner_button.js') }}?v={{ version }}"></script>
  127.     <script src="{{ asset('build/assets/js/front/security/cookie.js') }}?v={{ version }}"></script>
  128.     <script>
  129.         $( '.toggle-password' ).on('click', function () {
  130.             $( this ).toggleClass( 'fa-eye fa-eye-slash' );
  131.             let input = $( $( this ).attr( 'data-toggle' ) );
  132.             if ( input.attr( 'type' ) === 'password' ) {
  133.                 input.attr( 'type', 'text' );
  134.             } else {
  135.                 input.attr( 'type', 'password' );
  136.             }
  137.         } );
  138.         const init_inputmask = function () {
  139.             $('[data-inputmask]').inputmask();
  140.         };
  141.         $(function () {
  142.             init_inputmask();
  143.             console.log('pk', '{{ platform.global.project_key|md5 }}' )
  144.         });
  145.     </script>
  146.     {# @TODO: fichiers par component si besoin, acl, fichiers en fonction des pages ? #}
  147.     {% if platform_front('security.js_files') %}
  148.     {% for file in platform_front('security.js_files') %}
  149.     <script src="{{ asset(file) }}?v={{ version }}"></script>
  150.     {% endfor %}
  151.     {% endif %}
  152. {% endblock scripts %}
  153. </html>