templates/bundles/EasyAdminBundle/layout.html.twig line 1
{# @var ea \EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext #}{% trans_default_domain ea.i18n.translationDomain %}<!DOCTYPE html><html lang="{{ ea.i18n.htmlLocale }}" dir="{{ ea.i18n.textDirection }}" data-turbo="false"><head>{% block head_metas %}<meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="robots" content="noindex, nofollow, noarchive, nosnippet, noodp, noimageindex, notranslate, nocache" /><meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"><meta name="generator" content="EasyAdmin" />{% endblock head_metas %}{% set page_title_block_output %}{% block page_title %}{{ block('content_title') }}{% endblock %}{% endset %}<title>{{ page_title_block_output|striptags|raw }}</title>{% block head_stylesheets %}<link rel="stylesheet" href="{{ asset('app.css', ea.assets.defaultAssetPackageName) }}">{% endblock %}{% block configured_stylesheets %}{{ include('@EasyAdmin/includes/_css_assets.html.twig', { assets: ea.assets.cssAssets ?? [] }, with_context = false) }}{{ include('@EasyAdmin/includes/_encore_link_tags.html.twig', { assets: ea.assets.webpackEncoreAssets ?? [] }, with_context = false) }}{% endblock %}{% block head_favicon %}<link rel="shortcut icon" href="{{ asset(ea.dashboardFaviconPath) }}">{% endblock %}{% block head_javascript %}<script src="{{ asset('app.js', ea.assets.defaultAssetPackageName) }}"></script>{% endblock head_javascript %}{% block configured_javascripts %}{{ include('@EasyAdmin/includes/_js_assets.html.twig', { assets: ea.assets.jsAssets ?? [] }, with_context = false) }}{{ include('@EasyAdmin/includes/_encore_script_tags.html.twig', { assets: ea.assets.webpackEncoreAssets ?? [] }, with_context = false) }}{% endblock %}{% if 'rtl' == ea.i18n.textDirection %}<link rel="stylesheet" href="{{ asset('app.rtl.css', ea.assets.defaultAssetPackageName) }}">{% endif %}{% block configured_head_contents %}{% for htmlContent in ea.assets.headContents ?? [] %}{{ htmlContent|raw }}{% endfor %}{% endblock %}<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Ubuntu&display=swap" rel="stylesheet"><style>.header-custom {color: #1B75BC;font-family: "Ubuntu", sans-serif;}.header-title-baseline {font-weight: 500;font-size: 3em;}.header-title-baseline-baseline {font-weight: 300;font-size: 1em;}.header-title {margin-right: 2em;}.header-logo {margin-left: 2em;}.banner-container {width: 100%;height: 80px;background-color: #1B75BC;display: flex;justify-content: center;align-items: center;}.banner-container > p {font-size: 25px;color: #e8e8e8;text-shadow: 0px 2px 10px #000000;}</style><link rel="stylesheet" href="{{ asset('style.css') }}"></head>{% block body %}<body {% block body_attr %}{% endblock %}id="{% block body_id %}{% endblock %}"class="ea {% block body_class %}{% endblock %}"data-ea-content-width="{{ ea.crud.contentWidth ?? ea.dashboardContentWidth ?? 'normal' }}"data-ea-sidebar-width="{{ ea.crud.sidebarWidth ?? ea.dashboardSidebarWidth ?? 'normal' }}"data-ea-dark-scheme-is-enabled="{{ ea.dashboardHasDarkModeEnabled ? 'true' : 'false' }}">{% block javascript_page_layout %}<script src="{{ asset('page-layout.js', ea.assets.defaultAssetPackageName) }}"></script>{% endblock javascript_page_layout %}{% block javascript_page_color_scheme %}<script src="{{ asset('page-color-scheme.js', ea.assets.defaultAssetPackageName) }}"></script>{% endblock javascript_page_color_scheme %}<div class="w-100 bg-white d-flex justify-content-between header-custom"><div class="header-logo"><img src="{{ asset('/static/admin/image/logo_site.png') }}" alt="Logo Institut d'Études Scientifiques Cargèse"></div><div class="header-title d-flex align-items-center"><span class="header-title-baseline">Institut d'Études Scientifiques | </span> <span class="header-title-baseline-baseline">Cargèse</span></div></div>{% block wrapper_wrapper %}{% block flash_messages %}{{ include(ea.templatePath('flash_messages')) }}{% endblock flash_messages %}{% set user_menu_avatar %}{% if null == ea.userMenu.avatarUrl %}<span class="user-avatar"><span class="fa-stack"><i class="user-avatar-icon-background fas fa-square fa-stack-2x"></i><i class="user-avatar-icon-foreground {{ ea.user is not null ? 'fa fa-user' : 'fas fa-user-slash' }} fa-stack-1x fa-inverse"></i></span></span>{% else %}<img class="user-avatar" src="{{ ea.userMenu.avatarUrl }}" />{% endif %}{% endset %}{% set impersonator_permission = constant('Symfony\\Component\\Security\\Core\\Authorization\\Voter\\AuthenticatedVoter::IS_IMPERSONATOR') is defined ? 'IS_IMPERSONATOR' : 'ROLE_PREVIOUS_ADMIN' %}<div class="page-actions"><div class="global-actions">{% set user_menu_dropdown %}<div><div style="padding-right: 10px"><span class="user-name">{{ ea.user is null ? 'user.anonymous'|trans(domain = 'EasyAdminBundle') : ea.userMenu.name }}</span></div></div>{% block user_menu %}{% if ea.userMenu.items|length > 0 %}{% for item in ea.userMenu.items %}{% if not item.isMenuSection %}<a href="{{ item.linkUrl }}" class="user-action {{ item.cssClass }}"target="{{ item.linkTarget }}" rel="{{ item.linkRel }}"referrerpolicy="origin-when-cross-origin">{% if item.icon is not empty %}<i class="fa fa-fw {{ item.icon }}"></i>{% endif %}{{ item.label|trans }}</a>{% endif %}{% endfor %}{% endif %}{% endblock user_menu %}{% endset %}{% set settings_dropdown %}{% if ea.dashboardLocales or ea.dashboardHasDarkModeEnabled %}<div style="padding-left: 50px">{% if ea.dashboardLocales %}{% for localeDto in ea.dashboardLocales %}<a href="{{ ea_url().set('_locale', localeDto.locale) }}" class="{% if app.request.locale == localeDto.locale %} active{% endif %}">{% if localeDto.icon %}<i class="{{ localeDto.icon }}"></i>{% endif %}{{ localeDto.name }}</a>{% endfor %}{% endif %}</div>{% endif %}{% endset %}</div></div><div class="wrapper">{% block wrapper %}<div class="responsive-header">{% block responsive_header %}<button id="navigation-toggler" type="button" aria-label="Toggle navigation"><i class="fa fa-fw fa-bars"></i></button><div id="responsive-header-logo" class="text-truncate ms-auto">{% block responsive_header_logo %}<a class="responsive-logo" title="{{ ea.dashboardTitle|striptags }}" href="{{ path(ea.dashboardRouteName) }}">{{ ea.dashboardTitle|raw }}</a>{% endblock responsive_header_logo %}</div><div class="dropdown user-menu-wrapper {{ is_granted(impersonator_permission) ? 'user-is-impersonated' }} ms-auto"><a class="user-details" type="button" data-bs-toggle="dropdown" data-bs-offset="0,5" aria-expanded="false">{# to make the site design consistent, always display the user avatar in responsive headerand hide the user name (because there's no space left) regardless of the user config #}{% if ea.userMenu.avatarDisplayed %}{{ user_menu_avatar }}{% else %}<i class="user-avatar fa fa-fw {{ ea.user is not null ? 'fa-user' : 'fa-user-times' }}"></i>{% endif %}</a>{{ user_menu_dropdown }}</div>{{ settings_dropdown }}{% endblock responsive_header %}</div><div class="sidebar-wrapper"><aside class="sidebar">{% block sidebar %}<header class="main-header">{% block header %}<nav class="navbar" role="navigation">{% block header_navbar %}<div id="header-logo">{% block header_logo %}<a class="logo" title="{{ ea.dashboardTitle|striptags }}" href="{{ path(ea.dashboardRouteName) }}"><span class="logo-custom">{{ ea.dashboardTitle|raw }}</span><span class="logo-compact"><i class="fas fa-home"></i></span></a>{% endblock header_logo %}</div>{% endblock header_navbar %}</nav>{% endblock header %}</header>{% block main_menu_wrapper %}{{ include(ea.templatePath('main_menu')) }}{% endblock main_menu_wrapper %}{% endblock sidebar %}<div id="sidebar-resizer-handler" class="resizer-handler resizer-handler-left"></div></aside></div><section class="main-content">{% set has_search = ea.crud is not null and ea.crud.isSearchEnabled %}<aside class="content-top {{ has_search ? 'ea-search-enabled' : 'ea-search-disabled' }}">{% block content_top_header %}<div class="content-search">{% if has_search %}{% block search %}<form class="form-action-search" method="get">{% block search_form %}{% block search_form_filters %}{% for field, array in ea.search.appliedFilters %}{% for key, value in array %}{# This code re-applies your filters on searches, an iterable check is needed in cases we have more than one object for a filter #}{% if value is iterable %}{% for index, iterValue in value %}{# This sub-level iterable check is needed in cases we have more complex filters like the DateTimeFilter cf. issue #5038 #}{% if iterValue is iterable %}{% for subIndex, subIterValue in iterValue %}<input type="hidden" name="filters[{{ field }}][{{ key }}][{{ index }}][{{ subIndex }}]" value="{{ subIterValue }}">{% endfor %}{% else %}<input type="hidden" name="filters[{{ field }}][{{ key }}][{{ index }}]" value="{{ iterValue }}">{% endif %}{% endfor %}{% else %}<input type="hidden" name="filters[{{ field }}][{{ key }}]" value="{{ value }}">{% endif %}{% endfor %}{% endfor %}{% endblock %}<input type="hidden" name="crudAction" value="index"><input type="hidden" name="crudControllerFqcn" value="{{ ea.request.query.get('crudControllerFqcn') }}"><input type="hidden" name="menuIndex" value="{{ ea.request.query.get('menuIndex') }}"><input type="hidden" name="submenuIndex" value="{{ ea.request.query.get('submenuIndex') }}"><input type="hidden" name="page" value="1"><div class="form-group"><div class="form-widget"><i class="fas fa-search content-search-icon"></i><label class="content-search-label" data-value="{{ app.request.get('query') }}"><input class="form-control {{ app.request.get('query') is null ? 'is-blank' }}" type="search" name="query" value="{{ app.request.get('query') ?? '' }}" placeholder="{{ t('action.search', ea.i18n.translationParameters, 'EasyAdminBundle')|trans }}" spellcheck="false" autocorrect="off" onInput="this.parentNode.dataset.value=this.value"{% if ea.crud.currentAction == 'index' and ea.crud.autofocusSearch == true %} autofocus="autofocus"{% endif %}></label>{% if app.request.get('query') %}<a href="{{ ea_url().unset('query') }}" class="content-search-reset"><i class="fas fa-fw fa-times"></i></a>{% endif %}</div></div>{% endblock %}</form>{% endblock search %}{% endif %}</div>{% if ea.user is null %}<a class="btn btn-primary" style="margin-right: 15px;" href="{{ path('app_login') }}">{{ 'menu.btn.login'|trans([], 'admin') }}</a><a class="btn btn-secondary" href="{{ path('app_register') }}">{{ 'menu.btn.register'|trans([], 'admin') }}</a>{% endif %}{% if ea.user is not null %}{% block header_custom_menu %}{{ user_menu_dropdown }}{% endblock header_custom_menu %}{% endif %}{{ settings_dropdown }}{% endblock content_top_header %}</aside><div class="banner-container">{% set has_help_message = (ea.crud.helpMessage ?? '') is not empty %}<p class="mb-0">{% block content_title %}{% endblock %}{% block content_help %}{% if has_help_message %}<a tabindex="0" class="content-header-help" data-bs-toggle="popover" data-bs-custom-class="ea-content-help-popover" data-bs-animation="true" data-bs-html="true" data-bs-placement="bottom" data-bs-trigger="focus" data-bs-content="{{ ea.crud.helpMessage|trans|e('html_attr') }}"><i class="far fa-question-circle"></i></a>{% endif %}{% endblock %}</p></div><div class="content-wrapper">{% block content %}<article class="content">{% block content_header_wrapper %}{% set has_help_message = (ea.crud.helpMessage ?? '') is not empty %}<section class="content-header">{% block content_header %}<div class="content-header-title"><h1 class="title"></h1></div>{% block page_actions_wrapper %}<div class="page-actions">{% block page_actions %}{% endblock %}</div>{% endblock %}{% endblock content_header %}</section>{% endblock content_header_wrapper %}<section id="main" class="content-body">{% block main %}{% endblock %}</section>{% block content_footer_wrapper %}{% set content_footer = block('content_footer') is defined ? block('content_footer') : '' %}{% if content_footer is not empty %}<section class="content-footer">{{ content_footer }}</section>{% endif %}{% endblock %}</article>{% endblock content %}<div id="content-resizer-handler" class="resizer-handler resizer-handler-right"></div></div></section>{% endblock wrapper %}</div>{% endblock wrapper_wrapper %}{% block body_javascript %}{% endblock body_javascript %}<script type="text/javascript">document.addEventListener('DOMContentLoaded', function () {// INSCRIPTION// VALIDATION PRE-INSCRIPTION / INSCRIPTIONdocument.getElementById('soumissionInscription')?.addEventListener('click', function(event) {var isInscription = document.getElementById('tablist-tab-form-inscription-tab-voyage');// Infos personnellesvar Inscription_institution = document.getElementById('Inscription_institution')?.value;var Inscription_nationalite = document.getElementById('Inscription_nationalite')?.value;var Inscription_telephone = document.getElementById('Inscription_telephone')?.value;// Infos scientifiquesvar Inscription_situationScientifique = document.getElementById('Inscription_situationScientifique')?.value;var Inscription_contextScientifique = document.getElementById('Inscription_contextScientifique')?.value;var Inscription_qualiteScientifique = document.getElementById('Inscription_qualiteScientifique')?.value;// Votre voyagevar Inscription_dateArrive = document.getElementById('Inscription_dateArrive')?.value;var Inscription_dateDepart = document.getElementById('Inscription_dateDepart')?.value;var Inscription_modeTransport = document.getElementById('Inscription_modeTransport')?.value;var Inscription_villeArrive = document.getElementById('Inscription_villeArrive')?.value;var Inscription_referenceVoyage = document.getElementById('Inscription_referenceVoyage')?.value;var Inscription_modeTransfert = document.getElementById('Inscription_modeTransfert')?.value;// Votre Logementvar Inscription_logementDateDebut = document.getElementById('Inscription_logementDateDebut')?.value;var Inscription_logementDateFin = document.getElementById('Inscription_logementDateFin')?.value;var Inscription_logementLieu = document.getElementById('Inscription_logementLieu')?.value;// Votre Régime alimentaire// Accompagnantsif(isInscription) {// TODO : ajouter les champs obligatoires pour l'inscription (sur tous les onglets)if (Inscription_institution.trim() === ''|| Inscription_nationalite.trim() === ''|| Inscription_telephone.trim() === ''|| Inscription_situationScientifique.trim() === ''|| Inscription_contextScientifique.trim() === ''|| Inscription_qualiteScientifique.trim() === ''|| Inscription_dateArrive.trim() === ''|| Inscription_dateDepart.trim() === ''|| Inscription_modeTransport.trim() === ''|| Inscription_villeArrive.trim() === ''|| Inscription_referenceVoyage.trim() === ''|| Inscription_modeTransfert.trim() === ''|| Inscription_logementDateDebut.trim() === ''|| Inscription_logementDateFin.trim() === ''|| Inscription_logementLieu.trim() === '') {event.preventDefault();window.alert('{{ 'dialog.action.required'|trans([], 'admin') }}')}} else {// TODO : ajouter les champs obligatoires pour la pre-inscription (Sur les deux premiers onglets)if (Inscription_institution.trim() === ''|| Inscription_nationalite.trim() === ''|| Inscription_telephone.trim() === '') {event.preventDefault();window.alert('{{ 'dialog.action.required'|trans([], 'admin') }}')}}});// BOUTONS DE VALIDATIONdocument.querySelectorAll('.validerInscription').forEach(function(bouton) {bouton.addEventListener('click', function() {var confirmed = window.confirm('{{ 'dialog.action.message'|trans([], 'admin') }}');if (!confirmed) {event.preventDefault();}});});document.querySelectorAll('.refuserInscription').forEach(function(bouton) {bouton.addEventListener('click', function() {var confirmed = window.confirm('{{ 'dialog.action.message'|trans([], 'admin') }}');if (!confirmed) {event.preventDefault();}});});document.querySelectorAll('.validerPreInscription').forEach(function(bouton) {bouton.addEventListener('click', function() {var confirmed = window.confirm('{{ 'dialog.action.message'|trans([], 'admin') }}');if (!confirmed) {event.preventDefault();}});});document.querySelectorAll('.refuserPreInscription').forEach(function(bouton) {bouton.addEventListener('click', function() {var confirmed = window.confirm('{{ 'dialog.action.message'|trans([], 'admin') }}');if (!confirmed) {event.preventDefault();}});});document.querySelectorAll('.listeAttentePreInscription').forEach(function(bouton) {bouton.addEventListener('click', function() {var confirmed = window.confirm('{{ 'dialog.action.message'|trans([], 'admin') }}');if (!confirmed) {event.preventDefault();}});});var InscriptionQualiteScientifique = document.getElementById('Inscription_qualiteScientifique');InscriptionQualiteScientifique?.addEventListener('change', function () {var InscriptionEcoleSingle = document.getElementById('Inscription_ecole_single');var InscriptionEcoleAccompagnants = document.getElementById('Inscription_ecole_accompagnants');if(InscriptionEcoleSingle != null && !InscriptionEcoleSingle.value) {InscriptionEcoleSingle.value = '0';}if(InscriptionEcoleAccompagnants != null && !InscriptionEcoleAccompagnants.value) {InscriptionEcoleAccompagnants.value = '0';}// Vérifiez si l'option avec la valeur 8 est sélectionnéevar isOption8Selected = Array.from(InscriptionQualiteScientifique.options).some(function(option) {return option.value === '8' && option.selected;});// Logique pour déterminer si le champ conditionnel doit être affiché ou masqué// Sélectionnez tous les radios avec le nom "Inscription[logementMode]"var radios = document.querySelectorAll('input[name="Inscription[logementMode]"]');// Désactivez tous les radiosradios.forEach(function(radio) {radio.disabled = isOption8Selected && InscriptionEcoleSingle.value === '0';});var tabAccompagnant = document.getElementById('tablist-tab-form-inscription-tab-accompagnant');if(tabAccompagnant != null) {if(isOption8Selected && InscriptionEcoleAccompagnants.value === '0') {tabAccompagnant.style.display = 'none';} else {tabAccompagnant.style.display = 'block';}}});InscriptionQualiteScientifique?.dispatchEvent(new Event('change'));// ECOLEdocument.getElementById('submitAndValidate')?.addEventListener('click', function() {var confirmed = window.confirm('{{ 'dialog.action.message'|trans([], 'admin') }}');if (!confirmed) {event.preventDefault();}});document.getElementById('submitAndValidateNoEmail')?.addEventListener('click', function() {var confirmed = window.confirm('{{ 'dialog.action.message'|trans([], 'admin') }}');if (!confirmed) {event.preventDefault();}});document.getElementById('submitAndReject')?.addEventListener('click', function() {var confirmed = window.confirm('{{ 'dialog.action.message'|trans([], 'admin') }}');if (!confirmed) {event.preventDefault();}});document.getElementById('submitAndDraft')?.addEventListener('click', function() {var confirmed = window.confirm('{{ 'dialog.action.message'|trans([], 'admin') }}');if (!confirmed) {event.preventDefault();}});var ecoleDatePreInscriptionDebut = document.getElementById('Ecole_datePreInscriptionDebut')var ecoleDatePreInscriptionFin = document.getElementById('Ecole_datePreInscriptionFin')var ecoleDateInscriptionDebut = document.getElementById('Ecole_dateInscriptionDebut')var ecoleDateInscriptionFin = document.getElementById('Ecole_dateInscriptionFin')var ecoleModeInscriptionPlaceholder = document.getElementById('Ecole_modeInscription_placeholder');var ecoleModeInscriptionPlaceholder0 = document.getElementById('Ecole_modeInscription_0');var ecoleModeInscriptionPlaceholder1 = document.getElementById('Ecole_modeInscription_1');ecoleModeInscriptionPlaceholder?.addEventListener('change', function () {// tout griserif(ecoleModeInscriptionPlaceholder.checked) {ecoleDatePreInscriptionDebut.disabled = true;ecoleDatePreInscriptionFin.disabled = true;ecoleDateInscriptionDebut.disabled = true;ecoleDateInscriptionFin.disabled = true;}})ecoleModeInscriptionPlaceholder0?.addEventListener('change', function () {// griser pre inscriptionsif(ecoleModeInscriptionPlaceholder0.checked) {ecoleDatePreInscriptionDebut.disabled = true;ecoleDatePreInscriptionFin.disabled = true;ecoleDateInscriptionDebut.disabled = false;ecoleDateInscriptionFin.disabled = false;}})ecoleModeInscriptionPlaceholder1?.addEventListener('change', function () {// tout visibleif(ecoleModeInscriptionPlaceholder1.checked) {ecoleDatePreInscriptionDebut.disabled = false;ecoleDatePreInscriptionFin.disabled = false;ecoleDateInscriptionDebut.disabled = false;ecoleDateInscriptionFin.disabled = false;}})ecoleModeInscriptionPlaceholder?.dispatchEvent(new Event('change'));ecoleModeInscriptionPlaceholder0?.dispatchEvent(new Event('change'));ecoleModeInscriptionPlaceholder1?.dispatchEvent(new Event('change'));});</script>{% block configured_body_contents %}{% for htmlContent in ea.assets.bodyContents ?? [] %}{{ htmlContent|raw }}{% endfor %}{% endblock %}</body>{% endblock body %}</html>