mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-07-01 14:36:13 +00:00
improve banner
This commit is contained in:
parent
0add757230
commit
0e9933ca41
@ -196,6 +196,11 @@ class Household
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function getCurrentMembers(?\DateTimeImmutable $now = null): Collection
|
public function getCurrentMembers(?\DateTimeImmutable $now = null): Collection
|
||||||
|
{
|
||||||
|
return $this->getMembers()->matching($this->buildCriteriaCurrentMembers($now));
|
||||||
|
}
|
||||||
|
|
||||||
|
private function buildCriteriaCurrentMembers(?\DateTimeImmutable $now = null): Criteria
|
||||||
{
|
{
|
||||||
$criteria = new Criteria();
|
$criteria = new Criteria();
|
||||||
$expr = Criteria::expr();
|
$expr = Criteria::expr();
|
||||||
@ -211,7 +216,37 @@ class Household
|
|||||||
$expr->gte('endDate', $date)
|
$expr->gte('endDate', $date)
|
||||||
));
|
));
|
||||||
|
|
||||||
return $this->getMembers()->matching($criteria);
|
return $criteria;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return HouseholdMember[]
|
||||||
|
*/
|
||||||
|
public function getCurrentMembersOrdered(?\DateTimeImmutable $now = null): Collection
|
||||||
|
{
|
||||||
|
$members = $this->getCurrentMembers($now);
|
||||||
|
|
||||||
|
$members->getIterator()
|
||||||
|
->uasort(
|
||||||
|
function (HouseholdMember $a, HouseholdMember $b) {
|
||||||
|
if ($a->getPosition()->getOrdering() < $b->getPosition()->getOrdering()) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if ($a->getPosition()->getOrdering() > $b->getPosition()->getOrdering()) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if ($a->isHolder() && !$b->isHolder()) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (!$a->isHolder() && $b->isHolder()) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
return $members;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
require('./sass/person.scss');
|
require('./sass/person.scss');
|
||||||
require('./sass/person_with_period.scss');
|
require('./sass/person_with_period.scss');
|
||||||
|
require('./sass/household_banner.scss');
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
.banner-household {
|
||||||
|
.current-members-explain {
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
}
|
@ -12,25 +12,35 @@
|
|||||||
|
|
||||||
<div class="grid-3" id="banner-flags"></div>
|
<div class="grid-3" id="banner-flags"></div>
|
||||||
|
|
||||||
<div class="grid-3" id="banner-status"></div>
|
<div class="grid-3" id="banner-status">
|
||||||
|
{% set address = household.currentAddress %}
|
||||||
|
{% if address is empty %}
|
||||||
|
<p class="chill-no-data-statement">{{ 'household.Household does not have any address currently'|trans }}</p>
|
||||||
|
{% else %}
|
||||||
|
<div>
|
||||||
|
{{ address|chill_entity_render_box({'multiline': true, 'with_valid_from': false}) }}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-12 parent" id="header-accompanying_course-details" >
|
<div class="grid-12 parent" id="header-accompanying_course-details" >
|
||||||
<div class="grid-10 push-1 grid-mobile-12 grid-tablet-12 push-mobile-0 push-tablet-0 parent">
|
<div class="grid-10 push-1 grid-mobile-12 grid-tablet-12 push-mobile-0 push-tablet-0 parent">
|
||||||
<div id="banner-misc">
|
<div id="banner-misc">
|
||||||
{%- set persons = household.getCurrentPersons() -%}
|
{%- set members = household.getCurrentMembersOrdered() -%}
|
||||||
{%- if persons|length > 0 -%}
|
{%- if members|length > 0 -%}
|
||||||
<span class="current-members-explain">
|
<span class="current-members-explain">
|
||||||
{{- 'household.Current household members'|trans }}:
|
{{- 'household.Current household members'|trans }}:
|
||||||
</span>
|
</span>
|
||||||
{%- for p in persons|slice(0, 5) -%}
|
{%- for m in members|slice(0, 5) -%}
|
||||||
{{- p|chill_entity_render_box({'addLink': false}) -}}
|
{{- m.person|chill_entity_render_box({'addLink': false}) -}}
|
||||||
|
{%- if m.holder %} <span class="badge badge-primary">{{ 'household.holder'|trans }}</span>{% endif -%}
|
||||||
{%- if false == loop.last -%}, {% endif -%}
|
{%- if false == loop.last -%}, {% endif -%}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
{% if persons|length > 5 %}
|
{% if members|length > 5 %}
|
||||||
<span class="current-members-more">
|
<span class="current-members-more">
|
||||||
{{ 'household.and x other persons'|trans({'x': persons|length-5}) }}
|
{{ 'household.and x other persons'|trans({'x': members|length-5}) }}
|
||||||
</span>
|
</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user