entity render: options, html classes, corrections

note: span.chill-entity tag is replaced by section.chill-entity tag.
because some cases are not valid html :
* span.chill-entity > div
* span.badge > div.chill-entity
This commit is contained in:
2021-07-28 11:39:27 +02:00
parent df3d32c653
commit 57a8b49f49
9 changed files with 141 additions and 112 deletions

View File

@@ -226,22 +226,30 @@
{% else %}
<div class="flex-bloc">
{% for r in accompanyingCourse.resources %}
<div class="item-bloc">
{% if r.person %}
{{ r.person|chill_entity_render_box({
'display': 'bloc', 'addLink': true, 'addEntity': true, 'addInfo': true
}) }}
{# TEST
{{ r.person|chill_entity_render_box({
'render': 'label', 'addLink': true, 'addInfo': true, 'hLevel': '1'
}) }}
{% endif %}
{% if r.thirdParty %}
<span class="badge bg-primary">
{{ r.person|chill_entity_render_box({'render': 'raw'}) }}
</span>
#}
{{ r.thirdParty|chill_entity_render_box({
'display': 'bloc', 'addLink': true, 'addEntity': true, 'addInfo': true
}) }}
<div class="item-bloc">
{% if r.person %}
{{ r.person|chill_entity_render_box({
'render': 'bloc', 'addLink': true, 'addEntity': true, 'addInfo': true
}) }}
{% endif %}
{% if r.thirdParty %}
{{ r.thirdParty|chill_entity_render_box({
'render': 'bloc', 'addLink': true, 'addEntity': true, 'addInfo': true
}) }}
{% endif %}
</div>
{% endif %}
</div>
{% endfor %}
</div>
{% endif %}

View File

@@ -1,56 +1,53 @@
{#
Template to render a person
* render [raw|label|row|bloc]
OPTIONS
* display [raw|label|row|bloc]
* addAltNames bool
* addLink bool
* addEntity bool
* addInfo bool
* hLevel integer
#}
{% macro raw(person, addAltNames) %}
{% macro raw(person, options) %}
<span class="firstname">{{ person.firstName }}</span>
<span class="lastname">{{ person.lastName }}</span>
{%- if addAltNames -%}
{%- if options['addAltNames'] -%}
{%- for n in person.altNames -%}
{%- if loop.first -%}({% else %} {%- endif -%}
<span class="altname altname-{{ n.key }}">
{{- n.label -}}
</span>
<span class="altname altname-{{ n.key }}">
{{- n.label -}}
</span>
{%- if loop.last -%}){%- endif -%}
{%- endfor -%}
{%- endif -%}
{% endmacro raw %}
{% macro label(person, addLink, addAltNames, addEntity, addInfo) %}
<div class="chill-entity person label">
<h3 class="denomination">
{%- if addLink and is_granted('CHILL_PERSON_SEE', person) -%}
{% macro label(person, options) %}
<div class="entity-label">
<div class="denomination {{ 'h' ~ options['hLevel'] }}">
{%- if options['addLink'] and is_granted('CHILL_PERSON_SEE', person) -%}
<a href="{{ chill_path_add_return_path('chill_person_view', { 'person_id': person.id }) }}">
{{ _self.raw(person, addAltNames) }}
{{ _self.raw(person, options) }}
</a>
{%- else -%}
{{ _self.raw(person, addAltNames) }}
{{ _self.raw(person, options) }}
{%- endif -%}
{%- if addEntity -%}
{%- if options['addEntity'] -%}
<span class="badge rounded-pill bg-secondary">{{ 'Person'|trans }}</span>
{%- endif -%}
</h3>
{%- if addInfo -%}
{% set born = (person.gender == 'woman') ? 'née le ': 'né le ' %}
</div>
{%- 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' %}
<p class="moreinfo">
<i class="fa fa-fw {{ gender }}" title="{{ genderTitle|trans }}"></i>
{{ born|trans }}
<time datetime="{{ person.birthdate|date('Y-m-d') }}">
{{ person.birthdate|format_date('medium') }}
<time datetime="{{ person.birthdate|date('Y-m-d') }}" title="{{ 'Birthdate'|trans }}">
{{ 'Born the date'|trans({'gender': person.gender,
'birthdate': person.birthdate|format_date("medium") }) }}
</time>
{# TODO
{{ 'Born the %date%'|transchoice(person.genderNumeric, {
'%date%': person.birthdate|format_date("medium") }) }}
#}
</p>
{%- endif -%}
{#- tricks to remove easily whitespace after template -#}
@@ -58,25 +55,25 @@
{% endmacro label %}
{%- if display == 'raw' -%}
{{ _self.raw(person, addAltNames) }}
{%- if render == 'raw' -%}
{{ _self.raw(person, options) }}
{%- endif -%}
{%- if display == 'label' -%}
{{ _self.label(person, addLink, addAltNames, addEntity, addInfo) }}
{%- if render == 'label' -%}
{{ _self.label(person, options) }}
{%- endif -%}
{%- if display == 'row' -%}
<div class="chill-entity person row">
{{ _self.label(person, addLink, addAltNames, addEntity, addInfo) }}
{%- if render == 'row' -%}
<div class="entity-row">
{{ _self.label(person, options) }}
</div>
{%- endif -%}
{%- if display == 'bloc' -%}
<div class="chill-entity person bloc">
{%- if render == 'bloc' -%}
<div class="entity-bloc">
<div class="item-row">
<div class="item-col">
{{ _self.label(person, addLink, addAltNames, addEntity, addInfo) }}
{{ _self.label(person, options) }}
</div>
<div class="item-col">
<ul class="list-content fa-ul">

View File

@@ -46,7 +46,7 @@
<div class="item-col box-person">
<div>
{{ person|chill_entity_render_box({
'display': 'label', 'addLink': true, 'addInfo': true
'render': 'label', 'addLink': true, 'addInfo': true
}) }}
</div>
</div>