From 087ada22504e08914a21947270e8e1316277ee62 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Thu, 30 Mar 2023 00:07:38 +0200 Subject: [PATCH 1/6] UX: Better use of flex-table and tables in budget twig templates --- .../Resources/views/Budget/_budget.html.twig | 20 ++++++------------- .../views/Budget/_current_budget.html.twig | 15 +++----------- .../Resources/views/Budget/_macros.html.twig | 8 +++----- .../Resources/views/Person/index.html.twig | 10 ++++------ 4 files changed, 16 insertions(+), 37 deletions(-) diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig index 6e248bf0c..e11a822cd 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig @@ -32,28 +32,21 @@ {% endif %} {% endfor %} -

{{ 'Actual budget'|trans }}

- {% if actualCharges|length > 0 or actualResources|length > 0 %} - {% include 'ChillBudgetBundle:Budget:_current_budget.html.twig' with { + {% include '@ChillBudget/Budget/_current_budget.html.twig' with { 'actualResources': actualResources, 'actualCharges': actualCharges, 'results': results, 'entity': entity } %} {% else %} -
-
-

{{ "There isn't any element recorded"|trans }}

-
-
+

{{ "There isn't any element recorded"|trans }}

{% endif %} {% if pastCharges|length > 0 or pastResources|length > 0 %} -

{{ 'Past budget'|trans }}

- - {% include 'ChillBudgetBundle:Budget:_past_budget.html.twig' with { +

{{ 'Past budget'|trans }}

a + {% include '@ChillBudget/Budget/_past_budget.html.twig' with { 'pastCharges': pastCharges, 'pastResources': pastResources, 'entity': entity @@ -61,9 +54,8 @@ {% endif %} {% if futureCharges|length > 0 or futureResources|length > 0 %} -

{{ 'Future budget'|trans }}

- - {% include 'ChillBudgetBundle:Budget:_future_budget.html.twig' with { +

{{ 'Future budget'|trans }}

+ {% include '@ChillBudget/Budget/_future_budget.html.twig' with { 'futureResources': futureResources, 'futureCharges': futureCharges, 'entity': entity diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_current_budget.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_current_budget.html.twig index b996da211..98e784cc5 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_current_budget.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_current_budget.html.twig @@ -1,30 +1,21 @@ -{% from 'ChillBudgetBundle:Budget:_macros.html.twig' import table_elements, table_results %} +{% from '@ChillBudget/Budget/_macros.html.twig' import table_elements, table_results %} {#

{{ 'Actual budget'|trans }}

#} -
+

{{ 'Actual resources'|trans }}

- {% if actualResources|length > 0 %} -
{{ table_elements(actualResources, 'resource') }} -
{% else %} -
{{ 'No resources registered'|trans }} -
{% endif %}
-
+

{{ 'Actual charges'|trans }}

{% if actualCharges|length > 0 %} -
{{ table_elements(actualCharges, 'charge') }} -
{% else %} -
{{ 'No charges registered'|trans }} -
{% endif %}
diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_macros.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_macros.html.twig index e8d10578b..42090984a 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_macros.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_macros.html.twig @@ -1,5 +1,5 @@ {% macro table_elements(elements, family) %} - +
@@ -28,7 +28,7 @@ {% if f.endDate is not null %} {{ f.startDate|format_date('short') ~ ' - ' ~ f.endDate|format_date('short') }} {% else %} - {{ f.startDate|format_date('short') ~ ' - ...' }} + {{ 'depuis le ' ~ f.startDate|format_date('short') }} {% endif %}
{{ 'Budget element type'|trans }} @@ -80,10 +80,9 @@ {% set result = (totalResources - totalCharges) %} - +
- @@ -91,7 +90,6 @@ - diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig index 959df3d62..18d04b889 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig @@ -17,17 +17,15 @@ {% block content %}

{{ title }}

-{% include 'ChillBudgetBundle:Budget:_budget.html.twig' with { +{% include '@ChillBudget/Budget/_budget.html.twig' with { 'resources': resources, 'charges': charges, 'person': person } %} -
-

{{ 'Budget calculator'|trans }}

-
- {{ table_results(charges, resources) }} -
+
+

{{ 'Budget calculator'|trans }}

+ {{ table_results(charges, resources) }}
{% if is_granted('CHILL_BUDGET_ELEMENT_CREATE', person) %} From fe3d4370966e41c411e02f82adc23f73f1787d54 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Mon, 24 Apr 2023 12:12:10 +0200 Subject: [PATCH 2/6] improve title hierarchy coherence --- .../Resources/views/Budget/_budget.html.twig | 2 +- .../Resources/views/Budget/_current_budget.html.twig | 4 +++- .../Resources/views/Household/index.html.twig | 2 +- src/Bundle/ChillBudgetBundle/translations/messages.fr.yml | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig index e11a822cd..e75b83ee8 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig @@ -45,7 +45,7 @@ {% endif %} {% if pastCharges|length > 0 or pastResources|length > 0 %} -

{{ 'Past budget'|trans }}

a +

{{ 'Past budget'|trans }}

{% include '@ChillBudget/Budget/_past_budget.html.twig' with { 'pastCharges': pastCharges, 'pastResources': pastResources, diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_current_budget.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_current_budget.html.twig index 98e784cc5..27a77df1d 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_current_budget.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_current_budget.html.twig @@ -1,6 +1,8 @@ {% from '@ChillBudget/Budget/_macros.html.twig' import table_elements, table_results %} -{#

{{ 'Actual budget'|trans }}

#} +{# +

{{ 'Actual budget'|trans }}

+#}

{{ 'Actual resources'|trans }}

diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Household/index.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Household/index.html.twig index c2533e4c0..310220df1 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Household/index.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Household/index.html.twig @@ -33,7 +33,7 @@ #} {% if household.getCurrentMembers|length > 0 %} -

{{ 'Current budget household members'|trans }}

+

{{ 'Budget household members'|trans }}

{% for hm in household.getCurrentMembers %} {% set member = hm.person %} diff --git a/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml b/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml index a5e5490a0..5d71f4228 100644 --- a/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml +++ b/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml @@ -3,7 +3,7 @@ Resource: Ressource Charge: Charge Budget for %name%: Budget de %name% Budget for household %household%: Budget du ménage -Current budget household members: Budget actuel des membres du ménage +Budget household members: Budget des membres du ménage Show budget of %name%: Montrer budget de %name% See complete budget: Voir budget complet Hide budget: Masquer From 241e605ea6de96a2dc5ec9e594585869ed3ed118 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Mon, 24 Apr 2023 12:22:41 +0200 Subject: [PATCH 3/6] - style of h3 subtitle --- .../Resources/public/page/chillbudget.scss | 7 ++++++- .../Resources/views/Budget/_budget.html.twig | 6 +++--- .../Resources/views/Person/index.html.twig | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Bundle/ChillBudgetBundle/Resources/public/page/chillbudget.scss b/src/Bundle/ChillBudgetBundle/Resources/public/page/chillbudget.scss index 20a87cce2..82230d13b 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/public/page/chillbudget.scss +++ b/src/Bundle/ChillBudgetBundle/Resources/public/page/chillbudget.scss @@ -2,6 +2,11 @@ margin-top: 1rem; margin-bottom: 1rem; padding: 1rem; + &::before { + font: normal normal normal 20px/1 ForkAwesome; + margin-right: 0.5em; + content: "\f061"; + } } .family-title { margin-bottom: 1rem !important; @@ -58,4 +63,4 @@ button[aria-expanded="true"] > span.folded, button[aria-expanded="false"] > span.unfolded { display: none; } button[aria-expanded="false"] > span.folded, -button[aria-expanded="true"] > span.unfolded { display: inline; } \ No newline at end of file +button[aria-expanded="true"] > span.unfolded { display: inline; } diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig index e75b83ee8..8a3fa6de2 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig @@ -32,7 +32,7 @@ {% endif %} {% endfor %} -

{{ 'Actual budget'|trans }}

+

{{ 'Actual budget'|trans }}

{% if actualCharges|length > 0 or actualResources|length > 0 %} {% include '@ChillBudget/Budget/_current_budget.html.twig' with { 'actualResources': actualResources, @@ -45,7 +45,7 @@ {% endif %} {% if pastCharges|length > 0 or pastResources|length > 0 %} -

{{ 'Past budget'|trans }}

+

{{ 'Past budget'|trans }}

{% include '@ChillBudget/Budget/_past_budget.html.twig' with { 'pastCharges': pastCharges, 'pastResources': pastResources, @@ -54,7 +54,7 @@ {% endif %} {% if futureCharges|length > 0 or futureResources|length > 0 %} -

{{ 'Future budget'|trans }}

+

{{ 'Future budget'|trans }}

{% include '@ChillBudget/Budget/_future_budget.html.twig' with { 'futureResources': futureResources, 'futureCharges': futureCharges, diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig index 18d04b889..c365b9b84 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig @@ -24,7 +24,7 @@ } %}
-

{{ 'Budget calculator'|trans }}

+

{{ 'Budget calculator'|trans }}

{{ table_results(charges, resources) }}
From be965e8698c0ffec07b51fcca4a1e637aa18e735 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Mon, 24 Apr 2023 13:01:58 +0200 Subject: [PATCH 4/6] - improve title hierarchy and ergonomie --- .../Resources/public/page/chillbudget.scss | 20 +++++++++++--- .../Resources/views/Budget/_budget.html.twig | 6 ++--- .../views/Budget/_current_budget.html.twig | 12 +++------ .../views/Budget/_future_budget.html.twig | 27 +++++++------------ .../views/Budget/_past_budget.html.twig | 26 ++++++------------ .../Resources/views/Household/index.html.twig | 12 ++++----- .../Resources/views/Person/index.html.twig | 2 +- .../translations/messages.fr.yml | 6 ++--- 8 files changed, 49 insertions(+), 62 deletions(-) diff --git a/src/Bundle/ChillBudgetBundle/Resources/public/page/chillbudget.scss b/src/Bundle/ChillBudgetBundle/Resources/public/page/chillbudget.scss index 82230d13b..cca1b1a4a 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/public/page/chillbudget.scss +++ b/src/Bundle/ChillBudgetBundle/Resources/public/page/chillbudget.scss @@ -1,4 +1,4 @@ -.subtitle { +h3.subtitle { margin-top: 1rem; margin-bottom: 1rem; padding: 1rem; @@ -8,22 +8,34 @@ content: "\f061"; } } -.family-title { + +$col_charge: #e03851d7; +$col_resource: #6d9e63d8; + +h4.family-title { + margin-top: 1.5rem; margin-bottom: 1rem !important; + padding-left: 0.7em; + i { + margin-right: 0.4em; + } + &.charge i { color: $col_charge; } + &.resource i { color: $col_resource; } } .budget-table th { th { color: white; } } + .budget-table { th.charge { - background-color: #e03851d7; + background-color: $col_charge; } } .budget-table { th.resource { - background-color: #6d9e63d8; + background-color: $col_resource; } } .budget-table { diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig index 8a3fa6de2..e75b83ee8 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_budget.html.twig @@ -32,7 +32,7 @@ {% endif %} {% endfor %} -

{{ 'Actual budget'|trans }}

+

{{ 'Actual budget'|trans }}

{% if actualCharges|length > 0 or actualResources|length > 0 %} {% include '@ChillBudget/Budget/_current_budget.html.twig' with { 'actualResources': actualResources, @@ -45,7 +45,7 @@ {% endif %} {% if pastCharges|length > 0 or pastResources|length > 0 %} -

{{ 'Past budget'|trans }}

+

{{ 'Past budget'|trans }}

{% include '@ChillBudget/Budget/_past_budget.html.twig' with { 'pastCharges': pastCharges, 'pastResources': pastResources, @@ -54,7 +54,7 @@ {% endif %} {% if futureCharges|length > 0 or futureResources|length > 0 %} -

{{ 'Future budget'|trans }}

+

{{ 'Future budget'|trans }}

{% include '@ChillBudget/Budget/_future_budget.html.twig' with { 'futureResources': futureResources, 'futureCharges': futureCharges, diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_current_budget.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_current_budget.html.twig index 27a77df1d..d8626aee2 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_current_budget.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_current_budget.html.twig @@ -1,20 +1,14 @@ {% from '@ChillBudget/Budget/_macros.html.twig' import table_elements, table_results %} -{# -

{{ 'Actual budget'|trans }}

-#} - -
-

{{ 'Actual resources'|trans }}

+
+

{{ 'Actual resources'|trans }}

{% if actualResources|length > 0 %} {{ table_elements(actualResources, 'resource') }} {% else %} {{ 'No resources registered'|trans }} {% endif %} -
-
-

{{ 'Actual charges'|trans }}

+

{{ 'Actual charges'|trans }}

{% if actualCharges|length > 0 %} {{ table_elements(actualCharges, 'charge') }} {% else %} diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_future_budget.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_future_budget.html.twig index 1547d8749..62f4e3e96 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_future_budget.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_future_budget.html.twig @@ -20,32 +20,23 @@ aria-labelledby="heading_future_{{ entity.id }}" data-bs-parent="#future_{{ entity.id }}"> -
-

{{ 'Future resources'|trans }}

+
+

{{ 'Future resources'|trans }}

{% if futureResources|length > 0 %} -
- {{ table_elements(futureResources, 'resource') }} -
+ {{ table_elements(futureResources, 'resource') }} {% else %} -
- {{ 'No future resources registered'|trans }} -
+ {{ 'No future resources registered'|trans }} {% endif %} -
-
-

{{ 'Future charges'|trans }}

+ +

{{ 'Future charges'|trans }}

{% if futureCharges|length > 0 %} -
- {{ table_elements(futureCharges, 'charge') }} -
+ {{ table_elements(futureCharges, 'charge') }} {% else %} -
- {{ 'No future charges registered'|trans }} -
+ {{ 'No future charges registered'|trans }} {% endif %}
-
\ No newline at end of file +
diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_past_budget.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_past_budget.html.twig index 14573048e..ad0a12755 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_past_budget.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_past_budget.html.twig @@ -20,34 +20,24 @@ aria-labelledby="heading_past_{{ entity.id }}" data-bs-parent="#past_{{ entity.id }}"> -
-

{{ 'Past resources'|trans }}

+
+

{{ 'Past resources'|trans }}

{% if pastResources|length > 0 %} -
- {{ table_elements(pastResources, 'resource') }} -
+ {{ table_elements(pastResources, 'resource') }} {% else %} -
- {{ 'No past resources registered'|trans }} -
+ {{ 'No past resources registered'|trans }} {% endif %} -
-
-

{{ 'Past charges'|trans }}

+

{{ 'Past charges'|trans }}

{% if pastCharges|length > 0 %} -
- {{ table_elements(pastCharges, 'charge') }} -
+ {{ table_elements(pastCharges, 'charge') }} {% else %} -
- {{ 'No past charges registered'|trans }} -
+ {{ 'No past charges registered'|trans }} {% endif %}
- \ No newline at end of file + diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Household/index.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Household/index.html.twig index 310220df1..1df92b297 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Household/index.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Household/index.html.twig @@ -24,16 +24,14 @@ } %} {# -
-

{{ 'Budget calculator'|trans }}

-
- {{ table_results(wholeCharges, wholeResources) }} -
+
+

{{ 'Budget calculator'|trans }}

+ {{ table_results(wholeCharges, wholeResources) }}
#} {% if household.getCurrentMembers|length > 0 %} -

{{ 'Budget household members'|trans }}

+

{{ 'Budget household members'|trans }}

{% for hm in household.getCurrentMembers %} {% set member = hm.person %} @@ -57,6 +55,8 @@ aria-labelledby="heading_{{ member.id }}" data-bs-parent="#nonCurrent"> +

{{ 'Budget for %name%'|trans({'%name%': member.firstName ~ " " ~ member.lastName }) }}

+ {% include 'ChillBudgetBundle:Budget:_budget.html.twig' with { 'resources': member.getBudgetResources, 'charges': member.getBudgetCharges, diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig index c365b9b84..18d04b889 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig @@ -24,7 +24,7 @@ } %}
-

{{ 'Budget calculator'|trans }}

+

{{ 'Budget calculator'|trans }}

{{ table_results(charges, resources) }}
diff --git a/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml b/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml index 5d71f4228..73add43ed 100644 --- a/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml +++ b/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml @@ -9,17 +9,17 @@ See complete budget: Voir budget complet Hide budget: Masquer Hide budget of %name%: Masquer budget de %name% Resource element type: Nature de la ressource -Actual budget: Éléments actuels du budget +Actual budget: Éléments actuels Actual resources: Ressources actuelles Actual resources for %name%: Ressources actuelles de %name% Actual charges for %name%: Charges actuelles de %name% Actual charges: Charges actuelles -Past budget: Éléments du budget passé +Past budget: Éléments passés Show past budget: Montrer budget passé Show future budget: Montrer budget future Past resources: Ressources passées Past charges: Charges passées -Future budget: Futurs éléments du budget +Future budget: Éléments futurs Future resources: Ressources futures Future charges: Charges futures Budget element type: Nature From cb0ff88318856f0b9369c1996b9e90596c85794f Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Mon, 24 Apr 2023 13:29:45 +0200 Subject: [PATCH 5/6] Fix action column width --- .../Resources/public/page/chillbudget.scss | 24 ++++--------------- .../Resources/views/Budget/_macros.html.twig | 21 +++++++--------- 2 files changed, 14 insertions(+), 31 deletions(-) diff --git a/src/Bundle/ChillBudgetBundle/Resources/public/page/chillbudget.scss b/src/Bundle/ChillBudgetBundle/Resources/public/page/chillbudget.scss index cca1b1a4a..79f40dc76 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/public/page/chillbudget.scss +++ b/src/Bundle/ChillBudgetBundle/Resources/public/page/chillbudget.scss @@ -28,29 +28,15 @@ h4.family-title { } } -.budget-table { - th.charge { - background-color: $col_charge; - } -} -.budget-table { - th.resource { - background-color: $col_resource; - } -} -.budget-table { +table.budget-table { th, td { padding: 10px; text-align: right; } - td.column-wide { - width: 20%; - } - td.column-small { - width: 15%; - &.right { - align-items: right; - } + th.charge { background-color: $col_charge; } + th.resource { background-color: $col_resource; } + td.column-fixed { + width: 9.5em; } } diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_macros.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_macros.html.twig index 42090984a..70e96d96c 100644 --- a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_macros.html.twig +++ b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_macros.html.twig @@ -13,25 +13,22 @@ {% for f in elements %} {% set total = total + f.amount %}
- - - + -
    {{ 'Budget calculator result'|trans }}
{{ 'The balance'|trans }}  {{ result|format_currency('EUR') }}
- - - {% if f.isResource %} - {{ f.resource.name|localize_translatable_string }} - {% else %} - {{ f.charge.name|localize_translatable_string }} - {% endif %} - + + {% if f.isResource %} + {{ f.resource.name|localize_translatable_string }} + {% else %} + {{ f.charge.name|localize_translatable_string }} + {% endif %} {{ f.amount|format_currency('EUR') }} + {{ f.amount|format_currency('EUR') }} {% if f.endDate is not null %} {{ f.startDate|format_date('short') ~ ' - ' ~ f.endDate|format_date('short') }} {% else %} {{ 'depuis le ' ~ f.startDate|format_date('short') }} {% endif %} +
    {% if is_granted('CHILL_BUDGET_ELEMENT_SEE', f) %}
  • From 8fd9010ea5affa9dac91bcb6dd12416fc229d2c4 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Mon, 24 Apr 2023 14:44:26 +0200 Subject: [PATCH 6/6] fix event bundle stuffs - adapt event templates - event bundle: fix deprecated deps injections - fix error with n=0 not iterated into querybuilder with centers loop --- .../Resources/views/Event/list.html.twig | 10 ++++-- .../views/Event/listByPerson.html.twig | 2 +- .../views/Event/newPickCenter.html.twig | 4 +-- .../Resources/views/Event/show.html.twig | 20 +++++------ .../ChillEventBundle/Search/EventSearch.php | 35 ++++++++++--------- .../config/services/repositories.yaml | 2 +- .../config/services/search.yaml | 15 ++++---- .../translations/messages.fr.yml | 2 +- 8 files changed, 47 insertions(+), 43 deletions(-) diff --git a/src/Bundle/ChillEventBundle/Resources/views/Event/list.html.twig b/src/Bundle/ChillEventBundle/Resources/views/Event/list.html.twig index 8d5f49da8..d6f871125 100644 --- a/src/Bundle/ChillEventBundle/Resources/views/Event/list.html.twig +++ b/src/Bundle/ChillEventBundle/Resources/views/Event/list.html.twig @@ -2,11 +2,15 @@

    {% transchoice total with { '%pattern%' : pattern } %}%total% events match the search %pattern%{% endtranschoice %}

    + {% if events|length > 0 %}

    {{ 'Results %start%-%end% of %total%'|trans({ '%start%' : start, '%end%': start + events|length, '%total%' : total } ) }}

    - - +
    @@ -25,7 +29,7 @@
    • {# {% if is_granted('CHILL_EVENT_SEE_DETAILS', event) %} #} - + {{ 'See'|trans }} {# {% endif %} #} diff --git a/src/Bundle/ChillEventBundle/Resources/views/Event/listByPerson.html.twig b/src/Bundle/ChillEventBundle/Resources/views/Event/listByPerson.html.twig index ef2dae85c..ec9ebf76a 100644 --- a/src/Bundle/ChillEventBundle/Resources/views/Event/listByPerson.html.twig +++ b/src/Bundle/ChillEventBundle/Resources/views/Event/listByPerson.html.twig @@ -24,7 +24,7 @@ {% block content %}

      {{ 'Events participation' |trans }}

      -
    {{ 'Name'|trans }}
    +
    diff --git a/src/Bundle/ChillEventBundle/Resources/views/Event/newPickCenter.html.twig b/src/Bundle/ChillEventBundle/Resources/views/Event/newPickCenter.html.twig index a10d754e6..71c68002a 100644 --- a/src/Bundle/ChillEventBundle/Resources/views/Event/newPickCenter.html.twig +++ b/src/Bundle/ChillEventBundle/Resources/views/Event/newPickCenter.html.twig @@ -18,10 +18,10 @@
  • - {{ form_widget(form.submit, { 'attr' : { 'class' : 'btn btn-chill-green' } }) }} + {{ form_widget(form.submit, { 'attr' : { 'class' : 'btn btn-submit' } }) }}
  • - + {{ form_end(form) }} {% endblock %} diff --git a/src/Bundle/ChillEventBundle/Resources/views/Event/show.html.twig b/src/Bundle/ChillEventBundle/Resources/views/Event/show.html.twig index 4ce92a200..31eaf0df6 100644 --- a/src/Bundle/ChillEventBundle/Resources/views/Event/show.html.twig +++ b/src/Bundle/ChillEventBundle/Resources/views/Event/show.html.twig @@ -1,14 +1,14 @@ {% extends '@ChillEvent/layout.html.twig' %} {% block title 'Event : %label%'|trans({ '%label%' : event.name } ) %} - -{% import 'ChillPersonBundle:Person:macro.html.twig' as person_macro %} + +{% import 'ChillPersonBundle:Person:macro.html.twig' as person_macro %} {% block event_content -%}

    {{ 'Details of an event'|trans }}

    -
    {{ 'Date'|trans }}
    +
    @@ -33,7 +33,7 @@
    {{ 'Name'|trans }}
    - +
      {% set returnPath = app.request.get('return_path') %} @@ -64,13 +64,13 @@
    - +

    {{ 'Participations'|trans }}

    {% set count = event.participations|length %}

    {% transchoice count %}%count% participations to this event{% endtranschoice %}

    - + {% if count > 0 %} - +
    @@ -108,10 +108,10 @@ {% endfor %}
    {{ 'Person'|trans }}
    - - + + {% endif %} - +
      {% if count > 0 %}
    • {{ 'Edit all the participations'|trans }}
    • diff --git a/src/Bundle/ChillEventBundle/Search/EventSearch.php b/src/Bundle/ChillEventBundle/Search/EventSearch.php index a7ac22592..6bb3d435d 100644 --- a/src/Bundle/ChillEventBundle/Search/EventSearch.php +++ b/src/Bundle/ChillEventBundle/Search/EventSearch.php @@ -12,13 +12,14 @@ declare(strict_types=1); namespace Chill\EventBundle\Search; use Chill\EventBundle\Entity\Event; +use Chill\EventBundle\Repository\EventRepository; use Chill\MainBundle\Pagination\PaginatorFactory; use Chill\MainBundle\Search\AbstractSearch; use Chill\MainBundle\Search\SearchInterface; use Chill\MainBundle\Security\Authorization\AuthorizationHelper; -use Doctrine\ORM\EntityRepository; use Doctrine\ORM\QueryBuilder; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; +use Symfony\Component\Security\Core\Security; use Symfony\Component\Templating\EngineInterface as TemplatingEngine; use function count; @@ -40,15 +41,17 @@ class EventSearch extends AbstractSearch { public const NAME = 'event_regular'; + private $security; + /** - * @var EntityRepository + * @var EventRepository */ private $er; /** * @var AuthorizationHelper */ - private $helper; + private $authorizationHelper; /** * @var PaginatorFactory @@ -60,21 +63,16 @@ class EventSearch extends AbstractSearch */ private $templating; - /** - * @var \Chill\MainBundle\Entity\User - */ - private $user; - public function __construct( - TokenStorageInterface $tokenStorage, - EntityRepository $eventRepository, + Security $security, + EventRepository $eventRepository, AuthorizationHelper $authorizationHelper, TemplatingEngine $templating, PaginatorFactory $paginatorFactory ) { - $this->user = $tokenStorage->getToken()->getUser(); + $this->security = $security; $this->er = $eventRepository; - $this->helper = $authorizationHelper; + $this->authorizationHelper = $authorizationHelper; $this->templating = $templating; $this->paginationFactory = $paginatorFactory; } @@ -101,7 +99,7 @@ class EventSearch extends AbstractSearch if ('html' === $format) { return $this->templating->render( - 'ChillEventBundle:Event:list.html.twig', + '@ChillEvent/Event/list.html.twig', [ 'events' => $this->search($terms, $start, $limit, $options), 'pattern' => $this->recomposePattern($terms, $this->getAvailableTerms(), $terms['_domain']), @@ -140,8 +138,10 @@ class EventSearch extends AbstractSearch protected function composeQuery(QueryBuilder &$qb, $terms) { // add security clauses - $reachableCenters = $this->helper - ->getReachableCenters($this->user, 'CHILL_EVENT_SEE'); + $reachableCenters = $this->authorizationHelper->getReachableCenters( + $this->security->getUser(), + 'CHILL_EVENT_SEE' + ); if (count($reachableCenters) === 0) { // add a clause to block all events @@ -152,8 +152,9 @@ class EventSearch extends AbstractSearch $orWhere = $qb->expr()->orX(); foreach ($reachableCenters as $center) { - $circles = $this->helper->getReachableScopes( - $this->user, + $n = $n+1; + $circles = $this->authorizationHelper->getReachableScopes( + $this->security->getUser(), 'CHILL_EVENT_SEE', $center ); diff --git a/src/Bundle/ChillEventBundle/config/services/repositories.yaml b/src/Bundle/ChillEventBundle/config/services/repositories.yaml index 4d627f625..ff20d094e 100644 --- a/src/Bundle/ChillEventBundle/config/services/repositories.yaml +++ b/src/Bundle/ChillEventBundle/config/services/repositories.yaml @@ -17,7 +17,7 @@ services: factory: ['@doctrine.orm.entity_manager', getRepository] arguments: - 'Chill\EventBundle\Entity\Role' - + chill_event.repository.status: class: Doctrine\ORM\EntityRepository factory: ['@doctrine.orm.entity_manager', getRepository] diff --git a/src/Bundle/ChillEventBundle/config/services/search.yaml b/src/Bundle/ChillEventBundle/config/services/search.yaml index 2df3db26f..5c55fc388 100644 --- a/src/Bundle/ChillEventBundle/config/services/search.yaml +++ b/src/Bundle/ChillEventBundle/config/services/search.yaml @@ -1,12 +1,11 @@ services: - chill_event.search_events: - class: Chill\EventBundle\Search\EventSearch + Chill\EventBundle\Search\EventSearch: arguments: - - "@security.token_storage" - - "@chill_event.repository.event" - - "@chill.main.security.authorization.helper" - - "@templating" - - "@chill_main.paginator_factory" + $security: '@Symfony\Component\Security\Core\Security' + $eventRepository: "@chill_event.repository.event" + $authorizationHelper: "@chill.main.security.authorization.helper" + $templating: "@templating" + $paginatorFactory: "@chill_main.paginator_factory" tags: - { name: chill.search, alias: 'event_regular' } - + diff --git a/src/Bundle/ChillEventBundle/translations/messages.fr.yml b/src/Bundle/ChillEventBundle/translations/messages.fr.yml index 8810c040a..6b6ac220f 100644 --- a/src/Bundle/ChillEventBundle/translations/messages.fr.yml +++ b/src/Bundle/ChillEventBundle/translations/messages.fr.yml @@ -30,7 +30,7 @@ The event was created: L'événement a été créé #crud participation Edit all the participations: Modifier toutes les participations -Edit the participation: Modifier la participation +Edit the participation: Modifier la participation à l'événement Participation Edit: Modifier une participation Add a participation: Ajouter un participant Participation creation: Ajouter une participation