templates/security/layout.html.twig line 87

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>