feat: link ratings widget with feedback list filtered by teamer

addresses #869at5mdu
This commit is contained in:
Björn Fromme
2026-08-24 13:50:07 +02:00
parent 43968e4e7b
commit dfa3e63926
12 changed files with 83 additions and 11 deletions
@@ -51,7 +51,7 @@
{% include '_partials/_teamer_deleted_badge.html.twig' with { 'teamer': application.teamer } %}
{{ icon('info', 'w-4 h-4') }}
</button>
<twig:RatingStars rating="{{ application.teamer.averageRating }}" />
<twig:RatingStars rating="{{ application.teamer.averageRating }}" :teamer="application.teamer" />
</td>
<td>
{{ ('label.application.status.' ~ application.status)|trans }}
@@ -162,7 +162,7 @@
{% include '_partials/_teamer_deleted_badge.html.twig' with { 'teamer': disposition.teamer } %}
{{ icon('info', 'w-4 h-4') }}
</button>
<twig:RatingStars rating="{{ disposition.teamer.averageRating }}" />
<twig:RatingStars rating="{{ disposition.teamer.averageRating }}" :teamer="disposition.teamer" />
</td>
<td>
{{ ('label.disposition.status.' ~ disposition.status)|trans }}
@@ -142,7 +142,7 @@
<span>{{ assignment.activeDispositions|length }}/{{ assignment.availableDispositions }}</span>
<ul>
{% for disposition in assignment.activeDispositions %}
<li>
<li class="flex items-center space-x-1">
<div role="button"
title="Teamer:innen-Info anzeigen"
aria-label="Teamer:innen-Info anzeigen"
@@ -150,8 +150,8 @@
hx-target="body"
hx-swap="beforeend">
<span class="whitespace-nowrap">{{ disposition.teamer }}</span>
<twig:RatingStars rating="{{ disposition.teamer.averageRating }}" />
</div>
<twig:RatingStars rating="{{ disposition.teamer.averageRating }}" :teamer="disposition.teamer" />
</li>
{% endfor %}
</ul>
@@ -74,7 +74,7 @@
{{ icon('user', 'w-10 h-10 text-gray-200') }}
</div>
{% endif %}
<twig:RatingStars rating="{{ teamer.averageRating }}" />
<twig:RatingStars rating="{{ teamer.averageRating }}" :teamer="teamer" />
</div>
</td>
<td>
@@ -63,7 +63,7 @@
{{ icon('user', 'w-32 h-32 text-gray-200') }}
</div>
{% endif %}
<twig:RatingStars rating="{{ teamer.averageRating }}"/>
<twig:RatingStars rating="{{ teamer.averageRating }}" :teamer="teamer"/>
<ul class="pb-8 divide-y divide-gray-200">
{% if teamer.communication.phone %}
<li class="py-2">
@@ -5,6 +5,7 @@
{% block content %}
{{ form_start(filterForm, { 'attr': { 'hx-post': app.request.uri, 'hx-target': '#htmx-modal', 'hx-swap': 'outerHTML' } }) }}
<div class="flex flex-col space-y-2 pb-4">
{{ form_row(filterForm.teamer) }}
{{ form_row(filterForm.name) }}
{{ form_row(filterForm.dateFrom) }}
{{ form_row(filterForm.dateTo) }}
+15 -5
View File
@@ -1,5 +1,15 @@
<div class="inline-flex items-center">
{% for grade in range(1, 5) %}
{{ icon('star', html_classes('w-4 h-4', { 'text-gray-200': (rating/100)|round < grade, 'text-primary': (rating/100)|round >= grade })) }}
{% endfor %}
</div>
{% set stars %}
<div class="inline-flex items-center">
{% for grade in range(1, 5) %}
{{ icon('star', html_classes('w-4 h-4', { 'text-gray-200': (rating/100)|round < grade, 'text-primary': (rating/100)|round >= grade })) }}
{% endfor %}
</div>
{% endset %}
{% if teamer is not null and rating and is_granted('ROLE_ADMINISTRATIVE') %}
<a href="{{ path('app_administrative_feedback_index_teamer', { 'uuid': teamer.uuid }) }}"
target="_blank"
rel="noopener"
title="Feedback anzeigen">{{ stars }}</a>
{% else %}
{{ stars }}
{% endif %}