{# Template to render a person OPTIONS * render string ['raw'|'label'|'bloc'] * addAltNames bool * addLink bool * addEntity bool * addId bool * addInfo bool * addAge bool * hLevel integer * customButtons [ 'before' Twig\Markup, (injected with macro) 'replace' Twig\Markup, 'after' Twig\Markup ] #} {% macro raw(person, options) %} {{ person.firstName }} {{ person.lastName }} {%- if options['addAltNames'] -%} {%- for n in person.altNames -%} {{- n.label -}} {%- endfor -%} {%- endif -%} {% endmacro raw %} {% macro label(person, options) %}
{%- if options['addLink'] and is_granted('CHILL_PERSON_SEE', person) -%} {{ _self.raw(person, options) }} {%- else -%} {{ _self.raw(person, options) }} {%- endif -%} {%- if options['addEntity'] -%} {{ 'Person'|trans }} {%- endif -%} {%- if options['addId'] -%} {{ person.id|upper }} {%- endif -%}
{%- if options['addInfo'] -%} {% set gender = (person.gender == 'woman') ? 'fa-venus' : (person.gender == 'man') ? 'fa-mars' : 'fa-neuter' %} {% set genderTitle = (person.gender == 'woman') ? 'woman' : (person.gender == 'man') ? 'man' : 'neuter' %}

{%- if options['addAge'] -%} {{ person.age ~ ((person.age > 1) ? ' ans' : ' an') }} {%- endif -%}

{%- endif -%} {#- tricks to remove easily whitespace after template -#} {%- if true -%}
{%- endif -%} {% endmacro label %} {%- if render == 'raw' -%} {{ _self.raw(person, options) }} {%- endif -%} {%- if render == 'label' -%} {{ _self.label(person, options) }} {%- endif -%} {%- if render == 'bloc' -%}
{{ _self.label(person, options) }}
{%- endif -%}