{% extends base_template %}

{% block content %}

            <form class="form-stacked" action="{{ path("sonata_user_admin_security_check") }}" method="post">

                {% if error %}

{{ error }}

                {% endif %}

                    {{ 'security.login.username'|trans({}, 'FOSUserBundle') }}

                        <input type="text" id="username" name="_username" value="{{ last_username }}" class="big sonata-medium"/>

                    {{ 'security.login.password'|trans({}, 'FOSUserBundle') }}

                        <input type="password" id="password" name="_password" class="big sonata-medium" />

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

                    <input type="submit" class="btn primary" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans({}, 'FOSUserBundle') }}" />

            </form>

{% endblock content %}

Add an option to translation the authentication error message

{% extends base_template %}

{% block content %}

            <form class="form-stacked" action="{{ path("sonata_user_admin_security_check") }}" method="post">

                {% if error %}

{{ error|trans({}, 'SonataUserBundle') }}

                {% endif %}

                    {{ 'security.login.username'|trans({}, 'FOSUserBundle') }}

                        <input type="text" id="username" name="_username" value="{{ last_username }}" class="big sonata-medium"/>

                    {{ 'security.login.password'|trans({}, 'FOSUserBundle') }}

                        <input type="password" id="password" name="_password" class="big sonata-medium" />

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

                    <input type="submit" class="btn primary" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans({}, 'FOSUserBundle') }}" />

            </form>

{% endblock content %}


{% extends '::base.html.twig' %}
{% block title %}View Activities{% endblock %}
{% block navigation %}
    {% include '::navigation.auth.html.twig' %}
{% endblock %}

{% block body -%}

View Activities

    Delete all logs

                #
                Message

        {% for entity in entities %}

                [#{{ entity.id }}][{{ entity.severity }}] {% if entity.timestamp %}{{ entity.timestamp|date('Y-m-d H:i:s') }}{% endif %}
                {{ entity.message }}

        {% endfor %}

    Page:
        {% for i in 1..logcount %}
            {% if i == curPage %}
                 {{ i }}
            {% else %}
                {{ i }}
            {% endif %}
        {% endfor %}

    {% endblock %}

Move log pagination to the top

{% extends '::base.html.twig' %}
{% block title %}View Activities{% endblock %}
{% block navigation %}
    {% include '::navigation.auth.html.twig' %}
{% endblock %}

{% block body -%}

View Activities

    Delete all logs
    - Page:
        {% for i in 1..logcount %}
            {% if i == curPage %}
                 {{ i }}
            {% else %}
                {{ i }}
            {% endif %}
        {% endfor %}

                #
                Message

        {% for entity in entities %}

                [#{{ entity.id }}][{{ entity.severity }}] {% if entity.timestamp %}{{ entity.timestamp|date('Y-m-d H:i:s') }}{% endif %}
                {{ entity.message }}

        {% endfor %}

    {% endblock %}


{{ 'your_dashboard'|trans }}

    {% if is_granted('ROLE_ADMIN') %}

settings{{ 'admin_panel'|trans }}

    {% endif %}

visibility{{ 'your_observation'|trans }}

    {% if is_granted('ROLE_NATURALIST') %}

{{ 'validate_observation'|trans }}

    {% endif %}

notifications{{ 'your_notifications'|trans }}

exit_to_app{{ 'sign_out'|trans }}

Refactor (Sidebar): activate admin homepage link


{#

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.

#}

{#
    Default product template file, you can
      => customize the global template : Product:Product:view.twig
      => rewrite your own template
#}

{% extends 'SonataProductBundle:Product:view.html.twig' %}

{% block product_title %}{{ product.name }}{% endblock %}

{% block product_description %}
    {{ product.description|raw }}
{% endblock %}

{% block product_gallery %}Product gallery{% endblock %}

{% block product_delivery %}{% endblock %}

Fix Travel variation fields to render only "travellers" and "travelDays"

{#

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.

#}

{#
    Default product template file, you can
      => customize the global template : Product:Product:view.twig
      => rewrite your own template
#}

{% extends 'SonataProductBundle:Product:view.html.twig' %}

{% block product_title %}{{ product.name }}{% endblock %}

{% block product_description %}
    {{ product.description|raw }}
{% endblock %}

{% block product_gallery %}Product gallery{% endblock %}

{% block product_delivery %}{% endblock %}

{% block  product_variations_form_block %}

            {{ sonata_block_render({'type': 'sonata.product.block.variations_form'}, {'product': product, 'variations_properties': ['travellers', 'travelDays']}) }}

{% endblock %}


{% extends "ForexWebBundle:Layout:nosidebar.html.twig" %}

{% block title %}My Broker Trading Accounts - {% endblock %}

{% block content %}

My Broker Trading Accounts

            Account ID
            Brokerage
            Account Number
            Account Status

        {% for account in user.accounts %}

                {{ account.id }}
                {{ account.broker.name }}
                {{ account.accountNumber}}
                {{ account.status }}

        {% endfor %}

    Add Account
{% endblock %}

Move add broker trading account button

{% extends "ForexWebBundle:Layout:nosidebar.html.twig" %}

{% block title %}My Broker Trading Accounts - {% endblock %}

{% block content %}

My Broker Trading Accounts

        Add Broker Trading Account

            Account ID
            Brokerage
            Account Number
            Account Status

        {% for account in user.accounts %}

                {{ account.id }}
                {{ account.broker.name }}
                {{ account.accountNumber}}
                {{ account.status }}

        {% endfor %}

{% endblock %}


Last tweets of {{ username }}

    {% if tweets %}

        {% for tweet in tweets %}

{{ tweet.text|knp_tweet_urlize }}

        {% endfor %}

    {% else %}
        No tweets
    {% endif %}
    See more

Remove title from the default template


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

{% block title %}Accueil - {{ parent() }}{% endblock %}
{% block style %}
    <link rel="stylesheet" href="{{ asset('css/docmanager.css') }}"
{% endblock %}
{% block body %}

        Les documents figurant ici sont périmés. Ils seront supprimés automatiquement 30 jours après leur date de péremption. Pensez à les sauvagerder si besoin.

        {% for document in documents %}

{% if document.outDated %} {% endif %}{{ document.name }}

        {% else %}

        {% endfor %}

{% endblock %}

Fix d'une typo + dernier commit avant presentation

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

{% block title %}Accueil - {{ parent() }}{% endblock %}
{% block style %}
    <link rel="stylesheet" href="{{ asset('css/docmanager.css') }}"
{% endblock %}
{% block body %}

        Les documents figurant ici sont périmés. Ils seront supprimés automatiquement 30 jours après leur date de péremption. Pensez à les sauvegarder si besoin.

        {% for document in documents %}

{% if document.outDated %} {% endif %}{{ document.name }}

        {% else %}

        {% endfor %}

{% endblock %}


{% extends 'OroFormBundle:Form:fields.html.twig' %}

{% block _oro_installer_configuration_mailer_oro_installer_mailer_transport_row %}
<script type="text/javascript">
    $(function () {
        var con = $('#oro_installer_configuration_mailer');

        checkTransport();

        con.find('.control-group:first select').change(checkTransport);

        function checkTransport() {
            if (con.find('.control-group:first select').val() != 'smtp') {
                con.find('.control-group:not(:first)').hide()
                   .find('input').attr('disabled', 'disabled');
            } else {
                con.find('.control-group:not(:first)').show()
                    .find('input').attr('disabled', null);
            }
        }
    });
</script>
{{ block('form_row') }}
{% endblock %}

Make random_id = true by default for all FormTypes

{% extends 'OroFormBundle:Form:fields.html.twig' %}

{% block _oro_installer_configuration_mailer_oro_installer_mailer_transport_row %}
<script type="text/javascript">
    $(function () {
        var con = $('div[id^=oro_installer_configuration_mailer]');

        checkTransport();

        con.find('.control-group:first select').change(checkTransport);

        function checkTransport() {
            if (con.find('.control-group:first select').val() != 'smtp') {
                con.find('.control-group:not(:first)').hide()
                   .find('input').attr('disabled', 'disabled');
            } else {
                con.find('.control-group:not(:first)').show()
                    .find('input').attr('disabled', null);
            }
        }
    });
</script>
{{ block('form_row') }}
{% endblock %}


{% block subject %}{% endblock %}

{% block sender %}
    {% for email, name in from %}
        {{ name }} <{{ email }}>
    {% endfor %}
{% endblock %}

{% block from %}{{ block('sender') }}{% endblock %}

{% block body_text %}
    {{ block('body_html')|html_to_text|raw }}
{% endblock %}

{% block body_html %}
    {% block content %}{% endblock %}
{% endblock %}

Add title and content type Twig blocks to email layout

{% block subject %}{% endblock %}

{% block sender %}
    {% for email, name in from %}
        {{ name }} <{{ email }}>
    {% endfor %}
{% endblock %}

{% block from %}{{ block('sender') }}{% endblock %}
{% block title %}{{ block('subject') }}{% endblock %}
{% block content_type %}text/html{% endblock %}

{% block body_text %}
    {{ block('body_html')|html_to_text|raw }}
{% endblock %}

{% block body_html %}
    {% block content %}{% endblock %}
{% endblock %}


      Back to top

          © {{ now|date('Y') }} {{ siteTitle }}

        {% for footerLink in footerLinks %}

              {{ footerLink.navigation_title }}

        {% endfor %}

            SumoCoders

Remove wrong role navigation on ul


{% block title %}

    {{ echo_block("page_title") }}
        <head>
            <h1>{{ title }}</h1>
        </head>
    {{ echo_endblock() }}
{% endblock %}

Change the <title> of the browser with the title of admin

{% block title %}
    {{ echo_block("page_title") }}
        <head>
            <h1>{{ title }}</h1>
        </head>
    {{ echo_endblock() }}
    {{ echo_block("title") }}
        {{ echo_twig('parent()') }} - {{ title }}
    {{ echo_endblock() }}
{% endblock %}


{% trans_default_domain 'FOSUserBundle' %}

<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" class="fos_user_registration_register" role="form">
    {{ form_row(form.username) }}
    {{ form_row(form.email) }}
    {{ form_row(form.plainPassword.first) }}
    {{ form_row(form.plainPassword.second) }}
    {{ form_row(form.firstName) }}
    {{ form_row(form.lastName) }}
    {{ form_row(form.language) }}

    <button type="submit" class="btn btn-success btn-large">{{ 'registration.submit'|trans }}</button>
    {{ form_rest(form) }}
</form>

Set required and optional fields apart

{% trans_default_domain 'FOSUserBundle' %}

<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" class="fos_user_registration_register" role="form">
    <fieldset>
        <legend>Required Fields</legend>
        {{ form_row(form.username) }}
        {{ form_row(form.email) }}
        {{ form_row(form.plainPassword.first) }}
        {{ form_row(form.plainPassword.second) }}
    </fieldset>
    <fieldset>
        <legend>Optional Fields</legend>
        {{ form_row(form.firstName) }}
        {{ form_row(form.lastName) }}
        {{ form_row(form.language) }}
    </fieldset>

    <button type="submit" class="btn btn-success btn-large">{{ 'registration.submit'|trans }}</button>
    {{ form_rest(form) }}
</form>


{% if menu|length %}

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

            {% for m in menu %}

                    {% block menuLink %}
                    {{ renderer.componentLink(m.data, null, '' ~ "link"|bemClass ) }}
                    {% endblock %}
                    {% if m.submenu is defined and m.submenu|length %}

                                {% for sm in m.submenu %}

                                        {% block subMenuLink %}
                                        {{ renderer.componentLink(sm.data, null, '' ~ "subMenuLink"|bemClass ) }}
                                        {% endblock %}

                                {% endfor %}

                    {% endif %}

            {% endfor %}

{% endif %}

Add post- and preHtml for masking

{% if menu|length %}

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

            {% for m in menu %}
                {{ m.preHtml }}

                    {% block menuLink %}
                    {{ renderer.componentLink(m.data, null, '' ~ "link"|bemClass ) }}
                    {% endblock %}
                    {% if m.submenu is defined and m.submenu|length %}

                                {% for sm in m.submenu %}
                                    {{ sm.preHtml }}

                                        {% block subMenuLink %}
                                        {{ renderer.componentLink(sm.data, null, '' ~ "subMenuLink"|bemClass ) }}
                                        {% endblock %}

                                    {{ sm.postHtml }}
                                {% endfor %}

                    {% endif %}

                {{ m.postHtml }}
            {% endfor %}

{% endif %}


<!DOCTYPE html>

    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>{% block pageTitle %}#externals - Opening PHP's #internals to the outside{% endblock %}</title>

    <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,700" rel="stylesheet">

    <link rel="stylesheet" href="/dist/css/main.min.css?v={{ version }}">

Maintenance in progress

Drop italic font from maintenance layout

<!DOCTYPE html>

    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>{% block pageTitle %}#externals - Opening PHP's #internals to the outside{% endblock %}</title>

    <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700" rel="stylesheet">

    <link rel="stylesheet" href="/dist/css/main.min.css?v={{ version }}">

Maintenance in progress


{% block extends %}
{{ "{% extends '::base.html.twig' %}" }}
{% endblock extends %}

{% block body %}
{{ "{% block body %}" }}

{{ entity }}

        {%- for field, metadata in fields %}

                {{ field|capitalize }}

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

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

            {%- else %}

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

            {%- endif %}

        {%- endfor %}

    {% set hide_edit, hide_delete = false, false %}
    {% include 'crud/views/others/record_actions.html.twig.twig' %}
{{ "{% endblock %}" }}
{% endblock body %}

Make the "show" template check datetime fields before displaying them (as the "index" template already does)

{% block extends %}
{{ "{% extends '::base.html.twig' %}" }}
{% endblock extends %}

{% block body %}
{{ "{% block body %}" }}

{{ entity }}

        {%- for field, metadata in fields %}

                {{ field|capitalize }}

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

                {{ '{% if ' ~ entity_singularized ~ '.' ~ field|replace({'_': ''}) ~ ' %}{{ ' ~ entity_singularized ~ '.' ~ field|replace({'_': ''}) ~ '|date(\'Y-m-d H:i:s\') }}{% endif %}' }}

            {%- else %}

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

            {%- endif %}

        {%- endfor %}

    {% set hide_edit, hide_delete = false, false %}
    {% include 'crud/views/others/record_actions.html.twig.twig' %}
{{ "{% endblock %}" }}
{% endblock body %}


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

{# Errors #}

{% block form_errors -%}
    {% if errors|length > 0 -%}
        {% if form.parent %}{% else %}
{% endif %}

        {%- for error in errors -%}
            {# use font-awesome icon library #}

 {{ error.message }}

        {%- endfor -%}

        {% if form.parent %}{% else %}
{% endif %}
    {%- endif %}
{%- endblock form_errors %}

Use rootform test to check by root form view

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

{# Errors #}

{% block form_errors -%}
    {% if errors|length > 0 -%}
        {% if form is not rootform %}{% else %}
{% endif %}

        {%- for error in errors -%}
            {# use font-awesome icon library #}

 {{ error.message }}

        {%- endfor -%}

        {% if form is not rootform %}{% else %}
{% endif %}
    {%- endif %}
{%- endblock form_errors %}


    {% if message.lineNumber > -1 %}
        Line
        {{ message.lineNumber }}
    {% endif %}

    {% if not message.context == ''%}
        {{ message.context|raw }}

    {% endif %}

    {#{{ message|split("\n")|join("
")|replace({"\t": ''})|raw }}#}

    {{ message|raw }}

Make css raw error findable in the DOM

    {% if message.lineNumber > -1 %}
        Line
        {{ message.lineNumber }}
    {% endif %}

    {% if not message.context == ''%}
        {{ message.context|raw }}

    {% endif %}

        {{ message|raw }}


{% import "_includes/forms" as forms %}
{% do view.registerAssetBundle("Page8\\ManyToMany\\assetbundles\\manytomanyfield\\ManyToManyFieldAsset") %}

    {{ forms.hidden({
        name: name ~ 'nonSelectable',
        id: name ~ 'nonSelectable',
        value: nonSelectable,
    }) }}

                    {% for cur in current %}

                            <input type="hidden" name="{{ name }}[add][]" value="{{ cur.id }}">

                                {{ cur.title }}

                    {% endfor %}

{{ "Add an entry"|t }}

Update input template to better display elements


{% trans_default_domain 'admin' %}

    {{ form_start(form, {'attr': {'class': 'js-form'}}) }}
        {{ form_widget(form) }}
        <button type="submit"
                onclick="return confirm('{{ ('widget_cache.action.clear.confirm')|trans|e('js') }}');"
                title="{% trans %}widget_cache.action.clear.help{% endtrans %}">
            {% trans %}widget_cache.action.clear.submit{% endtrans %}
        </button>
    {{ form_end(form) }}

Refactor widget cache clear form template.


{% extends "page.twig" %}

{% block header_title %}

    {{ site.description }}

{% endblock %}

{% block header_content %}

        {% if not user %}
          {% include "components/join-callout.twig" with { "link": join_link } %}
        {% else %}
          {% include "components/directory-callout.twig" with { "link": directory_link } %}
        {% endif %}

        {% include "components/resources-callout.twig" with { "link": resources_link }  %}

{% endblock %}

{% block page_content %}

        {% include "components/mini-calendar.twig" %}

          {% include "components/title.twig" with { "content": "Latest News" } %}

        {% include "components/posts-list.twig" %}

{% endblock %}

Set smaller font size for homepage heading on small screens


{{ 'mail.new_recover_data.hello'|trans }} {{ admin.name }} {{ admin.lastname }},

{{ 'mail.new_recover_data.details'|trans }}:

{{ 'mail.new_recover_data.user'|trans }}: {{ admin.username }}

{{ 'mail.new_recover_data.password'|trans }}: {{ password }}

{{ 'mail.new_recover_data.email'|trans }}: {{ admin.email }}

{{ 'mail.new_recover_data.you_can_access'|trans }}:

{{ url('login') }}

{{ 'mail.new_recover_data.regards'|trans }}


Micrometa

Liste

Ajouter

Add map link in menu


{% extends "::base.html.twig" %}
{% import _self as macro %}

{% block page_title %}{{ 'ss.second_factor.revoke.title'|trans }}{% endblock %}

{% block content %}

{{ block('page_title') }}

{{ 'ss.second_factor.revoke.text.are_you_sure'|trans }}

            {{ 'ss.second_factor.revoke.table_header.type'|trans }}
            {{ ('ss.second_factor.revoke.second_factor_type.' ~ secondFactor.type)|trans }}

            {{ 'ss.second_factor.revoke.table_header.second_factor.identifier'|trans }}
            {{ secondFactor.secondFactorIdentifier }}

    {{ form(form) }}
{% endblock %}

Fix translation on revoke screen

{% extends "::base.html.twig" %}
{% import _self as macro %}

{% block page_title %}{{ 'ss.second_factor.revoke.title'|trans }}{% endblock %}

{% block content %}

{{ block('page_title') }}

{{ 'ss.second_factor.revoke.text.are_you_sure'|trans }}

            {{ 'ss.second_factor.revoke.table_header.type'|trans }}
            {{ secondFactor.type|trans_second_factor_type }}

            {{ 'ss.second_factor.revoke.table_header.second_factor.identifier'|trans }}
            {{ secondFactor.secondFactorIdentifier }}

    {{ form(form) }}
{% endblock %}


{% form_theme form 'SyliusWebBundle:Backend:forms.html.twig' %}

{% from 'SyliusResourceBundle:Macros:actions.html.twig' import create %}
{% from 'SyliusResourceBundle:Macros:actions.html.twig' import update %}

{{ form_errors(form) }}

{% if product_part_material.id %}
    {% set form_path = path('furniture_backend_product_part_material_variant_update', { product_part_material: product_part_material.id, id: product_part_material_variant.id}) %}
{% else %}
    {% set form_path = path('furniture_backend_product_part_material_variant_create', { product_part_material: product_part_material.id}) %}
{% endif %}

<form action="{{ form_path }}" method="post" class="form-horizontal" {{ form_enctype(form) }} novalidate>
    {{ form_row(form.descriptionalName) }}
    {{ form_row(form.descriptionalCode) }}
    {{ form_row(form.available) }}
    {{ form_widget(form.image) }}
    {{ form_row(form.values) }}

    {{ form_rest(form) }}

    {{ product_part_material.id ? update() : create() }}
</form>

Fix bug with update|create url generation

{% form_theme form 'SyliusWebBundle:Backend:forms.html.twig' %}

{% from 'SyliusResourceBundle:Macros:actions.html.twig' import create %}
{% from 'SyliusResourceBundle:Macros:actions.html.twig' import update %}

{{ form_errors(form) }}

{% if product_part_material_variant.id %}
    {% set form_path = path('furniture_backend_product_part_material_variant_update', { product_part_material: product_part_material.id, id: product_part_material_variant.id}) %}
{% else %}
    {% set form_path = path('furniture_backend_product_part_material_variant_create', { product_part_material: product_part_material.id}) %}
{% endif %}

<form action="{{ form_path }}" method="post" class="form-horizontal" {{ form_enctype(form) }} novalidate>
    {{ form_row(form.descriptionalName) }}
    {{ form_row(form.descriptionalCode) }}
    {{ form_row(form.available) }}
    {{ form_widget(form.image) }}
    {{ form_row(form.values) }}

    {{ form_rest(form) }}

    {{ product_part_material.id ? update() : create() }}
</form>


{% block show_sidebar %}
    {{ echo_block("show_sidebar") }}
        {% for name, widget in sidebar %}
            {% if widget.credentials|default is not empty %}
                {{ echo_if_granted(widget.credentials, builder.ModelClass) }}
            {% endif %}

{{ echo_trans(name,{}, i18n_catalog|default("Admin") ) }}

                            {% if widget.partial %}
                                {{ echo_include(widget.partial) }}
                            {% elseif widget.render %}
                                {{ echo_render(widget.render is iterable ?  widget.render.controller : widget.render, widget.render is iterable ? widget.render.params : {}) }}
                            {% endif %}

            {% if widget.credentials|default is not empty %}
                {{ echo_endif () }}
            {% endif %}
        {% endfor %}
    {{ echo_endblock() }}
{% endblock %}

Fix to allow rendering a controller in the show template if no partial added

{% block show_sidebar %}
    {{ echo_block("show_sidebar") }}
        {% for name, widget in sidebar %}
            {% if widget.credentials|default is not empty %}
                {{ echo_if_granted(widget.credentials, builder.ModelClass) }}
            {% endif %}

{{ echo_trans(name,{}, i18n_catalog|default("Admin") ) }}

                            {% if widget.partial is defined %}
                                {{ echo_include(widget.partial) }}
                            {% elseif widget.render %}
                                {{ echo_render(widget.render is iterable ?  widget.render.controller : widget.render, widget.render is iterable ? widget.render.params : {}) }}
                            {% endif %}

            {% if widget.credentials|default is not empty %}
                {{ echo_endif () }}
            {% endif %}
        {% endfor %}
    {{ echo_endblock() }}
{% endblock %}


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

{% block body %}

Reset Password

                Enter your membership number and the email address that you registered with below in order to reset your password.  You will be sent an email with instructions.

                If you can't remember either of these, email db@eaglecanoeclub.org.uk

            {{ form_start(form) }}
                {{ form_widget(form) }}
                <input type="submit" value="Reset Password" class="btn btn-primary" />
            {{ form_end(form) }}

{% endblock %}

Sort out formatting on reset password page


{% block filters %}
    public function filtersAction()
    {
        if ($this->getRequest()->get('reset')) {
            $this->setFilters(array());
            // Remove scopes and re-apply default ones
            $this->setScopes(null);

            return new RedirectResponse($this->getListUrl());
        }

        if ($this->getRequest()->getMethod() == "POST") {
            $form = $this->getFilterForm();
            $form->bind($this->getRequest());

            if ($form->isValid()) {
                $filters = $form->getViewData();
            }
        }

        if ($this->getRequest()->getMethod() == "GET") {
            $filters = $this->getRequest()->query->all();

            {% for filter,column in builder.filterColumns %}
                {% if column.filtersGroups %}
                    if (isset($filters['{{ column.name }}']) && !$this->checkGroups({{ column.filtersGroups|as_php }})) {
                        unset($filters['{{ column.name }}']);
                    }
                {% endif %}
            {% endfor %}
        }

        if (isset($filters)) {
            // Set no active scope
            $this->setScopes(array());
            $this->setFilters($filters);
        }

        return new RedirectResponse($this->getListUrl());
    }

    {% block setFilters -%}
    protected function setFilters(array $filters)
    {
        $this->get('session')->set($this->getSessionPrefix().'List\Filters', $filters);
    }
    {% endblock %}

    {% block getFilters -%}
    protected function getFilters()
    {
        return $this->get('session')->get($this->getSessionPrefix().'List\Filters', array());
    }
    {% endblock %}
{% endblock %}

Move `bind` calls to `handleRequest` ones

{% block filters %}
    public function filtersAction()
    {
        if ($this->getRequest()->get('reset')) {
            $this->setFilters(array());
            // Remove scopes and re-apply default ones
            $this->setScopes(null);

            return new RedirectResponse($this->getListUrl());
        }

        if ($this->getRequest()->getMethod() == "POST") {
            $form = $this->getFilterForm();
            $form->handleRequest($this->getRequest());

            if ($form->isValid()) {
                $filters = $form->getViewData();
            }
        }

        if ($this->getRequest()->getMethod() == "GET") {
            $filters = $this->getRequest()->query->all();

            {% for filter,column in builder.filterColumns %}
                {% if column.filtersGroups %}
                    if (isset($filters['{{ column.name }}']) && !$this->checkGroups({{ column.filtersGroups|as_php }})) {
                        unset($filters['{{ column.name }}']);
                    }
                {% endif %}
            {% endfor %}
        }

        if (isset($filters)) {
            // Set no active scope
            $this->setScopes(array());
            $this->setFilters($filters);
        }

        return new RedirectResponse($this->getListUrl());
    }

    {% block setFilters -%}
    protected function setFilters(array $filters)
    {
        $this->get('session')->set($this->getSessionPrefix().'List\Filters', $filters);
    }
    {% endblock %}

    {% block getFilters -%}
    protected function getFilters()
    {
        return $this->get('session')->get($this->getSessionPrefix().'List\Filters', array());
    }
    {% endblock %}
{% endblock %}


{% if sm_can(data, options.transition, options.graph) %}
    <form action="{{ path(options.link.route, options.link.parameters) }}" method="post">
        <input type="hidden" name="_csrf_token" value="{{ csrf_token(data.id) }}">
        <input type="hidden" name="_method" value="PUT">
        <button class="ui loadable {{ options.class }} labeled icon button" type="submit"><i class="{{ action.icon }} icon"></i> {{ action.label|trans }}</button>
    </form>
{% endif %}

Allow not to pass "apply_transition" button class

{% if sm_can(data, options.transition, options.graph) %}
    <form action="{{ path(options.link.route, options.link.parameters) }}" method="post">
        <input type="hidden" name="_csrf_token" value="{{ csrf_token(data.id) }}">
        <input type="hidden" name="_method" value="PUT">
        <button class="ui loadable {{ options.class|default }} labeled icon button" type="submit"><i class="{{ action.icon }} icon"></i> {{ action.label|trans }}</button>
    </form>
{% endif %}


{% extends "master.twig" %}

{% block main_content %}

Next event

                        Mon December 3rd 2014 6:05pm

                        Westbourne Library,

                        Alum Chine Road,

                        BH4 8DX

                    And then 7:00pm

                    The Libertine,

                    1 Alumhurst Road,

                    Bournemouth

                    BH4 8EL

{% endblock %}

Update December Meetup date to 1st

{% extends "master.twig" %}

{% block main_content %}

Next event

                        Mon December 1st 2014 6:05pm

                        Westbourne Library,

                        Alum Chine Road,

                        BH4 8DX

                    And then 7:00pm

                    The Libertine,

                    1 Alumhurst Road,

                    Bournemouth

                    BH4 8EL

{% endblock %}


{% from '@SyliusAdmin/Macro/translationForm.html.twig' import translationForm %}

        {{ form_errors(form) }}

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

Add translatable fields to creating catalog promotion

{% from '@SyliusAdmin/Macro/translationForm.html.twig' import translationForm %}

    {{ form_errors(form) }}

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

    {{ translationForm(form.translations) }}


server {
    listen          {{port}};
    server_name     {% for alias in aliases %}{{alias}} {% endfor %};
    root            {{root}};
    error_log       {{error_log}};
    access_log      {{access_log}};

    {% for config in configs %}
        include         {{config}};
    {% endfor %}
}

Add caching headers for static files

server {
    listen          {{port}};
    server_name     {% for alias in aliases %}{{alias}} {% endfor %};
    root            {{root}};
    error_log       {{error_log}};
    access_log      {{access_log}};

    location ~*  \.(jpg|jpeg|png|gif|ico|css|js|svg)$ {
        expires 365d;
    }

    {% for config in configs %}
        include         {{config}};
    {% endfor %}
}


{% extends '@HCLabsBills/base.html.twig' %}

{% block title %}Dashboard{% endblock %}

{% block body %}

{% endblock %}

Add basic table to view accounts

{% extends '@HCLabsBills/base.html.twig' %}

{% block title %}Dashboard{% endblock %}

{% block body %}

            Company
            Service
            Price
            Billing Period
            Next Bill

        {% for account in accounts %}

                {{ account.service.company.name }}
                {{ account.service.providedService }}
                £{{ account.recurringCharge }}

        {% endfor %}

{% endblock %}


<?php

namespace Drupal\{{module}}\Controller;

use Drupal\Core\Controller\ControllerBase;
{% if services is defined and services is not empty %}
use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
{% include 'skeleton/module/shared/services-use-operator.php.twig' %}
{% endif %}

class {{ class_name }} extends ControllerBase {% if services is defined and services is not empty %}implements ContainerInjectionInterface {% endif %}{{"\n"}}{
{% if services is defined and services is not empty %}
{% include 'skeleton/module/shared/services-class-properties-declaration.php.twig' %}

  public function __construct({{ servicesAsParameters(services)|join(', ') }})
  {
{% include 'skeleton/module/shared/services-class-properties-initialization.php.twig' %}
  }

  public static function create(ContainerInterface $container)
  {
    return new static(
{% include 'skeleton/module/shared/services-class-properties-injection.php.twig' %}
    );
  }
{% endif %}

  /**
   * {{method_name}}
   * @return string
   */
  public function {{method_name}}({{ argumentsFromRoute(route)|join(', ') }})
  {
{% if class_name == "DefaultController" %}
    return "Hello ".$name." !";
{% else %}
    return "Implements method {{method_name}}";
{% endif %}
  }
}

Extend from base Twig file

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

namespace Drupal\{{module}}\Controller;

use Drupal\Core\Controller\ControllerBase;
{% if services is defined and services is not empty %}
use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
{% include 'skeleton/module/shared/services-use-operator.php.twig' %}
{% endif %}

class {{ class_name }} extends ControllerBase {% if services is defined and services is not empty %}implements ContainerInjectionInterface {% endif %}{{"\n"}}{
{% if services is defined and services is not empty %}
{% include 'skeleton/module/shared/services-class-properties-declaration.php.twig' %}

  public function __construct({{ servicesAsParameters(services)|join(', ') }})
  {
{% include 'skeleton/module/shared/services-class-properties-initialization.php.twig' %}
  }

  public static function create(ContainerInterface $container)
  {
    return new static(
{% include 'skeleton/module/shared/services-class-properties-injection.php.twig' %}
    );
  }
{% endif %}

  /**
   * {{method_name}}
   * @return string
   */
  public function {{method_name}}({{ argumentsFromRoute(route)|join(', ') }})
  {
{% if class_name == "DefaultController" %}
    return "Hello ".$name." !";
{% else %}
    return "Implements method {{method_name}}";
{% endif %}
  }
}


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

{% block content %}

			{{ page.content }}

				{% for post in page.find('/blog').children.order('date', 'desc').slice(0, 3) %}

{{ post.title }}

							{% if post.summary %}
								{{ post.summary(400) }}
							{% else %}
								No summary available
							{% endif %}

				{% endfor %}

{% endblock %}

Fix typo in default template


{% if app.session.flashbag.keys is not empty %}

            {% for type, flashMessages in app.session.flashbag.all() %}
                {% for flashMessage in flashMessages %}

                        {{ flashMessage|trans }}

                {% endfor %}
            {% endfor %}

{% endif %}

Use `lg` instead of `md` everywhere


{% extends 'layout/standard' %}

{% block stylesheets %}

	{{ parent() }}

	<link rel="stylesheet" type="text/css" href="{{ asset_url('css_app') }}"/>

{% endblock stylesheets %}

{% block body %}

	{% if is_granted('ROLE_ADMIN') %}
		{% include '@cms/element/header' %}
	{% endif %}

	{{ parent() }}

{% endblock body %}

{% block container %}

		{% block header %}
{{ app.name }}
{% endblock %}

	{{ flash() }}

		{% block main %}

		{% block content %}{% endblock %}

		{% endblock main %}

	{% if block('footer') is not empty %}

		{% block footer %}{% endblock %}

	{% endif %}

{% endblock container %}

Extend frontend template from core

{% extends 'layout/frontend' %}

{% block stylesheets %}

	{{ parent() }}

	<link rel="stylesheet" type="text/css" href="{{ asset_url('css_app') }}" />

{% endblock stylesheets %}

{% block header %}

	{{ parent() }}

	<nav id="nav-main">

		{% block nav_main %}

			{{ list( app['app.navigation'] ) }}

		{% endblock nav_main %}

	</nav>

{% endblock header %}


{% extends 'KnpRadBundle:Layout:h5bp.html.twig' %}

{% block stylesheets %}
    <link rel="stylesheet" href="{{ asset('bundles/knprad/bootstrap/css/bootstrap.min.css') }}" />
    <link rel="stylesheet" href="{{ asset('bundles/knprad/bootstrap/css/bootstrap-responsive.min.css') }}" />
{% endblock %}

{% block javascripts %}

{% endblock %}

{% block flashes %}

    {% for name, flash in app.session.flashes %}

            <button type="button" class="close" data-dismiss="alert">×</button>
            {{ flash.message|default(flash)|trans(flash.parameters|default({}))|raw }}

    {% endfor %}

{% endblock %}

{% block body %}
{% endblock %}

Use the flashes tag in the twitter bootstrap layout

{% extends 'KnpRadBundle:Layout:h5bp.html.twig' %}

{% block stylesheets %}
    <link rel="stylesheet" href="{{ asset('bundles/knprad/bootstrap/css/bootstrap.min.css') }}" />
    <link rel="stylesheet" href="{{ asset('bundles/knprad/bootstrap/css/bootstrap-responsive.min.css') }}" />
{% endblock %}

{% block javascripts %}
    <script src="{{ asset('bundles/knprad/common/js/jquery-1.8.2.min.js') }}"></script>
    <script src="{{ asset('bundles/knprad/bootstrap/js/bootstrap.min.js') }}"></script>
{% endblock %}

{% block flashes %}
    {% flashes %}
        <div class="alert alert-{{ type }}">
            <button type="button" class="close" data-dismiss="alert">×</button>
            {{ message }}
        </div>
    {% endflashes %}
{% endblock %}

{% block body %}
{% endblock %}


{% use '../CommonAdmin/title.php.twig' %}
{% use '../CommonAdmin/ListTemplate/nbresults.php.twig' %}
{% use '../CommonAdmin/ListTemplate/thead.php.twig' %}
{% use '../CommonAdmin/ListTemplate/tbody.php.twig' %}
{% use '../CommonAdmin/ListTemplate/paginator.php.twig' %}
{% use '../CommonAdmin/ListTemplate/actions.php.twig' %}
{% use '../CommonAdmin/ListTemplate/filters.php.twig' %}
{% use '../CommonAdmin/ListTemplate/scopes.php.twig' %}

{{ echo_extends( builder.getBaseAdminTemplate ) }}

{{ echo_block("body") }}
    {{- block('title') -}}

        {{ block('list_scopes') -}}

        {{- block('list_nbresults') }}

            {{ block('list_thead') -}}
            {{- block('list_tbody') }}

        {{ block('list_paginator') -}}

        {{- block('list_actions') }}

                    {{ echo_trans('list.filters') }}

                        {{- block('list_filters') -}}

{{ echo_endblock() }}

Remove the filter table if the display is

{% use '../CommonAdmin/title.php.twig' %}
{% use '../CommonAdmin/ListTemplate/nbresults.php.twig' %}
{% use '../CommonAdmin/ListTemplate/thead.php.twig' %}
{% use '../CommonAdmin/ListTemplate/tbody.php.twig' %}
{% use '../CommonAdmin/ListTemplate/paginator.php.twig' %}
{% use '../CommonAdmin/ListTemplate/actions.php.twig' %}
{% use '../CommonAdmin/ListTemplate/filters.php.twig' %}
{% use '../CommonAdmin/ListTemplate/scopes.php.twig' %}

{{ echo_extends( builder.getBaseAdminTemplate ) }}

{{ echo_block("body") }}
    {{- block('title') -}}

        {{ block('list_scopes') -}}

        {{- block('list_nbresults') }}

            {{ block('list_thead') -}}
            {{- block('list_tbody') }}

        {{ block('list_paginator') -}}

        {{- block('list_actions') }}

    {% if builder.filters.display|length > 0 %}

                    {{ echo_trans('list.filters') }}

                        {{- block('list_filters') -}}

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


{
  "name": "drupal/{{ machine_name }}",
  "type": "drupal-{{ type }}",
  "description": "{{ description }}",
  "keywords": ["Drupal"],
  "license": "GPL-2.0+",
  "homepage": "http://drupal.org/project/{{ machine_name }}",
  "minimum-stability": "dev",
  "support": {
    "issues": "http://drupal.org/project/{{ machine_name }}",
    "source": "http://cgit.drupalcode.org/{{ machine_name }}"
  },
  "require": { }
}

Set proper path to support/issues

drupal/{{ machine_name }}

{{ description }}


{% trans_default_domain 'darvin_image' %}

{{ form_start(form, {'attr': {'class': 'ajax'}}) }}
{{ form_widget(form) }}
<button type="submit">{% trans %}archive.action.build.submit{% endtrans %}</button>
{{ form_end(form) }}

Update archive build form template.

{% trans_default_domain 'darvin_image' %}

{{ form_start(form, {'attr': {'class': 'img_arch ajax'}}) }}
{{ form_widget(form) }}
<button type="submit">{% trans %}archive.action.build.submit{% endtrans %}</button>
{{ form_end(form) }}


{% macro render_groups(admin, form, groups, has_tab) %}

    {% for code in groups if admin.formgroups[code] is defined %}
        {% set form_group = admin.formgroups[code] %}

                        {{ form_group.label|trans({}, form_group.translation_domain ?: admin.translationDomain) }}

                        {% if form_group.description %}

{{ form_group.description|raw }}

                        {% endif %}

                        {% for field_name in form_group.fields if form[field_name] is defined %}
                            {{ form_row(form[field_name])}}
                        {% else %}
                            {{ 'message_form_group_empty'|trans({}, 'SonataAdminBundle') }}
                        {% endfor %}

    {% endfor %}

{% endmacro %}

Add trans filter to form_group description

{% macro render_groups(admin, form, groups, has_tab) %}

    {% for code in groups if admin.formgroups[code] is defined %}
        {% set form_group = admin.formgroups[code] %}

                        {{ form_group.label|trans({}, form_group.translation_domain ?: admin.translationDomain) }}

                        {% if form_group.description %}

{{ form_group.description|trans({}, form_group.translation_domain ?: admin.translationDomain) }}

                        {% endif %}

                        {% for field_name in form_group.fields if form[field_name] is defined %}
                            {{ form_row(form[field_name])}}
                        {% else %}
                            {{ 'message_form_group_empty'|trans({}, 'SonataAdminBundle') }}
                        {% endfor %}

    {% endfor %}

{% endmacro %}


 0 %} error{% endif %} ui loadable form">
    {{ form_label(slugField) }}
    {% if resource.slug == null %}
        {{ form_widget(slugField, {'attr': {'data-url': path('sylius_admin_ajax_generate_product_slug')}}) }}
    {% else %}

        {{ form_widget(slugField, {'attr': {'readonly': 'readonly', 'data-url': path('sylius_admin_ajax_generate_product_slug')}}) }}

    {% endif %}
    {{ form_errors(slugField) }}

Fix product slug field in Admin

 0 %} error{% endif %} ui loadable form">
    {{ form_label(slugField) }}
    {% if slugField.vars.value == null %}
        {{ form_widget(slugField, {'attr': {'data-url': path('sylius_admin_ajax_generate_product_slug')}}) }}
    {% else %}

        {{ form_widget(slugField, {'attr': {'readonly': 'readonly', 'data-url': path('sylius_admin_ajax_generate_product_slug')}}) }}

    {% endif %}
    {{ form_errors(slugField) }}


{% extends "template.twig" %}
{% block section %}help{% endblock %}
{% block content %}

Need Help?

If you're not sure what to do, don't worry! Call, text, email, or Slack us, we're here to help!

    {% for event in me.current_managed_events %}

{{ event.full_name }}

Your StudentRND contact is {{ event.coach.name }}:

           {{ event.coach.phone }}

           {{ event.coach.username }}@srnd.org

           @{{ event.coach.username }}

    {% endfor %}
{% endblock %}

Change slack link to rocketchat link


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

{% block content %}

League Settings

League Name

{{ league.name }}

League ID

{{ league.id }}

League Type

{{ league.public ? 'Public' : 'Private' }}

League Password

{{ league.public ? 'Not Required' : league.password }}

Picks Lock

{{ league.lockTime ? league.lockTime|date("F jS \\a\\t g:ia") : 'Not Set' }}

{% endblock %}

Use session info for league lock time

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

{% block content %}

League Settings

League Name

{{ league.name }}

League ID

{{ league.id }}

League Type

{{ league.public ? 'Public' : 'Private' }}

League Password

{{ league.public ? 'Not Required' : league.password }}

Picks Lock

{{ app.session.get('picks_locked')|date("F jS \\a\\t g:ia") }}

{% endblock %}


{% extends "base.twig" %}

{% block content %}

	{% if post.get_thumbnail %}
	{% include "hero.twig" %}
	{% endif %}

{{ post.title }}

			{% include "metas.twig" %}

				{{ post.content }}

	{% if post.comment_status != 'closed' %}

Comments

			{{ fn('comment_form') }}

			{% for cmt in post.get_comments() %}
				{% include "comment.twig" with {comment:cmt} %}
			{% endfor %}

	{% endif %}

{% endblock %}

Add container around comments and commentform


<!DOCTYPE html>

        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>{% block title %}Ryan Catlin{% endblock %}</title>
        {% stylesheets
            'components/bootstrap/dist/css/bootstrap.css'
            'components/bootstrap/dist/css/bootstrap-theme.css'
            'css/styles.css'
            filter='cssrewrite'
            combine=true
            output='js/compiled/all.css'
         %}
            <link rel="stylesheet" href="{{ asset_url }}" />
        {% endstylesheets %}
        {% javascripts
            'components/jquery/dist/jquery.js'
            'components/bootstrap/dist/js/*'
            combine=true
            output='css/compiled/all.js'
        %}

        {% endjavascripts %}

                Ryan Catlin code and shark enthusiast

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

            {% block content %}
            {% endblock %}

Remove combine and correct js path

<!DOCTYPE html>

        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>{% block title %}Ryan Catlin{% endblock %}</title>
        {% stylesheets
            'components/bootstrap/dist/css/bootstrap.css'
            'components/bootstrap/dist/css/bootstrap-theme.css'
            'css/styles.css'
            filter='cssrewrite'
            output='js/compiled/all.css'
         %}
            <link rel="stylesheet" href="{{ asset_url }}" />
        {% endstylesheets %}
        {% javascripts
            'components/jquery/dist/jquery.js'
            'components/bootstrap/dist/js/*'
            output='js/compiled/all.js'
        %}

        {% endjavascripts %}

                Ryan Catlin code and shark enthusiast

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

            {% block content %}
            {% endblock %}


<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<!-- <script src="/js/ie10-viewport-bug-workaround.js"></script> -->

Add matavior.js to script includes

<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/matavior.js"></script>

<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<!-- <script src="/js/ie10-viewport-bug-workaround.js"></script> -->


        Content of:
        {{ keyInfo.getName }}{% if hashKey is not empty %} » {{ hashKey }}{% endif %}

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

{{ keyData }}

            Type: {{ keyInfo.getType }}
            ·
            TTL in ms:

                {% if keyInfo.getTimeToLive == -1 %}
                    ∞
                {% elseif keyInfo.getTimeToLive == -2 %}
                    not existing
                {% else %}
                    {{ keyInfo.getTimeToLive }}
                {% endif %}

    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>

Update modal header font size


{% if context.content.relation is not empty or context.contenttype.relations is defined %}

    {# Only if we have NO grouping tabs. #}
    {% if context.contenttype.groups|default is empty %}

    {% endif %}

            {{ __('Relationships') }}
            {{ __('Info') }}

{% endif %}

{% if context.contenttype.relations is defined %}
    {% include 'editcontent/_relationships.twig' %}
{% endif %}

{# Output 'incoming' relations #}
{% if context.content.relation is not empty or context.contenttype.relations is defined %}

    {% for reltype, ids in context.content.relation %}
        {% if context.contenttype.relations[reltype] is not defined %}

{{ __('This record is related to:') }}

                {% for id in ids %}
                    {% setcontent record = reltype ~ '/' ~ id %}
                    {% if record %}
                        {% set editable = isallowed('edit', record) %}
                        {% include ['_sub/_listing.twig'] with {'excerptlength': 280, 'thumbsize': 54, 'compact': true, 'content': record} %}
                    {% endif %}
                {% endfor %}

        {% endif %}
    {% endfor %}

{% endif %}

Connect code blocks belonging together

{% if context.content.relation is not empty or context.contenttype.relations is defined %}

    {# Only if we have NO grouping tabs. #}
    {% if context.contenttype.groups|default is empty %}

    {% endif %}

            {{ __('Relationships') }}
            {{ __('Info') }}

        {% if context.contenttype.relations is defined %}
            {% include 'editcontent/_relationships.twig' %}
        {% endif %}

        {# Output 'incoming' relations #}
        {% for reltype, ids in context.content.relation %}
            {% if context.contenttype.relations[reltype] is not defined %}

{{ __('This record is related to:') }}

                    {% for id in ids %}
                        {% setcontent record = reltype ~ '/' ~ id %}
                        {% if record %}
                            {% set editable = isallowed('edit', record) %}
                            {% include ['_sub/_listing.twig'] with {'excerptlength': 280, 'thumbsize': 54, 'compact': true, 'content': record} %}
                        {% endif %}
                    {% endfor %}

            {% endif %}
        {% endfor %}

{% endif %}


Update filter block styles - remove not implemented search field


> Disclaimer: These email notifications are in experimental stage, if you find
> that they look strange or contain false or misleading information please
> reply to this email to let us know.

The {{ package.name }} package of which you are a maintainer has
failed to update due to invalid data contained in your composer.json.
Please address this as soon as possible since the package stopped updating.

It is recommended that you use `composer validate` to check for errors when you
change your composer.json.

Below is the full update log which should highlight errors as
"Skipped branch ...":

[{{ exception }}]: {{ exceptionMessage }}

{{ details }}

--
If you do not wish to receive such emails in the future you can disable
notifications on your profile page: https://packagist.org/profile/edit

Disable autoescaping for plain text email

{% autoescape false -%}
> Disclaimer: These email notifications are in experimental stage, if you find
> that they look strange or contain false or misleading information please
> reply to this email to let us know.

The {{ package.name }} package of which you are a maintainer has
failed to update due to invalid data contained in your composer.json.
Please address this as soon as possible since the package stopped updating.

It is recommended that you use `composer validate` to check for errors when you
change your composer.json.

Below is the full update log which should highlight errors as
"Skipped branch ...":

[{{ exception }}]: {{ exceptionMessage }}

{{ details }}

--
If you do not wish to receive such emails in the future you can disable
notifications on your profile page: https://packagist.org/profile/edit
{%- endautoescape %}


{% extends "ForexWebBundle:Layout:nosidebar.html.twig" %}

{% block title %}{{ broker.name }} - {% endblock %}

{% block content %}

{{ broker.name }}

{{ broker.highlight }}

Broker Information

            Regulations:
            {% for regulation in broker.regulations %}
                {{ regulation.regulator.abbr }}
            {% endfor %}

Minimum Deposit: {{ broker.minDeposit }}

Maximum Leverage: {{ broker.maxLeverage }}

US Clients: {{ broker.usClients ? 'Yes' : 'No' }}

Spreads: {{ broker.spread ?: 'Spread Link' }}

            Equity Holdings:
            {% for currency in broker.equityHoldingCurriencies %}
                {{ currency.abbr }}
            {% endfor %}

Year Founded: {{ broker.yearFounded }}

{% endblock %}

Remove wording about us clients

{% extends "ForexWebBundle:Layout:nosidebar.html.twig" %}

{% block title %}{{ broker.name }} - {% endblock %}

{% block content %}

{{ broker.name }}

{{ broker.highlight }}

Broker Information

            Regulations:
            {% for regulation in broker.regulations %}
                {{ regulation.regulator.abbr }}
            {% endfor %}

Minimum Deposit: {{ broker.minDeposit }}

Maximum Leverage: {{ broker.maxLeverage }}

Spreads: {{ broker.spread ?: 'Spread Link' }}

            Equity Holdings:
            {% for currency in broker.equityHoldingCurriencies %}
                {{ currency.abbr }}
            {% endfor %}

Year Founded: {{ broker.yearFounded }}

{% endblock %}


{# class `text` will add the blue line #}

{{ page.title }}

    {{ content }}

    {% include "forms/form.html.twig" %}

Add sanity check in form success handler


{% extends bap.layout %}

{% block title %}{% trans %}How to use Pinbar{% endtrans %}{% endblock %}
{% block page_container %}

{% block content %}

{% trans %}How To Use Pinbar{% endtrans %}

            {% trans %}
                Use the Pin Bar to “pin” documents and pages you want to continuously work on by clicking on the minimize button (maybe add iamge of the button here) while on a specific page.

To restore a page simply click on the title of the page you want to work on so that it is maximized back to your working area.
            {% endtrans %}

{% endblock %}

{% endblock %}

Change naming rules for Titles and Actions - fix how to use pinbar text

{% extends bap.layout %}

{% block title %}{% trans %}How to use Pinbar{% endtrans %}{% endblock %}
{% block page_container %}

{% block content %}

{% trans %}How To Use Pinbar{% endtrans %}

            {% trans %}
                Use the Pin Bar to “pin” documents and pages you want to continuously work on by clicking on the minimize button while on a specific page.

To restore a page simply click on the title of the page you want to work on so that it is maximized back to your working area.
            {% endtrans %}

{% endblock %}

{% endblock %}


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

{% block title %}Page not found - Joind.in{%  endblock %}

{% block body %}

Page not found

Sorry, we can't find the page you tried to visit!

If you were expecting to see our old site, you can visit it at http://legacy.joind.in

Please feel free to contact us to tell us what went wrong

{%  endblock %}

Remove link to legacy.joind.in on 404-page

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

{% block title %}Page not found - Joind.in{%  endblock %}

{% block body %}

Page not found

Sorry, we can't find the page you tried to visit!

If you were expecting to see our old site, be informed that it is not available anymore.

Please feel free to contact us to tell us what went wrong

{%  endblock %}


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

{% block title %}
  <title>{{ SITE_TITLE }} - {{ 'msg.FormBuilderSubject'|trans|format(name) }}</title>
{% endblock %}

{% block main %}

{{ SITE_TITLE }}: {{ subject|format(name) }}

  {% if is_confirmation_mail %}

{{ 'msg.YouJustSentTheFollowingMessage'|trans }}

  {% endif %}

{{ 'lbl.SenderInformation'|trans|ucfirst }}

    {{ 'lbl.SentOn'|trans|ucfirst }}:

    {{ sentOn|spoondate(dateFormatLong, LANGUAGE) }}

{{ 'lbl.Content'|trans|ucfirst }}

  {% for field in fields %}

{{ field.label }}:
 {{ field.value|raw }}

  {% endfor %}
{% endblock %}

Make the email from the form builder safer

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

{% block title %}
  <title>{{ SITE_TITLE }} - {{ 'msg.FormBuilderSubject'|trans|format(name) }}</title>
{% endblock %}

{% block main %}

{{ SITE_TITLE }}: {{ subject|format(name) }}

  {% if is_confirmation_mail %}

{{ 'msg.YouJustSentTheFollowingMessage'|trans }}

  {% endif %}

{{ 'lbl.SenderInformation'|trans|ucfirst }}

    {{ 'lbl.SentOn'|trans|ucfirst }}:

    {{ sentOn|spoondate(dateFormatLong, LANGUAGE) }}

{{ 'lbl.Content'|trans|ucfirst }}

  {% for field in fields %}

{{ field.label|raw }}{% if field.value %}:{% endif %}
      {% if field.value %}

        {{ field.value|replace({'
\r\n' : '\r\n','
\r\n' : '\r\n','
' : '\r\n','
' : '\r\n'})|e|nl2br|raw }}
      {% endif %}

  {% endfor %}
{% endblock %}


{% extends 'BehatViewerUiBundle::Components/navbar.html.twig' %}

{%
    set links = [
        {
            'label': 'Users',
            'route': 'behatviewer.admin.user'
        },
        {
            'label': 'Help',
            'route': 'behatviewer.help'
        }
    ]
%}

Fix userlinks on admin header

{% extends 'BehatViewerUiBundle::Components/navbar.html.twig' %}

{%
    set links = [
        {
            'label': 'Users',
            'route': 'behatviewer.admin.user'
        },
        {
            'label': 'Help',
            'route': 'behatviewer.help'
        }
    ]
%}

{%
    set userlinks = [
        {
            'label': ' Profile',
            'route': 'behatviewer.profile',
            'show': is_granted('ROLE_USER')
        },
        {
            'divider': true,
            'show': is_granted('ROLE_ADMIN')
        },
        {
            'label': ' Admin',
            'route': 'behatviewer.admin.user',
            'show': is_granted('ROLE_ADMIN'),
        },
        {
            'label': ' Workers',
            'route': 'behatviewer.worker',
            'show': is_granted('ROLE_ADMIN'),
        }
    ]
%}


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

{% block body %}

        {% include 'WebProfilerBundle:Profiler:header.html.twig' only %}

                Token "{{ token }}" does not exist.

                    {% render 'WebProfilerBundle:Profiler:searchBar' with { 'token': token } %}
                    {% include 'WebProfilerBundle:Profiler:admin.html.twig' with { 'token': token } only %}

                    {% block panel '' %}

{% endblock %}

Improve the "token not found" page

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

{% block body %}

        {% include 'WebProfilerBundle:Profiler:header.html.twig' only %}

                No request matching the token "{{ token }}".

                    {% render 'WebProfilerBundle:Profiler:searchBar' with { 'token': token } %}
                    {% include 'WebProfilerBundle:Profiler:admin.html.twig' with { 'token': token } only %}

                    {% block panel%}

Token not found

                            No request matching the token "{{ token }}".

                    {% endblock %}

{% endblock %}


{% set classes = [
dom_id ? 'js-view-dom-id-' ~ dom_id,
] %}

            {% include directory ~ "/components/title-line/title-line.html.twig" with {
            title:"Last news"|t,
            } only %}

                {{ rows }}

Fix pager on views news

{% set classes = [
dom_id ? 'js-view-dom-id-' ~ dom_id,
] %}

            {% include directory ~ "/components/title-line/title-line.html.twig" with {
            title:"Last news"|t,
            } only %}

                {{ rows }}
                {{ empty }}
                {{ pager }}

                {{ attachment_after }}
                {{ more }}


{% if product.imagesByType('thumbnail') is not empty %}
    {% set path = product.imagesByType('thumbnail').first.path|imagine_filter(filter|default('sylius_shop_product_thumbnail')) %}
{% elseif product.images.first %}
    {% set path = product.images.first.path|imagine_filter(filter|default('sylius_shop_product_thumbnail')) %}
{% else %}
    {% set path = '//placehold.it/200x200' %}
{% endif %}

<img src="{{ path }}" alt="" class="ui bordered image" />

Add alt attribute to main product image

{% if product.imagesByType('thumbnail') is not empty %}
    {% set path = product.imagesByType('thumbnail').first.path|imagine_filter(filter|default('sylius_shop_product_thumbnail')) %}
{% elseif product.images.first %}
    {% set path = product.images.first.path|imagine_filter(filter|default('sylius_shop_product_thumbnail')) %}
{% else %}
    {% set path = '//placehold.it/200x200' %}
{% endif %}

<img src="{{ path }}" alt="{{ product.name }}" class="ui bordered image" />


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>{% block title %}{{ project.name }}{% endblock %}</title>
        <!-- Twitter Bootstrap Stylesheet -->
        <link href="{{ asset('css/bootstrap.min.css') }}" rel="stylesheet" media="screen">
        {% block stylesheets %}{% endblock %}
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
    </head>
    <body>
        {% block body %}{% endblock %}
        <!-- jQuery Framework -->
        <script src="{{ asset('js/jquery-1.10.2.min.js') }}"></script>
        <!-- jQuery Ajax Form -->
        <script src="{{ asset('js/jquery.form.min.js') }}"></script>
        <!-- jQuery Form Validate -->
        <script src="{{ asset('js/jquery.validate.min.js') }}"></script>
        <!-- Twitter Bootstrap -->
        <script src="{{ asset('js/bootstrap.min.js') }}"></script>
        <!-- Twitter Bootstrap Fileupload -->
        <script src="{{ asset('js/bootstrap-filestyle.min.js') }}"></script>
        {% block javascripts %}{% endblock %}
    </body>
</html>

Fix wrong var name project.name to platform.name

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>{% block title %}{{ platform.name }}{% endblock %}</title>
        <!-- Twitter Bootstrap Stylesheet -->
        <link href="{{ asset('css/bootstrap.min.css') }}" rel="stylesheet" media="screen">
        {% block stylesheets %}{% endblock %}
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
    </head>
    <body>
        {% block body %}{% endblock %}
        <!-- jQuery Framework -->
        <script src="{{ asset('js/jquery-1.10.2.min.js') }}"></script>
        <!-- jQuery Ajax Form -->
        <script src="{{ asset('js/jquery.form.min.js') }}"></script>
        <!-- jQuery Form Validate -->
        <script src="{{ asset('js/jquery.validate.min.js') }}"></script>
        <!-- Twitter Bootstrap -->
        <script src="{{ asset('js/bootstrap.min.js') }}"></script>
        <!-- Twitter Bootstrap Fileupload -->
        <script src="{{ asset('js/bootstrap-filestyle.min.js') }}"></script>
        {% block javascripts %}{% endblock %}
    </body>
</html>


{% set product = variant.product %}

    {% include '@SyliusShop/Product/_mainImage.html.twig' with {'product': product, 'filter': 'sylius_shop_product_tiny_thumbnail'} %}

{{ item.productName }}

            {{ variant.code }}

{% if product.hasOptions() %}

        {% for optionValue in variant.optionValues %}

                {{ optionValue.value }}

        {% endfor %}

{% elseif item.variantName is not null %}

            {{ item.variantName }}

{% endif %}

Use variant images if one exist

{% set product = variant.product %}

    {% if variant.hasImages %}
        {% include '@SyliusShop/Product/_mainImage.html.twig' with {'product': variant, 'filter': 'sylius_shop_product_tiny_thumbnail'} %}
    {% else %}
        {% include '@SyliusShop/Product/_mainImage.html.twig' with {'product': product, 'filter': 'sylius_shop_product_tiny_thumbnail'} %}
    {% endif %}

{{ item.productName }}

            {{ variant.code }}

{% if product.hasOptions() %}

        {% for optionValue in variant.optionValues %}

                {{ optionValue.value }}

        {% endfor %}

{% elseif item.variantName is not null %}

            {{ item.variantName }}

{% endif %}


{% extends 'OroUIBundle:actions:update.html.twig' %}

{% block stats %}

{{ 'oro.ui.created_at'|trans }}: {{ entity.createdAt ? entity.createdAt|oro_format_datetime : 'N/A' }}

{{ 'oro.ui.updated_at'|trans }}: {{ entity.updatedAt ? entity.updatedAt|oro_format_datetime : 'N/A' }}

{% endblock stats %}

{% block pageHeader %}
    {% set breadcrumbs = {
    'entity': entity,
    'indexPath': path('oro_workflow_definition_index'),
    'indexLabel': 'oro.workflow.workflowdefinition.entity_plural_label'|trans,
    'entityTitle': entity.label
    } %}
    {{ parent() }}
{% endblock pageHeader %}

{% block breadcrumbs %}
    {{ parent() }}

        {% if entity.isActive %}

{{ 'Active'|trans }}

        {% else %}

{{ 'Inactive'|trans }}

        {% endif %}

{% endblock breadcrumbs %}

{% block content_data %}
{% endblock %}

Create workflow configuration page - Proper indentation in view


{# src/TMS/UsersBundle/Resources/views/Default/index.html.twig #}
{% extends "::layout.html.twig" %}

{% block header %}
	{#<form method="post" {{ form_enctype(form) }}>
		{#{{ form_widget(form) }}
		{#<input type="submit"/>
	{#</form> #}
{% endblock %}

{% block content %}

Hello !

	Link to your Dashboard
	{#Link to your Dashboard#}
{% endblock %}

Add form to register on the index page

{# src/TMS/UsersBundle/Resources/views/Default/index.html.twig #}
{% extends "::layout.html.twig" %}

{% block header %}
	{{ form_start(signup_form) }}
		{{ form_errors(signup_form) }}

		{{ form_row(signup_form.name) }}
		{{ form_row(signup_form.email) }}
		{{ form_row(signup_form.passwordHash) }}
		{{ form_row(signup_form.save) }}
	{{ form_end(signup_form) }}
{% endblock %}

{% block content %}

Hello !

	Link to your Dashboard
	{#Link to your Dashboard#}
{% endblock %}


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

{% block body %}
{{ parent() }}

Inscription à « {{ tournament.name }} » en tant que manager

    {{ tournament.description }}

      {% if tournament.participantType == 'team' %}
          {% include 'InsaLanTournamentBundle:Manager:ChooseManagerNameValidated.html.twig'  with {'counter': 1}%}
          {% include 'InsaLanTournamentBundle:Manager:CreateJoinTeamValidated.html.twig'  with {'counter': 2}%}
          {% include 'InsaLanTournamentBundle:Manager:BeforePaymentValidated.html.twig'  with {'counter': 3}%}
          {% include 'InsaLanTournamentBundle:Manager:AfterPaymentActive.html.twig' with {'counter': 4} %}
      {% else %}
          {% include 'InsaLanTournamentBundle:Manager:ChooseGameNameValidated.html.twig' with {'counter': 1} %}
          {% include 'InsaLanTournamentBundle:Manager:BeforePaymentValidated.html.twig' with {'counter': 2} %}
          {% include 'InsaLanTournamentBundle:Manager:AfterPaymentActive.html.twig' with {'counter': 3} %}
      {% endif %}

{% endblock %}

Fix payment process for solo managers

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

{% block body %}
{{ parent() }}

Inscription à « {{ tournament.name }} » en tant que manager

    {{ tournament.description }}

      {% if tournament.participantType == 'team' %}
          {% include 'InsaLanTournamentBundle:Manager:ChooseManagerNameValidated.html.twig'  with {'counter': 1}%}
          {% include 'InsaLanTournamentBundle:Manager:CreateJoinTeamValidated.html.twig'  with {'counter': 2}%}
          {% include 'InsaLanTournamentBundle:Manager:BeforePaymentValidated.html.twig'  with {'counter': 3}%}
          {% include 'InsaLanTournamentBundle:Manager:AfterPaymentActive.html.twig' with {'counter': 4} %}
      {% else %}
          {% include 'InsaLanTournamentBundle:Manager:ChooseManagerNameValidated.html.twig' with {'counter': 1} %}
          {% include 'InsaLanTournamentBundle:Manager:JoinSoloPlayerValidated.html.twig'  with {'counter': 2} %}
          {% include 'InsaLanTournamentBundle:Manager:BeforePaymentValidated.html.twig' with {'counter': 3} %}
          {% include 'InsaLanTournamentBundle:Manager:AfterPaymentActive.html.twig' with {'counter': 4} %}
      {% endif %}

{% endblock %}


{% set _mainNavDefaults = {'selected' : 'dashboard'} %}
{% set mainNavigation = mainNavigation is defined ? _mainNavDefaults | merge(mainNavigation) : _mainNavDefaults %}

                        Dashboard

                        Institutional Profile

    				{#--- TODO: use constant value here or a twig helper to check if institution is of type single center #}
                    {% if (institution.type != 3) %}

                        Your Clinics

                    {% endif %}

                        Events

Change the Insitution Profile to Your Profile

{% set _mainNavDefaults = {'selected' : 'dashboard'} %}
{% set mainNavigation = mainNavigation is defined ? _mainNavDefaults | merge(mainNavigation) : _mainNavDefaults %}

                        Dashboard

                        Your Profile

    				{#--- TODO: use constant value here or a twig helper to check if institution is of type single center #}
                    {% if (institution.type != 3) %}

                        Your Clinics

                    {% endif %}

                        Events


{% extends 'Layout.twig' %}

{% block content %}

        <form method="post">
            <button name="generate" class="btn btn-info">Generate</button>
        </form>

        {% if error is defined %}

{{ error }}

        {% endif %}

        {% if success is defined %}

{{ success }}

        {% endif %}

        {% if tokens|length > 0 %}

                        Token
                        Generated

                {% for token in tokens %}

                        {{ token._id }}

                                {{ token.generated.sec|date('jS M Y') }}

                {% endfor %}

        {% else %}

No tokens found.

        {% endif %}

{% endblock %}

Add description of what auth tokens are

{% extends 'Layout.twig' %}

{% block content %}

        <form method="post">
            <button name="generate" class="btn btn-primary">Generate</button>
        </form>

        {% if error is defined %}

{{ error }}

        {% endif %}

        {% if success is defined %}

{{ success }}

        {% endif %}

Currently, these tokens are used for Github Hooks, but they will eventually have access your full account, so be careful what you do with them.

        {% if tokens|length > 0 %}

                        Token
                        Generated

                {% for token in tokens %}

                        {{ token._id }}

                                {{ token.generated.sec|date('jS M Y') }}

                {% endfor %}

        {% else %}

No tokens found.

        {% endif %}

{% endblock %}


Hola {{ name }},

Tu candidatura ha sido aceptada por el administrador.

Update mail candidate accepted template

{{ 'mail.candidate_accepted.hello'|trans }} {{ name }},

{{ 'mail.candidate_accepted.accepted'|trans }}.


{% set src = aboutme_picture_src %}
{% if not config.plugins.aboutme.gravatar.enabled %}
	{% set src = uri.rootUrl(false) ~ (uri.rootUrl(false) == '/' ? '' : '/') ~ aboutme_picture_src %}
{% endif %}
{{ aboutme_name }}

Update microformats for better parsing


<form action="{{ path('cunningsoft_chat_post') }}" method="post">
    <label for="chatMessage">Message</label>
    <input type="text" name="message" id="chatMessage" />
    <input id="submitButton" type="submit" value="submit" />
</form>
{% render(controller('CunningsoftChatBundle:Chat:list')) %}
<script type="text/javascript">
$("#submitButton").submit(function() {
    postMessage();
    updateChat();
    return false;
});
function postMessage()
{
    $.post('{{ path('cunningsoft_chat_post') }}', { 'message': $("#chatMessage").val() });
    $("#chatMessage").val('');
}
function updateChat()
{
    $.post('{{ path('cunningsoft_chat_list') }}', function(data) {
        $('#chat').html(data);
    });
}
setInterval('updateChat()', {{ updateInterval }});
updateChat();
</script>

Switch back to SetTimeout, but make the timeout clear on function call; This allows updateChat to be called independently wihtout setting up multiple timeouts

<form action="{{ path('cunningsoft_chat_post') }}" method="post">
    <label for="chatMessage">Message</label>
    <input type="text" name="message" id="chatMessage" />
    <input id="submitButton" type="submit" value="submit" />
</form>
{% render(controller('CunningsoftChatBundle:Chat:list')) %}
<script type="text/javascript">
$("#submitButton").submit(function() {
    postMessage();
    updateChat();
    return false;
});
function postMessage()
{
    $.post('{{ path('cunningsoft_chat_post') }}', { 'message': $("#chatMessage").val() });
    $("#chatMessage").val('');
}
function updateChat()
{
    if (this.timer)
        clearTimeout(this.timer);

    $.post('{{ path('cunningsoft_chat_list') }}', function(data) {
        $('#chat').html(data);
    });
    this.timer = setTimeout('updateChat()', {{ updateInterval }});
}
updateChat();
</script>


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

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

{{ native_name(key)|capitalize }}

        {% endif %}
    {% endfor %}

 {{ "MSG_HELP_TRANSLATE"|t }}

Resolve default language not reachable with http_accept_language

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

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

{{ native_name(key)|capitalize }}

        {% endif %}
    {% endfor %}

 {{ "MSG_HELP_TRANSLATE"|t }}


<!DOCTYPE html>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0">
    <title>{{ pagetitle }}</title>
    <link rel="stylesheet" type="text/css" href="/{{ baseurlpath }}resources/default.css">
    <link rel="icon" type="image/icon" href="/{{ baseurlpath }}resources/icons/favicon.ico">
    <link rel="stylesheet" media="screen" type="text/css" href="/{{ baseurlpath }}resources/uitheme1.8/jquery-ui.css">
    {% if isRTL %}<link rel="stylesheet" type="text/css" href="/{{ baseurlpath }}resources/default-rtl.css" />{% endif %}
    <meta name="robots" content="noindex, nofollow">
    {% block preload %}{% endblock %}

        {% block header %}{% include "_header.twig" %}{% endblock %}

            {% block content %}{% endblock %}

            {% block footer %}{% include "_footer.twig" %}{% endblock %}

    {% block postload %}{% endblock %}

Load clipboard-support, if turned on

<!DOCTYPE html>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0">
    <title>{{ pagetitle }}</title>
    <link rel="stylesheet" type="text/css" href="/{{ baseurlpath }}resources/default.css">
    <link rel="icon" type="image/icon" href="/{{ baseurlpath }}resources/icons/favicon.ico">
    <link rel="stylesheet" media="screen" type="text/css" href="/{{ baseurlpath }}resources/uitheme1.8/jquery-ui.css">
    {% if isRTL %}<link rel="stylesheet" type="text/css" href="/{{ baseurlpath }}resources/default-rtl.css" />{% endif %}
    <meta name="robots" content="noindex, nofollow">
    {% block preload %}{% endblock %}

        {% block header %}{% include "_header.twig" %}{% endblock %}

            {% block content %}{% endblock %}

            {% block footer %}{% include "_footer.twig" %}{% endblock %}

    {% if clipboard %}

    {% endif %}
    {% block postload %}{% endblock %}


{% extends 'partials/_master.twig' %}

{% block category %}

        {% for record in records %}

{{record.title}}

{{ record.content }}

                        {{ l('show-more') }}

        {% endfor %}

{% endblock category %}

Use of a default picture


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

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

{{ 'candidate.h1_title'|trans }}

			{{ error }}

{% endblock %}

Improve error message for step 1 candidate


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>{% block title %}Fennec{% endblock %}</title>
        {% block stylesheets %}
            {# Bootstrap SB-Admin2 stylesheets #}
            <link rel="stylesheet" href="{{ asset('assets/vendor/bootstrap/dist/css/bootstrap.min.css') }}">
            <link rel="stylesheet" href="{{ asset('assets/vendor/startbootstrap-sb-admin-2/dist/css/sb-admin-2.css') }}">
            <link rel="stylesheet" href="{{ asset('assets/vendor/bower_components/font-awesome/css/font-awesome.min.css') }}">
        {% endblock %}
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
    </head>
    <body>
        {% block body %}{% endblock %}
        {% block javascripts %}
            <script src="{{ asset('assets/vendor/jquery/dist/jquery.min.js') }}"></script>
            <script src="{{ asset('assets/vendor/bootstrap/dist/js/bootstrap.min.js') }}"></script>
            <script src="{{ asset('assets/vendor/startbootstrap-sb-admin-2/dist/js/sb-admin-2.js') }}"></script>
        {% endblock %}
    </body>
</html>

Add missing css and js files

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>{% block title %}Fennec{% endblock %}</title>
        {% block stylesheets %}
            {# Bootstrap SB-Admin2 stylesheets #}
            <link rel="stylesheet" href="{{ asset('assets/vendor/bootstrap/dist/css/bootstrap.min.css') }}">
            <link rel="stylesheet" href="{{ asset('assets/vendor/startbootstrap-sb-admin-2/dist/css/sb-admin-2.css') }}">
            <link rel="stylesheet" href="{{ asset('assets/vendor/metisMenu/dist/metisMenu.min.css') }}">
            <link rel="stylesheet" href="{{ asset('assets/vendor/font-awesome/css/font-awesome.min.css') }}">
        {% endblock %}
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
    </head>
    <body>
        {% block body %}{% endblock %}
        {% block javascripts %}
            <script src="{{ asset('assets/vendor/jquery/dist/jquery.min.js') }}"></script>
            <script src="{{ asset('assets/vendor/bootstrap/dist/js/bootstrap.min.js') }}"></script>
            <script src="{{ asset('assets/vendor/metisMenu/dist/metisMenu.min.js') }}"></script>
            <script src="{{ asset('assets/vendor/startbootstrap-sb-admin-2/dist/js/sb-admin-2.js') }}"></script>
        {% endblock %}
    </body>
</html>


<?php
namespace Grav\Plugin;

use Composer\Autoload\ClassLoader;
use Grav\Common\Plugin;

/**
 * Class {{ component.name|camelize }}Plugin
 * @package Grav\Plugin
 */
class {{ component.name|camelize }}Plugin extends Plugin
{
    /**
     * @return array
     *
     * The getSubscribedEvents() gives the core a list of events
     *     that the plugin wants to listen to. The key of each
     *     array section is the event that the plugin listens to
     *     and the value (in the form of an array) contains the
     *     callable (or function) as well as the priority. The
     *     higher the number the higher the priority.
     */
    public static function getSubscribedEvents()
    {
        return [
            'onPluginsInitialized' => [
                ['autoload', 100000], // TODO: Remove when plugin requires Grav >=1.7
                ['onPluginsInitialized', 0]
            ]
        ];
    }

    /**
    * Composer autoload.
    *is
    * @return ClassLoader
    */
    public function autoload(): ClassLoader
    {
        return require __DIR__ . '/vendor/autoload.php';
    }

    /**
     * Initialize the plugin
     */
    public function onPluginsInitialized()
    {
        // Don't proceed if we are in the admin plugin
        if ($this->isAdmin()) {
            return;
        }

        // Enable the main events we are interested in
        $this->enable([
            // Put your main events here
        ]);
    }
}

Use return type hints in plugin

<?php
namespace Grav\Plugin;

use Composer\Autoload\ClassLoader;
use Grav\Common\Plugin;

/**
 * Class {{ component.name|camelize }}Plugin
 * @package Grav\Plugin
 */
class {{ component.name|camelize }}Plugin extends Plugin
{
    /**
     * @return array
     *
     * The getSubscribedEvents() gives the core a list of events
     *     that the plugin wants to listen to. The key of each
     *     array section is the event that the plugin listens to
     *     and the value (in the form of an array) contains the
     *     callable (or function) as well as the priority. The
     *     higher the number the higher the priority.
     */
    public static function getSubscribedEvents(): array
    {
        return [
            'onPluginsInitialized' => [
                ['autoload', 100000], // TODO: Remove when plugin requires Grav >=1.7
                ['onPluginsInitialized', 0]
            ]
        ];
    }

    /**
    * Composer autoload.
    *is
    * @return ClassLoader
    */
    public function autoload(): ClassLoader
    {
        return require __DIR__ . '/vendor/autoload.php';
    }

    /**
     * Initialize the plugin
     */
    public function onPluginsInitialized(): void
    {
        // Don't proceed if we are in the admin plugin
        if ($this->isAdmin()) {
            return;
        }

        // Enable the main events we are interested in
        $this->enable([
            // Put your main events here
        ]);
    }
}


{% extends "streams::blank" %}

{% block  content %}

        {% include "anomaly.module.system::admin/partials/table" with {'attributes': {
            'Time': 'entry.createdAt',
            'Hostname': 'entry.content.hostname',
            'Connection': 'entry.content.connection',
            'Location': '{{ entry.content.file }}:{{ entry.content.line }}',
            'Slow': '
{{ entry.content.slow ? "true" : "false" }}
',
            'Time': '{{ entry.content.time }} ms',
            'Tags': 'entry.tags',
        }} %}

        {% include "anomaly.module.system::admin/partials/user" %}

        {% include "anomaly.module.system::admin/partials/tabs" with {'attributes': {
            'SQL': '{{ var_export(vsprintf(str_replace(\'?\', \'%s\', entry.content.sql), entry.content.bindings), true)|raw }}',
            'Bindings': '{{ json_encode(entry.content.bindings, 128)|raw }}',
        }} %}

        {% include "anomaly.module.system::admin/partials/batch" %}

{% endblock %}

Replace the base path to make it easier to read.

{% extends "streams::blank" %}

{% block  content %}

        {% include "anomaly.module.system::admin/partials/table" with {'attributes': {
            'Time': 'entry.createdAt',
            'Hostname': 'entry.content.hostname',
            'Connection': 'entry.content.connection',
            'Location': '{{ str_replace(base_path(), "", entry.content.file) }}:{{ entry.content.line }}',
            'Slow': '
{{ entry.content.slow ? "true" : "false" }}
',
            'Time': '{{ entry.content.time }} ms',
            'Tags': 'entry.tags',
        }} %}

        {% include "anomaly.module.system::admin/partials/user" %}

        {% include "anomaly.module.system::admin/partials/tabs" with {'attributes': {
            'SQL': '{{ var_export(vsprintf(str_replace(\'?\', \'%s\', entry.content.sql), entry.content.bindings), true)|raw }}',
            'Bindings': '{{ json_encode(entry.content.bindings, 128)|raw }}',
        }} %}

        {% include "anomaly.module.system::admin/partials/batch" %}

{% endblock %}


Move override templates from Utils bundle to Utils package.

<?php declare(strict_types=1);
/**
 * @copyright Copyright (c) {{ 'now'|date('Y') }}, Darvin Studio
 * @link      https://www.darvin-studio.ru
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace App\Entity\{{ package_namespace }}{% if entity_namespace %}\{{ entity_namespace }}{% endif %};

use {{ fqcn }};
use Doctrine\ORM\Mapping as ORM;

/**
 * {{ class|humanize }}
 *
 * @ORM\Entity{% if repository %}(repositoryClass="{{ repository }}"){% endif %}

 */
class App{{ class }} extends {{ class }}
{
{% if translatable %}
    /**
     * {@inheritDoc}
     */
    public static function getTranslatableEntityClass(): string
    {
        return App{{ translatable }}::class;
    }
{% endif %}
{% if translation %}
    /**
     * {@inheritDoc}
     */
    public static function getTranslationEntityClass(): string
    {
        return App{{ translation }}::class;
    }
{% endif %}
}


{% extends 'base.html.twig' %}
{% set page_title = 'Logi: who -=#IS#=-' %}
{% block content_class_name %}logs-chats{% endblock %}

{% block content %}
    {{ parent() }}

    {% for log in logs %}
        <time class="title timeago" datetime="{{ log['date'] }}" id="{{ log['date']|date('Y-m-d') }}">{{ log['date']|localizeddate('full', 'short', 'pl')|capitalize }}</time>
        ¶

        {{ log['contents']|raw }}

    {% endfor %}
{% endblock %}

Fix logs/who-is when there's no logs.

{% extends 'base.html.twig' %}
{% set page_title = 'Logi: who -=#IS#=-' %}
{% block content_class_name %}logs-chats{% endblock %}

{% block content %}
    {{ parent() }}

    {% if logs|length > 0 %}
        {% for log in logs %}
            <time class="title timeago" datetime="{{ log['date'] }}" id="{{ log['date']|date('Y-m-d') }}">{{ log['date']|localizeddate('full', 'short', 'pl')|capitalize }}</time>
            ¶

            {{ log['contents']|raw }}

        {% endfor %}
    {% else %}
        Brak logów.
    {% endif %}
{% endblock %}


Hola {{ name }},

Puedes proporcionar este enlace público a los candidatos y candidatas para que se
den de alta rellenando el formulario que les aparecerá:

http://municipales2015.listabierta.org/{{ address_slug }}/altacandidaturas

Update mail candidacy address template

{{ 'mail.candidacy_address.hello'|trans }} {{ name }},

{{ 'mail.candidacy_address.supply_link'|trans }}:

{{ path('candidate_step1', { 'address' : address_slug }) }}


Latest Remote Jobs

	{% for job in latestJobs %}

	    		{{job.companyname}} -
	    		{{job.position}}
	    		{{job.dateadded_unixtime|date('M d')}}

    {% endfor %}

Move some daily digest email info into the config

Latest Remote Jobs

	{% for job in latestJobs %}

	    		{{job.companyname}} -
	    		{{job.position}}
	    		{{job.dateadded_unixtime|date('M d')}}

    {% endfor %}

If daily emails get annoying, please let me know - it might be an idea to have a weekly email


{% set images = (images is defined) ? images : block.images %}
{%- block images -%}
<div class='images {{ blockview.images.displayOption }}' property='images'>
    {% set images = sulu_resolve_medias(images, app.request.locale) %}
    {% for image in images %}
        {%- block image -%}
        <img
            {% block image_attributes %}
                src='{% block image_source %}{{ image.url }}{% endblock %}'
                title='{% block image_title %}{{ image.title }}{% endblock %}'
                alt='{% block image_alternative %}{{ image.title }}{% endblock %}'
            {% endblock %}
        />
        {%- endblock -%}
    {% endfor %}
</div>
{%- endblock -%}

Allow to use a different property name for images

{% set block_property = (block_property is defined) ? block_property : 'images' %}
{% set images = (images is defined) ? images : block[block_property] %}

{%- block images -%}
<div class='{{ block_property }} {{ blockview[block_property].displayOption }}' property='{{ block_property }}'>
    {% set resolved_images = sulu_resolve_medias(images, app.request.locale) %}
    {% for image in resolved_images %}
        {%- block image -%}
        <img
            {% block image_attributes %}
                src='{% block image_source %}{{ image.url }}{% endblock %}'
                title='{% block image_title %}{{ image.title }}{% endblock %}'
                alt='{% block image_alternative %}{{ image.title }}{% endblock %}'
            {% endblock %}
        />
        {%- endblock -%}
    {% endfor %}
</div>
{%- endblock -%}


{% extends '@WebProfiler/Profiler/layout.html.twig' %}

{% block toolbar %}
{% endblock %}

{% block menu %}

        Message Queue

{% endblock %}

{% block panel %}

Sent messages

                #
                Topic
                Message
                Priority

            {% for sentMessage in collector.sentMessages %}

                    {{ loop.index }}
                    {{ sentMessage.topic }}

                            {{ sentMessage.body[0:40] }}... Show trace

                                {{ profiler_dump(sentMessage.body, maxDepth=1) }}

                    {{ collector.prettyPrintPriority(sentMessage.priority) }}

            {% endfor %}

{% endblock %}

Remove maxDepth option on profiler dump.

{% extends '@WebProfiler/Profiler/layout.html.twig' %}

{% block toolbar %}
{% endblock %}

{% block menu %}

        Message Queue

{% endblock %}

{% block panel %}

Sent messages

                #
                Topic
                Message
                Priority

            {% for sentMessage in collector.sentMessages %}

                    {{ loop.index }}
                    {{ sentMessage.topic }}

                            {{ sentMessage.body[0:40] }}... Show trace

                                {{ profiler_dump(sentMessage.body) }}

                    {{ collector.prettyPrintPriority(sentMessage.priority) }}

            {% endfor %}

{% endblock %}


{#
   Each field type is rendered by a template fragment, which is determined
   by the value of your getName() method and the suffix _widget.

   See http://symfony.com/doc/current/cookbook/form/create_custom_field_type.html#creating-a-template-for-the-field
#}

{% block app_datetimepicker_widget %}
    {% spaceless %}

            {{ block('datetime_widget') }}

    {% endspaceless %}
{% endblock %}

Fix a datetime picker widget's name

{#
   Each field type is rendered by a template fragment, which is determined
   by the name of your form type class (DateTimePickerType -> date_time_picker)
   and the suffix "_widget". This can be controlled by overriding getBlockPrefix()
   in DateTimePickerType.

   See http://symfony.com/doc/current/cookbook/form/create_custom_field_type.html#creating-a-template-for-the-field
#}

{% block date_time_picker_widget %}
    {% spaceless %}

            {{ block('datetime_widget') }}

    {% endspaceless %}
{% endblock %}


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

{% block body %}
     Welcome!
{% endblock %}

{% block description %}
	This is the new Politikportal homepage.
{% endblock %}

{% block main %}

	{% for topic in topics %}

    	{% for item in topic.items %}

        	{% include "PolitikportalBundle:Default:item.html.twig" with { 'item' : item } only %}

    	{% else %}

No topics

    	{% endfor %}

	{% endfor %}

{% endblock %}

{% block sidebar %}

	Version: {{ heading }}

{% endblock %}

Revert "Remove link button to topic on homepage"

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

{% block body %}
     Welcome!
{% endblock %}

{% block description %}
	This is the new Politikportal homepage.
{% endblock %}

{% block main %}

	{% for topic in topics %}

    	{% for item in topic.items %}

        	{% include "PolitikportalBundle:Default:item.html.twig" with { 'item' : item } only %}

    	{% else %}

No topics

    	{% endfor %}

		{{ topic.title }}

	{% endfor %}

{% endblock %}

{% block sidebar %}

	Version: {{ heading }}

{% endblock %}


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

{% block body %}

                ¿Aún no perteneces al grupo de Telegram del Aula de Software Libre? Apúntate.

        {% for idea in ideas %}
            {% include('/frontend/idea/_idea.html.twig') %}
        {% else %}

No hay ideas :(

        {% endfor %}

            {% if ideas.haveToPaginate %}
                {{ pagerfanta(ideas, 'idea_main', { routeName: 'idea_index_paginated' }) }}
            {% endif %}

{% endblock %}

Hide message to not logged users

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

{% block body %}

        {% if is_granted('IS_AUTHENTICATED_FULLY') %}

                ¿Aún no perteneces al grupo de Telegram del Aula de Software Libre? Apúntate.

        {% endif %}

        {% for idea in ideas %}
            {% include('/frontend/idea/_idea.html.twig') %}
        {% else %}

No hay ideas :(

        {% endfor %}

            {% if ideas.haveToPaginate %}
                {{ pagerfanta(ideas, 'idea_main', { routeName: 'idea_index_paginated' }) }}
            {% endif %}

{% endblock %}


{% set userOwnerOwningBusinessUnit = oro_get_user_owner_owning_business_unit(entity) %}
{% if userOwnerOwningBusinessUnit is not null %}
    ({{ userOwnerOwningBusinessUnit.name }})
{% endif %}

Create item of 'additional_owner_info' placeholder and template for it. - refactor viewOwnerInfo template

{% if bracket_parts is not defined %}
    {% set bracket_parts = [] %}
{% endif %}
{% set userOwnerOwningBusinessUnit = oro_get_user_owner_owning_business_unit(entity) %}
{% if userOwnerOwningBusinessUnit is not null %}
    {% set bracket_parts = [userOwnerOwningBusinessUnit.name]|merge(bracket_parts) %}
{% endif %}
{% if bracket_parts is not empty %}
    ({{bracket_parts|join(', ') }})
{% endif %}


{% extends '@SyliusUi/Layout/centered.html.twig' %}

{% block title %}Sylius | {{ 'sylius.ui.administration_panel_login'|trans }}{% endblock %}

{% block stylesheets %}
    {% include '@SyliusUi/_stylesheets.html.twig' with {'path': 'assets/admin/css/style.css'} %}
{% endblock %}

{% block content %}
    {{ sylius_template_event('sylius.admin.login.content', _context) }}
{% endblock %}

{% block javascripts %}
    {% include '@SyliusUi/_javascripts.html.twig' with {'path': 'assets/admin/js/app.js'} %}
{% endblock %}

Use the sylius_ui for css and js on login screen

{% extends '@SyliusUi/Layout/centered.html.twig' %}

{% block title %}Sylius | {{ 'sylius.ui.administration_panel_login'|trans }}{% endblock %}

{% block stylesheets %}
    {{ sylius_template_event('sylius.admin.layout.stylesheets') }}
{% endblock %}

{% block content %}
    {{ sylius_template_event('sylius.admin.login.content', _context) }}
{% endblock %}

{% block javascripts %}
    {{ sylius_template_event('sylius.admin.layout.javascripts') }}
{% endblock %}


{% extends "@BiopenCoreBundle/page-layout.html.twig" %}

{% set pageName = 'directory' %}

{% block title %}{% endblock %}

{# Stylessheets #}
{% block page_stylesheets %}

{% endblock %}

{# BODY CONTENT #}
{% block body_content %}

{% endblock %}

{% block javascripts %}

{% endblock %}

Replace static locals urls with dynamic one


{% block breithbarbot_cropper_bundle_cropper_type_widget %}
    {% spaceless %}

        {% if form.delete is defined %}
            {{ form_row(form.delete) }}
        {% endif %}

        {{ form_widget(form.full_path) }}
        {{ form_widget(form.path) }}
        {{ form_widget(form.name) }}
        {{ form_widget(form.mime_type) }}
        {{ form_widget(form.size) }}

        {#{{ form_rest(form) }}#}
        {% if form.vars.value is null %}

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

Fix Item not found by jQuery script

{% block breithbarbot_cropper_bundle_cropper_type_widget %}
    {% spaceless %}

            {{ form_widget(form.full_path) }}
            {{ form_widget(form.path) }}
            {{ form_widget(form.name) }}
            {{ form_widget(form.mime_type) }}
            {{ form_widget(form.size) }}

            {#{{ form_rest(form) }}#}

        {% if form.delete is defined %}
            {{ form_row(form.delete) }}
        {% endif %}
        {% if form.vars.value is null %}

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


{{ extension_alias }}_homepage:
    pattern:  /hello/{name}
    defaults: { _controller: {{ bundle }}:Default:index }

Use "path" instead of "pattern" in the routing definitions

{{ extension_alias }}_homepage:
    path:  /hello/{name}
    defaults: { _controller: {{ bundle }}:Default:index }