{% endmacro %}
{% macro groupAction(group,action,label,danger=false) %}
{% endmacro %}
{% macro groupStay(group,data) %}
{% import _self as ui %}{% set s=group.first %}{% set total=group.members|length %}
{% if total>1 %}Famille · {{ group.family }}{{ total }} chiens{% endif %}{% for member in group.members %}{{ data.dogs[member.dog].name }} ({{ data.dogs[member.dog].breed ?: 'Race non renseignée' }}){{ not loop.last ? ', ' : '' }}{% endfor %}
{% if group.waiting %}{{ ui.groupAction(group,'arrival',total>1 ? 'Confirmer l’arrivée de la famille' : 'Confirmer l’arrivée') }}{% elseif group.present %}{{ ui.groupAction(group,'departure',total>1 ? 'Confirmer le départ de la famille' : 'Confirmer le départ') }}{% endif %}
{% if group.done %}{{ ui.groupAction(group,'undo-departure',total>1 ? 'Annuler le départ de la famille' : 'Annuler le départ',true) }}{% elseif group.present %}{{ ui.groupAction(group,'undo-arrival',total>1 ? 'Annuler l’arrivée de la famille' : 'Annuler l’arrivée',true) }}{% endif %}
{% if total>1 %}Modifier la réservation familiale{% endif %}
{% if total>1 %}Gérer les chiens séparément{% for memberId,member in group.members %}
{{ data.dogs[member.dog].name }}{% if not member.arrivedAt %} Modifier{{ ui.action('stays',memberId,'delete','Annuler',true) }}{% else %}Modifier {{ ui.status(member) }}{% if member.departedAt %}{{ ui.action('stays',memberId,'undo-departure','Annuler le départ',true) }}{% else %}{{ ui.action('stays',memberId,'undo-arrival','Annuler l’arrivée',true) }}{% endif %}{% endif %}
{% endfor %}{% elseif not s.arrivedAt %}Modifier{{ ui.action('stays',group.id,'delete','Annuler',true) }}{% endif %}{% if total==1 and s.arrivedAt %}Modifier{% endif %}
{% for memberId,member in group.members %}Suivi de {{ data.dogs[member.dog].name }}{% endfor %}{% set comments=[] %}{% for member in group.members %}{% if member.comment not in comments %}{% set comments=comments|merge([member.comment]) %}{% endif %}{% endfor %}{% if comments|length==1 %}{{ comments[0] ?: '—' }}{% else %}{% for member in group.members %}{{ data.dogs[member.dog].name }} : {{ member.comment ?: '—' }}{% endfor %}{% endif %}
{% endmacro %}
{% macro price(quote,individual=false) %}
{% if quote.grandTotalCents is not null %}{{ (quote.grandTotalCents/100)|number_format(2,',',' ') }} €{{ quote.days|number_format(quote.halfDays is odd ? 1 : 0,',',' ') }} jour(s) × {{ (quote.dailyCents/100)|number_format(2,',',' ') }} €/jour{% if quote.extrasCount %}Pension : {{ (quote.totalCents/100)|number_format(2,',',' ') }} €Prestations : + {{ (quote.extrasTotalCents/100)|number_format(2,',',' ') }} €{% endif %}{% if individual and quote.dogCount>1 %}Total pour la famille de {{ quote.dogCount }} chiens{% endif %}{% else %}Tarif à renseigner{{ quote.dogCount }} chien(s) · {{ quote.days|number_format(quote.halfDays is odd ? 1 : 0,',',' ') }} jour(s){% if quote.extrasCount %}Prestations : {{ (quote.extrasTotalCents/100)|number_format(2,',',' ') }} €Total incomplet : tarif de pension manquant.{% endif %}{% endif %}
{% endmacro %}