{% extends '@AdminLTE/layout/default-layout.html.twig' %} {% block body_start %} data-title="{{- get_title()|e('html_attr') -}}" {% endblock %} {% block after_body_start %} {% embed 'embeds/modal.html.twig' %} {% block modal_id %}remote_form_modal{% endblock %} {% block modal_title %}{% endblock %} {% block modal_body %}{% endblock %} {% block modal_footer %}{% endblock %} {% endembed %} {% endblock %} {% block page_content_start %} {% if app.session and app.session.started and app.session.flashbag.peekAll|length > 0 %} {% set close = adminlte_close_alert|default(true) %} {% set domain = 'flashmessages' %} {% endif %} {% endblock %} {% block page_content_before %} {% set event = trigger(constant('App\\Event\\ThemeEvent::CONTENT_BEFORE')) %} {{ event.content|raw }}
{% block main_before %}{% endblock %}
{% endblock %} {% block page_content_after %} {% block main_after %}{% endblock %} {% set event = trigger(constant('App\\Event\\ThemeEvent::CONTENT_AFTER')) %} {{ event.content|raw }} {% endblock %} {% block page_content %} {% set event = trigger(constant('App\\Event\\ThemeEvent::CONTENT_START')) %} {{ event.content|raw }} {% block main %}{% endblock %} {% set event = trigger(constant('App\\Event\\ThemeEvent::CONTENT_END')) %} {{ event.content|raw }} {% endblock %} {% block title %} {{- get_title() -}} {% endblock %} {% block page_subtitle %}{% endblock %} {% block logo_mini %} {% if not kimai_context.branding.mini is empty %} {{ kimai_context.branding.mini|raw }} {% else %} KTT {% endif %} {% endblock %} {% block logo_large %} {% if not kimai_context.branding.company is empty %} {{ kimai_context.branding.company|raw }} {% else %} Kimai - Time Tracking {% endif %} {% endblock %} {% block footer %} {% endblock %} {% block navbar_start %} {% if app.user is not null and is_granted('IS_AUTHENTICATED_REMEMBERED') %} {% if is_granted('view_own_timesheet') %} {% if app.user.preferenceValue('login.initial_view') == 'calendar' %}
  • {% else %}
  • {% endif %} {% endif %} {% if is_granted('view_invoice') %}
  • {% endif %} {% if is_granted('create_export') %}
  • {% endif %} {% block navbar_extensions %}{% endblock %} {{ render(controller('App\\Controller\\LayoutController::activeEntries')) }} {% endif %} {% endblock %} {# these blocks and the hook-in logic by the AdminTheme could be re-used by Kimai or an extension at some point #} {# {% block navbar_messages %}{% endblock %} {% block navbar_notifications %}{% endblock %} {% block navbar_tasks %}{% endblock %} {% block navbar_end %}{% endblock %} #} {# deactivated blocks, as Kimai does not ship the sidebar for UX reasons #} {% block sidebar_user %}{% endblock %} {% block sidebar_search %}{% endblock %} {% block navbar_user %} {% if app.user is not null and is_granted('IS_AUTHENTICATED_REMEMBERED') %} {% include 'navbar/recent-activities.html.twig' %} {% endif %} {% import "macros/widgets.html.twig" as widgets %} {% endblock %} {% block breadcrumb %} {% block page_search %}{% endblock %} {% block page_actions %}{% endblock %} {% endblock %} {% block stylesheets %} {# we do not call parent() as we use a custom built for the frontend assets and don't want the default #} {{ encore_entry_link_tags('app') }} {% set event = trigger(constant('App\\Event\\ThemeEvent::STYLESHEET')) %} {{ event.content|raw }} {% endblock %} {% block head %} {{ parent() }} {{ encore_entry_script_tags('app') }} {% include 'partials/head.html.twig' %} {% set event = trigger(constant('App\\Event\\ThemeEvent::HTML_HEAD')) %} {{ event.content|raw }} {% endblock %} {% block javascripts %} {# no call to parent(), as we use a custom built for the frontend assets and don't want the default {% set event = trigger(constant('App\\Event\\ThemeEvent::JAVASCRIPT')) %} {{ event.content|raw }} {% endblock %}