{# Template to render a person OPTIONS * render string ['raw'|'label'|'bloc'] * addAltNames bool * addLink bool * addEntity bool * addId bool * addInfo bool * addAge bool * addCenter bool * hLevel integer * addDeath bool * address_multiline bool * customButtons [ 'before' Twig\Markup, (injected with macro) 'replace' Twig\Markup, 'after' Twig\Markup ] * customArea [ 'beforeLabel' Twig\Markup, 'afterLabel' Twig\Markup, ] #} {% macro raw(person, options) %} {{ person.firstName }} {{ person.lastName }} {%- if options['addDeath'] -%} {% if person.deathdate is not null %} (‡){% endif %} {% endif %} {%- 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) -%} {%- endif -%} {% if options['customArea']['beforeLabel'] is defined %} {{ options['customArea']['beforeLabel'] }} {% endif %} {{ _self.raw(person, options) }} {% if options['customArea']['afterLabel'] is defined %} {{ options['customArea']['afterLabel'] }} {% endif %} {%- if options['addLink'] and is_granted('CHILL_PERSON_SEE', person) -%} {%- 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' : (person.gender == 'neuter') ? 'fa-neuter' : 'fa-genderless' %} {% set genderTitle = (person.gender == 'woman') ? 'woman' : (person.gender == 'man') ? 'man' : (person.gender == 'neuter') ? 'neuter' : 'Not given'|trans %}

{%- if person.deathdate is not null -%} {%- if person.birthdate is not null -%} {# must be on one line to avoid spaces with dash #} – {%- else -%} {{ 'Date of death'|trans }}: {%- endif -%} {#- must be on one line to avoid spaces with dash -#} {%- if options['addAge'] -%} ({{ 'years_old'|trans({ 'age': person.age }) }}) {%- endif -%} {%- elseif person.birthdate is not null -%} {%- if options['addAge'] -%} ({{- 'years_old'|trans({ 'age': person.age }) -}}) {%- endif -%} {%- 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 -%}