{% embed 'partials/login.html.twig' with {title:'Grav Login'} %}

    {% block form %}
        {% for field in page.header.form.fields %}
                {% if field.type %}

                        {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %}

                {% endif %}
            {% endfor %}

                 {{ 'PLUGIN_ADMIN.LOGIN_BTN_FORGOT'|tu }}
                <button type="submit" class="button primary" name="task" value="login"> {{ 'PLUGIN_ADMIN.LOGIN_BTN'|tu }}</button>

    {% endblock %}

{% endembed %}

Improve panel when not authorized

{% embed 'partials/login.html.twig' with {title:'Grav Login'} %}

    {% block form %}
        {% for field in page.header.form.fields %}
                {% if field.type %}

                        {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %}

                {% endif %}
            {% endfor %}

                {% if notAuthorized %}
                     {{ 'PLUGIN_ADMIN.BACK'|tu }}
                {% else %}
                     {{ 'PLUGIN_ADMIN.LOGIN_BTN_FORGOT'|tu }}
                    <button type="submit" class="button primary" name="task" value="login"> {{ 'PLUGIN_ADMIN.LOGIN_BTN'|tu }}</button>
                {% endif %}

    {% endblock %}

{% endembed %}


Add view for when viewing a test to which you don't have access

{% extends 'SimplyTestableWebClientBundle::App/single-page-dialog.html.twig' %}

{% block title %}Not authorised - {{ parent() }}{% endblock %}

{% block content %}

Not authorised

    Hello!

    You're not authorised to view test #{{ test_id }} for {{ website }}.

    You'll need to sign in as the user who started this test to view the progress
    or results.

{% endblock %}


{% block alert %}

    {% stylesheets
        "@RasFlashAlertBundle/Resources/public/css/alerts.css"
        output = 'css/alert/alerts.css'
    %}
        <link rel="stylesheet" href="{{ asset_url }}" />
    {% endstylesheets %}

    {% for alert in flashAlerts %}
        <div class="alert alert-{{ alert.type }}">
            <button type="button" class="close" data-dismiss="alert">×</button>
            {{ alert.message | raw  }}
        </div>
    {% endfor %}

{% endblock %}

Add pure JavaScript implementation for flash alerts

{% stylesheets
    "@RasFlashAlertBundle/Resources/public/css/alerts.css"
    output = 'css/alert/alerts.css'
%}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

    {% for alert in flashAlerts %}

            <button type="button" class="close">×</button>
            {{ alert.message | raw  }}

    {% endfor %}


{% extends '@themeLayouts/scripts/default.html.twig' %}

{% block stylesheets %}{% spaceless %}
    <link href="/stylesheets/error-page.css?v={{ assetsVersion }}" rel="stylesheet" type="text/css"/>
{% endspaceless %}{% endblock %}

{% set feedbackInfo = feedbackInfo() %}

{% block content %}

    {{ flushLog('Showing feedback page with message: ' ~ pageTitle) }}

{% block pageTitle %}{% endblock %}

            {% block errorMessage %}{% endblock %}

            {% block feedbackInfo %}

                    {% if feedbackInfo is not empty %}
                        {% for name, value in feedbackInfo %}

                                {{ name|trans }}:
                                {{ value }}

                        {% endfor %}
                    {% endif %}

            {% endblock %}

{{ 'error_help_desc'|trans|raw }}

            {% if exception is defined %}

                    {{ exception.message }}

                    {{ var_dump(exception) }}

                    {% if exception.xdebug_message is defined %}
                        {{ exception.xdebug_message|raw }}
                    {% endif %}

            {% endif %}

{% endblock %}

Hide the header and footer

{% extends '@themeLayouts/scripts/default.html.twig' %}

{% block stylesheets %}{% spaceless %}
    <link href="/stylesheets/error-page.css?v={{ assetsVersion }}" rel="stylesheet" type="text/css"/>
{% endspaceless %}{% endblock %}

{% set feedbackInfo = feedbackInfo() %}
{% set hideHeader = true %}
{% set hideFooter = true %}

{% block content %}

    {{ flushLog('Showing feedback page with message: ' ~ pageTitle) }}

{% block pageTitle %}{% endblock %}

            {% block errorMessage %}{% endblock %}

            {% block feedbackInfo %}

                    {% if feedbackInfo is not empty %}
                        {% for name, value in feedbackInfo %}

                                {{ name|trans }}:
                                {{ value }}

                        {% endfor %}
                    {% endif %}

            {% endblock %}

{{ 'error_help_desc'|trans|raw }}

            {% if exception is defined %}

                    {{ exception.message }}

                    {{ var_dump(exception) }}

                    {% if exception.xdebug_message is defined %}
                        {{ exception.xdebug_message|raw }}
                    {% endif %}

            {% endif %}

{% endblock %}


{% include 'SimplyTestableWebClientBundle:bs3/Partials/User/Account/Plan:summary.html.twig' %}

Allowances

{% include 'SimplyTestableWebClientBundle:bs3/Partials/User/Account/Plan:allowances.html.twig' %}

Upgrade/downgrade

        Need to test larger sites or need to run a greater amount of tests?

    Change your plan

Remove upgrade/downgrade option on invited user account page

{% include 'SimplyTestableWebClientBundle:bs3/Partials/User/Account/Plan:summary.html.twig' %}

Allowances

{% include 'SimplyTestableWebClientBundle:bs3/Partials/User/Account/Plan:allowances.html.twig' %}

{% if (user_summary.getTeamSummary.isInTeam and team.leader == user.username) or not user_summary.getTeamSummary.isInTeam %}

Upgrade/downgrade

            Need to test larger sites or need to run a greater amount of tests?

        Change your plan

{% endif %}


{%- macro message(message, type = 'default', sticky = true, dismissable = true, autohide = false) -%}
  {% import '@pulsar/pulsar/helpers/html.html.twig' as html %}

  {% if type == 'success' %}
    {% set icon = 'ok' %}
  {% elseif type == 'warning' %}
    {% set icon = 'warning-sign' %}
  {% elseif type == 'error' %}
    {% set icon = 'warning-sign' %}
  {% else %}
    {% set icon = 'info-sign' %}
  {% endif %}

  <div class="flash flash--{{ type }}{% if sticky == true %} is-sticky{% endif %}">
    {% if autohide == false or autohide == 'undefined' %}<button class="close" data-dismiss="flash">{{ html.icon('remove') }}</button>{% endif %}
    {{ html.icon(icon) }} {{ message|raw }}
  </div>

{%- endmacro -%}

Remove sticky class from v2 flash helper

{%- macro message(message, type = 'default', sticky = true, dismissable = true, autohide = false) -%}
  {% import '@pulsar/pulsar/helpers/html.html.twig' as html %}

  {% if type == 'success' %}
    {% set icon = 'ok' %}
  {% elseif type == 'warning' %}
    {% set icon = 'warning-sign' %}
  {% elseif type == 'error' %}
    {% set icon = 'warning-sign' %}
  {% else %}
    {% set icon = 'info-sign' %}
  {% endif %}

  <div class="flash flash--{{ type }}">
    {% if autohide == false or autohide == 'undefined' %}<button class="close" data-dismiss="flash">{{ html.icon('remove') }}</button>{% endif %}
    {{ html.icon(icon) }} {{ message|raw }}
  </div>

{%- endmacro -%}


{% extends "forms/field.html.twig" %}

{% set php_dateformat = config.system.pages.dateformat.default ?: "d-m-Y H:i" %}
{% set js_dateformat = admin.dateformat2Kendo(php_dateformat) %}
{% set value = (value is null ? value : value|date(php_dateformat)) %}

{% block input_attributes %}
    type="date"
    data-grav-field-datetime
    data-date-formats="{{ {'format': js_dateformat} | json_encode | e('html_attr') }}"
    {% if field.validate.min %}min="{{ (field.validate.min is null ? field.validate.min : field.validate.min|date(php_dateformat)) }}"{% endif %}
    {% if field.validate.max %}max="{{ (field.validate.max is null ? field.validate.max : field.validate.max|date(php_dateformat)) }}"{% endif %}
    {{ parent() }}
{% endblock %}

Revert "datetime format set by phpformat"

{% extends "forms/field.html.twig" %}

{% block input_attributes %}
    type="date"
    data-grav-field-datetime
    {% if field.validate.min %}min="{{ (field.validate.min is null ? field.validate.min : field.validate.min|date("d-m-Y H:i")) }}"{% endif %}
    {% if field.validate.max %}max="{{ (field.validate.max is null ? field.validate.max : field.validate.max|date("d-m-Y H:i")) }}"{% endif %}
    {{ parent() }}
{% endblock %}


{#=== INIT ===========================================================================================================#}

{% set attributes_fieldset = {
    class:            'form-group',
    data_bolt_field:  block('fieldset_type'),
    data_bolt_fconf:  fieldset_conf|default() is iterable ? fieldset_conf : null
} %}

{% set attributes_label = {
    class:  block('fieldset_label_class') ~ (block('fieldset_label_class') == 'col-xs-12' ? '' : ' control-label'),
    for:    block('fieldset_label_for'),
} %}

{% if block('fieldset_label_info') %}
    {% set field_label = macro.infopop(block('fieldset_label_text'), block('fieldset_label_info')) %}
{% else %}
    {% set field_label = block('fieldset_label_text') %}
{% endif %}

{#=== OUTPUT =========================================================================================================#}

<fieldset{{ macro.attr(attributes_fieldset) }}>
    <label{{ macro.attr(attributes_label) }}>{{ field_label }}</label>
    {% block fieldset_controls %}{% endblock fieldset_controls %}
</fieldset>

Add a legend for screenreaders

{#=== INIT ===========================================================================================================#}

{% set attributes_fieldset = {
    class:            'form-group',
    data_bolt_field:  block('fieldset_type'),
    data_bolt_fconf:  fieldset_conf|default() is iterable ? fieldset_conf : null
} %}

{% set attributes_label = {
    class:  block('fieldset_label_class') ~ (block('fieldset_label_class') == 'col-xs-12' ? '' : ' control-label'),
    for:    block('fieldset_label_for'),
} %}

{% if block('fieldset_label_info') %}
    {% set field_label = macro.infopop(block('fieldset_label_text'), block('fieldset_label_info')) %}
{% else %}
    {% set field_label = block('fieldset_label_text') %}
{% endif %}

{#=== OUTPUT =========================================================================================================#}

<fieldset{{ macro.attr(attributes_fieldset) }}>
    <legend class="sr-only">{% block fieldset_label_text %}{% endblock fieldset_label_text %}</legend>
    <label{{ macro.attr(attributes_label) }}>{{ field_label }}</label>
    {% block fieldset_controls %}{% endblock fieldset_controls %}
</fieldset>


{% if page.tabs is defined %}

Test 1

Test 2

Test 3

{% endif %}

Fix (tabs): tabs are no longer always displayed


{% extends 'base.html.twig' %}

{% block body %}

{{ product.title }}

 {{ product.title }}

Parametre:

        {% for parameter in parameters %}

                {{ parameter.parameter.name }}:
                {% if parameter.parameter.type == 1 %}
                    {{ parameter.valueString }}
                {% elseif parameter.parameter.type == 2 %}
                    {{ parameter.valueFloat }}
                {% elseif parameter.parameter.type == 3 %}
                    {% if parameter.valueBoolean %} ano {% else %} nie {% endif %}
                {% endif %}

        {% endfor %}

{% endblock %}

Fix showing parameters in product detail by parameter.dataType

{% extends 'base.html.twig' %}

{% block body %}

{{ product.title }}

 {{ product.title }}

Parametre:

        {% for parameter in parameters %}

                {{ parameter.parameter.name }}:
                {% if parameter.parameter.dataType == 'string' %}
                    {{ parameter.valueString }}
                {% elseif parameter.parameter.dataType == 'float' %}
                    {{ parameter.valueFloat }}
                {% elseif parameter.parameter.dataType == 'boolean' %}
                    {% if parameter.valueBoolean %} ano {% else %} nie {% endif %}
                {% endif %}

        {% endfor %}

{% endblock %}


{{ __("This website is Built with Bolt.",{'%url%':'http://bolt.cm'}) }}

        {{ menu(
            identifier = 'main',
            template = 'partials/_sub_menu.twig',
            params = {'withsubmenus': false, 'class': 'inline-list align-right'}
        ) }}

    {{ widgets('footer') }}

{# Extensions and copypasta gleaned from other sources tend to cause multiple jQuery
   includes. We only include it here conditionally, if not done so already. #}

Revert conditional loading of jQuery.


{% extends 'partials/shoppingcart_core_base.html.twig' %}

{% block content %}
    {% if uri.param('token') == order.token %}

        <h1>{{ "PLUGIN_SHOPPINGCART.THANKS_FOR_YOUR_ORDER"|t }}</h1>

        {% include 'partials/shoppingcart_core_order_details.html.twig' %}

    {% endif %}
{% endblock %}

Add wrapper div in order confirmation

{% extends 'partials/shoppingcart_core_base.html.twig' %}

{% block content %}
    {% if uri.param('token') == order.token %}

{{ "PLUGIN_SHOPPINGCART.THANKS_FOR_YOUR_ORDER"|t }}

        	{% include 'partials/shoppingcart_core_order_details.html.twig' %}

    {% endif %}
{% endblock %}


        {{- event.name -}}

        <time datetime="{{ event.date.format(constant('DATE_W3C')) }}">
          {{ event.date.format('F Y') }}
        </time>

        {{ event.description | striptags | truncate(200) | raw }}

      {% if event.photos %}

      {% endif %}

Truncate event description next word

        {{- event.name -}}

        <time datetime="{{ event.date.format(constant('DATE_W3C')) }}">
          {{ event.date.format('F Y') }}
        </time>

        {{ event.description | striptags | truncate(200, true) | raw }}

      {% if event.photos %}

      {% endif %}


{{ form_errors(form) }}

            {{ form_errors(form) }}

                {{ form_row(form.code) }}
                {{ form_row(form.name) }}

            {{ form_row(form.description) }}
            {{ form_row(form.enabled) }}

                    {{ form_label(form.hostname) }}

http://

                        {{ form_widget(form.hostname) }}

                    {{ form_errors(form.hostname) }}

                {{ form_row(form.contactEmail) }}

                {{ form_row(form.color) }}
                {{ form_row(form.themeName) }}

            {{ form_row(form.locales) }}
            {{ form_row(form.defaultLocale) }}
            {{ form_row(form.currencies) }}
            {{ form_row(form.baseCurrency) }}
            {{ form_row(form.defaultTaxZone) }}
            {{ form_row(form.taxCalculationStrategy) }}
            {{ form_row(form.skippingShippingStepAllowed) }}

Adjust channel form to disabling registration confirmation

{{ form_errors(form) }}

            {{ form_errors(form) }}

                {{ form_row(form.code) }}
                {{ form_row(form.name) }}

            {{ form_row(form.description) }}
            {{ form_row(form.enabled) }}

                    {{ form_label(form.hostname) }}

http://

                        {{ form_widget(form.hostname) }}

                    {{ form_errors(form.hostname) }}

                {{ form_row(form.contactEmail) }}

                {{ form_row(form.color) }}
                {{ form_row(form.themeName) }}

            {{ form_row(form.locales) }}
            {{ form_row(form.defaultLocale) }}
            {{ form_row(form.currencies) }}
            {{ form_row(form.baseCurrency) }}
            {{ form_row(form.defaultTaxZone) }}
            {{ form_row(form.taxCalculationStrategy) }}
            {{ form_row(form.skippingShippingStepAllowed) }}
            {{ form_row(form.disabledRegistrationVerification) }}


<!DOCTYPE html>

<link rel="stylesheet" type="text/css" href="//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css">

Features

    {% for feature in features %}

{{ feature }}

    {% endfor %}

Change URL route to match index


{% set lowestTopChild = adminmenu.lowestTopChild %}
{% set navigationChildren = lowestTopChild.navigationChildren %}

{% if lowestTopChild and navigationChildren | length > 0 %}

            <form id="treeform">
        	    <input type="text" id="searchVal" value="" />
        	    <button id="search" class="btn search"></button>
            </form>

                {% set currentMenuItem = adminmenu.current %}

{{ lowestTopChild.internalname | trans }}

                		{% for menuitem in navigationChildren %}
                            {% include 'KunstmaanAdminBundle:Default:rectreeview.html.twig' %}
                        {% endfor %}

{% endif %}

Fix when lowestTopChild does not exist

{% set lowestTopChild = adminmenu.lowestTopChild %}
{% if lowestTopChild %}
    {% set navigationChildren = lowestTopChild.navigationChildren %}
{% endif %}

{% if lowestTopChild and navigationChildren | length > 0 %}

            <form id="treeform">
        	    <input type="text" id="searchVal" value="" />
        	    <button id="search" class="btn search"></button>
            </form>

                {% set currentMenuItem = adminmenu.current %}

{{ lowestTopChild.internalname | trans }}

                		{% for menuitem in navigationChildren %}
                            {% include 'KunstmaanAdminBundle:Default:rectreeview.html.twig' %}
                        {% endfor %}

{% endif %}


{% autoescape 'js' %}
<script type="text/javascript">
    jQuery('#{{ id_search|default('crud_search') }}').html('{{ render_search }}');
    jQuery('#{{ id_list|default('crud_list') }}').html('{{ render_list }}');
</script>
{% endautoescape %}

Add ec-crud-update-search-after and ec-crud-update-list-after events

{% autoescape 'js' %}
<script type="text/javascript">
    jQuery('#{{ id_search|default('crud_search') }}').html('{{ render_search }}');
    var eventSearch = jQuery.Event('ec-crud-update-search-after', {element: '#{{ id_search|default('crud_search') }}'}); jQuery('#{{ id_search|default('crud_search') }}').trigger(eventSearch);
    jQuery('#{{ id_list|default('crud_list') }}').html('{{ render_list }}');
    var eventList = jQuery.Event('ec-crud-update-list-after', {element: '#{{ id_list|default('crud_list') }}'}); jQuery('#{{ id_list|default('crud_list') }}').trigger(eventList);
</script>
{% endautoescape %}


{% extends 'base.navigation.html.twig' %}

{% block content %}
{% if error %}

{{ error.messageKey|trans(error.messageData, 'security') }}

{% endif %}

<form action="{{ path('login_demo') }}" method="post">
    Username:
    <input type="text" id="username" name="_username" value="{{ last_username }}" />

    Password:
    <input type="password" id="password" name="_password" />

    <button type="submit">login</button>
</form>
{% endblock %}


{% include '_header.twig' with { 'active':'settings' } %}
{% form_theme form 'form_bolt_layout.twig' %}

<h1>{{title}}</h1>

<form action="#" method="post" class="form-inline" autocomplete="off">
    {{ form_widget(form) }}

    <input type="submit" value="Add user" name="submit" class="btn btn-primary" />
</form>

{% include '_footer.twig' %}

Fix button to say Save instead of Add User on Edit User Page

{% include '_header.twig' with { 'active':'settings' } %}
{% form_theme form 'form_bolt_layout.twig' %}

<h1>{{title}}</h1>

<form action="#" method="post" class="form-inline" autocomplete="off">
    {{ form_widget(form) }}

    <input type="submit" value="Save" name="submit" class="btn btn-primary" />
</form>

{% include '_footer.twig' %}


{# empty Twig template #}
{% extends "::base.html.twig" %}

{% block title %}Slideshow για: {{ group_title }} | Πελάτης{% endblock %}
{% block stylesheets %}
<link href="/bundles/msdemo/css/bootstrap-3.1.1/css/bootstrap.min.css" rel="stylesheet" />
<link href="/bundles/msdemo/jsImgSlider/1/js-image-slider.css" rel="stylesheet" type="text/css" />
<link href="/bundles/msdemo/css/main.css" rel="stylesheet" type="text/css" />
{% endblock %}

{% block body %}

        {{ group_title }}

        {% for title in image_titles %}

        {% endfor %}

{% endblock %}

{% block javascripts %}

{% endblock %}

Update the slide-show page of the demo.

{# empty Twig template #}
{% extends "::base.html.twig" %}

{% block title %}Παρουσίαση της συλλογής: {{ group_title }} | Πελάτης{% endblock %}
{% block stylesheets %}
<link href="/bundles/msdemo/css/bootstrap-3.1.1/css/bootstrap.min.css" rel="stylesheet" />
<link href="/bundles/msdemo/jsImgSlider/1/js-image-slider.css" rel="stylesheet" type="text/css" />
<link href="/bundles/msdemo/css/main.css" rel="stylesheet" type="text/css" />
{% endblock %}

{% block body %}

Slide-show Maker

Αρχική

Επικοινωνία

            {{ group_title }}

            {% for title in image_titles %}

            {% endfor %}

{% endblock %}

{% block javascripts %}

{% endblock %}


    {% for i in 1..5 %}

    {% endfor %}

Hide banner on smaller screen sizes

    {% for i in 1..5 %}

    {% endfor %}


{% if (not this.hidden) and children %}
<ul class="nav {% if (navbar) %}navbar-nav{% endif %} {% if (tabs) %}nav-tabs{% endif %} {% if (pills) %}nav-pills{% endif %}{% if (justified) %}nav-justified{% endif %}  {% if (stacked) %}nav-stacked{% endif %}  {{ cssClass }}">
	{% for child in children %}
		{{ toHtml(child) }}
	{% endfor %}
</ul>
{% endif %}

Fix "pull right" property in twig file (was not taken in account)

{% if (not this.hidden) and children %}
<ul class="nav {% if (navbar) %}navbar-nav{% endif %} {% if (tabs) %}nav-tabs{% endif %} {% if (pills) %}nav-pills{% endif %}{% if (justified) %}nav-justified{% endif %}  {% if (stacked) %}nav-stacked{% endif %} {% if (pullRight) %}navbar-right{% endif %} {{ cssClass }}">
	{% for child in children %}
		{{ toHtml(child) }}
	{% endfor %}
</ul>
{% endif %}


{% extends bap.layout is defined ? bap.layout : 'OroUIBundle:Default:index.html.twig' %}

{% block head %}
    {{ parent() }}

    {% block stylesheets %}{% endblock %}

    {% javascripts
        '//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js'
        '@OroUIBundle/Resources/public/lib/less-1.3.1.min.js'
        '@OroUIBundle/Resources/public/lib/bootstrap.min.js'
        '@OroUIBundle/Resources/public/js/layout.js'
        '@AcmeDemoBundle/Resources/public/js/jquery-ui-1.10.0.min.js'
        '@AcmeDemoBundle/Resources/public/js/main.js'
        '@OroUIBundle/Resources/public/lib/underscore.js'
        '@OroUIBundle/Resources/public/lib/backbone.js'
        '@OroUIBundle/Resources/public/js/backbone/app.js'
        '@OroUIBundle/Resources/public/js/backbone/app/model.js'
        '@OroUIBundle/Resources/public/js/backbone/app/view.js'
        '@OroUIBundle/Resources/public/js/backbone/app/router.js'
        '@OroUIBundle/Resources/public/js/backbone/app/collection.js'
        '@OroUIBundle/Resources/public/js/backbone/setup.js'
        output='js/acme.all.js'
        %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}

    {% block javascripts %}{% endblock %}
{% endblock %}

{% block title %}Grid Bundle - {{ parent() }}{% endblock %}

Implement AJAX grid using backbons.js - updated layout to fix js conflicts

{% extends bap.layout is defined ? bap.layout : 'OroUIBundle:Default:index.html.twig' %}

{% block head %}
    {{ parent() }}

    {% block stylesheets %}{% endblock %}

    {% javascripts
        '@OroUIBundle/Resources/public/lib/underscore.js'
        '@OroUIBundle/Resources/public/lib/backbone.js'
        '@OroUIBundle/Resources/public/js/backbone/app.js'
        '@OroUIBundle/Resources/public/js/backbone/app/model.js'
        '@OroUIBundle/Resources/public/js/backbone/app/view.js'
        '@OroUIBundle/Resources/public/js/backbone/app/router.js'
        '@OroUIBundle/Resources/public/js/backbone/app/collection.js'
        '@OroUIBundle/Resources/public/js/backbone/setup.js'
        output='js/acme.all.js'
        %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}

    {% block javascripts %}{% endblock %}
{% endblock %}

{% block title %}Grid Bundle - {{ parent() }}{% endblock %}


{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}

{% block field%}
    {{ "Finished"|trans({}, 'Admin') }}:
    {% if object.finished == TRUE %}  {% else %}  {% endif %}

                {% for score in object.score %}
                    {{ "Team"|trans({}, 'Admin') }} {{ loop.index }}
                {% endfor %}

                {{ "Name"|trans({}, 'Admin') }}
                {% for score in object.score %}
                    {{ score.team.name }}
                {% endfor %}

                {{ "Score"|trans({}, 'Admin') }}
                {% for score in object.score %}
                    {{ score.score }}
                {% endfor %}

{% endblock %}

Fix l'icone de la liste des matchs


  {% set langobj = grav['language'] %}
  {% set key = langswitcher.current %}
  {% set language = langswitcher.languages[key] %}
  {% set lang_url = base_url_simple ~ langobj.getLanguageURLPrefix(key)~langswitcher.page_route ?: '/' %}
   {{ native_name(key)|capitalize }}

    {% for key in langswitcher.languages %}
        {% if key != langswitcher.current %}
            {% set lang_url = base_url_simple ~ langobj.getLanguageURLPrefix(key)~langswitcher.page_route ?: '/' %}

{{ native_name(key)|capitalize }}

        {% endif %}
    {% endfor %}

 {{ "MSG_HELP_TRANSLATE"|t }}

Resolve default language not reachable with http_accept_language

  {% set langobj = grav['language'] %}
  {% set key = langswitcher.current %}
  {% set language = langswitcher.languages[key] %}
  {% set lang_url = base_url_simple ~ langobj.getLanguageURLPrefix(key)~langswitcher.page_route ?: langobj.getDefault() %}
   {{ native_name(key)|capitalize }}

    {% for key in langswitcher.languages %}
        {% if key != langswitcher.current %}
            {% set lang_url = base_url_simple ~ langobj.getLanguageURLPrefix(key)~langswitcher.page_route ?: langobj.getDefault() %}

{{ native_name(key)|capitalize }}

        {% endif %}
    {% endfor %}

 {{ "MSG_HELP_TRANSLATE"|t }}


{% set nodeId = menuitem.uniqueId %}

    {% if menuitem.route %}

            {{ menuitem.label }}

    {% else %}
        {{ menuitem.label }}
    {% endif %}

    {% for menuitem in menuitem.navigationChildren %}
        {% include 'KunstmaanAdminBundle:Default:rectreeview.html.twig' %}
    {% endfor %}

Fix online/offline indication in the menu tree for child pages of structure nodes


{% set collection = (collection is defined) ? collection : 'blocks' %}
{% set element = (element is defined) ? element : 'main' %}
{% set blocks = (blocks is defined) ? blocks : content[collection] %}

<{{ element }} property='{{ collection }}' typeof='collection'>
{% for index,block in blocks %}
    {% include '@ConnectHollandSuluBlock/html5/'~block.type~'.html.twig'
        with {
            block: block,
            rel: collection,
            blockview: view[collection][index]
        }
    %}
{% endfor %}
</{{ element }}>

Add twig block for collections

{% set collection = (collection is defined) ? collection : 'blocks' %}
{% set element = (element is defined) ? element : 'main' %}
{% set blocks = (blocks is defined) ? blocks : content[collection] %}

{%  block block_collection %}
<{{ element }} property='{{ collection }}' typeof='collection'>
{%  block block_collection_content %}
    {% for index,block in blocks %}
        {% include '@ConnectHollandSuluBlock/html5/'~block.type~'.html.twig'
            with {
                block: block,
                rel: collection,
                blockview: view[collection][index]
            }
        %}
    {% endfor %}
{%  endblock %}
</{{ element }}>
{%  endblock %}


<form id={{ visibleFields|keys|join|md5 }} class="prevent-double-submit" method="post" target="_self" data-request-uri="{{ requestURI }}">

    {%  if errors is not empty %}

        {% for error in errors %} {{ error }} {% endfor %}

    {% endif %}

        {% for fieldName, field in visibleFields %}
            {{ field|write|raw }}
        {% endfor %}

        {% for action in actions %}
            {{ action|write|raw }}
        {% endfor %}

</form>

Add has-errors class to form with errors.

<form id={{ visibleFields|keys|join|md5 }}
      class="prevent-double-submit {% if errors is not empty %}has-errors{% endif %}"
      method="post" target="_self" data-request-uri="{{ requestURI }}">

    {%  if errors is not empty %}

        {% for error in errors %} {{ error }} {% endfor %}

    {% endif %}

        {% for fieldName, field in visibleFields %}
            {{ field|write|raw }}
        {% endfor %}

        {% for action in actions %}
            {{ action|write|raw }}
        {% endfor %}

</form>


Convert to Twig: SP's /admin/blogs/create

{% extends 'admin/layouts/default_sp.twig' %}
{% block title %}{{ _('New registration of the blog') }}{% endblock %}

{% block content %}

{{ _('New registration of the blog') }}

    <form method="POST" class="admin-form">

{{ _('Blog ID') }}

{{ input(req, 'blog[id]', 'text') }}

                {% if errors.blog.id %}{{ errors.blog.id }}{% endif %}

{{ _('Blog name') }}

{{ input(req, 'blog[name]', 'text') }}

                {% if errors.blog.name %}{{ errors.blog.name }}{% endif %}

{{ _('Nickname') }}

{{ input(req, 'blog[nickname]', 'text') }}

                {% if errors.blog.nickname %}{{ errors.blog.nickname }}{% endif %}

                    <button type="submit" class="btn_contents positive touch">{{ _('Register') }}</button>

        <input type="hidden" name="sig" value="{{ sig }}">
    </form>
{% endblock %}


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

        {% for batchedQrImages in qrImages|batch(16) %}

            {% for row in batchedQrImages|batch(2) %}

                    {% for qr in row %}

                            {% set qrLinkParts = qr.link|split('', qr.link|length//2) %}

{{qr.svg|raw}}	{{qrLinkParts[0]|split('', 4)|join(' ')}}
{{qrLinkParts[1]|split('', 4)|join(' ')}}

                    {% endfor %}

            {% endfor %}

        {% endfor %}

Replace css monospace with
 tag


{% import 'macros.twig' as scat %}
<form class="add-item" action="/cart/add-item" method="POST">
  <input type="hidden" name="item" value="{{ item.code }}">
  <input type="hidden" name="name" value="{{ item.name }}">
  <input type="hidden" name="brand" value="{{ item.brand_name }}">
  <input type="hidden" name="category" value="{{ item.category }}">
  <input type="hidden" name="sale_price" value="{{ item.sale_price }}">
  {% if not fixed_quantity and not quantity %}

        Quantity

      <input type="number" class="input"
             id="quantity" name="quantity"
             min="{{ item.purchase_quantity ?: 1 }}"
             step="{{ item.purchase_quantity ?: 1 }}"
             value="{{ item.purchase_quantity ?: 1 }}">

    {% if item.purchase_quantity > 1 %}

        Must be multiple of {{ item.purchase_quantity }}.

    {% endif %}
  {% else %}
    <input type="hidden" name="quantity"
            value="{{ quantity ?? item.purchase_quantity ?: 1}}">
  {% endif %}
  <button type="submit" class="button {{ button_size ?? 'block' }}">
    {{ bootstrap_icon('cart-plus') }}
    Add to Cart
  </button>
</form>

Change color of Add to Cart button


{% extends 'Core/Layout/Templates/Base.html.twig' %}

{% block main %}

    {% include 'Core/Layout/Templates/Breadcrumb.html.twig' %}

    {% for block in positions.main %}
      {% if block.html %}
        {{ block.html|raw }}
      {% endif %}
    {% endfor %}

{% endblock %}

Fix image in error template


Album: {{ album.name }}

{% for photo in album.photos %}

{% endfor %}

{% if useUnitePlugin %}

{% endif %}

Add raw filters into Album

Album: {{ album.name|raw }}

{% for photo in album.photos %}

{% endfor %}

{% if useUnitePlugin %}

{% endif %}


{% macro api_object(dataType) %}
    {%- set object_url = '' -%}
    {%- set object = (dataType[-1:1] == '*') ? dataType[:-1] : dataType -%}
    {%- set group = '' -%}

    {% for grouping in ['events', 'objects', 'enums', 'functions'] %}
        {% if collections['bzfs_api_' ~ grouping][object] is defined %}
            {% set group = grouping %}
            {% set object_url = url(collections['bzfs_api_' ~ grouping][object]) %}
        {% endif %}
    {% endfor %}

    {%- if object_url -%}
        <a href="{{ object_url }}">
            {{- dataType -}}{{- (group == 'functions') ? '()' : '' -}}
        </a>
    {%- else -%}
        {{- dataType -}}
    {%- endif -%}
{% endmacro %}

Fix auto-links to API data types in docs

{% macro api_object(dataType) %}
    {%- set object_url = '' -%}
    {%- set object = (dataType[-1:1] == '*') ? dataType[:-1] : dataType -%}
    {%- set group = '' -%}

    {% for grouping in ['events', 'types', 'functions'] %}
        {% if collections['bzfs_api_' ~ grouping][object] is defined %}
            {% set group = grouping %}
            {% set object_url = url(collections['bzfs_api_' ~ grouping][object]) %}
        {% endif %}
    {% endfor %}

    {%- if object_url -%}
        <a href="{{ object_url }}">
            {{- dataType -}}{{- (group == 'functions') ? '()' : '' -}}
        </a>
    {%- else -%}
        {{- dataType -}}
    {%- endif -%}
{% endmacro %}


        {{ widget.title }}

        {{ widget.content|raw }}

Use card-header and title instead of the label system - it was removed.

            {{ widget.title }}

            {% if widget.description %}

                    {{ widget.description }}

            {% endif %}

        {{ widget.content|raw }}


{% extends 'VictoireCoreBundle::_modal.html.twig' %}

{% block modal_container_classes %}{{ parent() }} vic-view-modal{% endblock modal_container_classes %}

{% block modal_header_title %}
Nouvel appartement
{% endblock modal_header_title %}
{% block modal_body_content %}
    {{ form(form) }}
{% endblock modal_body_content %}

Change Rental modal layout with backendLayout

{% extends 'VictoireCoreBundle::backendLayout.html.twig' %}

{% block container_class %}{{ parent() }} victoire-bo{% endblock container_class %}

{% block header_title %}
    Nouvel appartement
{% endblock header_title %}
{% block content %}
    {{ form(form) }}
{% endblock content %}


{% form_theme form with 'AgileInvoiceBundle:Form:horizontal-fields.html.twig' %}

<form novalidate class="form-horizontal" action="{{ path('fos_user_registration_register') }}" method="post" {{ form_enctype(form) }} class="fos_user_registration_register">

    {{ form_errors(form)}}

    {{ form_row(form.firstName, { 'attr': {'class': 'input-block-level'} }) }}
    {{ form_row(form.lastName, { 'attr': {'class': 'input-block-level'} }) }}
    {{ form_row(form.company, { 'attr': {'class': 'input-block-level'} }) }}
    {{ form_row(form.email, { 'attr': {'class': 'input-block-level'} }) }}
    {{ form_row(form.contactPhone, { 'attr': {'class': 'input-block-level'} }) }}
    {{ form_row(form.username, { 'attr': {'class': 'input-block-level'} }) }}
    {{ form_row(form.plainPassword, { 'attr': {'class': 'input-block-level'} }) }}

    {{ form_rest(form) }}

            <input type="submit" value="{{ 'create.my.account'|trans }}" class="btn btn-success" />

</form>

Set the visualization of the company name form filed that now is in a related entity

{% form_theme form with 'AgileInvoiceBundle:Form:horizontal-fields.html.twig' %}

<form novalidate class="form-horizontal" action="{{ path('fos_user_registration_register') }}" method="post" {{ form_enctype(form) }} class="fos_user_registration_register">

    {{ form_errors(form)}}

    {{ form_row(form.firstName, { 'attr': {'class': 'input-block-level'} }) }}
    {{ form_row(form.lastName, { 'attr': {'class': 'input-block-level'} }) }}
    {{ form_row(form.company.name, { 'attr': {'class': 'input-block-level'} }) }}
    {{ form_row(form.email, { 'attr': {'class': 'input-block-level'} }) }}
    {{ form_row(form.contactPhone, { 'attr': {'class': 'input-block-level'} }) }}
    {{ form_row(form.username, { 'attr': {'class': 'input-block-level'} }) }}
    {{ form_row(form.plainPassword, { 'attr': {'class': 'input-block-level'} }) }}

    {{ form_rest(form) }}

            <input type="submit" value="{{ 'create.my.account'|trans }}" class="btn btn-success" />

</form>


{{ form_start(queryForm, {'attr': {'class': 'form-horizontal'}}) }}
{{ form_row(queryForm.Request, {'label': 'Request'}) }}
<input type="submit" name="submit" id="submit" value="Send Request ! "/>
{{ form_end(queryForm) }}

Change helper query-form label from "Request" to "Query"

{{ form_start(queryForm, {'attr': {'class': 'form-horizontal'}}) }}
{{ form_row(queryForm.Request, {'label': 'Query'}) }}
<input type="submit" name="submit" id="submit" value="Send Request ! "/>
{{ form_end(queryForm) }}


{#

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.

#}
{% extends 'SonataAdminBundle:CRUD:list_integer.html.twig' %}

{% block field%}{{ value|date }}{% endblock %}


<link rel="canonical" href="{{ (href is not empty) ? href : palmtree_canonical_url() }}">

Add check to only output canonical tag when href not empty

{% set href = (href is not empty) ? href : palmtree_canonical_url() %}
{% if href is not empty %}
<link rel="canonical" href="{{ href }}">
{% endif %}


{% extends '/Layout/Templates/base.html.twig' %}

{% block actionbar %}

      {% if showFormBuilderAdd %}
        {{ macro.buttonIcon( geturl('add'), 'plus-square', 'lbl.Add'|trans|ucfirst) }}
      {% endif %}

{% endblock %}

{% block content %}

      {% if dataGrid %}

          {{ dataGrid|raw }}

      {% endif %}
      {% if not dataGrid %}

{{ 'msg.NoItems'|trans }}

      {% endif %}

{% endblock %}

Use the dataGrid macro in the FormBuilder module's index

{% extends '/Layout/Templates/base.html.twig' %}

{% block actionbar %}

      {% if showFormBuilderAdd %}
        {{ macro.buttonIcon( geturl('add'), 'plus-square', 'lbl.Add'|trans|ucfirst) }}
      {% endif %}

{% endblock %}

{% block content %}
  {{ macro.dataGrid(dataGrid) }}
{% endblock %}


{% import 'Core/Layout/Templates/Alerts.html.twig' as alerts %}

  {{ alerts.alert('danger', 'msg.EnableJavascript'|trans|raw, true) }}

{$lblSkipToContent|ucfirst}

{% if not cookieBarHide %}

    <button type="button" class="close" data-dismiss="alert">×</button>

{{ 'lbl.Warning'|trans|ucfirst }}: {{ 'msg.Cookies'|trans|raw }}

          {{ 'lbl.IAgree'|trans|ucfirst }}
          {{ 'lbl.IDisagree'|trans|ucfirst }}

{% endif %}

Add new data attributes to make cookiebar actions work agian


{% if header %}

{{ header }}

{% endif %}

{% if subHeader %}

{{ subHeader }}

{% endif %}

{% block content %}
{{ content|raw }}
{% block content %}

Fix bug in ajax page.

{% if header %}

{{ header }}

{% endif %}

{% if subHeader %}

{{ subHeader }}

{% endif %}

{% block content %}
{{ content|raw }}
{% endblock content %}


<address>
    {{ address.firstName }} {{ address.lastName }}
    {% if address.company %}
        {{ address.company }}

    {% endif %}
    {{ address.phoneNumber }}

    {{ address.street }}

    {{ address.city }}

    {% if address.provinceCode %}
        {{ address.provinceCode|sylius_province_abbreviation }}

    {% endif %}

    {{ address.countryCode|sylius_country_name|upper }} {{ address.postcode }}
</address>

Add provinceName field to Address [AddresingBundle] Fix BulidAdddresFormSubscriberSpec

<address>
    {{ address.firstName }} {{ address.lastName }}
    {% if address.company %}
        {{ address.company }}

    {% endif %}
    {{ address.phoneNumber }}

    {{ address.street }}

    {{ address.city }}

    {% if address.provinceCode %}
        {{ address.provinceCode|sylius_province_abbreviation }}

    {% elseif address.provinceName %}
        {{ address.provinceName }}

    {% endif %}

    {{ address.countryCode|sylius_country_name|upper }} {{ address.postcode }}
</address>


{% for programName, programRoutes in routes %}

{{ programName }}
  {% for gender, genderUrls in programRoutes %}

    {% for age, url in genderUrls %}
      {% if age != "U10" %}
        {% if programName == 'Extra' %}
          {% set age = age ~ cerad_cap_gender(gender) %}
          {% if age == 'U16B' %}
            U16B
          {% elseif age == 'U16G' %}
            U16G
          {% else %}
            {{ age }}
          {% endif %}
        {% else %}
          {{ age ~ cerad_cap_gender(gender) }}
        {% endif %}
      {% endif %}
    {% endfor %} {# ages #}

  {% endfor %} {# genders #}

{% endfor %}{# programs #}

Update iframe links for U16 Extra


{% extends 'KorobiWebBundle::layout.html.twig' %}

{% set page_title = "Home" %}

{% block body %}
    Welcome home, darling.

    {% for i in 0..15 %}
        {% for x in 0..15 %}

Hi there. I'm an IRC colour. I have foreground {{ i }} and background {{ x }}. I'm not inverted.

Hi there. I'm an IRC colour. I have foreground {{ i }} and background {{ x }}. I am inverted.

        {% endfor %}
    {% endfor %}
{% endblock %}

Remove a few lines of IRC colour tests

{% extends 'KorobiWebBundle::layout.html.twig' %}

{% set page_title = "Home" %}

{% block body %}
    Welcome home, darling.

    {% for i in 0..2 %}
        {% for x in 0..2 %}

Hi there. I'm an IRC colour. I have foreground {{ i }} and background {{ x }}. I'm not inverted.

Hi there. I'm an IRC colour. I have foreground {{ i }} and background {{ x }}. I am inverted.

        {% endfor %}
    {% endfor %}
{% endblock %}


{% if postgresql.root %}
class { 'postgresql':
  charset => 'UTF8',
  locale  => 'en_US',
}->
class { 'postgresql::server':
  config_hash => {
    postgres_password' => {{ postgresql.root }},
  },
}

{% for database in postgresql.dbuser %}
postgresql::db { '{{ database.dbname }}':
  user     => '{{ database.user }}',
  password => '{{ database.password }}',
  grant    => '{{ database.privileges|join(', ') }}',
}
{% endfor %}
{% endif %}{# if postgresql.root #}

Fix PostgreSQL root password parameter

{% if postgresql.root %}
class { 'postgresql':
  charset => 'UTF8',
  locale  => 'en_US',
}->
class { 'postgresql::server':
  config_hash => {
    postgres_password => '{{ postgresql.root }}',
  },
}

{% for database in postgresql.dbuser %}
postgresql::db { '{{ database.dbname }}':
  user     => '{{ database.user }}',
  password => '{{ database.password }}',
  grant    => '{{ database.privileges|join(', ') }}',
}
{% endfor %}
{% endif %}{# if postgresql.root #}


<script type="text/javascript">
    window.GravAdmin = window.GravAdmin || {};
    window.GravAdmin.config = {
        base_url_relative: '{{ base_url_relative }}',
        param_sep: '{{ config.system.param_sep }}',
        enable_auto_updates_check: '{{ config.plugins.admin.enable_auto_updates_check }}',
        admin_timeout: '{{ config.plugins.admin.session.timeout ?: 1800 }}'
    };
    window.GravAdmin.uri_params = {};

    {% for param, value in grav.uri.params(null, true) %}
        window.GravAdmin.uri_params.{{param}} = "{{value}}";
    {% endfor %}
</script>

Fix for chrome converting backslashes to slashes automatically

<script type="text/javascript">
    window.GravAdmin = window.GravAdmin || {};
    window.GravAdmin.config = {
        base_url_relative: '{{ base_url_relative }}',
        param_sep: '{{ config.system.param_sep }}',
        enable_auto_updates_check: '{{ config.plugins.admin.enable_auto_updates_check }}',
        admin_timeout: '{{ config.plugins.admin.session.timeout ?: 1800 }}'
    };
    window.GravAdmin.uri_params = {};

    {% for param, value in grav.uri.params(null, true) %}
        window.GravAdmin.uri_params.{{param}} = "{{value|replace({'\\': '/'})}}";
    {% endfor %}
</script>


{% if not this.hidden %}
{% set menuCssClass = this.cssClass ~ (this.active?" active":"") ~ (this.children?" dropdown":"") %}

{%- if this.url or this.children  %}{{ this.label }} {% if children %}{% endif %}{% else %}{{ this.label }}{% endif -%}
{% if this.children %}

	{%- for child in this.children -%}
		{{- toHtml(child) -}}
	{%- endfor -%}

{%- endif -%}

{% endif %}

Add html attribute array<string, string>


{% if options.visible|default(true) %}

    {% if options.icon is defined %}{% endif %}
    {{ action.label|trans }}

        {% if options.header is defined %}

            {% if options.header.icon is defined %}{% endif %}
            {{ options.header.label|trans }}

        {% endif %}
        {% for link in options.links %}
            {% include '@SyliusUi/Grid/Action/_link.html.twig' %}
        {% endfor %}

{% endif %}

Fix visible option in links action template

{% set visible = options.visible is defined ? options.visible : true %}

{% if visible %}

    {% if options.icon is defined %}{% endif %}
    {{ action.label|trans }}

        {% if options.header is defined %}

            {% if options.header.icon is defined %}{% endif %}
            {{ options.header.label|trans }}

        {% endif %}
        {% for link in options.links %}
            {% include '@SyliusUi/Grid/Action/_link.html.twig' %}
        {% endfor %}

{% endif %}


                {% if events.pagination.prev_page is defined %}

                         Previous

                {% else %}

                         Previous

                {% endif %}

Page {{ page }}

                {% if events.pagination.next_page is defined and events.pagination.count >= 10 %}

                        Next

                {% else %}

                        Next

                {% endif %}

Use javascript: as the null target


{{sectionTitleRaw}}

{% for event in events|slice(0, count)  %}

      {{ event.start_time.monthName }}
      {{ event.start_time.day }}

    {% if showCover %}
      {% if event.cover != '' %}

      {% else %}

      {% endif %}
    {% endif %}

      {{ event.name }}
      {{ event.place.name }}
      {{ event.period }}

{% endfor %}

Add raw filters into Events

{{ sectionTitleRaw|raw }}

{% for event in events|slice(0, count)  %}

      {{ event.start_time.monthName|raw }}
      {{ event.start_time.day|raw }}

    {% if showCover %}
      {% if event.cover != '' %}

      {% else %}

      {% endif %}
    {% endif %}

      {{ event.name|raw }}
      {{ event.place.name|raw }}
      {{ event.period|raw }}

{% endfor %}


{% extends 'SimplyTestableWebClientBundle:bs3/Abstract/Partials/Test/Options:test-options.html.twig' %}

{% block prefix %}

                        <input type="radio" name="full-single" value="full" {% if remote_test.type == 'Full site' %}checked{% endif %}> Full site test
                        Test your entire site by finding URLs in your sitemap and by crawling your site

                        <input type="radio" name="full-single" value="single" {% if remote_test.type != 'Full site' %}checked{% endif %}> Single URL test
                        Test just the above URL only

{% endblock %}

Align full/single options for md


    {% block header %}

{{ data.trlKwf('Please login') }}

{{ data.trlKwf('You have to login to see the requested page.') }}

        {% if register %}

{{ data.trlKwf("If you don't have an account, you can") }}
                {{ renderer.componentLink(register, data.trlKwf('register here')) }}.

        {% endif %}
    {% endblock %}
    {% block lostPassword %}
        {% if lostPassword %}

{{ data.trlKwf("If you have lost your password,") }}
            {{ renderer.componentLink(lostPassword, data.trlKwf('request a new one here')) }}.

        {% endif %}
    {% endblock %}
    {% block redirects %}
        {% if redirects %}

            {% for r in redirects %}

                    <form method="GET" action="{{ r.url|escape }}">
                    <input type="hidden" name="redirectAuth" value="{{ r.authMethod|escape }}" />
                    <input type="hidden" name="redirect" value="{{ r.redirect|escape }}" />
                    {{ r.formOptions }}
                    <button>
                        {% if r.icon %}

                        {% else %}
                            {{ r.name|escape }}
                        {% endif %}
                    </button>
                    </form>

            {% endfor %}

        {% endif %}
    {% endblock %}
    {% block form %}
        {{ renderer.component(form) }}
    {% endblock %}

Move lostpassword block below form block

    {% block header %}

{{ data.trlKwf('Please login') }}

{{ data.trlKwf('You have to login to see the requested page.') }}

        {% if register %}

{{ data.trlKwf("If you don't have an account, you can") }}
                {{ renderer.componentLink(register, data.trlKwf('register here')) }}.

        {% endif %}
    {% endblock %}

    {% block redirects %}
        {% if redirects %}

            {% for r in redirects %}

                    <form method="GET" action="{{ r.url|escape }}">
                    <input type="hidden" name="redirectAuth" value="{{ r.authMethod|escape }}" />
                    <input type="hidden" name="redirect" value="{{ r.redirect|escape }}" />
                    {{ r.formOptions }}
                    <button>
                        {% if r.icon %}

                        {% else %}
                            {{ r.name|escape }}
                        {% endif %}
                    </button>
                    </form>

            {% endfor %}

        {% endif %}
    {% endblock %}

    {% block form %}
        {{ renderer.component(form) }}
    {% endblock %}
    {% block lostPassword %}
        {% if lostPassword %}

{{ data.trlKwf("If you have lost your password,") }}
                {{ renderer.componentLink(lostPassword, data.trlKwf('request a new one here')) }}.

        {% endif %}
    {% endblock %}


{% for action in actions %}
  {% if 'list' == action.name %}
      {% set action_href = request_parameters.referer|default('') ? request_parameters.referer|easyadmin_urldecode : path('easyadmin', request_parameters|merge({ action: 'list' })) %}
  {% elseif 'method' == action.type %}
      {% set action_href = path('easyadmin', request_parameters|merge({ action: action.name, id: item_id })) %}
  {% elseif 'route' == action.type %}
      {% set action_href = path(action.name, request_parameters|merge({ action: action.name, id: item_id })) %}
  {% endif %}

  {% set confirm = false %}
  {% if action.confirm is defined %}
    {% set confirm = (action.confirm|trans({}, translation_domain))|default('confirm_modal.content'|trans({}, 'EasyAdminBundle')) %}
  {% endif %}

  {{ include(action.template, {
    action: action,
    action_href: action_href,
    is_dropdown: is_dropdown|default(false),
    item: item,
    item_id: item_id,
    request_parameters: request_parameters,
    translation_domain: translation_domain,
    trans_parameters: trans_parameters,
    confirm: confirm
  }, with_context = false) }}

{% endfor %}

Fix list views with actions

{% for action in actions %}
  {% if 'list' == action.name %}
      {% set action_href = request_parameters.referer|default('') ? request_parameters.referer|easyadmin_urldecode : path('easyadmin', request_parameters|merge({ action: 'list' })) %}
  {% elseif 'method' == action.type %}
      {% set action_href = path('easyadmin', request_parameters|merge({ action: action.name, id: item_id })) %}
  {% elseif 'route' == action.type %}
      {% set action_href = path(action.name, request_parameters|merge({ action: action.name, id: item_id })) %}
  {% endif %}

  {% set confirm = false %}
  {% if action.confirm is defined %}
    {% set confirm = (action.confirm|trans({}, translation_domain))|default('confirm_modal.content'|trans({}, 'EasyAdminBundle')) %}
  {% endif %}

  {{ include(action.template|default('@EasyAdmin/default/action.html.twig'), {
    action: action,
    action_href: action_href,
    is_dropdown: is_dropdown|default(false),
    item: item|default,
    item_id: item_id,
    request_parameters: request_parameters,
    translation_domain: translation_domain,
    trans_parameters: trans_parameters,
    confirm: confirm
  }, with_context = false) }}

{% endfor %}


{% set sub = [
    {
        icon: 'fa:flag',
        label: __('Messages'),
        link: path('translation', {'domain': 'messages'}),
        isallowed: 'translation'
    }, {
        icon: 'fa:flag',
        label: __('Long messages'),
        link: path('translation', {'domain': 'infos'}),
        isallowed: 'translation'
    }, {
        icon: 'fa:flag',
        label: __('Contenttypes'),
        link: path('translation', {'domain': 'contenttypes'}),
        isallowed: 'translation'
    }
] %}

{{ nav.submenu('fa:flag', __('Translations'), sub, (page_nav == 'Settings/Translations')) }}

Implement menu object in translations menu Twig template

{% set tr_menu = app['menu.admin'].child('translations') %}
{% set sub = [
    {
        icon: tr_menu.child('tr_messages').icon,
        label: tr_menu.child('tr_messages').label,
        link: tr_menu.child('tr_messages').uri,
        isallowed: tr_menu.child('tr_messages').permission
    }, {
        icon: tr_menu.child('tr_long_messages').icon,
        label: tr_menu.child('tr_long_messages').label,
        link: tr_menu.child('tr_long_messages').uri,
        isallowed: tr_menu.child('tr_long_messages').permission
    }, {
        icon: tr_menu.child('tr_contenttypes').icon,
        label: tr_menu.child('tr_contenttypes').label,
        link: tr_menu.child('tr_contenttypes').uri,
        isallowed: tr_menu.child('tr_contenttypes').permission
    }
] %}

{{ nav.submenu('fa:flag', __('Translations'), sub, (page_nav == 'Settings/Translations')) }}


{% extends '::base.html.twig' %}

{% block body %}
     All sources
{% endblock %}

{% block description %}
	Showing all sources of Politikportal
{% endblock %}

{% block main %}

				Name
				Status

	  {% for source in sources %}

			{{ source.name }}
			{{ source.status }}

	  {% else %}

      		No sources found

      {% endfor %}

{% endblock %}

Add page number in sources template

{% extends '::base.html.twig' %}

{% block body %}
     All sources, page {{ page }}
{% endblock %}

{% block description %}
	Showing all sources of Politikportal
{% endblock %}

{% block main %}

				Name
				Status

	  {% for source in sources %}

			{{ source.name }}
			{{ source.status }}

	  {% else %}

      		No sources found

      {% endfor %}

{% endblock %}


Explanation:

            {% for label in data[0]|keys %}
                {{ label }}
            {% endfor %}

        {% for row in data %}

            {% for item in row %}
                {{ item }}
            {% endfor %}

        {% endfor %}

Split indexes returned by mysql

Explanation:

            {% for label in data[0]|keys %}
                {{ label }}
            {% endfor %}

        {% for row in data %}

            {% for key, item in row %}
                {{ 'possible_keys' == key ? item|replace({',': ', '}) : item }}
            {% endfor %}

        {% endfor %}


{# @var ea \EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext #}
{# @var field \EasyCorp\Bundle\EasyAdminBundle\Dto\FieldDto #}
{# @var entity \EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto #}
<img class="image-avatar" height="{{ field.customOptions.get('height') }}" src="{{ field.formattedValue }}">

Define width explicitly in Avatar fields to avoid "layout jumping" when loading images

{# @var ea \EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext #}
{# @var field \EasyCorp\Bundle\EasyAdminBundle\Dto\FieldDto #}
{# @var entity \EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto #}
<img class="image-avatar" height="{{ field.customOptions.get('height') }}" width="{{ field.customOptions.get('height') }}" src="{{ field.formattedValue }}">


{# NietonfirRaygunBundle/Resources/views/setup.html.twig #}
<script type="text/javascript">
  rg4js('apiKey', '{{ raygun_api_key }}');
  rg4js('enableCrashReporting', true);
  {% if enable_pulse == true %}
    rg4js('enablePulse', true);
  {% endif %}
</script>

Add a default value for the enable_pulse twig variable

{# NietonfirRaygunBundle/Resources/views/setup.html.twig #}
<script type="text/javascript">
  rg4js('apiKey', '{{ raygun_api_key }}');
  rg4js('enableCrashReporting', true);
  {% if enable_pulse|default(false) == true %}
    rg4js('enablePulse', true);
  {% endif %}
</script>


<!DOCTYPE HTML>

        <title>{{ title }} - Lamer News</title>
        <meta charset="utf8">
        <link type="text/css" href="/css/style.css" rel="stylesheet">
        <link href="/images/favicon.png" rel="shortcut icon">

Lamer News

                    top
                    latest
                    submit

                <rnav>
                    login / register
                </rnav>

            <content>
            {% block content %}{% endblock %}
            </content>

                The code for Lamer News (in PHP) is here.

                You can find the code of the original Ruby implementation here.

Load jQuery 1.6 from Google's CDN.


{#=== INIT ===========================================================================================================#}

{# Build the select options array #}
{% set options = [] %}
{% for slug, cat in taxonomy.options %}
    {% set options = options|merge([{
        value:     slug,
        text:      cat,
        selected:  context.content.taxonomy.containsKeyValue(taxonomy.slug, slug),
    }]) %}
{% endfor %}

{# BUIC options #}
{% set buic_opt_select = {
    'all':       taxonomy.multiple|default(false),
    'clear':     true,
    'id':        'taxonomy-' ~ taxonomy.slug,
    'multiple':  taxonomy.multiple is defined and taxonomy.multiple == 1,
    'name':      'taxonomy[' ~ taxonomy.slug ~ '][]',
    'options':   options,
} %}

{#=== FIELDSET =======================================================================================================#}

{% extends '@bolt/_base/_fieldset.twig' %}

{% block fieldset_type 'categories' %}
{% block fieldset_widget 'fieldCategories' %}

{% block fieldset_label_text  taxonomy.name %}
{% block fieldset_label_class 'col-sm-3' %}
{% block fieldset_label_for   'taxonomy-' ~ taxonomy.slug %}

{% block fieldset_controls %}
    {% from '@bolt/_buic/_select.twig' import buic_select %}

    <div class="col-sm-9">
        {{ buic_select(buic_opt_select) }}
    </div>
{% endblock fieldset_controls %}

Resolve multiple condition a bit nicer

{#=== INIT ===========================================================================================================#}

{# Build the select options array #}
{% set options = [] %}
{% for slug, cat in taxonomy.options %}
    {% set options = options|merge([{
        value:     slug,
        text:      cat,
        selected:  context.content.taxonomy.containsKeyValue(taxonomy.slug, slug),
    }]) %}
{% endfor %}

{# BUIC options #}
{% set buic_opt_select = {
    'all':       taxonomy.multiple|default(false),
    'clear':     true,
    'id':        'taxonomy-' ~ taxonomy.slug,
    'multiple':  taxonomy.multiple|default(false),
    'name':      'taxonomy[' ~ taxonomy.slug ~ '][]',
    'options':   options,
} %}

{#=== FIELDSET =======================================================================================================#}

{% extends '@bolt/_base/_fieldset.twig' %}

{% block fieldset_type 'categories' %}
{% block fieldset_widget 'fieldCategories' %}

{% block fieldset_label_text  taxonomy.name %}
{% block fieldset_label_class 'col-sm-3' %}
{% block fieldset_label_for   'taxonomy-' ~ taxonomy.slug %}

{% block fieldset_controls %}
    {% from '@bolt/_buic/_select.twig' import buic_select %}

    <div class="col-sm-9">
        {{ buic_select(buic_opt_select) }}
    </div>
{% endblock fieldset_controls %}


{% block list_scopes %}
{{ echo_block("list_scopes") }}
{% if scopes is defined %}

    {% for groupName, group in scopes %}

        {% for scopeName, params in group %}

                {%- if params.icon is defined %} {% endif -%}
                {{- echo_trans(scopeName, {}, i18n_catalog|default("Admin")) -}}

        {% endfor %}

    {% endfor %}

{% endif %}
{{ echo_endblock() }}
{% endblock %}

Add fa class to scopes


<?php

namespace {{ namespace }}\Form{{ entity_namespace ? '\\' ~ entity_namespace : '' }};

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\Form\FormError;

class {{ form_class }} extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
        {%- for data in fields_data %}

            ->add('{{ data.fieldName }}', '{{ data.filterWidget }}')

        {%- endfor %}

        ;

        $listener = function(FormEvent $event)
        {
            // Is data empty?
            foreach ($event->getData() as $data) {
                if(is_array($data)) {
                    foreach ($data as $subData) {
                        if(!empty($subData)) return;
                    }
                }
                else {
                    if(!empty($data)) return;
                }
            }

            $event->getForm()->addError(new FormError('Filter empty'));
        };
        $builder->addEventListener(FormEvents::POST_BIND, $listener);
    }

    public function getName()
    {
        return '{{ form_filter_type_name }}';
    }
}

Fix empty query error when fields contain only values equivalent to false (0 for a number field...).

<?php

namespace {{ namespace }}\Form{{ entity_namespace ? '\\' ~ entity_namespace : '' }};

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\Form\FormError;

class {{ form_class }} extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
        {%- for data in fields_data %}

            ->add('{{ data.fieldName }}', '{{ data.filterWidget }}')

        {%- endfor %}

        ;

        $listener = function(FormEvent $event)
        {
            // Is data empty?
            foreach ($event->getData() as $data) {
                if(is_array($data)) {
                    foreach ($data as $subData) {
                        if(null !== $subData) return;
                    }
                }
                else {
                    if(null !== $data) return;
                }
            }

            $event->getForm()->addError(new FormError('Filter empty'));
        };
        $builder->addEventListener(FormEvents::POST_BIND, $listener);
    }

    public function getName()
    {
        return '{{ form_filter_type_name }}';
    }
}


{% extends "base.twig" %}

{% block content %}
  <p class="measure-wide f4 f3-m">
    The page you requested cannot be found.
  </p>
{% endblock %}

Reduce font size of not found text

{% extends "base.twig" %}

{% block content %}
  <p class="measure-wide f4-m">
    The page you requested cannot be found.
  </p>
{% endblock %}


{% extends 'AppBundle::layout.html.twig' %}

{% block content %}

{{ note.title }} {{ notebook.name }}

            {{ note.content|markdown }}

{% endblock %}

Add inline edit markup for markdown


{% extends "base/class.php.twig" %}

{% block file_path %}
\Drupal\{{module}}\{{ entity_class }}Interface.
{% endblock %}

{% block namespace_class %}
namespace Drupal\{{module}};
{% endblock %}

{% block use_class %}
use Drupal\Core\Config\Entity\ConfigEntityInterface;
{% endblock %}

{% block class_declaration %}
/**
 * Provides an interface for defining {{ label }} entities.
 */
interface {{ entity_class }}Interface extends ConfigEntityInterface {% endblock %}
{% block class_methods %}
  // Add get/set methods for your configuration properties here.
{% endblock %}

Fix coding standards for config entities.

{% extends "base/class.php.twig" %}

{% block file_path %}
\Drupal\{{module}}\{{ entity_class }}Interface.
{% endblock %}

{% block namespace_class %}
namespace Drupal\{{module}};
{% endblock %}

{% block use_class %}
use Drupal\Core\Config\Entity\ConfigEntityInterface;
{% endblock %}

{% block class_declaration %}
/**
 * Provides an interface for defining {{ label }} entities.
 */
interface {{ entity_class }}Interface extends ConfigEntityInterface {% endblock %}
{% block class_methods %}
  // Add get/set methods for your configuration properties here.{% endblock %}


        <li id="chevron_left" {{ paginate.current <= 1 ? 'class="disabled"': 'class="waves-effect"' }}>

                chevron_left

        {% for i in paginate.current..paginate.maxPages %}

 paginate.maxPages ? 'disabled' }}">
                    {{ i }}

        {% endfor %}

                chevron_right

Fix (Paginate): Stop event for pagination page


{% extends 'base.html.twig' %}
{% block body %}

                    Obrazek

Wybierz projekt

Music Manager 2

testBootstrap

{% endblock %}

Remove link testBootstrap from homepage

{% extends 'base.html.twig' %}
{% block body %}

                    Obrazek

Wybierz projekt

Music Manager 2

{#

testBootstrap

#}

{% endblock %}


{% extends 'base.html.twig' %}

{% block title %}Home{% endblock %}

{% block header %}

{% endblock %}

{% block body %}

            Sites

        {#{% if is_granted('ROLE_REDMINE_ADMIN') %}#}

                Frameworks

                Hosting

        {#{% endif %}#}

{% endblock %}

Hide secured links from home

{% extends 'base.html.twig' %}

{% block title %}Home{% endblock %}

{% block header %}

{% endblock %}

{% block body %}

            Sites

        {% if is_granted('ROLE_REDMINE_ADMIN') %}

                Frameworks

                Hosting

        {% endif %}

{% endblock %}


        {% include "ShuweeAdminBundle:Partial:navbar_brand.html.twig" %}

    {% if app.user %}

            {{ app.user.username }} |
             {{ 'security.logout.action' | trans({}, 'ShuweeAdminBundle') }}

    {% endif %}

Fix "Text files should end with a newline character"


{% if resource.media is not empty and app.request is defined %}
    {% set name = resource.media.name %}
    {% if name is empty %}
        {% set name = "Download"|trans %}
    {% endif %}

        {{ name }}
        | {{ resource.media.contentTypeShort }} {{ resource.media.getFileSize() }}

{% endif %}

Use absolute_url twig function instead of using app.request data


{% extends "forms/field.html.twig" %}
{% set defaults = config.plugins.form %}
{% set files = defaults.files|merge(field|default([])) %}

{% block input %}
    {% if files.showuploaded == true %}
        {{ value|replace({(files.destination ~ '/'): ''}) }}
    {% endif %}

    <div class="form-input-wrapper {{ field.size }}">
        <input
            {# required attribute structures #}
            name="{{ (scope ~ field.name)|fieldName ~ (files.multiple ? '[]' : '[]') }}"
            {% block input_attributes %}
                type="file"
                {% if files.multiple %}multiple="multiple"{% endif %}
                {% if files.accept %}accept="{{ files.accept|join(',') }}"{% endif %}
                {{ parent() }}
            {% endblock %}
         />
    </div>
{% endblock %}

Edit the admin file input to handle showing uploaded files, showing previews, allow deleting if it's a plugin config

{% extends "forms/field.html.twig" %}
{% set defaults = config.plugins.form %}
{% set files = defaults.files|merge(field|default([])) %}

{% block input %}

    {% if value %}
        {% if files.showuploaded == true %}
            {% if files.showuploadedpreview %}

            {% else %}
                {{ value|replace({(files.destination ~ '/'): ''}) }}
            {% endif %}

            {% if files.ispluginconfig %}

            {% endif %}
        {% endif %}
    {% endif %}

        <input
            {# required attribute structures #}
            name="{{ (scope ~ field.name)|fieldName ~ (files.multiple ? '[]' : '[]') }}"
            {% block input_attributes %}
                type="file"
                {% if files.multiple %}multiple="multiple"{% endif %}
                {% if files.accept %}accept="{{ files.accept|join(',') }}"{% endif %}
                {{ parent() }}
            {% endblock %}
         />

{% endblock %}


{% for post in feed|slice(1, count)  %}

{% endfor %}

Fix to show the latest feed image

{% for post in feed|slice(0, count)  %}

{% endfor %}


Hello Twig Engine! I am a Twig template right now :)

{% set currentmenu = app.menu %}
{% block printmenu %}

{% for menu in currentmenu %}

		{{ menu.title }}
		{% if menu.submenu is defined %}
			{% set currentmenu = menu.submenu %}
			{{ block('printmenu') }}
		{% endif %}

{% endfor %}

{% endblock %}

Update the template to parse current info.

{% spaceless %}

This prints if Twypo is working

Hello Twig Engine! I am a Twig template right now :)

This prints if Menu Data exists

{% set items = app.menu %}
{% block printmenu %}

        {% for menu in items %}

        		{{ menu.title }}
        		{% if menu.submenu is defined %}
        			{% set items = menu.submenu %}
        			{{ block('printmenu') }}
        		{% endif %}

        {% endfor %}

{% endblock %}

This prints the current page information

{% set items = app.page %}
{% block printpageinfo %}
    {% for key, value in items %}
        {% if value is not iterable %}
        {{key}}: {{value}}
        {% endif %}
        {% if not loop.last %}

        {% endif %}
        {% if value is iterable %}
            {% set items = value %}
            {{ block('printpageinfo') }}
        {% endif %}
    {% endfor %}
{% endblock %}
{% endspaceless %}


{% extends "CmfMainBundle::layout.html.twig" %}

{% block title %}An Error Occurred: {{ status_text }}{% endblock %}

{% block content %}

Oops! An Error Occurred

The server returned a "{{ status_code }} {{ status_text }}".

        Something is broken. Please e-mail us and let us know
        what you were doing when this error occurred. We will fix it as soon
        as possible. Sorry for any inconvenience caused.

{% endblock %}


      {{ "admin.race.name"|trans }}
      {{ "admin.race.genres"|trans }}

  {% for race in entities %}

      {{ race }}

        {% for genre in race.genres %}
          {{ ("genres." ~ genre)|trans }}
        {% endfor %}

          {{ "admin.race.edit"|trans }}

  {% else %}

      {{ "admin.race.empty"|trans }}

  {% endfor %}

Add modifier to admin race list

      {{ "admin.race.name"|trans }}
      {{ "admin.race.modifier"|trans }}
      {{ "admin.race.genres"|trans }}

  {% for race in entities %}

      {{ race }}
      {{ race.modifier }}

        {% for genre in race.genres %}
          {{ ("genres." ~ genre)|trans }}
        {% endfor %}

          {{ "admin.race.edit"|trans }}

  {% else %}

      {{ "admin.race.empty"|trans }}

  {% endfor %}


{% if current_route != '' and admin is not defined %}

            share

{% endif %}

Fix (Sharing): Text files should end with a newline character


{{ __('Follow us', 'soluforce') }}

    {% for social in options.social_media %}

    {% endfor %}


{% extends layout %}

{% block content %}

		{{ "user.add_new"|trans }}

	{% include "DevtureUserBundle/list.html.twig" with {'items': items} %}
{% endblock %}

Move add button to the right


{% extends '@KunstmaanAdmin/Default/layout.html.twig' %}

{% block header %}
    <header class="page-header">
        <h1>{{ 'dashboard.ga.setup.title' | trans }}</h1>
    </header>
{% endblock %}

{% block extracss %}
    <link rel="stylesheet" href="{{ asset('bundles/kunstmaandashboard/css/dashboard.css') }}">
{% endblock %}

{% block content %}
    {% include '@KunstmaanDashboard/GoogleAnalytics/setup.html.twig'
        with {
            'accountId' : accountId,
            'propertyId' : propertyId,
            'properties' : properties,
            'profileId' : profileId,
            'profiles' : profiles,
            'accounts' : accounts,
            'segments' : segments,
            'disableGoals' : disableGoals
        }
    %}
{% endblock %}

{% block extrajavascript %}
    <script src="{{ asset('bundles/kunstmaandashboard/js/dashboard-bundle-setup.min.js') }}"></script>
{% endblock %}

Fix a problem with the script loading of the bundles

{% extends '@KunstmaanAdmin/Default/layout.html.twig' %}

{% block header %}
    <header class="page-header">
        <h1>{{ 'dashboard.ga.setup.title' | trans }}</h1>
    </header>
{% endblock %}

{% block extracss %}
    <link rel="stylesheet" href="{{ asset('bundles/kunstmaandashboard/css/dashboard.css') }}">
{% endblock %}

{% block content %}
    {% include '@KunstmaanDashboard/GoogleAnalytics/setup.html.twig'
        with {
            'accountId' : accountId,
            'propertyId' : propertyId,
            'properties' : properties,
            'profileId' : profileId,
            'profiles' : profiles,
            'accounts' : accounts,
            'segments' : segments,
            'disableGoals' : disableGoals
        }
    %}
{% endblock %}

{% block js_footer %}
    <!-- JS -->
    {% embed "KunstmaanAdminBundle:Default:_js_footer.html.twig" %}
        {% block extra_async_javascripts %}
            {{ parent() }}
            '{{ asset('bundles/kunstmaandashboard/js/dashboard-bundle-setup.min.js') }}',
        {% endblock %}
    {% endembed %}
{% endblock %}


        {% if entities is empty %}

{{ result }}

        {% else %}

                <canvas id="tags-canvas" width="1100" height="200"></canvas>

                        {% for entity in entities %}

{{entity.word}}

                        {% endfor %}

        {% endif %}

Remove canvas width and height for responsive

        {% if entities is empty %}

{{ result }}

        {% else %}

                <canvas id="tags-canvas"></canvas>

                        {% for entity in entities %}

{{entity.word}}

                        {% endfor %}

        {% endif %}


{% import '@SyliusAdmin/Macro/breadcrumb.html.twig' as breadcrumb %}

{% set breadcrumbs = [
        { label: 'sylius.ui.administration'|trans, url: path('sylius_admin_dashboard') },
        { label: 'sylius.ui.products'|trans, url: path('sylius_admin_product_index') },
        { label: app.request.attributes.get('productId') },
        { label: (metadata.applicationName~'.ui.'~metadata.pluralName)|trans, url: path(configuration.getRouteName('index'), configuration.vars.route.parameters|default({})) },
        { label: resource.code|default(resource.id) },
        { label: 'sylius.ui.edit'|trans }
    ]
%}

{{ breadcrumb.crumble(breadcrumbs) }}

Add link to product in variant breadcrumb

{% import '@SyliusAdmin/Macro/breadcrumb.html.twig' as breadcrumb %}

{% set breadcrumbs = [
        { label: 'sylius.ui.administration'|trans, url: path('sylius_admin_dashboard') },
        { label: 'sylius.ui.products'|trans, url: path('sylius_admin_product_index') },
        { label: app.request.attributes.get('productId'), url: path('sylius_admin_product_update', {'id': app.request.attributes.get('productId')}) },
        { label: (metadata.applicationName~'.ui.'~metadata.pluralName)|trans, url: path(configuration.getRouteName('index'), configuration.vars.route.parameters|default({})) },
        { label: resource.code|default(resource.id) },
        { label: 'sylius.ui.edit'|trans }
    ]
%}

{{ breadcrumb.crumble(breadcrumbs) }}


{% extends "WallabagCoreBundle::layout.html.twig" %}

{% block title %}{{ 'security.login.page_title'|trans }}{% endblock %}

{% block body_class %}login{% endblock %}

{% block menu %}{% endblock %}
{% block messages %}{% endblock %}

{% block content %}

            {% block fos_user_content %}
            {% endblock fos_user_content %}

{% endblock %}

{% block footer %}
{% endblock %}

Fix Android app login issue


<!DOCTYPE html>

        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>{% block title %}Le Cahier Noir{% endblock %}</title>
        {% block stylesheets %}
            <link rel="stylesheet" type="text/css" href="{{ asset('/libs/bootstrap/dist/css/bootstrap.min.css') }}" />
        {% endblock %}
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />

Le Cahier Noir

            {% block body %}{% endblock %}

            v. 11.0.0

        {% block javascripts %}

        {% endblock %}

Add link to github repo in footer


{% extends '::base.html.twig' %}

{% block body %}
    {% for key, message in app.session.getFlashBag() %}

        {{ message|trans({}, 'FOSUserBundle') }}

    {% endfor %}

            {% block fos_user_content %}
            {% endblock fos_user_content %}

{% endblock %}

Fix flash messages in FOSUserBundle layout override

{% extends '::base.html.twig' %}

{% block body %}
    {% if app.request.hasPreviousSession %}
        {% for type, messages in app.session.flashbag.all() %}
            {% for message in messages %}
                {% if type matches '/error|danger|failure/' %}
                    {% set alert_class = 'danger' %}
                {% elseif type matches '/success/' %}
                    {% set alert_class = 'success' %}
                {% else %}
                    {% set alert_class = 'info' %}
                {% endif %}

                    {{ message|trans({}, 'FOSUserBundle') }}

            {% endfor %}
        {% endfor %}
    {% endif %}

            {% block fos_user_content %}
            {% endblock fos_user_content %}

{% endblock %}


        <title>{{ entry.title | raw }}</title>

{{ entry.title | raw }}

            {{ 'entry.view.left_menu.view_original_article'|trans }}: {{ entry.domainName|removeWww }}

            {{ entry.content | raw }}

Remove text about original URL in public view

        <title>{{ entry.title | raw }}</title>

{{ entry.title | raw }}

            {{ entry.domainName|removeWww }}

            {{ entry.content | raw }}


{% extends "OroUIBundle:Default:index.html.twig" %}

{% oro_title_set({titleTemplate: 'Dashboard'}) %}

{% block content %}

UI

        Run demo

Search

        Run demo

User

        Run demo

Measure

        Run demo

Filter

        Run demo

Workflow

        Run demo

        {# TODO Replace hardcoded version with data from backend #}
        Version: 1.0.0-alpha5

{% endblock %}

Fix version number in platform and crm - Fixed current version

{% extends "OroUIBundle:Default:index.html.twig" %}

{% oro_title_set({titleTemplate: 'Dashboard'}) %}

{% block content %}

UI

        Run demo

Search

        Run demo

User

        Run demo

Measure

        Run demo

Filter

        Run demo

Workflow

        Run demo

        {# TODO Replace hardcoded version with data from backend #}
        Version: 1.0.0-alpha6

{% endblock %}


{# This file is generated by the Spoon2Twig Converter #}

{% if warnings %}

{{ 'lbl.Analysis'|trans|capitalize }}

      {% for warning in warnings %}

{{ warning.message }}

      {% endfor %}

{% endif %}

Make our analysis widget contain links.

{# This file is generated by the Spoon2Twig Converter #}

{% if warnings %}

{{ 'lbl.Analysis'|trans|capitalize }}

      {% for warning in warnings %}

{{ warning.message | raw }}

      {% endfor %}

{% endif %}


 \

 \

 \
             \
                 \
             \

        \

{{ image.caption.title|trim|escape }}
Credit: {{ image.caption.credit|trim|escape }}

        \

    \

Fix as it got messed up.

\

\

\
            \
                \
            \

\

{{ image.caption.title|trim|escape }}
\
            Credit: {{ image.caption.credit|trim|escape }}\

\

\


<!DOCTYPE html>

        <meta charset="utf-8">
        <title>Pairfony - where passionate PHP developers come to perfect their craft</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">

        {% stylesheets '@ObPairfonyBundle/Resources/public/css/*' output='css/styles.css' %}
            <link rel="stylesheet" href="{{ asset_url }}" />
        {% endstylesheets %}

                Pairfony is the place where passionate PHP developers of all levels come to meet and perfect their craft.

            {% if app.user is not null %}

                    Logout

            {% else %}

                    Sign in with github

            {% endif %}

Oh hai{% if app.user is not null %} {{ app.user.username }} {% endif %}!

Nothing to see yet, come back later...

Add a link to the github project

<!DOCTYPE html>

        <meta charset="utf-8">
        <title>Pairfony - where passionate PHP developers come to perfect their craft</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">

        {% stylesheets '@ObPairfonyBundle/Resources/public/css/*' output='css/styles.css' %}
            <link rel="stylesheet" href="{{ asset_url }}" />
        {% endstylesheets %}

                Pairfony is the place where passionate PHP developers of all levels come to meet and perfect their craft.

            {% if app.user is not null %}

                    Logout

            {% else %}

                    Sign in with github

            {% endif %}

Oh hai{% if app.user is not null %} {{ app.user.username }} {% endif %}!

Nothing to see yet, watch the project on GitHub


{% extends noLayout|default(false) ? "::base_nolayout.html.twig" : "PackagistWebBundle::layout.html.twig" %}

{% import "PackagistWebBundle::macros.html.twig" as macros %}

{% block content %}
    {% block content_title %}
Packages
{% endblock %}

    {% block list %}
        {% if packages|length %}
            {{ macros.listPackages(packages, paginate is not defined or paginate, showAutoUpdateWarning|default(false), meta|default(null)) }}
        {% else %}

No packages found.

        {% endif %}
    {% endblock %}
{% endblock %}

Increase the visibility of "No packages found."


                <button class="close" data-dismiss="modal">

                </button>

                    {{ 'media.folder.bulk_move.modal.title' | trans }}

            {{ render(controller('KunstmaanMediaBundle:Media:bulkMove')) }}

Fix deprecated twig controller render notation

                <button class="close" data-dismiss="modal">

                </button>

                    {{ 'media.folder.bulk_move.modal.title' | trans }}

            {{ render(controller('Kunstmaan\\MediaBundle\\Controller\\MediaController::bulkMoveAction')) }}


<script type="text/javascript">
    $(document).ready(function() {
        initTree({
            "selector": "#tree",
            "path": {
                "expanded":     [ "/cms" ],
                "preloaded":    [ "/cms" ],
            },
            "icon": {
                "document": "{{ asset('bundles/symfonycmftree/images/document.png') }}",
                "folder":   "{{ asset('bundles/symfonycmftree/images/folder.png') }}"
            },
            "route": {
                "create":   'admin_sandbox_main_editablestaticcontent_create',
                "edit":     'admin_sandbox_main_editablestaticcontent_edit',
                "erase":    'admin_sandbox_main_editablestaticcontent_delete'
            }
        });
    });
</script>

Document creation actions are now in a submenu and injected.

<script type="text/javascript">
    $(document).ready(function() {
        initTree({
            "selector": "#tree",
            "path": {
                "expanded":     [ "/cms" ],
                "preloaded":    [ "/cms" ],
            },
            "icon": {
                "document": "{{ asset('bundles/symfonycmftree/images/document.png') }}",
                "folder":   "{{ asset('bundles/symfonycmftree/images/folder.png') }}"
            },
            "route": {
                "edit":     'admin_sandbox_main_editablestaticcontent_edit',
                "erase":    'admin_sandbox_main_editablestaticcontent_delete'
            },
            "doctypes": {
                "blogpost": {
                    "label": 'BlogPost',
                    "action": function (node) {
                        window.location = Routing.generate('admin_sandbox_main_editablestaticcontent_create', { "type": "blogpost" })
                    }
                },
                "static": {
                    "label": 'StaticContent',
                    "action": function (node) {
                        window.location = Routing.generate('admin_sandbox_main_editablestaticcontent_create', { "type": "static" })
                    }
                }
            }
        });
    });

</script>


{% extends 'AppAdminBundle::layout.html.twig' %}

{% block body %}

Add

            {{ comments|sortable('Id', 'a.id')|raw }}
            User
            Article
            {{ comments|sortable('Comment', 'a.comment')|raw }}
            {{ comments|sortable('CreatedAt', 'a.createdAt')|raw }}
            Actions

	{% for comment in comments %}

            {{ comment.id }}
            {{ comment.user.username }}
            {{ comment.post.title }}
            {{ comment.comment }}
            {{ comment.createdAt }}

                {{ 'Edit'|trans }}
		{{ 'Delete'|trans }}

	{% endfor %}

    {{ comments|paginate }}
{% endblock %}

Delete add comment button from admin

{% extends 'AppAdminBundle::layout.html.twig' %}

{% block body %}

            {{ comments|sortable('Id', 'a.id')|raw }}
            User
            Article
            {{ comments|sortable('Comment', 'a.comment')|raw }}
            {{ comments|sortable('CreatedAt', 'a.createdAt')|raw }}
            Actions

	{% for comment in comments %}

            {{ comment.id }}
            {{ comment.user.username }}
            {{ comment.post.title }}
            {{ comment.comment }}
            {{ comment.createdAt }}

                {{ 'Edit'|trans }}
		{{ 'Delete'|trans }}

	{% endfor %}

    {{ comments|paginate }}
{% endblock %}


{% extends'InsaLanBundle::layout.html.twig' %}

{% block title %}
  {{ parent() }} - Maintenance !
{% endblock %}

{% block body %}

Maintenance en cours...

Erreur 503 - Service indisponible

Le site est indisponible pour le moment.

    Ne vous inquiétez pas, vous pouvez toujours nous suivre via Facebook ou Twitter !

    Si vous rencontrez la moindre difficulté, vous pouvez contacter l'administrateur

{% endblock %}


.container {
    max-width: auto;
    margin: 0;
    padding: 0;
}
.container .container {
    padding: 0;
}

.exception-summary {
    background: var(--base-0);
    border: var(--border);
    box-shadow: 0 0 1px rgba(128, 128, 128, .2);
    margin: 1em 0;
    padding: 10px;
}
.exception-summary.exception-without-message {
    display: none;
}

.exception-message {
    color: var(--color-error);
}

.exception-metadata,
.exception-illustration {
    display: none;
}

.exception-message-wrapper .container {
    min-height: auto;
}

Fix the values of some CSS properties

.container {
    max-width: none;
    margin: 0;
    padding: 0;
}
.container .container {
    padding: 0;
}

.exception-summary {
    background: var(--base-0);
    border: var(--border);
    box-shadow: 0 0 1px rgba(128, 128, 128, .2);
    margin: 1em 0;
    padding: 10px;
}
.exception-summary.exception-without-message {
    display: none;
}

.exception-message {
    color: var(--color-error);
}

.exception-metadata,
.exception-illustration {
    display: none;
}

.exception-message-wrapper .container {
    min-height: unset;
}


<form id="search-form" action="{{ path('search') }}" method="GET" {{ form_enctype(searchForm) }} autocomplete="off">

<input class="submit" type="submit" value="Search" />

        {{ form_errors(searchForm.query) }}
        {{ form_widget(searchForm.query, {'attr': {'autocomplete': 'off', 'placeholder': 'Search packages...'}}) }}
        {{ form_rest(searchForm) }}

</form>

Add tabindex to search field

<form id="search-form" action="{{ path('search') }}" method="GET" {{ form_enctype(searchForm) }} autocomplete="off">

<input class="submit" type="submit" value="Search" />

        {{ form_errors(searchForm.query) }}
        {{ form_widget(searchForm.query, {'attr': {'autocomplete': 'off', 'placeholder': 'Search packages...', 'tabindex': 1}}) }}
        {{ form_rest(searchForm) }}

</form>


{# Contains the Client Registration Form #}
{% extends "::base.html.twig" %}

Add stub for client registration form.

{# Contains the Client Registration Form #}
{% extends "::base.html.twig" %}

{% block title %}
    Client Registration | MsOAuth 2.0
{% endblock %}

{% block body %}

{% endblock %}


© {{ "now"|date("Y") }}, korobi.io team –
 Korobi/Web ({{ gitInfo.getShortHash() }}) on {{ gitInfo.getBranch() }} –

            {% spaceless %}
                {% for item in navigation.getFooter() %}
                    {{ nav.nav_link(item) }}
                {% endfor %}
            {% endspaceless %}
            {% if not app.user %}

Login

            {% else %}

Logout

            {% endif %}

Remove theme link from footer

© {{ "now"|date("Y") }}, korobi.io team –
 Korobi/Web ({{ gitInfo.getShortHash() }}) on {{ gitInfo.getBranch() }}

            {% spaceless %}
                {% for item in navigation.getFooter() %}
                    {{ nav.nav_link(item) }}
                {% endfor %}
            {% endspaceless %}
            {% if not app.user %}

Login

            {% else %}

Logout

            {% endif %}


            <button type="button" class="btn btn-success" data-dismiss="modal">
                {{ ('open_orchestra_backoffice.modal.close') | trans() }}
            </button>
            <% if (typeof actionButtons != 'undefined') { %>
            <%= actionButtons %>
            <% } %>

<%= title %>

<%= html %>

Change modal close button style

            <button type="button" class="btn btn-default" data-dismiss="modal">
                {{ ('open_orchestra_backoffice.modal.close') | trans() }}
            </button>
            <% if (typeof actionButtons != 'undefined') { %>
            <%= actionButtons %>
            <% } %>

<%= title %>

<%= html %>


{% extends "ProjectAppBundle::layout.html.twig" %}

{% block content %}

      Ajouter un module

        {% if modulesList %}
            {% for module in modulesList %}

                        {{ module.name }}

		      {% if module.lessons|length <= 0 %}
		      Aucun cours n'est actuellement prévue pour ce module.
		      {% else %}
		      Cours prévues :

			      Date
			      Action

			  {% for lesson in module.lessons %}

			    Du {{ lesson.startDate|date('d/m/Y à H:i') }} au {{ lesson.endDate|date('d/m/Y à H:i') }}

			      Annuler le cours

			  {% endfor %}

		      {% endif %}

            {% endfor %}
        {% endif %}

{% endblock %}

Add speaker information to lessons list in module page

{% extends "ProjectAppBundle::layout.html.twig" %}

{% block content %}

      Ajouter un module

        {% if modulesList %}
            {% for module in modulesList %}

                        {{ module.name }}

		      {% if module.lessons|length <= 0 %}
		      Aucun cours n'est actuellement prévue pour ce module.
		      {% else %}
		      Cours prévues :

			      Date
			      Intervenant

			  {% for lesson in module.lessons %}

			    Du {{ lesson.startDate|date('d/m/Y à H:i') }} au {{ lesson.endDate|date('d/m/Y à H:i') }}
			    {{ lesson.speaker.user.username }} {{ lesson.speaker.user.surname }}

			  {% endfor %}

		      {% endif %}

            {% endfor %}
        {% endif %}

{% endblock %}


{% extends 'form_div_layout.html.twig' %}

{% block file_widget %}
    {% spaceless %}

        {{ block('form_widget') }}
        {% if image_url is not null %}
            <img src="{{ asset(image_url) }}"/>
        {% endif %}

    {% endspaceless %}
{% endblock %}


@name = calendar_invitation_uninvite
@entityName = Oro\Bundle\CalendarBundle\Entity\CalendarEvent
@subject = Removed: {{ entity.title }}
@isSystem = 1
@isEditable = 1

{{ entity.calendar.owner|oro_format_name|default('N/A') }} has removed you from {{ entity.title }}.

{{ entity.title }}

Start date: {{ entity.start|date('F j, Y, g:i A') }}

End date: {{ entity.end|date('F j, Y, g:i A') }}

Description:{{ entity.description }}

Add event listener to handle email notifications - fixed uninvite template

@name = calendar_invitation_uninvite
@entityName = Oro\Bundle\CalendarBundle\Entity\CalendarEvent
@subject = Removed: {{ entity.title }}
@isSystem = 1
@isEditable = 1

You have been removed from {{ entity.title }}.

{{ entity.title }}

Start date: {{ entity.start|date('F j, Y, g:i A') }}

End date: {{ entity.end|date('F j, Y, g:i A') }}

Description:{{ entity.description }}


    {% for mainItem in navigation %}
        {% for subItem in mainItem.children if mainItem.active %}

                {{ subItem.label }}

            {% if subItem.children is defined and subItem.active %}

                    {% for item in subItem.children %}

                            {{ item.label }}

                    {% endfor %}

            {% endif %}
        {% endfor %}
    {% endfor %}

Use locale for menu items so the correct translation is shown

    {% for mainItem in navigation %}
        {% for subItem in mainItem.children if mainItem.active %}

                {{ ('lbl.'~subItem.label)|trans|capitalize }}

            {% if subItem.children is defined and subItem.active %}

                    {% for item in subItem.children %}

                            {{ ('lbl.'~item.label)|trans|capitalize }}

                    {% endfor %}

            {% endif %}
        {% endfor %}
    {% endfor %}


{% extends '../CommonAdmin/DeleteAction/DeleteBuilderAction.php.twig' %}
{% block process -%}
    protected function process($id)
    {
        $dm = $this->getDoctrine()->getDocumentManager();

        ${{ builder.ModelClass }} = $dm
             ->getRepository('{{ model }}')
             ->findOneById($id);

        if (!${{ builder.ModelClass }}) {
            throw new \InvalidArgumentException("No {{ model }} found on id : $id");
        }

        $dm->remove(${{ builder.ModelClass }});
        $dm->flush();
        $dm->clear();
    }
{% endblock %}

Fix bad copy paste for delete

{% extends '../CommonAdmin/DeleteAction/DeleteBuilderAction.php.twig' %}
{% block process -%}
    protected function process($id)
    {
        $dm = $this->getDocumentManager();

        ${{ builder.ModelClass }} = $dm
             ->getRepository('{{ model }}')
             ->findOneById($id);

        if (!${{ builder.ModelClass }}) {
            throw new \InvalidArgumentException("No {{ model }} found on id : $id");
        }

        $dm->remove(${{ builder.ModelClass }});
        $dm->flush();
        $dm->clear();
    }
{% endblock %}


{% extends 'MunicipalesBundle:theme:layout.html.twig' %}

{% block title %}{{ 'candidate.html_title'|trans }}{% endblock %}

{% form_theme form _self %}

{% block checkbox_widget %}
{% spaceless %}
<input type="checkbox" style="width:25px" {{ block('widget_attributes') }}{% if value is defined %} value="{{ value }}"{% endif %}{% if checked %} checked="checked"{% endif %} />
{% endspaceless %}
{% endblock checkbox_widget %}

{% block content %}

{{ 'candidate.h1_title'|trans }}

{{ 'candidate.final_step.end'|trans }}

{% endblock %}

Remove useless code in final step candidate

{% extends 'MunicipalesBundle:theme:layout.html.twig' %}

{% block title %}{{ 'candidate.html_title'|trans }}{% endblock %}

{% block content %}

{{ 'candidate.h1_title'|trans }}

{{ 'candidate.final_step.end'|trans }}

{% endblock %}


{% import 'OroUIBundle::macros.html.twig' as macros %}
{% import 'OroLocaleBundle::macros.html.twig' as Locale %}
{% import 'OroTagBundle::macros.html.twig' as _tag %}

{# TODO: Move this to OroUIBundle::macros.html.twig #}
{% macro renderRow(label, value) %}
    {% import 'OroUIBundle::macros.html.twig' as macros %}
    {{ macros.renderAttribute(label, '
' ~ value|default('N/A'|trans) ~ '
') }}
{% endmacro %}

        {% if dynamic|length %}
            {% for label, item in dynamic %}
                {{ _self.renderRow(label|trans, item) }}
            {% endfor %}
        {% endif %}

Unify all view pages - removed useless macro

{% import 'OroUIBundle::macros.html.twig' as ui %}
{% import 'OroLocaleBundle::macros.html.twig' as Locale %}
{% import 'OroTagBundle::macros.html.twig' as _tag %}

        {% if dynamic|length %}
            {% for label, item in dynamic %}
                {{ ui.renderProperty(label|trans, item) }}
            {% endfor %}
        {% endif %}


<!doctype html>

        {% block radrest_content %}
        {% endblock %}


{% import 'Core/Layout/Templates/Alerts.html.twig' as alerts %}

{{ 'msg.ChangeEmail'|trans|ucfirst }}

  {% if updateEmailSuccess %}
    {{ alerts.alert('success', 'msg.UpdateEmailIsSuccess'|trans) }}
  {% endif %}
  {% if updateEmailHasFormError %}
    {{ alerts.alert('danger', 'err.FormError'|trans) }}
  {% endif %}

  {% form updateEmail %}
    <fieldset>

        {{ 'lbl.Password'|trans|ucfirst }}*

          {% form_field_error password %}
          {% form_field password %}

        {{ 'lbl.Email'|trans|ucfirst }}*

          {% form_field_error email %}
          {% form_field email %}

        <input class="btn btn-primary" type="submit" value="{{ 'lbl.Save'|trans|ucfirst }}" />

    </fieldset>
  {% endform %}

Put the error below the field everywhere

{% import 'Core/Layout/Templates/Alerts.html.twig' as alerts %}

{{ 'msg.ChangeEmail'|trans|ucfirst }}

  {% if updateEmailSuccess %}
    {{ alerts.alert('success', 'msg.UpdateEmailIsSuccess'|trans) }}
  {% endif %}
  {% if updateEmailHasFormError %}
    {{ alerts.alert('danger', 'err.FormError'|trans) }}
  {% endif %}

  {% form updateEmail %}
    <fieldset>

        {{ 'lbl.Password'|trans|ucfirst }}*

          {% form_field password %}
          {% form_field_error password %}

        {{ 'lbl.Email'|trans|ucfirst }}*

          {% form_field email %}
          {% form_field_error email %}

        <input class="btn btn-primary" type="submit" value="{{ 'lbl.Save'|trans|ucfirst }}" />

    </fieldset>
  {% endform %}


{% extends 'Default/base.html.twig' %}

{% block body %}

This is a private repository.

    {% if packages_conf.contact_email is not empty %}

If you should have access, contact us.
      {{ packages_conf.contact_email }}

    {% endif %}
{% endblock %}

Add button to view package listing

{% extends 'Default/base.html.twig' %}

{% block body %}

This is a private repository.

    {% if packages_conf.contact_email is not empty %}

If you should have access, contact us.
      {{ packages_conf.contact_email }}

    {% endif %}
    Available Packages
{% endblock %}


{% extends "forms/field.html.twig" %}

{% block input_attributes %}
    type="range"
    {{ parent() }}
{% endblock %}

Add min and max to range

{% extends "forms/field.html.twig" %}

{% block input_attributes %}
    type="range"
    {% if field.validate.min %}min="{{ field.validate.min }}"{% endif %}
    {% if field.validate.max %}max="{{ field.validate.max }}"{% endif %}
    {{ parent() }}
{% endblock %}