{% extends 'WizadSettingsBundle:Settings:layout.html.twig' %}

{% block wizad_setting_content %}

<div class="pull-right">
    <form action="{{ path('wizad_settings_export') }}" method="post">
        <button type="submit">Export</button>
    </form>
</div>

<form action="{{ form.vars.action }}" method="{{ form.vars.method }}" class="form-horizontal">

    {% include 'WizadSettingsBundle:Settings:_innerForm.html.twig' with {'form': form, 'settings': settings} only %}

    {% include 'WizadSettingsBundle:Settings:_buttonForm.html.twig' with {'form': form, 'settings': settings} only %}

</form>

{% endblock %}

Add small menu on edit layout to access import and export features

{% extends 'WizadSettingsBundle:Settings:layout.html.twig' %}

{% block wizad_setting_content %}

{% trans %}Import{% endtrans %}

{% trans %}Export{% endtrans %}

<form action="{{ form.vars.action }}" method="{{ form.vars.method }}" class="form-horizontal">

    {% include 'WizadSettingsBundle:Settings:_innerForm.html.twig' with {'form': form, 'settings': settings} only %}

    {% include 'WizadSettingsBundle:Settings:_buttonForm.html.twig' with {'form': form, 'settings': settings} only %}

</form>

{% endblock %}


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

{% block title %}CrewCall Dashboard{% endblock %}
{% block body %}

{% set colcount = 0 %}

  {% for dash in dashboarder.dashboards(app.user) %}
      {% set colcount = colcount + dash.cols %}
      {% if colcount > 12 %}
          {% set colcount = dash.cols %}

      {% endif %}
      {% if dash.no_start is not defined %}

      {% endif %}
      {{ dash.content | raw }}
      {% if dash.no_end is not defined %}

      {% endif %}
  {% endfor %}

{% endblock %}

Add a "divclass" options if you want to decorate the dashies a bit.


{{banner.acf_banner_title}}

{% if banner.acf_banner_link %}{% endif %}

{% if banner.acf_banner_link %}{% endif %}

{{TimberImage(banner.acf_banner_image).caption}}

Use responsive picture markup for image

{{banner.acf_banner_title}}

  {% if banner.acf_banner_link %}{% endif %}
    {% set image = TimberImage(banner.acf_banner_image).src %}
    {{ function('create_resp_picture', 0, [], false, [
      [image|resize(360), image|resize(720), 768],
      [image|resize(738), image|resize(1476)] ], image|resize(360), banner.acf_banner_image.alt) }}
  {% if banner.acf_banner_link %}{% endif %}

{{TimberImage(banner.acf_banner_image).caption}}


<!doctype html>
<html {{site.language_attributes}}>
<head>
  <meta charset="utf-8">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  {{function('wp_head')}}

Add Google Verification meta tag

<!doctype html>
<html {{site.language_attributes}}>
<head>
  <meta charset="utf-8">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="google-site-verification" content="3Nr9_c7au_4dxBVv_o4IizQRb44RHbykPcBXTRFqIVg" />
  {{function('wp_head')}}


    {% for journal in transactions %}

            {{ journal|typeIcon }}

            {{ journal.description }}

    {{ journal|formatJournal }}

    {% endfor %}

Make opening balance not click-able.


{% trans_default_domain 'admin' %}

{% set route_params = {(association_param): parent_id} %}

{% if index_link %}

        {{ (translation_prefix ~ 'action.index.link')|trans }} ({{ children_count }})

{% endif %}
{% if new_link %}

        {{ (translation_prefix ~ 'action.new.link')|trans }}

{% endif %}

Check if route exists in child links view widget.

{% trans_default_domain 'admin' %}

{% set route_params = {(association_param): parent_id} %}

{% if index_link and admin_route_exists(child_class, 'index') %}

        {{ (translation_prefix ~ 'action.index.link')|trans }} ({{ children_count }})

{% endif %}
{% if new_link and admin_route_exists(child_class, 'new') %}

        {{ (translation_prefix ~ 'action.new.link')|trans }}

{% endif %}


{% 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 small issue on encoding

{% if postgresql.root %}
class { 'postgresql':
  charset => 'UTF8',
  locale  => 'en_US.UTF-8',
}->
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 #}


{#

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.

#}

{%- apply spaceless %}
    {%- if value is empty -%}

    {%- else -%}
        {% set options = field_description.options %}
        <time datetime="{{ value|date('c', 'UTC') }}" title="{{ value|date('c', 'UTC') }}">
            {{ value|date(options.format|default(null), options.timezone|default(null)) }}
        </time>
    {%- endif -%}
{% endapply -%}

Fix error when showing revision list with strict variables enabled

{#

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.

#}

{%- apply spaceless %}
    {%- if value is empty -%}

    {%- else -%}
        {% set options = field_description.options|default(null) %}
        <time datetime="{{ value|date('c', 'UTC') }}" title="{{ value|date('c', 'UTC') }}">
            {{ value|date(options.format|default(null), options.timezone|default(null)) }}
        </time>
    {%- endif -%}
{% endapply -%}


        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>

Add Project

    <form method="post" action="/project/create">

            Repository URL
            <input id="repo_url" name="repo" required type="text" placeholder="git@github.com:romhut/criterion" class="span7">

            <button type="submit" class="btn btn-primary">Create</button>

    </form>

Change create project button class

        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>

Add Project

    <form method="post" action="/project/create">

            Repository URL
            <input id="repo_url" name="repo" required type="text" placeholder="git@github.com:romhut/criterion" class="span7">

            <button type="submit" class="btn btn-success">Create</button>

    </form>


{% set view_settings = {} %}

{# Set view settings from header. #}
{% if header.view %}
    {% set view_settings = header.view %}
{% endif %}

{# Set view settings from page. #}
{% if page.header.view %}
    {% set view_settings = view_settings|merge(page.header.view) %}
{%  endif %}

{# Set view settings from plugin config. #}
{% set config = config.get('plugins.view') %}
{% if config.header.view %}
    {% set view_settings = view_settings|merge(config.header.view) %}
{% endif %}

{# Set view #}
{% set params = header.view.params|default('content') %}
{% set pagination = header.view.pagination|default(false) %}
{% set view = page.find(header.view.page).collection(params, pagination) %}

{# Output view #}
{% if view and view_settings.template %}
    {% include ((view_settings.template ~ '.html.twig')) with {'view': view, 'context': page} %}
{% endif %}

Fix default template vars merge

{% set view_settings = {} %}

{# Set view settings from plugin config. #}
{% set config = config.get('plugins.view') %}
{% if config.header.view %}
    {% set view_settings = view_settings|merge(config.header.view) %}
{% endif %}

{# Set view settings from page. #}
{% if page.header.view %}
    {% set view_settings = view_settings|merge(page.header.view) %}
{%  endif %}

{# Set view settings from header. #}
{% if header.view %}
    {% set view_settings = view_settings|merge(header.view) %}
{% endif %}

{# Set view #}
{% set params = header.view.params|default('content') %}
{% set pagination = header.view.pagination|default(false) %}
{% set view = page.find(header.view.page).collection(params, pagination) %}

{# Output view #}
{% if view and view_settings.template %}
    {% include ((view_settings.template ~ '.html.twig')) with {'view': view, 'context': page} %}
{% endif %}


    <form name="search" method="get" action="{{ path(route) }}">

            {{ form_widget(form.search) }}

            {{ form_widget(form.priceStart, {horizontal_input_wrapper_class: 'col-sm-3', attr: {
                min: 1,
                class: 'form-control',
                placeholder: 'Start from'
            }}) }}

            {{ form_widget(form.priceEnd, {horizontal_input_wrapper_class: 'col-sm-3', attr: {
                min: 1,
                class: 'form-control',
                placeholder: 'End to'
            }}) }}

            {{ form_widget(form.sort, {horizontal_input_wrapper_class: 'col-sm-3'}) }}

            <input class="btn btn-primary" type="submit" value="Search" />

    </form>

    {% include 'SonataDatagridBundle:Search:pager.html.twig' %}

    {% for product in results %}

            {% include 'SonataProductBundle:Catalog:_product_grid.html.twig' %}

    {% endfor %}

Switch all templates references to Twig namespaced syntax

    <form name="search" method="get" action="{{ path(route) }}">

            {{ form_widget(form.search) }}

            {{ form_widget(form.priceStart, {horizontal_input_wrapper_class: 'col-sm-3', attr: {
                min: 1,
                class: 'form-control',
                placeholder: 'Start from'
            }}) }}

            {{ form_widget(form.priceEnd, {horizontal_input_wrapper_class: 'col-sm-3', attr: {
                min: 1,
                class: 'form-control',
                placeholder: 'End to'
            }}) }}

            {{ form_widget(form.sort, {horizontal_input_wrapper_class: 'col-sm-3'}) }}

            <input class="btn btn-primary" type="submit" value="Search" />

    </form>

    {% include '@SonataDatagrid/Search/pager.html.twig' %}

    {% for product in results %}

            {% include '@SonataProduct/Catalog/_product_grid.html.twig' %}

    {% endfor %}


{% include 'partials/header.twig' %}

Web Development

    {% include 'partials/home/servers.twig'  %}
    {% include 'partials/home/tools.twig'  %}
    {% include 'partials/home/projects.twig' %}
    {% include 'partials/home/vhosts.twig' %}

{% include 'partials/footer.twig' %}

Add version on home page

{% include 'partials/header.twig' %}

Web Development (2.2)

    {% include 'partials/home/servers.twig'  %}
    {% include 'partials/home/tools.twig'  %}
    {% include 'partials/home/projects.twig' %}
    {% include 'partials/home/vhosts.twig' %}

{% include 'partials/footer.twig' %}


Set the external referrer on the faces profile link


{% extends '@FSiAdmin/List/list.html.twig' %}

{% block top_buttons %}
    {% if element.option('allow_add') == true %}

            {{ 'crud.list.button.create'|trans({}, 'FSiAdminBundle') }}

    {% endif %}
{% endblock top_buttons %}

{% block bottom_buttons %}
    {% block buttons %}
        {% if element.option('allow_add') == true %}

                {{ 'crud.list.button.create'|trans({}, 'FSiAdminBundle') }}

        {% endif %}
    {% endblock buttons %}
{% endblock bottom_buttons %}

Use admin element to generate path to create action


{% extends '/app/views/layout.html.twig' %}

{% block pageTitle %}{{ subject }} - Externals{% endblock %}

{% block content %}

            {{ subject }}

    {% for email in emails %}

                Posted by {{ email.from.nameOrEmail }} {{ email.date|time_diff }}

            {{ email.content|raw }}

    {% endfor %}

{% endblock %}

Add full date on hover


<!DOCTYPE html>

        <meta charset="UTF-8" />
        <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 %}

        {% block javascripts %}

        {% endblock %}

Add link to homepage on title


{% extends 'VlRadRestBundle:Default:skeleton.html.twig' %}
{% block radrest_content %}

List

        {% if data|length > 0 %}

              {% set keys = ['objectClass', 'objectId', 'action', 'username', 'loggedAt'] %}

                {% for name in keys %}
                  {{ name|humanize }}
                {% endfor %}
                Actions

              {% for obj in data %}

                  {% for key in keys %}
                    {{ attribute(obj, key)|radrest_object_stringify }}
                  {% endfor %}

                    {% include 'VlRadRestBundle:Default:cget_links.html.twig' with {obj: obj, controller: controller } only %}

              {% endfor %}

        {% endif %}

        {{ knp_pagination_render(data, "", {"media_type": null}) }}

{% endblock %}

Add link to target object in audit log list

{% extends 'VlRadRestBundle:Default:skeleton.html.twig' %}
{% block radrest_content %}

{{ icon('heartbeat') }} Audit log

        {% if data|length > 0 %}

              {% set keys = ['objectClass', 'objectId', 'action', 'username', 'loggedAt'] %}

                {% for name in keys %}
                  {{ name|humanize }}
                {% endfor %}
                Actions

              {% for obj in data %}

                  {% for key in keys %}
                    {{ attribute(obj, key)|radrest_object_stringify }}
                  {% endfor %}

                      {{ icon('eye') }} View
                      {{ icon('link') }} Go to target

              {% endfor %}

        {% endif %}

        {{ knp_pagination_render(data, "", {"media_type": null}) }}

{% endblock %}


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

{% block javascripts %}
    {% do assets.addJs('plugin://shoppingcart/js/lib/store.min.js') %}
    {% do assets.addJs('plugin://shoppingcart/js/shoppingcart.js') %}
    {% do assets.addJs('plugin://shoppingcart/js/shoppingcart_cart.js') %}
    {% do assets.addJs('plugin://shoppingcart/js/shoppingcart_cart_events.js') %}
{% endblock %}

{% block footer %}
    {{ parent() }}
{% endblock %}

{% block header_extra %}
    {% include 'partials/shoppingcart_cart.html.twig' %}
{% endblock %}

{% block content %}
    {% if config.plugins.breadcrumbs.enabled %}
        {% include 'partials/breadcrumbs.html.twig' ignore missing %}
    {% endif %}
{% endblock %}

Fix adding JS, include parent JS

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

{% block javascripts %}
    {{ parent() }}
    {% do assets.addJs('plugin://shoppingcart/js/lib/store.min.js') %}
    {% do assets.addJs('plugin://shoppingcart/js/shoppingcart.js') %}
    {% do assets.addJs('plugin://shoppingcart/js/shoppingcart_cart.js') %}
    {% do assets.addJs('plugin://shoppingcart/js/shoppingcart_cart_events.js') %}
{% endblock %}

{% block footer %}
    {{ parent() }}
{% endblock %}

{% block header_extra %}
    {% include 'partials/shoppingcart_cart.html.twig' %}
{% endblock %}

{% block content %}
    {% if config.plugins.breadcrumbs.enabled %}
        {% include 'partials/breadcrumbs.html.twig' ignore missing %}
    {% endif %}
{% endblock %}


Find a Dojo

      <form method="post">

        <input type="text" name="find-dojo" id="find-dojo-text"/>
        <button type="submit">Search</button>
      </form>

Fix find a dojo left align on centered search input

      <form method="post">

        Find a Dojo

        <input type="text" name="find-dojo" id="find-dojo-text"/>
        <button type="submit">Search</button>

      </form>


{{ cta_title }}

					{% if ctas %}
						{% for item in ctas %}
						    	{% include '@molecules/02-blocks/20-photo-cta-item.twig' with {
							    	"text" : item.text,
							    	"link_label" : item.link_label,
							    	"link_href" : item.link_href
							    } %}
						{% endfor %}
					{% endif %}

Edit blocks ~ used for the drupal build

{% block label %}

{{ cta_title }}

{% endblock %}

					{% block content %}
						{% if ctas %}
							{% for item in ctas %}
							    	{% include '@molecules/02-blocks/20-photo-cta-item.twig' with {
								    	"text" : item.text,
								    	"link_label" : item.link_label,
								    	"link_href" : item.link_href
								    } %}
							{% endfor %}
						{% endif %}
					{% endblock %}


{# slate
  name = <%= ComponentName %>
  models[<%= entityType %>] = entity:<%= entityType %><% if (useViewMode) { %>
  view_mode[<%= entityType %>][<%= bundle %>] = <%= viewMode %><% } %>
#}

<div class="<%= ComponentName %>">

</div>

Structure models setting in slate info after lates slate module

{# slate
  name = <%= ComponentName %>
  models[<%= bundle %>] = entity:<%= entityType %><% if (useViewMode) { %>
  view_mode[<%= entityType %>][<%= bundle %>] = <%= viewMode %><% } %>
#}

<div class="<%= ComponentName %>">

</div>


{% set _layout = easyadminpopup_layout() %}

{% extends _layout %}

{% block body %}

        {% block wrapper %}

            {% block content %}

                        {% block content_header %}

{% block content_title %}{% endblock %}

                        {% endblock content_header %}

                        {% block main %}{% endblock %}

            {% endblock content %}

        {% endblock wrapper %}

    {% block body_javascript %}

    {% endblock body_javascript %}
    {% for js_asset in easyadmin_config('design.assets.js') %}

    {% endfor %}

{% endblock body %}

Remove the content id to get the full display


                {% if pagination.prev_page is defined %}

                         Previous

                {% else %}

                         Previous

                {% endif %}

Page {{ page }}

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

                        Next

                {% else %}

                        Next

                {% endif %}

Make pagination work when listing events by tag JOINDIN-504


Derniers billets du blog

{% for post in site.pages|filterBy('section', 'blog')|sortByDate|slice(0, 10) %}

{{ post.title }}

{% endfor %}

Reduce list of last posts (10 to 5).

Derniers billets du blog

{% for post in site.pages|filterBy('section', 'blog')|sortByDate|slice(0, 5) %}

{{ post.title }}

{% endfor %}


{{ 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.color) }}
                {{ form_row(form.themeName) }}

            {{ form_row(form.locales) }}
            {{ form_row(form.currencies) }}
            {{ form_row(form.shippingMethods) }}
            {{ form_row(form.paymentMethods) }}
            {{ form_row(form.defaultTaxZone) }}
            {{ form_row(form.taxCalculationStrategy) }}

Fix Behat scenarios after currency refactoring

{{ 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.color) }}
                {{ form_row(form.themeName) }}

            {{ form_row(form.locales) }}
            {{ form_row(form.defaultLocale) }}
            {{ form_row(form.currencies) }}
            {{ form_row(form.defaultCurrency) }}
            {{ form_row(form.shippingMethods) }}
            {{ form_row(form.paymentMethods) }}
            {{ form_row(form.defaultTaxZone) }}
            {{ form_row(form.taxCalculationStrategy) }}


{% extends '@pulsar/quantum/layouts/base.html.twig' %}
{% import 'pulsar/helpers/html.html.twig' as html %}
{% import 'pulsar/helpers/form.html.twig' as form %}
{% import 'pulsar/helpers/flash.html.twig' as flash %}

{% block content %}

	{%
	    set example_dropdown = [
	        html.link(label = html.icon('print') ~ ' Print'),
	        html.divider(),
	        html.link(
	          label = html.icon('download-alt') ~ ' Download evidence bundle (.zip)',
	          class = 'js-evidence-download has-popover'
	        ),
	        html.divider(),
	        html.link(label = html.icon('trash') ~ ' Delete', href = '#', class = 'link--danger')
	    ]
	%}
	{{
		html.button_dropdown(
			label = 'Actions',
			menu_items = example_dropdown,
			open = true
		)
	}}

The evidence bundle is being created, large bundles may take some time to create.

		{{ html.button(label = html.icon('bell') ~ ' Notify Me When it‘s Ready') }}

{% endblock %}

Set download example to show loading state

{% extends '@pulsar/quantum/layouts/base.html.twig' %}
{% import 'pulsar/helpers/html.html.twig' as html %}
{% import 'pulsar/helpers/form.html.twig' as form %}
{% import 'pulsar/helpers/flash.html.twig' as flash %}

{% block content %}

	{%
	    set example_dropdown = [
	        html.link(label = html.icon('print') ~ ' Print'),
	        html.divider(),
	        html.link(
	          label = html.icon('download-alt') ~ ' Creating evidence bundle (.zip)',
	          class = 'js-evidence-download has-popover',
	          progress = 25
	        ),
	        html.divider(),
	        html.link(label = html.icon('trash') ~ ' Delete', href = '#', class = 'link--danger')
	    ]
	%}
	{{
		html.button_dropdown(
			label = 'Actions',
			menu_items = example_dropdown,
			open = true
		)
	}}

The evidence bundle is being created, large bundles may take some time to create.

		{{ html.button(label = html.icon('envelope-alt') ~ ' Email Me When it‘s Ready') }}

{% endblock %}


{{ 'published_at'|trans({'%date%': article.publishedAt|date("d/m/Y")}) }}

        {{ article.title }}

{{ article.content|truncate(120) }}

        {{ 'share'|trans }}
        {{ 'read'|trans }}

Fix (Article): Cancel fire event for click action


    {% set stepsCount = steps|length %}
    {% if stepsCount > 0 %}

            {% set isProcessed = true %}
            {% for step in steps %}
                {% set isCurrent = currentStep and step.name == currentStep.name %}

                    {{ step.label|trans }}

                {% if isCurrent %}
                    {% set isProcessed = false %}
                {% endif %}
            {% endfor %}

    {% endif %}

Hide steps widget if there is only one step

    {% set stepsCount = steps|length %}
    {% set minStepsCount = 1 %}
    {% if stepsCount > minStepsCount %}

            {% set isProcessed = true %}
            {% for step in steps %}
                {% set isCurrent = currentStep and step.name == currentStep.name %}

                    {{ step.label|trans }}

                {% if isCurrent %}
                    {% set isProcessed = false %}
                {% endif %}
            {% endfor %}

    {% endif %}


{% set config = get_config() %}
{% set project = get_project_informations() %}

{% if config.showDebugStaticNav %}

        {% if project.templates %}

                [ Templates ]

        {% endif %}
        {% for page in get_static_pages() %}
            {% if loop.index == 0 or not project.templates %}
                {% set styles = 'display: inline-block; vertical-align: middle;' %}
            {% else %}
                {% set styles = 'display: inline-block; vertical-align: middle; margin-left: 15px;' %}
            {% endif %}

                {{ page|replace({'.html': ''}) }}

        {% endfor %}

{% endif %}

Update debug_static_nav display without templates

{% set config = get_config() %}
{% set project = get_project_informations() %}

{% if config.showDebugStaticNav %}

        {% if project.templates %}

                [ Templates ]

        {% endif %}
        {% for page in get_static_pages() %}
            {% if loop.index == 0 and not project.templates %}
                {% set styles = 'display: inline-block; vertical-align: middle;' %}
            {% else %}
                {% set styles = 'display: inline-block; vertical-align: middle; margin-left: 15px;' %}
            {% endif %}

                {{ page|replace({'.html': ''}) }}

        {% endfor %}

{% endif %}


{% form_theme form with [
'ZikulaFormExtensionBundle:Form:bootstrap_3_zikula_admin_layout.html.twig',
'ZikulaFormExtensionBundle:Form:form_div_layout.html.twig'
] %}
{% block messages %}{% endblock %}
{% block form %}
    {{ form_start(form) }}
    {{ form_widget(form) }}
    {{ form_end(form) }}
{% endblock %}

Add adminfooter and adminheader to wizard

{% form_theme form with [
'ZikulaFormExtensionBundle:Form:bootstrap_3_zikula_admin_layout.html.twig',
'ZikulaFormExtensionBundle:Form:form_div_layout.html.twig'
] %}
{{ adminHeader() }}
{% block messages %}{% endblock %}
{% block form %}
    {{ form_start(form) }}
    {{ form_widget(form) }}
    {{ form_end(form) }}
{% endblock %}
{{ adminFooter() }}


{% extends 'KunstmaanAdminBundle:Default:layout.html.twig' %}

{% block header %}{% endblock %}

{% block extracss %}
    {% stylesheets
    "@KunstmaanDashboardBundle/Resources/ui/scss/_dashboard.scss"
        output='KunstmaanDashboardBundleAssets/css/DashboardStyle.min.css'
        filter="scss"
    %}
        <link rel="stylesheet" href="{{ asset_url }}" type="text/css"/>
    {% endstylesheets %}
{% endblock %}

{% block content %}
    {% for widget in widgets %}
        {{ render_esi(url(widget.resolvedController, {'id' : id})) }}
    {% endfor %}
{% endblock %}

{% block extrajavascript %}
    {% javascripts
    '@KunstmaanDashboardBundle/Resources/ui/js/analytics/metrics.js'
    '@KunstmaanDashboardBundle/Resources/ui/js/analytics/tabs.js'
    '@KunstmaanDashboardBundle/Resources/ui/js/analytics/goals.js'
    '@KunstmaanDashboardBundle/Resources/ui/js/libs/morris-0.5.0.js'
    '@KunstmaanDashboardBundle/Resources/ui/js/libs/raphael-2.1.2.js'
    output='KunstmaanDashboardBundleAssets/js/ga-widget.js'
    %}
        <script src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock %}

Fix https render_esi dashboard problem

{% extends 'KunstmaanAdminBundle:Default:layout.html.twig' %}

{% block header %}{% endblock %}

{% block extracss %}
    {% stylesheets
    "@KunstmaanDashboardBundle/Resources/ui/scss/_dashboard.scss"
        output='KunstmaanDashboardBundleAssets/css/DashboardStyle.min.css'
        filter="scss"
    %}
        <link rel="stylesheet" href="{{ asset_url }}" type="text/css"/>
    {% endstylesheets %}
{% endblock %}

{% block content %}
    {% for widget in widgets %}
        {{ render_esi(path(widget.resolvedController, {'id' : id})) }}
    {% endfor %}
{% endblock %}

{% block extrajavascript %}
    {% javascripts
    '@KunstmaanDashboardBundle/Resources/ui/js/analytics/metrics.js'
    '@KunstmaanDashboardBundle/Resources/ui/js/analytics/tabs.js'
    '@KunstmaanDashboardBundle/Resources/ui/js/analytics/goals.js'
    '@KunstmaanDashboardBundle/Resources/ui/js/libs/morris-0.5.0.js'
    '@KunstmaanDashboardBundle/Resources/ui/js/libs/raphael-2.1.2.js'
    output='KunstmaanDashboardBundleAssets/js/ga-widget.js'
    %}
        <script src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock %}


<!DOCTYPE html>

	<meta charset="{{ site.charset }}">
	<meta http-equiv="x-ua-compatible" content="ie=edge">
	<meta name="description" content="{{ site.description }}">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<meta name="author" content="Yes We Work - http://yeswework.com/">
	{{ function('wp_head') }}

	{% block header %}

			{{ site.name }}

Main menu

					{% for item in menus.main.get_items %}

{{ item.title }}

					{% endfor %}

	{% endblock %}

	{% block content %}

	{% endblock %}

	{% block footer %}

			{{ function('wp_footer') }}

	{% endblock %}

Move Twig code with html element to attribute value


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

{% block title %}{{ 'candidacy.step_verify.html_title'|trans }}{% endblock %}

{% block content %}

{{ 'candidacy.recover_password.header'|trans }}

 {{ 'candidacy.recover_password.h1_title'|trans }}

        {{ form_start(form, { 'attr': {'class': 'form_settings'}}) }}

                      	{{ 'candidacy.recover_password.h1_subtitle'|trans }}

                      	  {% if candidacies|length > 0 %}

                      	  {% else %}
                      	  	 No hay candidaturas disponibles
                      	  {% endif %}

{% endblock %}


    {% embed 'AppBundle::_partials/panel.html.twig' with {'title': 'wall.user.title'} %}
        {% block panel_content %}

{{ 'wall.user.aboutme'|trans }}

        {% endblock %}
    {% endembed %}

Add background image support with style


{% set mlogcontext = {
            'system': 'crewcall',
            'object_name': 'person',
            'message_type': 'PersonNote',
            'state': 'UNREAD',
            'external_id': app.user.id
    }
%}

Messages to you

{% for note in sakonnin_messages.MessagesForContext(mlogcontext) %}
{% if is_granted('show', note) %}

{{ note.subject }}

{{ note.body }}

<button>Read it!</button>

{% endif %}
{% endfor %}

Add messages direct to user.

{% set mlogcontext = {
            'system': 'crewcall',
            'object_name': 'person',
            'message_type': 'PersonNote',
            'state': 'UNREAD',
            'external_id': app.user.id
    }
%}

Messages to you

{% for note in sakonnin_messages.MessagesForContext(mlogcontext) %}
{% if is_granted('show', note) %}

{{ note.subject }}

{{ note.body }}

<button>Read it!</button>

{% endif %}
{% endfor %}
{% for note in sakonnin_messages.MessagesForUser(app.user, {'state': 'UNREAD'}) %}

{{ note.subject }}

{{ note.body }}

<button>Read it!</button>

{% endfor %}


{#
   This is a template fragment designed to be included in other templates
   See https://symfony.com/doc/current/book/templating.html#including-other-templates

   A common practice to better distinguish between templates and fragments is to
   prefix fragments with an underscore. That's why this template is called
   '_flash_messages.html.twig' instead of 'flash_messages.html.twig'
#}

    {% for type, messages in app.flashes %}
        {% for message in messages %}
            {# Bootstrap alert, see http://getbootstrap.com/components/#alerts #}

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

                {{ message|trans }}

        {% endfor %}
    {% endfor %}

Fix session starting issue in symfony-demo on flash messages

{#
   This is a template fragment designed to be included in other templates
   See https://symfony.com/doc/current/book/templating.html#including-other-templates

   A common practice to better distinguish between templates and fragments is to
   prefix fragments with an underscore. That's why this template is called
   '_flash_messages.html.twig' instead of 'flash_messages.html.twig'

   We check if we have session before reading flashes as it otherwise triggers session start:
   https://symfony.com/doc/current/session/avoid_session_start.html

   TIP: With FOSHttpCache you can also adapt this to make it cache safe:
   https://foshttpcachebundle.readthedocs.io/en/latest/features/helpers/flash-message.html
#}

{% if app.request.hasPreviousSession %}

        {% for type, messages in app.flashes %}
            {% for message in messages %}
                {# Bootstrap alert, see http://getbootstrap.com/components/#alerts #}

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

                    {{ message|trans }}

            {% endfor %}
        {% endfor %}

{% endif %}


{% extends 'KunstmaanAdminBundle:Default:layout.html.twig' %}

{% block content %}
    {% if is_granted('ROLE_SUPER_ADMIN') %}

            {{ 'Edit dashboard' | trans }}

    {% endif %}

    {% if dashboardConfiguration %}

                {{ dashboardConfiguration.title }}

        {{ dashboardConfiguration.content | raw }}
    {% else %}

                {{ 'omnext.welcome' | trans | raw }}

    {% endif %}
{% endblock %}

Fix title and edit button styling of old dashboard

{% extends 'KunstmaanAdminBundle:Default:layout.html.twig' %}

{% block admin_page_title %}

        {% if dashboardConfiguration %}

                {{ dashboardConfiguration.title }}

        {% else %}

                {{ 'omnext.welcome' | trans | raw }}

        {% endif %}

{% endblock %}

{% block extra_actions_header %}
    {% if is_granted('ROLE_SUPER_ADMIN') %}

                        {{ 'Edit dashboard' | trans }}

    {% endif %}
{% endblock %}

{% block content %}
    {% if dashboardConfiguration %}

            {{ dashboardConfiguration.content | raw }}

    {% endif %}
{% endblock %}


{% set channel_is_defined = (logs|first).channel is defined %}

            Level
            {% if channel_is_defined %}Channel	{% endif %}
            Message

    {% for log in logs %}

= 400 ? 'error' : log.priority >= 300 ? 'warning' : 'normal' }}">

                {{ log.priorityName }}
                {{ log.timestamp|date('H:i:s') }}

            {% if channel_is_defined %}

                    {{ log.channel }}

            {% endif %}
            {{ log.message }}

    {% endfor %}

Fix log message formatting in exception views

{% set channel_is_defined = (logs|first).channel is defined %}

            Level
            {% if channel_is_defined %}Channel	{% endif %}
            Message

    {% for log in logs %}

= 400 ? 'error' : log.priority >= 300 ? 'warning' : 'normal' }}">

                {{ log.priorityName }}
                {{ log.timestamp|date('H:i:s') }}

            {% if channel_is_defined %}

                    {{ log.channel }}

            {% endif %}
            {{ log.message|format_log_message(log.context) }}

    {% endfor %}


{{form(form, {'attr': {'novalidate': 'novalidate'}}) }}

Add title on top of the form

Bucknell University ITEC Dashboard -- Assignment Input Form

{{form(form, {'attr': {'novalidate': 'novalidate'}}) }}


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

Hello {{ name }}!

Add blocks for title and body

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

{% block title %}

	Welcome to {{ name }}'s page!

{% endblock %}

{% block body %}

	Hello {{ name }}!

{% endblock %}


{# src/RCloud/Bundle/UserBundle/Resources/views/Security/login.html.twig #}

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

{% trans_default_domain 'FOSUserBundle' %}

{% block fos_user_content %}
    {% if error %}

{{ error|trans }}

    {% endif %}

    <form action="{{ path("fos_user_security_check") }}" method="post">
        <input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />

            {{ 'security.login.username'|trans }}
            <input type="text" id="username" name="_username" value="{{ last_username }}" required="required" />

            {{ 'security.login.password'|trans }}
            <input type="password" id="password" name="_password" required="required" />

            <input type="checkbox" id="remember_me" name="_remember_me" value="on" />
            {{ 'security.login.remember_me'|trans }}

            <input type="submit" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans }}" />

    </form>
{% endblock %}

Add register link on login page

{# src/RCloud/Bundle/UserBundle/Resources/views/Security/login.html.twig #}

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

{% trans_default_domain 'FOSUserBundle' %}

{% block fos_user_content %}
    {% if error %}

{{ error|trans }}

    {% endif %}

    <form action="{{ path("fos_user_security_check") }}" method="post">
        <input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />

            {{ 'security.login.username'|trans }}
            <input type="text" id="username" name="_username" value="{{ last_username }}" required="required" />

            {{ 'security.login.password'|trans }}
            <input type="password" id="password" name="_password" required="required" />

            <input type="checkbox" id="remember_me" name="_remember_me" value="on" />
            {{ 'security.login.remember_me'|trans }}

            <input type="submit" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans }}" />

    </form>

        Register

{% endblock %}


{% trans_default_domain translationDomain %}

{% include 'AppBundle:Components/Page:_page-section-description.html.twig' with {
transDomain: translationDomain,
pageSectionDescription: 'page.pageSectionDescription'
} %}

{% block validationSummary %}
    {{ form_errors_list(form) }}
{% endblock %}

{{ form_start(form, {attr: {novalidate: 'novalidate',class: 'single-texta-area' }}) }}

{{ form_input(form.furtherInformation, 'form.furtherInformation', { 'labelClass': 'visuallyhidden', 'inputClass': 'expanding' }) }}

{{ form_submit(form.saveAndContinue, 'form.saveAndContinue') }}

{{ form_end(form) }}

Fix translation in further information page.

{% trans_default_domain translationDomain %}

{{ 'page.pageSectionDescription' | trans({'%client%':client.firstname}, translationDomain) }}

{% block validationSummary %}
    {{ form_errors_list(form) }}
{% endblock %}

{{ form_start(form, {attr: {novalidate: 'novalidate',class: 'single-texta-area' }}) }}

{{ form_input(form.furtherInformation, 'form.furtherInformation', { 'labelClass': 'visuallyhidden', 'inputClass': 'expanding' }) }}

{{ form_submit(form.saveAndContinue, 'form.saveAndContinue') }}

{{ form_end(form) }}


        {% if definition.actionGroups.main is defined and definition.getActions('main')|length > 0 %}
            {% for action in definition.getActions('main') if action.enabled %}
                {{ sylius_grid_render_action(resources, action, null) }}
            {% endfor %}
        {% endif %}

Add methods for getting only enabled fields, actions and filters

        {% if definition.actionGroups.main is defined %}
            {% for action in definition.getEnabledActions('main') %}
                {{ sylius_grid_render_action(resources, action, null) }}
            {% endfor %}
        {% endif %}


{% if navigation %}

    {% for nav in navigation %}

        {{ nav.navigation_title }}
        {% if nav.selected %}{{ nav.children }}{% endif %}

    {% endfor %}

{% endif %}

Fix navigation with deeper levels.

{% if navigation %}

    {% for nav in navigation %}

        {{ nav.navigation_title }}
        {% if nav.selected %}{{ nav.children|raw }}{% endif %}

    {% endfor %}

{% endif %}


/**
     * Creates a new {{ entity }} entity
     *
{% if 'annotation' == format %}
     * @Route("/", name="{{ route_name_prefix }}_create")
     * @Method("POST")
{% endif %}
     *
     * @Hydra\Operation(
     *   expect = "{{ namespace }}\Entity\{{ entity }}",
     *   status_codes = {
     *     "201" = "If the {{ entity }} entity was created successfully."
     * })
     *
     * @return {{ namespace }}\Entity\{{ entity }}
     */
    public function collectionPostAction(Request $request)
    {
        $entity = $this->deserialize($request->getContent(), '{{ namespace }}\Entity\{{ entity }}');

        if (false !== ($errors = $this->validate($entity))) {
            return $errors;
        }

        $em = $this->getDoctrine()->getManager();
        $em->persist($entity);
        $em->flush();

{% if 'entity_get' in actions %}
        $iri = $this->generateUrl('{{ route_name_prefix }}_retrieve', array('id' => $entity->getId()), true);

        $response = new JsonLdResponse(
            $this->serialize($entity),
            201,
            array('Content-Location' => $iri)
        );

        return $response;
{% else %}
        return new JsonLdResponse('', 201);
{% endif %}
    }

Set both the Location and the Content-Location header in a 201 response

/**
     * Creates a new {{ entity }} entity
     *
{% if 'annotation' == format %}
     * @Route("/", name="{{ route_name_prefix }}_create")
     * @Method("POST")
{% endif %}
     *
     * @Hydra\Operation(
     *   expect = "{{ namespace }}\Entity\{{ entity }}",
     *   status_codes = {
     *     "201" = "If the {{ entity }} entity was created successfully."
     * })
     *
     * @return {{ namespace }}\Entity\{{ entity }}
     */
    public function collectionPostAction(Request $request)
    {
        $entity = $this->deserialize($request->getContent(), '{{ namespace }}\Entity\{{ entity }}');

        if (false !== ($errors = $this->validate($entity))) {
            return $errors;
        }

        $em = $this->getDoctrine()->getManager();
        $em->persist($entity);
        $em->flush();

{% if 'entity_get' in actions %}
        $iri = $this->generateUrl('{{ route_name_prefix }}_retrieve', array('id' => $entity->getId()), true);

        $response = new JsonLdResponse(
            $this->serialize($entity),
            201,
            array('Location' => $iri, 'Content-Location' => $iri)
        );

        return $response;
{% else %}
        return new JsonLdResponse('', 201);
{% endif %}
    }


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

{% block title %}{{ 'candidacy.step3.html_title'|trans }}{% endblock %}
{% block content %}

{{ 'candidacy.step3.h1_title'|trans }}

		Plazo de presentación de candidaturas (mínimo una semana, se recomiendan 15 días) DE _(fecha)   HASTA__(fecha)

{% endblock %}

Update widgets template for step 3

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

{% block title %}{{ 'candidacy.step3.html_title'|trans }}{% endblock %}
{% block content %}

{{ 'candidacy.step3.h1_title'|trans }}

    {{ form_start(form, { 'attr': {'class': 'form_settings'}}) }}

{{ form_errors(form) }}

	{% if errors is defined and not errors is empty %}

{{ errors }}

	{% endif %}

		{{ 'candidacy.step3.explanation_date'|trans }}:

		{{ form_label(form.from, 'candidacy.step3.from_label'|trans) }}
		{{ form_errors(form.from) }}
		{{ form_widget(form.from) }}

		{{ form_label(form.to, 'candidacy.step3.to_label'|trans) }}
		{{ form_errors(form.to) }}
		{{ form_widget(form.to) }}

		{{ form_widget(form.continue, { 'label': 'candidacy.step3.continue'|trans }) }}

	{{ form_rest(form) }}

	{{ form_end(form) }}

{% endblock %}


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

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

{{ 'candidate.h1_title'|trans }}

{{ error }}

{% endblock %}

Update warning message template for step1 unknown data

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

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

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

		    </button>
		    {{ error|raw }}

{% endblock %}


{# 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>

Set 'attach' to true for raygun pulse

{# 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('attach', true);
    rg4js('enablePulse', true);
  {% endif %}
</script>


This is a test e-mail from Bolt!

    This was sent from the Bolt site with the name {{ sitename }} and the IP
    address of {{ ip }}, by the user {{ user }}

Make email check Twig template a bit nicer

This is a test e-mail from Bolt!

    This was sent from the Bolt site with the following details:

Site title	{{ sitename }}

User name	{{ user }}

IP address	{{ ip }}


{% form_theme form _self %}

{% block ckeditor_widget %}
{% spaceless %}
    <textarea {{ block('widget_attributes') }}>{{ value }}</textarea>

    <script type="text/javascript" src="{{ asset('bundles/ivoryckeditor/ckeditor.js') }}"></script>
    <script type="text/javascript">
        CKEDITOR.replace("{{ id }}",{
            toolbar: {{ toolbar | json_encode | raw }},
            {% if ui_color is not null %}
                uiColor: {{ ui_color }},
            {% endif %}
        });
    </script>
{% endspaceless %}
{% endblock %}

Destroy the ckeditor instance if it already exists

{% form_theme form _self %}

{% block ckeditor_widget %}
{% spaceless %}
    <textarea {{ block('widget_attributes') }}>{{ value }}</textarea>

    <script type="text/javascript" src="{{ asset('bundles/ivoryckeditor/ckeditor.js') }}"></script>
    <script type="text/javascript">
        var instance = CKEDITOR.instances['{{ id }}'];
        if (instance) {
            instance.destroy(true);
        }

        CKEDITOR.replace("{{ id }}",{
            toolbar: {{ toolbar | json_encode | raw }},
            {% if ui_color is not null %}
                uiColor: {{ ui_color }},
            {% endif %}
        });
    </script>
{% endspaceless %}
{% endblock %}


UPDATE change filter fa-check to fa-times


{% extends '::ojsbase.html.twig' %}
{% block title %}{{ 'title.citation_new'|trans }} {{ parent() }}{% endblock %}

{% block breadcrumb %}
    {% set list = [
        {'link': path('dashboard'), 'title': 'dashboard'|trans},
        {'link': path('ojs_journal_citation_index', {'articleId': app.request.get('articleId'), 'journalId': selectedJournal().id}), 'title': 'title.citations'|trans},
        {'title': 'title.citation_new'|trans}
    ] %}
    {{ breadcrumb(list) }}
{% endblock %}

{% block body -%}
    <h2>{{ 'title.citation_new'|trans }}</h2>

    {{ form(form) }}

    {{
    actions({
        'create': {'href': path('ojs_journal_citation_new', {'articleId': app.request.get('articleId'), 'journalId': selectedJournal().id})},
    })
    }}
{% endblock %}

Replace the create button with a back button in new citation page

{% extends '::ojsbase.html.twig' %}
{% block title %}{{ 'title.citation_new'|trans }} {{ parent() }}{% endblock %}

{% block breadcrumb %}
    {% set list = [
        {'link': path('dashboard'), 'title': 'dashboard'|trans},
        {'link': path('ojs_journal_citation_index', {'articleId': app.request.get('articleId'), 'journalId': selectedJournal().id}), 'title': 'title.citations'|trans},
        {'title': 'title.citation_new'|trans}
    ] %}
    {{ breadcrumb(list) }}
{% endblock %}

{% block body -%}
    <h2>{{ 'title.citation_new'|trans }}</h2>

    {{ form(form) }}

    {{
        actions({
            'back': {'href': path('ojs_journal_citation_index', {'articleId': app.request.get('articleId'), 'journalId': selectedJournal().id})},
        })
    }}
{% endblock %}


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

{% block content %}

Regis

    Let Regis inspect your pull requests for style violations and other boring
    details… you should be the one to do the real code review!

    Login with GitHub

{% endblock %}

Add "Login with Bitbucket" button to the homepage

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

{% block content %}

Regis

    Let Regis inspect your pull requests for style violations and other boring
    details… you should be the one to do the real code review!

    Login with GitHub
    Login with Bitbucket

{% endblock %}


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

{% block content %}
    {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/progressBar.html.twig' with {'progress': 0} only %}

{{ 'ss.registration.selector.title.welcome'|trans({'%name%': 'Fabien'}) }}

{{ 'ss.registration.selector.alert.no_second_factors_yet'|trans }}

{{ 'ss.registration.selector.text.explain_wizard'|trans }}

{{ 'ss.registration.selector.text.please_select_second_factor'|trans }}

        {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/secondFactor.html.twig' with {'type': 'yubikey', 'security': 3 } only %}
        {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/secondFactor.html.twig' with {'type': 'sms', 'security': 2 } only %}
        {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/secondFactor.html.twig' with {'type': 'tiqr', 'security': 2 } only %}

{% endblock %}

Move progress bar into page header so flash messages are shown below.

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

{% block page_header %}
    {{ parent() }}

    {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/progressBar.html.twig' with {'progress': 0} only %}
{% endblock %}

{% block content %}

{{ 'ss.registration.selector.title.welcome'|trans({'%name%': 'Fabien'}) }}

{{ 'ss.registration.selector.alert.no_second_factors_yet'|trans }}

{{ 'ss.registration.selector.text.explain_wizard'|trans }}

{{ 'ss.registration.selector.text.please_select_second_factor'|trans }}

        {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/secondFactor.html.twig' with {'type': 'yubikey', 'security': 3 } only %}
        {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/secondFactor.html.twig' with {'type': 'sms', 'security': 2 } only %}
        {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/secondFactor.html.twig' with {'type': 'tiqr', 'security': 2 } only %}

{% endblock %}


{{ record.getValue('key')|trans({}, record.getValue('domain'), 'en') }}

Create service to convert labels translation keys for Workflow CRUD - hide originalValue when key doesn't have a translation for translations grid

{% set originalValue = record.getValue('key')|trans({}, record.getValue('domain'), 'en') %}
{{ originalValue == record.getValue('key') ? '' : originalValue }}


{# @controller \App\Controllers\AuthController::_error #}
{# @var err string #}
{# @var errdesc string|null #}
{% extends 'layout/base.html.twig' %}

{% block content %}

{{ title }}

There was a(n) {{ err | escape }} error while trying to authenticate with DeviantArt{% if constant('App\\DeviantArt::OAUTH_RESPONSE')[err] is not empty %}; {{ constant('App\\DeviantArt::OAUTH_RESPONSE')[err] }}{% endif %}.

		{% if errdesc is not empty %}

Additional details: {{ errdesc | escape }}

		{% endif %}

{% endblock %}

Fix time_out login attempt throttle error causing 500

{# @controller \App\Controllers\AuthController::_error #}
{# @var err string #}
{# @var errdesc string|null #}
{% extends 'layout/base.html.twig' %}

{% block content %}

{{ title }}

		{% set responses = constant('App\\DeviantArt::OAUTH_RESPONSE') %}

There was a(n) {{ err | escape }} error while trying to authenticate with DeviantArt{% if responses[err] is defined and responses[err] is not empty %}; {{ responses[err] }}{% endif %}.

		{% if errdesc is not empty %}

Additional details: {{ errdesc | escape }}

		{% endif %}

{% endblock %}


{% trans_default_domain 'FOSUserBundle' %}

{{ form_start(form, { 'action': path('fos_user_profile_edit'), 'attr': { 'class': 'fos_user_profile_edit' } }) }}
    {{ form_widget(form) }}
    <div>
        <input type="submit" value="{{ 'profile.edit.submit'|trans }}" />
    </div>
{{ form_end(form) }}

Add title to template of profile page

{% trans_default_domain 'FOSUserBundle' %}

Your Profile

{{ form_start(form, { 'action': path('fos_user_profile_edit'), 'attr': { 'class': 'fos_user_profile_edit' } }) }}
    {{ form_widget(form) }}

        <input type="submit" value="{{ 'profile.edit.submit'|trans }}" />

{{ form_end(form) }}


	{% if breadcrumb_links.links %}

			{% for link in breadcrumb_links.links %}

Back to {{ link.label }}

			{% endfor %}

	{% endif %}

Remove back to text in back link molecule

    {% if breadcrumb_links.links %}

            {% for link in breadcrumb_links.links %}

{{ link.label }}

            {% endfor %}

    {% endif %}


{%- macro input(field) -%}
    <input type="{{ field.vars.block_prefixes[2] }}" name="{{ field.vars.name }}" {% if field.vars.value is not empty %}value="{{ field.vars.value }}" {% endif %}/>
{%- endmacro -%}

{%- macro form(form) -%}
    {%- for field in form -%}
        {{ _self.input(field) }}
    {%- endfor -%}
{%- endmacro -%}

Fix unhidden field by changing wrong block_prefix param

{%- macro input(field) -%}
    <input type="{{ field.vars.block_prefixes[1] }}" name="{{ field.vars.name }}" {% if field.vars.value is not empty %}value="{{ field.vars.value }}" {% endif %}/>
{%- endmacro -%}

{%- macro form(form) -%}
    {%- for field in form -%}
        {{ _self.input(field) }}
    {%- endfor -%}
{%- endmacro -%}


{#=== OPTIONS ========================================================================================================#}

{% set option = {
    class:     ('form-control ' ~ field.class)|trim,
    height:    field.height|default('300px'),
    label:     field.label,
    required:  field.required|default(false),
    errortext: field.error|default(''),
    info:      field.info|default('info.markdown')
} %}

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

{% set attributes = {
    text: {
        class:           option.class,
        data_errortext:  option.errortext,
        id:              key,
        name:            name,
        required:        option.required,
        style:           (option.height) ? 'height: ' ~ option.height ~ ' !important;' : '',
    }
} %}

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

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

{% block fieldset_type 'markdown' %}

{% block fieldset_label_text  labelkey %}
{% block fieldset_label_info  option.info %}
{% block fieldset_label_class 'col-xs-12' %}
{% block fieldset_label_for   key %}

{% block fieldset_controls %}
    <div class="col-xs-12">
        <textarea{{ macro.attr(attributes.text) }} data-uk-htmleditor="{ markdown: true, height: '{{option.height}}'}">{{ context.content.get(contentkey)|default('') }}</textarea>
    </div>
{% endblock fieldset_controls %}

Move data-uk-htmleditor data to attributes

{#=== OPTIONS ========================================================================================================#}

{% set option = {
    class:     ('form-control ' ~ field.class)|trim,
    height:    field.height|default('300px'),
    label:     field.label,
    required:  field.required|default(false),
    errortext: field.error|default(''),
    info:      field.info|default('info.markdown')
} %}

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

{% set ukkit_conf = {
    height:   option.height,
    markdown: true,
} %}

{% set attributes = {
    text: {
        class:           option.class,
        data_errortext:  option.errortext,
        data_uk_htmleditor: ukkit_conf|json_encode,
        id:              key,
        name:            name,
        required:        option.required,
        style:           (option.height) ? 'height: ' ~ option.height ~ ' !important;' : '',
    }
} %}

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

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

{% block fieldset_type 'markdown' %}

{% block fieldset_label_text  labelkey %}
{% block fieldset_label_info  option.info %}
{% block fieldset_label_class 'col-xs-12' %}
{% block fieldset_label_for   key %}

{% block fieldset_controls %}
    <div class="col-xs-12">
        <textarea{{ macro.attr(attributes.text) }}>{{ context.content.get(contentkey)|default('') }}</textarea>
    </div>
{% endblock fieldset_controls %}


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

{% block titre_agenda %}{% block titre_espace %}{% endblock %}{% endblock %}

{% block title_agenda %}{% block title_espace %}{{ block('titre_espace') }}{% endblock %}{% endblock %}

{% block breadcrumb_agenda %}{% block breadcrumb_espace %}{% endblock %}{% endblock %}

{% block meta_keywords %}{% block meta_keywords_espace %}{% endblock %}{{ parent() }}{% endblock %}

{% block meta_description %}{% block meta_description_espace %}{{ parent() }}{% endblock %}{% endblock %}

{% block body_agenda %}
    {% block body_espace %}

                {% block fos_user_content %}{% endblock %}

    {% endblock %}
{% endblock %}

{% block head_js_agenda %}{% block head_js_espace %}{% endblock %}{% endblock %}
{% block js_agenda %}{% block js_espace %}{% endblock %}{% endblock %}
{% block css_agenda %}{% block css_espace %}{% endblock %}{% endblock %}

Fix twig bug sur block meta_description_espace

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

{% block titre_agenda %}{% block titre_espace %}{% endblock %}{% endblock %}

{% block title_agenda %}{% block title_espace %}{{ block('titre_espace') }}{% endblock %}{% endblock %}

{% block breadcrumb_agenda %}{% block breadcrumb_espace %}{% endblock %}{% endblock %}

{% block meta_keywords %}{% block meta_keywords_espace %}{% endblock %}{{ parent() }}{% endblock %}

{% block meta_description %}{% block meta_description_espace %}{% endblock %}{% endblock %}

{% block body_agenda %}
    {% block body_espace %}

                {% block fos_user_content %}{% endblock %}

    {% endblock %}
{% endblock %}

{% block head_js_agenda %}{% block head_js_espace %}{% endblock %}{% endblock %}
{% block js_agenda %}{% block js_espace %}{% endblock %}{% endblock %}
{% block css_agenda %}{% block css_espace %}{% endblock %}{% endblock %}


{% macro meta_tags(description, keywords) %}

    {% if description %}<meta name="description" content="{{ description }}">{% endif %}

    {% if keywords %}<meta name="keywords" content="{{ keywords }}">{% endif %}

{% endmacro %}


pickartyou 임시비밀번호 (알파벳 대소문자 8글자): {{ temp_password }}

로그인페이지로 이동

Append email template to temp password email

{% extends "email/base.twig" %}

{% block hidden_text %}
  PICK ART YOU 임시 비밀번호 안내
{% endblock %}

{% block contents %}

<multiline>
          pickartyou 임시비밀번호 (알파벳 대소문자 8글자):

          {{ temp_password }}
          </multiline>

          로그인 페이지 열  >

{% endblock %}


        {% for tab in captions %}

                {{ tab.caption }}

        {% endfor %}

            {{ body | raw }}

Allow html in tabbed browser caption

        {% for tab in captions %}

                {{ tab.caption | raw}}

        {% endfor %}

            {{ body | raw }}


{% extends "base.twig" %}
{% import 'macros/assets.twig' as assets %}

{% block title %}Normas del sítio{% endblock %}
{% block css %}
  {{ assets.css('rules') }}
{% endblock %}

{% block content %}

Normas del sítio

TRADUCCIÓN

COMUNIDAD

SUBTÍTULOS

    {% include "rules/rules_" ~ rules_type ~ ".twig" %}

{% endblock %}

{% block scripts %}
  {{ assets.js('rules') }}
{% endblock %}

Fix rule name for uploads

{% extends "base.twig" %}
{% import 'macros/assets.twig' as assets %}

{% block title %}Normas del sítio{% endblock %}
{% block css %}
  {{ assets.css('rules') }}
{% endblock %}

{% block content %}

Normas del sítio

TRADUCCIÓN

COMUNIDAD

SUBIDAS

    {% include "rules/rules_" ~ rules_type ~ ".twig" %}

{% endblock %}

{% block scripts %}
  {{ assets.js('rules') }}
{% endblock %}


{{ knp_menu_render(admin.sidemenu(action), {'currentClass' : 'active'}, 'list') }}

             {{ 'classification.list_mode'|trans({}, 'SonataClassificationBundle') }}

             {{ 'classification.tree_mode'|trans({}, 'SonataClassificationBundle') }}

Fix vertical centering of buttons within a navbar in list/tree selector


# {{ entity_class }} routing definition
{{ entity_name }}.settings_tab:
  route_name: {{ entity_name }}.settings
  title: 'Settings'
  base_route: {{ entity_name }}.settings

entity.{{ entity_name }}.canonical:
  route_name: entity.{{ entity_name }}.canonical
  base_route: entity.{{ entity_name }}.canonical
  title: 'View'

entity.{{ entity_name }}.edit_form:
  route_name: entity.{{ entity_name }}.edit_form
  base_route: entity.{{ entity_name }}.canonical
  title: Edit

entity.{{ entity_name }}.delete_form:
  route_name:  entity.{{ entity_name }}.delete_form
  base_route:  entity.{{ entity_name }}.canonical
  title: Delete

Add weight to entity delete task

# {{ entity_class }} routing definition
{{ entity_name }}.settings_tab:
  route_name: {{ entity_name }}.settings
  title: 'Settings'
  base_route: {{ entity_name }}.settings

entity.{{ entity_name }}.canonical:
  route_name: entity.{{ entity_name }}.canonical
  base_route: entity.{{ entity_name }}.canonical
  title: 'View'

entity.{{ entity_name }}.edit_form:
  route_name: entity.{{ entity_name }}.edit_form
  base_route: entity.{{ entity_name }}.canonical
  title: Edit

entity.{{ entity_name }}.delete_form:
  route_name:  entity.{{ entity_name }}.delete_form
  base_route:  entity.{{ entity_name }}.canonical
  title: Delete
  weight: 10


{% block extends %}
    {{ "{% extends '" ~ bundle ~ ":" ~ entity ~ ":common.html.twig' %}" }}
{% endblock extends %}

{{ "\{% set title = '" ~ entity ~ "'|trans %\}" }}

{% block body %}
    {{ "{% block body %}" }}
    {%- for field, metadata in fields %}

{{ field|capitalize }}

            {%- if metadata.type in ['date', 'datetime'] %}

            {{ '{{ ' ~ entity|lower ~ '.' ~ field|replace({'_': ''}) ~ '|date(\'Y-m-d H:i:s\') }}' }}

            {%- else %}

            {{ '{{ ' ~ entity|lower ~ '.' ~ field|replace({'_': ''}) ~ ' }}' }}

            {%- endif %}

    {%- endfor %}

    {{ "{% endblock %}" }}
{% endblock body %}

Fix the missing translation filter.

{% block extends %}
    {{ "{% extends '" ~ bundle ~ ":" ~ entity ~ ":common.html.twig' %}" }}
{% endblock extends %}

{{ "\{% set title = '" ~ entity ~ "'|trans %\}" }}

{% block body %}
    {{ "{% block body %}" }}
    {%- for field, metadata in fields %}

{{ '\{\% trans \%\}' }}{{ field|capitalize }}{{ '\{\% endtrans \%\}' }}

            {%- if metadata.type in ['date', 'datetime'] %}

            {{ '{{ ' ~ entity|lower ~ '.' ~ field|replace({'_': ''}) ~ '|date(\'Y-m-d H:i:s\') }}' }}

            {%- else %}

            {{ '{{ ' ~ entity|lower ~ '.' ~ field|replace({'_': ''}) ~ ' }}' }}

            {%- endif %}

    {%- endfor %}

    {{ "{% endblock %}" }}
{% endblock body %}


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

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

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

{%- endif -%}

{% endif %}

Fix bug in menuItem translation

{% 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 %}


{% if app.session is not null and app.session.started %}

        {% for label, messages in app.session.flashbag.all %}
            {% for message in messages %}

                    {{ message }}

            {% endfor %}
        {% endfor %}

{% endif %}

Allow to translate flash messages

{% if app.session is not null and app.session.started %}

        {% for label, messages in app.session.flashbag.all %}
            {% for message in messages %}

                    {{ message|trans }}

            {% endfor %}
        {% endfor %}

{% endif %}


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

{% set page_title = channel_name ~ " on " ~ network_name ~ " - Commands" %}

{% block body %}

Commands for {{ channel_name }} on {{ network_name }}

                    #
                    Name
                    Content

                {% for command in commands %}

                        {{ loop.index }}
                        {% if command.aliases or command.is_action %}

                                <abbr title="{% if command.aliases %}Aliases: {{ command.aliases }}{% endif %}{% if command.is_action %}{% if command.aliases %}
{% endif %}Action: yes{% endif %}" rel="tooltip">
                                    {{ command.name }}

                                {% for value in command.value %}
                                    {{ value|ircformat|raw }}{% if not loop.last %}
{% endif %}
                                {% endfor %}

                        {% else %}
                            {{ command.name }}

                                {% for value in command.value %}
                                    {{ value|ircformat|raw }}{% if not loop.last %}
{% endif %}
                                {% endfor %}

                        {% endif %}

                {% endfor %}

    Hover over a command name for more info.
{% endblock %}

Add alias and action columns to the command lists

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

{% set page_title = channel_name ~ " on " ~ network_name ~ " - Commands" %}

{% block body %}

Commands for {{ channel_name }} on {{ network_name }}

                    #
                    Name
                    Content
                    Aliases
                    Action

                {% for command in commands %}

                        {{ loop.index }}
                        {{ command.name }}

                            {% for value in command.value %}
                                {{ value|ircformat|raw }}{% if not loop.last %}
{% endif %}
                            {% endfor %}

                        {{ command.aliases ? command.aliases }}

                {% endfor %}

{% endblock %}


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

{% block body %}
elimino la categoria {{ id }}
{% endblock %}

Revert "Revert "Modifica delete view""

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

{% block body %}

Elimino la categoria: {{ id }}

     Torna all'elenco
{% endblock %}


{% macro buttonIcon(url, icon, label, buttonType, extra) %}

    {{ label }}

{% endmacro %}

{% macro required() %}
  *
{% endmacro %}

Create a macro for a dataGrid

{% macro buttonIcon(url, icon, label, buttonType, extra) %}

    {{ label }}

{% endmacro %}

{% macro required() %}
  *
{% endmacro %}

{% macro dataGrid(dataGrid, noItemsMessage) %}

      {% if dataGrid %}

          {{ dataGrid|raw }}

      {% else %}

          {% if noItemsMessage %}
            {{ noItemsMessage }}
          {% else %}
            {{ 'msg.NoItems'|trans|raw }}
          {% endif %}

      {% endif %}

{% endmacro %}


{% extends 'AppBundle:Components/Page:page-report.html.twig' %}
{% set translationDomain = "report-overview" %}
{% trans_default_domain translationDomain %}

{% if constant('AppBundle\\Entity\\Report::PROPERTY_AND_AFFAIRS') != report.courtOrderType %}
    {% set reportType = "propertyAndAffairs" %}
{% else %}
    {% set reportType = "healthAndWelfare" %}
{% endif %}

{% block pageTitle %}{{ 'page.htmlTitle' | trans }} {% endblock %}
{% block contentClass %}{{ parent() }} report-overview js-report-overview{% endblock %}

 {% block pageNavigation %}
     {% include 'AppBundle:Report/Helper:_report-nav.html.twig' with { 'report': report, tab: 'tab-overview'} %}
 {% endblock %}

{% block pageBody %}

    {% set report_isDue = false %}

    {% if report_isDue %}

        {% include 'AppBundle:Report/Overview:_report-overview-due.html.twig' with {
        'translationDomain': translationDomain,
        'reportType': reportType
        } %}

    {% else %}

        {% include 'AppBundle:Report/Overview:_report-overview.html.twig' with {
        'translationDomain': translationDomain,
        'reportType': reportType
        } %}

    {% endif %}

{% endblock %}

Switch HW and PA Overview files.

{% extends 'AppBundle:Components/Page:page-report.html.twig' %}
{% set translationDomain = "report-overview" %}
{% trans_default_domain translationDomain %}

{% if constant('AppBundle\\Entity\\Report::PROPERTY_AND_AFFAIRS') == report.courtOrderType %}
    {% set reportType = "propertyAndAffairs" %}
{% else %}
    {% set reportType = "healthAndWelfare" %}
{% endif %}

{% block pageTitle %}{{ 'page.htmlTitle' | trans }} {% endblock %}
{% block contentClass %}{{ parent() }} report-overview js-report-overview{% endblock %}

 {% block pageNavigation %}
     {% include 'AppBundle:Report/Helper:_report-nav.html.twig' with { 'report': report, tab: 'tab-overview'} %}
 {% endblock %}

{% block pageBody %}

    {% set report_isDue = false %}

    {% if report_isDue %}

        {% include 'AppBundle:Report/Overview:_report-overview-due.html.twig' with {
        'translationDomain': translationDomain,
        'reportType': reportType
        } %}

    {% else %}

        {% include 'AppBundle:Report/Overview:_report-overview.html.twig' with {
        'translationDomain': translationDomain,
        'reportType': reportType
        } %}

    {% endif %}

{% endblock %}


{%- if value -%}
    1
{%- else -%}
    0
{%- endif -%}

Remove extra span from toggle list output


{% extends 'MartaBernachMusicStoreFrontendBundle:Main:index.html.twig' %}

{% block content %}

{{ album.band }} - {{ album.name }}

            Rok wydania: {{ album.releaseDate|date("Y") }}

        {% if album.genres is not empty %}

Gatunki:

                    {% for genre in album.genres %}

                            {{ genre }}

                    {% endfor %}

        {% endif %}
        {% if album.tracks is not empty %}

Piosenki:

                    {% for track in album.tracks %}

                            {{ track.rank }}. {{ track.name }} {{ track.duration|date("i:s") }}

                    {% endfor %}

        {% endif %}

Opis:
 {{ album.summary }}

{% endblock %}

Add link to band on album page

{% extends 'MartaBernachMusicStoreFrontendBundle:Main:index.html.twig' %}

{% block content %}

{{ album.band.name }} - {{ album.name }}

            Rok wydania: {{ album.releaseDate|date("Y") }}

        {% if album.genres is not empty %}

Gatunki:

                    {% for genre in album.genres %}

                            {{ genre }}

                    {% endfor %}

        {% endif %}
        {% if album.tracks is not empty %}

Piosenki:

                    {% for track in album.tracks %}

                            {{ track.rank }}. {{ track.name }} {{ track.duration|date("i:s") }}

                    {% endfor %}

        {% endif %}

Opis:
 {{ album.summary }}

{% endblock %}


{% block webfonts %}
    <link href="http://fonts.googleapis.com/css?family=Lato:100,300,400,700,900" rel="stylesheet">
{% endblock %}

Use https by default to avoid any mixed content errors

{% block webfonts %}
    <link href="https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900" rel="stylesheet">
{% endblock %}


<!DOCTYPE html>

        <meta charset="UTF-8" />
        <title>{% block title %}Welcome!{% endblock %}</title>
        {% block stylesheets %}{% endblock %}
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />

Opleidingsbudget App

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

Add logout button in base layout

<!DOCTYPE html>

        <meta charset="UTF-8" />
        <title>{% block title %}ob app{% endblock %}</title>
        {% block stylesheets %}{% endblock %}
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />

        {% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}

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

        {% endif %}
        {% block header %}{% endblock %}

Opleidingsbudget App

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


Add new template for admin created mailing

Hola {{ name }},

Tu cuenta de administrador de candidatura ha sido creada.

Puedes acceder a tu cuenta desde el enlace http://municipales2015.listabierta.org/login


{% macro menuRecursion(items) %}

        {% for item in items %}

                {{ item.current.name }}
                {% if item.children is defined %}
                    {{ _self.menuRecursion(item.children) }}
                {% endif %}

        {% endfor %}

{% endmacro %}

{{ menu.name }}

    {{ _self.menuRecursion(items) }}

Add level in class of ul tag

{% macro menuRecursion(items, level = 1) %}

        {% for item in items %}

                {{ item.current.name }}
                {% if item.children is defined %}
                    {{ _self.menuRecursion(item.children, level + 1) }}
                {% endif %}

        {% endfor %}

{% endmacro %}

{{ menu.name }}

    {{ _self.menuRecursion(items) }}


{# Admin section #}

Admin

		<input type="checkbox" name="dont-send-mail" id="dont-send-mail"/>
		Ne pas prévenir {{ config.elementDisplayNameDefinite }} {{ editMode ? 'des modifications' : "de l'ajout" }}

	{# if element is PendingModification #}
	{% if element.status is defined and element.status == -1 %}

		<input type="checkbox" name="dont-validate" id="dont-validate"/>
		Ne pas valider {{ config.elementDisplayNameDefinite }}, je modifie simplement la mise en forme

	{% endif %}

	{% if not editMode %}

		<input type="checkbox" name="recopyInfo" id="recopy-info"/>
		Recopier les informations dans un nouveau formulaire

	{% endif %}

Use send_mail instead of dont_send_mail checkbox

{# Admin section #}

Admin

		<input type="checkbox" name="send_mail" id="send_mail" checked/>
		Prévenir {{ config.elementDisplayNameDefinite }} {{ editMode ? 'des modifications' : "de l'ajout" }}

	{# if element is PendingModification #}
	{% if element.status is defined and element.status == -1 %}

		<input type="checkbox" name="dont-validate" id="dont-validate"/>
		Ne pas valider {{ config.elementDisplayNameDefinite }}, je modifie simplement la mise en forme

	{% endif %}

	{% if not editMode %}

		<input type="checkbox" name="recopyInfo" id="recopy-info"/>
		Recopier les informations dans un nouveau formulaire

	{% endif %}


---
layout: "page"

generator: "taxonomy"
max_page: 5
taxonomy_attribute: "tags"
permalink: "/:name"
---

 {{page.term}}

{% for post in page.pagination.items %}

            {{ post.title }}

        {% if post.subtitle %}

            {{ post.subtitle }}

        {% endif %}

    {% if post.description %}

{{ post.description }}

    {% endif %}

Posted by {{ post.author }} on {{ post.date | date('F jS Y, \\a\\t g:ia') }}

{% endfor %}

{% include "paginator.html.twig" %}

Fix posts order in tag pages

---
layout: "page"

generator: "taxonomy"
max_page: 5
taxonomy_attribute: "tags"
permalink: "/:name"
sort_by: 'date'
sort_type: 'descending'
---

 {{page.term}}

{% for post in page.pagination.items %}

            {{ post.title }}

        {% if post.subtitle %}

            {{ post.subtitle }}

        {% endif %}

    {% if post.description %}

{{ post.description }}

    {% endif %}

Posted by {{ post.author }} on {{ post.date | date('F jS Y, \\a\\t g:ia') }}

{% endfor %}

{% include "paginator.html.twig" %}


                {{ customer.fullName|default('sylius.ui.guest_customer'|trans) }}

                    {{ customer.email }}

    {% if customer.user is not null %}

            {{ buttons.delete(path('sylius_admin_shop_user_delete', {'id': customer.user.id })) }}

    {% else %}

                 {{ 'sylius.ui.guest'|trans }}

    {% endif %}

Reset customer's password from admin panel scenario

                {{ customer.fullName|default('sylius.ui.guest_customer'|trans) }}

                    {{ customer.email }}

    {% if customer.user is not null %}

            <form action="">
                <button class="ui yellow labeled icon button" style="float: right;">
                     {{ 'sylius.ui.reset_password'|trans }}
                </button>
            </form>
            {{ buttons.delete(path('sylius_admin_shop_user_delete', {'id': customer.user.id })) }}

    {% else %}

                 {{ 'sylius.ui.guest'|trans }}

    {% endif %}


<script type="text/javascript">
    $( document ).ready(function(){
        $('.selectpicker').selectpicker();
        $('#dbVersionPicker').selectpicker('val', '{{ dbversion }}');
        $('#dbVersionPicker').on('changed.bs.select', function () {
            var route = '{{ path(app.request.get('_route'), {'dbversion': 'dbversion'}) }}';
            route = route.replace('dbversion', $('#dbVersionPicker').val());
            window.location.href = route;
        });
    });
</script>

Make navigation dbversion more robust

<script type="text/javascript">
    $( document ).ready(function(){
        $('.selectpicker').selectpicker();
        $('#dbVersionPicker').selectpicker('val', '{{ dbversion }}');
        $('#dbVersionPicker').on('changed.bs.select', function () {
            {% set previous_params = app.request.get('_route_params') %}
            var route = '{{ path(app.request.get('_route'), previous_params|merge({'dbversion': 'dbversion'})) }}';
            route = route.replace('dbversion', $('#dbVersionPicker').val());
            window.location.href = route;
        });
    });
</script>


    <input type="hidden" value="{{ config|json_encode() }}"/>

        {% for item in listItems %}
            {% block large %}
            {{ renderer.component(item.large) }}
            {% endblock %}
        {% endfor %}

        {% for item in listItems %}
            {% block thumbnail %}
            {{ renderer.component(item.thumbnail) }}
            {% endblock %}
        {% endfor %}

Add more posibilities to modify slider template

    <input type="hidden" value="{{ config|json_encode() }}"/>
    {% block slides %}

        {% for item in listItems %}
            {% block large %}
            {{ renderer.component(item.large) }}
            {% endblock %}
        {% endfor %}

    {% block betweenSlides %}
    {% endblock %}

        {% for item in listItems %}
            {% block thumbnail %}
            {{ renderer.component(item.thumbnail) }}
            {% endblock %}
        {% endfor %}

    {% endblock %}


Delete

Add different delete button option


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

{% block body %}

{% include 'AppBundle::menu.html.twig' %}

Hello world!

  {{ dump(app.user) }}

{% endblock %}

Remove dump in prod en

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

{% block body %}

{% include 'AppBundle::menu.html.twig' %}

Hello world!

  Bonjoure {{ app.user.firstName }} {{ app.user.lastName }}

{% endblock %}


{% set translationDomain = "report-transfers" %}
{% trans_default_domain translationDomain %}

Didn't make any money transfers?

{{ form_start(form, {attr: {novalidate: 'novalidate', class: 'no-data-form behat-region-no-transfers-selected' } }) }}

{{ form_checkbox(form.noTransfersToAdd,'no_transfers', {
        'labelClass': 'required',
        'labelText': 'no_transfers.label' | trans({'%client%': report.client.firstname}, translationDomain)
    }) }}

{{ form_submit(form.saveNoTransfer,'save') }}

{{ form_end(form) }}

Fix gov.uk js breaking react.


{% extends 'UMRAMemberBundle::nav.html.twig' %}

{% block modulecontent -%}

Household of {{ entity.firstname }} {{ entity.lastname }}

Postal Name: {{ entity.postalname }}

    {% include 'UMRAMemberBundle:Household:detail.html.twig' %}

        {% if is_granted('ROLE_ADMIN') %}

                Back to the list

        {% else %}

                Back to my profile

        {% endif %}

                Edit

{{ form(delete_form) }}

{% endblock %}

Hide back to household list button for users without ROLE_CAN_VIEW_OTHER_HOUSEHOLD

{% extends 'UMRAMemberBundle::nav.html.twig' %}

{% block modulecontent -%}

Household of {{ entity.firstname }} {{ entity.lastname }}

Postal Name: {{ entity.postalname }}

    {% include 'UMRAMemberBundle:Household:detail.html.twig' %}

        {% if is_granted('ROLE_CAN_VIEW_OTHER_HOUSEHOLD') %}

                Back to the list

        {% else %}

                Back to my profile

        {% endif %}

                Edit

{{ form(delete_form) }}

{% endblock %}


    {% for topLevelItem in navigation if topLevelItem.active %}

{{ topLevelItem.label }}

        {% if topLevelItem.children is not empty %}
            {% for secondaryItem in topLevelItem.children if secondaryItem.active %}

{{ secondaryItem.label }}

                {% if secondaryItem.children is not empty %}
                    {% for tertiaryItem in secondaryItem.children if tertiaryItem.active %}

{{ tertiaryItem.label }}

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

Use correct labels for the breadcrumbs

    {% for topLevelItem in navigation if topLevelItem.active %}

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

        {% if topLevelItem.children is not empty %}
            {% for secondaryItem in topLevelItem.children if secondaryItem.active %}

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

                {% if secondaryItem.children is not empty %}
                    {% for tertiaryItem in secondaryItem.children if tertiaryItem.active %}

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

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


{% if block.title is defined and block.title is not empty %}

{{ block.title }}

{% endif %}

Allow to change the title tag

{% set element = (element is defined) ? element : 'h2' %}
{% if block.title is defined and block.title is not empty %}
    <{{ element }} property='title'>{{ block.title }}</{{ element }}>
{% endif %}


{% extends app.layout(_self) %}

{% block content %}

            Dashboard
            {% if app.project|default %}
                for project {{ app.project.label }}
                {% if app.domain|default %}
                    and domain {{ app.domain.label }}
                {% endif %}
            {% elseif app.domain|default %}
                for domain {{ app.domain.label }}
            {% endif %}

Tools

            {% include 'CoreLayoutBundle:Default:tools_list.html.twig' with {} only %}

        {% if not app.project|default %}

Projects

                {% include 'CoreProjectBundle:Admin:projects_list.html.twig' with {} only %}

        {% endif %}
        {% if not app.domain|default %}

Domains

                {% include 'CoreProjectBundle:Admin:domains_list.html.twig' with {} only %}

        {% endif %}

{% endblock %}

Add edit link on admin dashboard title

{% extends app.layout(_self) %}

{% block content %}

            Dashboard
            {% if app.project|default %}
                for project {{ app.project }}
                Edit
                {% if app.domain|default %}
                    and domain {{ app.domain }}
                    Edit
                {% endif %}
            {% elseif app.domain|default %}
                for domain {{ app.domain }}
                Edit
            {% endif %}

Tools

            {% include 'CoreLayoutBundle:Default:tools_list.html.twig' with {} only %}

        {% if not app.project|default %}

Projects

                {% include 'CoreProjectBundle:Admin:projects_list.html.twig' with {} only %}

        {% endif %}
        {% if not app.domain|default %}

Domains

                {% include 'CoreProjectBundle:Admin:domains_list.html.twig' with {} only %}

        {% endif %}

{% endblock %}


{% extends "SymfonyCmfCoreBundle::skeleton.html.twig" %}

{% block includes %}
    {{ parent() }}
    {% stylesheets  '@SandboxMainBundle/Resources/public/css/style.css'
                    '@LiipVieBundle/Resources/public/hallo/Aristo/jquery-ui-1.8.7.custom.css'
                    '@LiipVieBundle/Resources/public/css/hallo.css' %}
        <link rel="stylesheet" href="{{ asset_url }}" media="screen" type="text/css"/>
    {% endstylesheets %}
{% endblock %}

{% block content %}
    {{ parent() }}
    <button id="savebutton">Save</button>

{% endblock %}

{% block bottom_scripts %}
    {{ parent() }}
    {% render "liip_vie.viecontroller:includeJSFilesAction" %}
{% endblock %}

Load separate css file for image plugin

{% extends "SymfonyCmfCoreBundle::skeleton.html.twig" %}

{% block includes %}
    {{ parent() }}
    {% stylesheets  '@SandboxMainBundle/Resources/public/css/style.css'
                    '@LiipVieBundle/Resources/public/hallo/Aristo/jquery-ui-1.8.7.custom.css'
                    '@LiipVieBundle/Resources/public/css/hallo.css'
                    '@LiipVieBundle/vendor/hallo/examples/image.css'
    %}
        <link rel="stylesheet" href="{{ asset_url }}" media="screen" type="text/css"/>
    {% endstylesheets %}
{% endblock %}

{% block content %}
    {{ parent() }}
    <button id="savebutton">Save</button>

{% endblock %}

{% block bottom_scripts %}
    {{ parent() }}
    {% render "liip_vie.viecontroller:includeJSFilesAction" %}
{% endblock %}


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

      {{ 'lbl.Faq'|trans|capitalize }}: {{ 'lbl.Feedback'|trans|capitalize }}

    {% if faqFeedback %}

        {% for _itr_12 in faqFeedback %}

          {{ _itr_12.text|truncate(150 ) }}

        {% endfor %}

    {% endif %}
    {% if not faqFeedback %}

{{ msg.NoFeedback }}

    {% endif %}

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

Use correct syntax for messages

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

      {{ 'lbl.Faq'|trans|capitalize }}: {{ 'lbl.Feedback'|trans|capitalize }}

    {% if faqFeedback %}

        {% for _itr_12 in faqFeedback %}

          {{ _itr_12.text|truncate(150 ) }}

        {% endfor %}

    {% endif %}
    {% if not faqFeedback %}

{{ 'msg.NoFeedback'|trans }}

    {% endif %}

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


{% for block in blocks %}

            {{ block }}

{% endfor %}

Remove useless block edit functionnality


{% if is_granted('IS_AUTHENTICATED_FULLY') %}

Мои пряники

{{ user.gold|default:('0') }}

Пряники для благодарности

    Для всех: {{ user.chocolate|default:('0') }}

{% endif %}

Correct medals count for the 'null' value

{% if is_granted('IS_AUTHENTICATED_FULLY') %}

Мои пряники

{{ user.gold|default('0') }}

Пряники для благодарности

    Для всех: {{ user.chocolate|default('0') }}

{% endif %}


{% trans_default_domain "victoire" %}

{% block body %}

<div class="vic-widget {{ cms_widget_extra_css_class(widget) }}" id="widget-{{widget.id}}">
{% if is_granted('ROLE_VICTOIRE') %}
    {% block actions %}
        {{ cms_widget_actions(widget) }}
    {% endblock actions %}
{% endif %}
{% block content %}
{{ content|raw|nl2br }}
{% endblock content %}
</div>

{% endblock body %}

Revert "add nl2br to base widget show"

{% trans_default_domain "victoire" %}

{% block body %}

<div class="vic-widget {{ cms_widget_extra_css_class(widget) }}" id="widget-{{widget.id}}">
{% if is_granted('ROLE_VICTOIRE') %}
    {% block actions %}
        {{ cms_widget_actions(widget) }}
    {% endblock actions %}
{% endif %}
{% block content %}
{{ content|raw }}
{% endblock content %}
</div>

{% endblock body %}


{% extends 'admin/layouts/default_sp.twig' %}
{% block title %}{{ _('I want to edit tags') }}{% endblock %}

{% block content %}

{{ _('I want to edit tags') }}

{{ _('Edit tag') }}

    <form method="POST" id="sys-tag-form" class="admin-form">
        <input type="hidden" name="id" value="{{ req.get('id') }}"/>
        <input type="hidden" name="sig" value="{{ sig }}"/>
        {{ input(req, 'back_url', 'hidden', {'default': req.get('back_url')}) }}

{{ _('Tag name') }}

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

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

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

    </form>

{{ _('I Back to List') }}

{{ _('Check the article') }}

{{ _('Delete tag') }}

                {{ _('Delete') }}

{% endblock %}


            Powered by

Add lang attr on footer text


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

{%- if url %}{{ label }} {% if children %}{% endif %}{% else %}{{ label }}{% endif -%}
{% if children %}

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

{%- endif -%}

{% endif %}

Fix bug for bootstrap menu item if the url is not set

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

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

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

{%- endif -%}

{% endif %}


<!DOCTYPE html>

        <title>Sylius bundles example layout</title>
        <meta charset="UTF-8">

        <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.1.1/css/bootstrap.no-icons.min.css" />
        <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/font-awesome/2.0/css/font-awesome.css" />

                    Sylius

Documentation

GitHub repositories

Packagist (Composer)

            {% for type, message in app.session.flashes if type in ['success', 'error'] %}

{{ message }}

            {% endfor %}

            {% block sylius_content %}
            {% endblock %}

© Sylius.org, 2011 - {{ 'now'|date('Y') }}.


    {{ stripe_event_data['invoice'].date|date("j F Y") }} - {% if stripe_event_data['invoice'] == true %}paid {% endif %}

        {% for line in stripe_event_data['invoice'].lines.data %}

                {% if line.type == 'subscription' %}
                    Subscription to {{ line.plan.name|lower }} plan {% if line.amount == 0 %}(free trial){% endif %}

{{ line.period.start|date("j F Y") }} to {{ line.period.end|date("j F Y") }}
                {% endif %}

            £{{ line.amount|number_format(2) }}

        {% endfor %}

            Total
            £{{ stripe_event_data['invoice'].total|number_format(2) }}

Mark latest invoice as paid/unpaid correctly

    {{ stripe_event_data['invoice'].date|date("j F Y") }} -
    {% if stripe_event_data['invoice'].paid == true %}
    paid
    {% else %}
    unpaid
    {% endif %}

        {% for line in stripe_event_data['invoice'].lines.data %}

                {% if line.type == 'subscription' %}
                    Subscription to {{ line.plan.name|lower }} plan {% if line.amount == 0 %}(free trial){% endif %}

{{ line.period.start|date("j F Y") }} to {{ line.period.end|date("j F Y") }}
                {% endif %}

            £{{ (line.amount / 100)|number_format(2) }}

        {% endfor %}

            Total
            £{{ (stripe_event_data['invoice'].total/100)|number_format(2) }}


{% import 'SimplyTestableWebClientBundle:bs3/Macro:form.html.twig' as form %}

{% set is_disabled = app.request.get('_route') == 'view_test_progress_index_index' or ((is_owner is defined and is_owner == false) and (is_public_user_test is defined and is_public_user_test == false)) %}
{% set is_enabled = (is_disabled == false) %}
{% set has_http_auth = (test_options['http-auth-username'] is defined and test_options['http-auth-username'] != '') or (remote_test is defined and remote_test.hasParameter('http-auth-username') and remote_test.parameter('http-auth-username') != '') %}

{% block prefix %}{% endblock %}

{% for task_type_key, task_type_details in task_types %}
    {% if not task_type_key|slice(0, 'test-'|length) == 'test-' %}
        {% set is_available = task_type_key in available_task_types|keys %}
        {% set task_type_options_view = ['SimplyTestableWebClientBundle:bs3/Partials/Test/Options/', task_type_key, ':test-options.html.twig']|join('') %}

        {% include task_type_options_view %}
    {% endif %}
{% endfor %}

Fix showing all task types

{% import 'SimplyTestableWebClientBundle:bs3/Macro:form.html.twig' as form %}

{% set is_disabled = app.request.get('_route') == 'view_test_progress_index_index' or ((is_owner is defined and is_owner == false) and (is_public_user_test is defined and is_public_user_test == false)) %}
{% set is_enabled = (is_disabled == false) %}
{% set has_http_auth = (test_options['http-auth-username'] is defined and test_options['http-auth-username'] != '') or (remote_test is defined and remote_test.hasParameter('http-auth-username') and remote_test.parameter('http-auth-username') != '') %}

{% block prefix %}{% endblock %}

{% for task_type_key, task_type_details in task_types %}
    {% if not (task_type_key|slice(0, 'test-'|length) == 'test-') %}
        {% set is_available = task_type_key in available_task_types|keys %}
        {% set task_type_options_view = ['SimplyTestableWebClientBundle:bs3/Partials/Test/Options/', task_type_key, ':test-options.html.twig']|join('') %}

        {% include task_type_options_view %}
    {% endif %}
{% endfor %}


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

{% block title %}{{ 'town.html_title'|trans }}{% endblock %}
{% block content %}

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

		    </button>
		    {{ error|raw }}

{% endblock %}


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

{% trans_default_domain 'FOSUserBundle' %}

{% block fos_user_content %}

{{ 'registration.confirmed'|trans({'%username%': user.username}) }}

    {% if app.session is not empty %}
        {% set targetUrl = app.session.get('_security.' ~ app.security.token.providerKey ~ '.target_path') %}
        {% if targetUrl is not empty %}
{{ 'registration.back'|trans }}
{% endif %}
    {% endif %}
{% endblock fos_user_content %}

Add redirect message to access @AppBundle

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

{% trans_default_domain 'FOSUserBundle' %}

{% block fos_user_content %}

{{ 'registration.confirmed'|trans({'%username%': user.username}) }}

    {% if app.session is not empty %}
        {% set targetUrl = app.session.get('_security.' ~ app.security.token.providerKey ~ '.target_path') %}
        {% if targetUrl is not empty %}

{{ 'registration.back'|trans }}

        {% else %}

{{'registration.redirect'|trans({'%redirect_link%': url('dashboard')}, 'messages')|raw }}

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


Add layout override to merge FOSUserBundle into the real layout

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

{% block content %}

        {% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
            {{ 'layout.logged_in_as'|trans({'%username%': app.user.username}, 'FOSUserBundle') }} |

                {{ 'layout.logout'|trans({}, 'FOSUserBundle') }}

        {% else %}
            {{ 'layout.login'|trans({},
'FOSUserBundle') }}
        {% endif %}

    {% for key, flash in app.session.getFlashes() %}

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

    {% endfor %}

        {% block fos_user_content %}{% endblock %}

Create a new account

See your profile

Log out

{% endblock %}


{% extends "base.twig" %}
{% import 'macros/assets.twig' as assets %}

{% block title %}Índice de series{% endblock %}
{% block css %}
  {{ assets.css('shows_list') }}
{% endblock %}

{% block content %}

Índice de series

      {% for letter, shows in shows_by_letter  %}
      {{ letter|upper }}
      {% endfor %}

    {% for letter, shows in shows_by_letter  %}

        {% for i in range(0, shows|length - 1) %}
        {% set show = shows[i].show %}
        {% set seasons = shows[i].season_count %}

            {{ show.name }}
            {% if seasons != 1 %}
            ({{ seasons }} temporadas)
            {% else %}
            (1 temporada)
            {% endif %}

        {% endfor %}

    {% endfor %}

{% endblock %}
{% block scripts %}
  {{ assets.js('shows_list') }}
{% endblock %}

Remove jumping to show list after clicking a letter

{% extends "base.twig" %}
{% import 'macros/assets.twig' as assets %}

{% block title %}Índice de series{% endblock %}
{% block css %}
  {{ assets.css('shows_list') }}
{% endblock %}

{% block content %}

Índice de series

      {% for letter, shows in shows_by_letter  %}
      <button class="letter" data-letter="{{letter}}">{{ letter|upper }}</button>
      {% endfor %}

    {% for letter, shows in shows_by_letter  %}

        {% for i in range(0, shows|length - 1) %}
        {% set show = shows[i].show %}
        {% set seasons = shows[i].season_count %}

            {{ show.name }}
            {% if seasons != 1 %}
            ({{ seasons }} temporadas)
            {% else %}
            (1 temporada)
            {% endif %}

        {% endfor %}

    {% endfor %}

{% endblock %}
{% block scripts %}
  {{ assets.js('shows_list') }}
{% endblock %}


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

{% block label %}
    {% if item.attributes.icon is defined %}
        <i class="{{ item.attributes.icon }}"></i>
    {% endif %}
   {{ item.label|trans(item.getExtra('translation_params', {}), item.getExtra('translation_domain', 'messages'))|capitalize }}
{% endblock %}

{% block item %}
    {% if item.parent.name == 'root' and item.hasChildren %}
        {% set item = item.setLinkAttributes({ 'class': 'menu-item dropdown-toggle', 'role': 'button', 'aria-expended': false }) %}
        {% set item = item.setAttributes({ 'class': 'dropdown', 'icon': 'icon icon-angle' }) %}
        {% set item = item.setChildrenAttributes({ 'class': 'dropdown-menu', 'role': 'menu' }) %}
    {% elseif item.parent.name == 'root' and not item.hasChildren %}
        {% set item = item.setLinkAttributes({ 'class': 'menu-item' }) %}
    {% elseif item.parent.name != 'root' and not item.hasChildren %}
        {% set item = item.setLinkAttributes({ 'class': 'sub-menu-item' }) %}
    {% endif %}
    {{ parent() }}
{% endblock %}

Use the icon given to the parent element

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

{% block label %}
    {% if item.attributes.icon is defined %}

        {% if item.parent.name == 'root' and item.hasChildren %}

        {% endif %}
    {% endif %}
    {{ item.label|trans(item.getExtra('translation_params', {}), item.getExtra('translation_domain', 'messages'))|capitalize }}
{% endblock %}

{% block item %}
    {% if item.parent.name == 'root' and item.hasChildren %}
        {% set item = item.setLinkAttributes({ 'class': 'menu-item dropdown-toggle', 'role': 'button', 'aria-expended': false }) %}
        {% set item = item.setAttributes({ 'class': 'dropdown', 'icon': item.attribute('icon') }) %}
        {% set item = item.setChildrenAttributes({ 'class': 'dropdown-menu', 'role': 'menu' }) %}
    {% elseif item.parent.name == 'root' and not item.hasChildren %}
        {% set item = item.setLinkAttributes({ 'class': 'menu-item' }) %}
    {% elseif item.parent.name != 'root' and not item.hasChildren %}
        {% set item = item.setLinkAttributes({ 'class': 'sub-menu-item' }) %}
    {% endif %}
    {{ parent() }}
{% endblock %}