123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367 |
- {#
- This file is part of the Sonata package.
- (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
- For the full copyright and license information, please view the LICENSE
- file that was distributed with this source code.
- #}
- {% set _preview = block('preview') is defined ? block('preview')|trim : null %}
- {% set _form = block('form') is defined ? block('form')|trim : null %}
- {% set _show = block('show') is defined ? block('show')|trim : null %}
- {% set _list_table = block('list_table') is defined ? block('list_table')|trim : null %}
- {% set _list_filters = block('list_filters') is defined ? block('list_filters')|trim : null %}
- {% set _tab_menu = block('tab_menu') is defined ? block('tab_menu')|trim : null %}
- {% set _content = block('content') is defined ? block('content')|trim : null %}
- {% set _title = block('title') is defined ? block('title')|trim : null %}
- {% set _breadcrumb = block('breadcrumb') is defined ? block('breadcrumb')|trim : null %}
- {% set _actions = block('actions') is defined ? block('actions')|trim : null %}
- {% set _navbar_title = block('navbar_title') is defined ? block('navbar_title')|trim : null %}
- {% set _list_filters_actions = block('list_filters_actions') is defined ? block('list_filters_actions')|trim : null %}
- <!DOCTYPE html>
- <html {% block html_attributes %}class="no-js"{% endblock %}>
- <head>
- {% block meta_tags %}
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta charset="UTF-8">
- <meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
- {% endblock %}
- {% block stylesheets %}
- {% for stylesheet in sonata_admin.adminPool.getOption('stylesheets', []) %}
- <link rel="stylesheet" href="{{ asset(stylesheet) }}">
- {% endfor %}
- {% endblock %}
- {% block javascripts %}
- {% block sonata_javascript_config %}
- <script>
- window.SONATA_CONFIG = {
- CONFIRM_EXIT: {% if sonata_admin.adminPool.getOption('confirm_exit') %}true{% else %}false{% endif %},
- USE_SELECT2: {% if sonata_admin.adminPool.getOption('use_select2') %}true{% else %}false{% endif %},
- USE_ICHECK: {% if sonata_admin.adminPool.getOption('use_icheck') %}true{% else %}false{% endif %},
- USE_STICKYFORMS: {% if sonata_admin.adminPool.getOption('use_stickyforms') %}true{% else %}false{% endif %}
- };
- window.SONATA_TRANSLATIONS = {
- CONFIRM_EXIT: '{{ 'confirm_exit'|trans({}, 'SonataAdminBundle')|escape('js') }}'
- };
- // http://getbootstrap.com/getting-started/#support-ie10-width
- if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
- var msViewportStyle = document.createElement('style');
- msViewportStyle.appendChild(document.createTextNode('@-ms-viewport{width:auto!important}'));
- document.querySelector('head').appendChild(msViewportStyle);
- }
- </script>
- {% endblock %}
- {% block sonata_javascript_pool %}
- {% for javascript in sonata_admin.adminPool.getOption('javascripts', []) %}
- <script src="{{ asset(javascript) }}"></script>
- {% endfor %}
- {% endblock %}
- {% set locale = app.request.locale %}
- {# localize moment #}
- {% if locale[:2] != 'en' %}
- <script src="{{ asset(
- 'bundles/sonatacore/vendor/moment/locale/' ~
- locale|lower|replace({'_':'-'}) ~
- '.js'
- ) }}"></script>
- {% endif %}
- {# localize select2 #}
- {% if sonata_admin.adminPool.getOption('use_select2') %}
- {% if locale == 'pt' %}{% set locale = 'pt_PT' %}{% endif %}
- {# omit default EN locale #}
- {% if locale[:2] != 'en' %}
- <script src="{{ asset('bundles/sonatacore/vendor/select2/select2_locale_' ~ locale|replace({'_':'-'}) ~ '.js') }}"></script>
- {% endif %}
- {% endif %}
- {% endblock %}
- <title>
- {% block sonata_head_title %}
- {{ 'Admin'|trans({}, 'SonataAdminBundle') }}
- {% if _title is not empty %}
- {{ _title|striptags|raw }}
- {% else %}
- {% if action is defined %}
- -
- {% for menu in breadcrumbs_builder.breadcrumbs(admin, action) %}
- {% if not loop.first %}
- {% if loop.index != 2 %}
- >
- {% endif %}
- {%- set translation_domain = menu.extra('translation_domain', 'messages') -%}
- {%- set label = menu.label -%}
- {%- if translation_domain is not same as(false) -%}
- {%- set label = label|trans(menu.extra('translation_params', {}), translation_domain) -%}
- {%- endif -%}
- {{ label }}
- {% endif %}
- {% endfor %}
- {% endif %}
- {% endif %}
- {% endblock %}
- </title>
- </head>
- <body {% block body_attributes %}class="sonata-bc skin-black fixed"{% endblock %}>
- <div class="wrapper">
- {% block sonata_header %}
- <header class="main-header">
- {% block sonata_header_noscript_warning %}
- <noscript>
- <div class="noscript-warning">
- {{ 'noscript_warning'|trans({}, 'SonataAdminBundle') }}
- </div>
- </noscript>
- {% endblock %}
- {% block logo %}
- {% spaceless %}
- <a class="logo" href="{{ path('sonata_admin_dashboard') }}">
- {% if 'single_image' == sonata_admin.adminPool.getOption('title_mode') or 'both' == sonata_admin.adminPool.getOption('title_mode') %}
- <img src="{{ asset(sonata_admin.adminPool.titlelogo) }}" alt="{{ sonata_admin.adminPool.title }}">
- {% endif %}
- {% if 'single_text' == sonata_admin.adminPool.getOption('title_mode') or 'both' == sonata_admin.adminPool.getOption('title_mode') %}
- <span>{{ sonata_admin.adminPool.title }}</span>
- {% endif %}
- </a>
- {% endspaceless %}
- {% endblock %}
- {% block sonata_nav %}
- <nav class="navbar navbar-static-top" role="navigation">
- <a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
- <span class="sr-only">Toggle navigation</span>
- </a>
- <div class="navbar-left">
- {% block sonata_breadcrumb %}
- <div class="hidden-xs">
- {% if _breadcrumb is not empty or action is defined %}
- <ol class="nav navbar-top-links breadcrumb">
- {% if _breadcrumb is empty %}
- {% if action is defined %}
- {% for menu in breadcrumbs_builder.breadcrumbs(admin, action) %}
- {%- set translation_domain = menu.extra('translation_domain', 'messages') -%}
- {%- set label = menu.label -%}
- {%- if translation_domain is not same as(false) -%}
- {%- set label = label|trans(menu.extra('translation_params', {}), translation_domain) -%}
- {%- endif -%}
- {% if not loop.last %}
- <li>
- {% if menu.uri is not empty %}
- <a href="{{ menu.uri }}">
- {% if menu.extra('safe_label', true) %}
- {{- label|raw -}}
- {% else %}
- {{- label -}}
- {% endif %}
- </a>
- {% else %}
- <span>{{ label }}</span>
- {% endif %}
- </li>
- {% else %}
- <li class="active"><span>{{ label }}</span></li>
- {% endif %}
- {% endfor %}
- {% endif %}
- {% else %}
- {{ _breadcrumb|raw }}
- {% endif %}
- </ol>
- {% endif %}
- </div>
- {% endblock sonata_breadcrumb %}
- </div>
- {% block sonata_top_nav_menu %}
- {% if app.user and is_granted('ROLE_SONATA_ADMIN') %}
- <div class="navbar-custom-menu">
- <ul class="nav navbar-nav">
- {% block sonata_top_nav_menu_add_block %}
- <li class="dropdown">
- <a class="dropdown-toggle" data-toggle="dropdown" href="#">
- <i class="fa fa-plus-square fa-fw" aria-hidden="true"></i> <i class="fa fa-caret-down" aria-hidden="true"></i>
- </a>
- {% include sonata_admin.adminPool.getTemplate('add_block') %}
- </li>
- {% endblock %}
- {% block sonata_top_nav_menu_user_block %}
- <li class="dropdown user-menu">
- <a class="dropdown-toggle" data-toggle="dropdown" href="#">
- <i class="fa fa-user fa-fw" aria-hidden="true"></i> <i class="fa fa-caret-down" aria-hidden="true"></i>
- </a>
- <ul class="dropdown-menu dropdown-user">
- {% include sonata_admin.adminPool.getTemplate('user_block') %}
- </ul>
- </li>
- {% endblock %}
- </ul>
- </div>
- {% endif %}
- {% endblock %}
- </nav>
- {% endblock sonata_nav %}
- </header>
- {% endblock sonata_header %}
- {% block sonata_wrapper %}
- {% block sonata_left_side %}
- <aside class="main-sidebar">
- <section class="sidebar">
- {% block sonata_side_nav %}
- {% block sonata_sidebar_search %}
- <form action="{{ path('sonata_admin_search') }}" method="GET" class="sidebar-form" role="search">
- <div class="input-group custom-search-form">
- <input type="text" name="q" value="{{ app.request.get('q') }}" class="form-control" placeholder="{{ 'search_placeholder'|trans({}, 'SonataAdminBundle') }}">
- <span class="input-group-btn">
- <button class="btn btn-flat" type="submit">
- <i class="fa fa-search" aria-hidden="true"></i>
- </button>
- </span>
- </div>
- </form>
- {% endblock sonata_sidebar_search %}
- {% block side_bar_before_nav %} {% endblock %}
- {% block side_bar_nav %}
- {{ knp_menu_render('sonata_admin_sidebar', {template: sonata_admin.adminPool.getTemplate('knp_menu_template')}) }}
- {% endblock side_bar_nav %}
- {% block side_bar_after_nav %}
- <p class="text-center small" style="border-top: 1px solid #444444; padding-top: 10px">
- {% block side_bar_after_nav_content %}
- <a href="https://sonata-project.org" rel="noreferrer" target="_blank">sonata project</a>
- {% endblock %}
- </p>
- {% endblock %}
- {% endblock sonata_side_nav %}
- </section>
- </aside>
- {% endblock sonata_left_side %}
- <div class="content-wrapper">
- {% block sonata_page_content %}
- <section class="content-header">
- {% block sonata_page_content_header %}
- {% block sonata_page_content_nav %}
- {% if _tab_menu is not empty or _actions is not empty or _list_filters_actions is not empty %}
- <nav class="navbar navbar-default" role="navigation">
- <div class="container-fluid">
- {% block tab_menu_navbar_header %}
- {% if _navbar_title is not empty %}
- <div class="navbar-header">
- <a class="navbar-brand" href="#">{{ _navbar_title|raw }}</a>
- </div>
- {% endif %}
- {% endblock %}
- <div class="navbar-collapse">
- {% if _tab_menu is not empty %}
- <div class="navbar-left">
- {{ _tab_menu|raw }}
- </div>
- {% endif %}
- {% if admin is defined and action is defined and action == 'list' and admin.listModes|length > 1 %}
- <div class="nav navbar-right btn-group">
- {% for mode, settings in admin.listModes %}
- <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>
- {% endfor %}
- </div>
- {% endif %}
- {% block sonata_admin_content_actions_wrappers %}
- {% if _actions|replace({ '<li>': '', '</li>': '' })|trim is not empty %}
- <ul class="nav navbar-nav navbar-right">
- {% if _actions|split('</a>')|length > 2 %}
- <li class="dropdown sonata-actions">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ 'link_actions'|trans({}, 'SonataAdminBundle') }} <b class="caret"></b></a>
- <ul class="dropdown-menu" role="menu">
- {{ _actions|raw }}
- </ul>
- </li>
- {% else %}
- {{ _actions|raw }}
- {% endif %}
- </ul>
- {% endif %}
- {% endblock sonata_admin_content_actions_wrappers %}
- {% if _list_filters_actions is not empty %}
- {{ _list_filters_actions|raw }}
- {% endif %}
- </div>
- </div>
- </nav>
- {% endif %}
- {% endblock sonata_page_content_nav %}
- {% endblock sonata_page_content_header %}
- </section>
- <section class="content">
- {% block sonata_admin_content %}
- {% block notice %}
- {% include 'SonataCoreBundle:FlashMessage:render.html.twig' %}
- {% endblock notice %}
- {% if _preview is not empty %}
- <div class="sonata-ba-preview">{{ _preview|raw }}</div>
- {% endif %}
- {% if _content is not empty %}
- <div class="sonata-ba-content">{{ _content|raw }}</div>
- {% endif %}
- {% if _show is not empty %}
- <div class="sonata-ba-show">{{ _show|raw }}</div>
- {% endif %}
- {% if _form is not empty %}
- <div class="sonata-ba-form">{{ _form|raw }}</div>
- {% endif %}
- {% if _list_filters is not empty %}
- <div class="row">
- {{ _list_filters|raw }}
- </div>
- {% endif %}
- {% if _list_table is not empty %}
- <div class="row">
- {{ _list_table|raw }}
- </div>
- {% endif %}
- {% endblock sonata_admin_content %}
- </section>
- {% endblock sonata_page_content %}
- </div>
- {% endblock sonata_wrapper %}
- </div>
- {% if sonata_admin.adminPool.getOption('use_bootlint') %}
- {% block bootlint %}
- {# Bootlint - https://github.com/twbs/bootlint#in-the-browser #}
- <script type="text/javascript">
- javascript:(function(){var s=document.createElement("script");s.onload=function(){bootlint.showLintReportForCurrentDocument([], {hasProblems: false, problemFree: false});};s.src="https://maxcdn.bootstrapcdn.com/bootlint/latest/bootlint.min.js";document.body.appendChild(s)})();
- </script>
- {% endblock %}
- {% endif %}
- </body>
- </html>
|