feat: streamlined teamer info modals, internal teamer remarks

This commit is contained in:
Björn Fromme
2025-02-10 18:14:19 +01:00
parent 0b743172e7
commit 9192e8220d
13 changed files with 201 additions and 86 deletions
@@ -1,50 +0,0 @@
{% extends 'htmx_modal.html.twig' %}
{% block title %}Teamer:inneninfo {{ application.teamer }}{% endblock %}
{% block content %}
<div class="flex items-start">
<div class="flex-1 pr-8">
{% include '_partials/_assignment_requirements_info.html.twig' with {
'assignment': application.assignment,
'teamer': application.teamer
} %}
<ul class="pb-8 divide-y divide-gray-200">
{% for type in ['ski', 'snowboard'] %}
<li class="py-2">
<div class="flex items-center justify-between">
<span class="flex-1">{{ type|license_label }}</span>
{% set license = application.teamer.licenseOfType(type) %}
{% if license %}
<div class="flex items-center space-x-2">
<span>{{ license.date|date('m/Y') }}</span>
{% if is_granted('DOWNLOAD', license.certificate) %}
<a href="{{ path('app_common_download', { 'uuid': license.certificate.uuid, 'inline': true }) }}"
target="_blank"
title="Download Nachweis">
{{ icon('download', 'w-4 h-4') }}
</a>
{% endif %}
</div>
{% else %}
{{ icon('minus', 'w-4 h-4') }}
{% endif %}
</div>
</li>
{% endfor %}
</ul>
</div>
<div>
{% set teamer = application.teamer %}
{% if teamer.photo %}
<img src="{{ asset(teamer.photo.filename | imagine_filter('profile')) }}"
class="w-32 h-auto border-2 border-primary"
alt="{{ teamer.firstName }}">
{% else %}
<div class="border-2 border-primary">
{{ icon('user', 'w-32 h-32 text-gray-200') }}
</div>
{% endif %}
</div>
</div>
{% endblock %}
@@ -0,0 +1,25 @@
{% extends 'admin/layout.html.twig' %}
{% block title %}Interne Anmerkungen zu {{ teamer }}{% endblock %}
{% block content %}
<div class="grid lg:grid-cols-3 gap-y-8 lg:gap-y-0 lg:gap-x-8">
<div>
{{ knp_menu_render(knp_menu_get('admin_teamer')) }}
</div>
<div class="lg:col-span-2">
<h1 class="text-2xl font-bold pb-8">
Interne Anmerkungen zu {{ teamer }}
</h1>
{{ form_start(form) }}
<div class="pb-4">
{{ form_row(form.remarks) }}
</div>
<button type="submit" class="btn">
speichern
</button>
{{ form_rest(form) }}
{{ form_end(form) }}
</div>
</div>
{% endblock %}
+8 -2
View File
@@ -27,7 +27,9 @@
<button type="button"
class="text-red-500"
title="Ausbildung löschen"
hx-get="{{ path('app_admin_teamer_skills_training_attendance_delete', { 'uuid': attendance.uuid, 'r': return_url() }) }}"
hx-get="{{ path('app_admin_teamer_skills_training_attendance_delete', {
'uuid': attendance.uuid, 'r': return_url()
}) }}"
hx-target="body"
hx-swap="beforeend">
{{ icon('delete') }}
@@ -36,7 +38,11 @@
{% else %}
<button type="button"
title="Teilnahme hinzufügen"
hx-get="{{ path('app_admin_teamer_skills_training_attendance_create', { 'training_id': training.id, 'teamer_id': teamer.id, 'r': return_url() }) }}"
hx-get="{{ path('app_admin_teamer_skills_training_attendance_create', {
'training_id': training.id,
'teamer_id': teamer.id,
'r': return_url()
}) }}"
hx-target="body"
hx-swap="beforeend">
{{ icon('calendar', 'w-4 h-4') }}