WIP Impelement more stuff

This commit is contained in:
Björn Fromme
2023-10-04 15:10:16 +02:00
parent dec8feedf2
commit cc1ab396af
35 changed files with 928 additions and 177 deletions
@@ -0,0 +1,16 @@
{% extends 'admin/layout.html.twig' %}
{% block title %}Verfügbarkeit {{ 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">
Verfügbarkeit {{ teamer }}
</h1>
</div>
</div>
{% endblock %}
@@ -0,0 +1,16 @@
{% extends 'admin/layout.html.twig' %}
{% block title %}Selektionsmerkmale {{ 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">
Selektionsmerkmale {{ teamer }}
</h1>
</div>
</div>
{% endblock %}
+4 -1
View File
@@ -43,7 +43,7 @@
</a>
</td>
<td>
{{ teamer.status }}
{{ teamer.status|teamer_status_label }}
</td>
<td>
{{ teamer.communication.email }}
@@ -57,6 +57,9 @@
</td>
<td>
<div class="flex items-center space-x-1 justify-end">
<a href="{{ path('app_admin_teamer_profile', { 'uuid': teamer.uuid }) }}" title="Teamerprofil {{ teamer }}">
{{ icon('user') }}
</a>
</div>
</td>
</tr>
+230
View File
@@ -0,0 +1,230 @@
{% extends 'admin/layout.html.twig' %}
{% block title %}Stammdaten und Foto {{ 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">
Stammdaten und Foto {{ teamer }}
</h1>
<div class="grid grid-cols-2 gap-4">
<div>
<h2 class="text-lg font-bold pb-2">
Persönliche Daten
</h2>
<div class="flex flex-col space-y-3">
<div>
<div class="font-bold">
Gender:
</div>
<div>
{{ teamer.gender }}
</div>
</div>
<div>
<div class="font-bold">
Titel:
</div>
<div>
{{ teamer.academicTitle|default('-') }}
</div>
</div>
<div>
<div class="font-bold">
Vorname:
</div>
<div>
{{ teamer.firstName }}
</div>
</div>
<div>
<div class="font-bold">
Nachname:
</div>
<div>
{{ teamer.lastName }}
</div>
</div>
<div>
<div class="font-bold">
Geburtsdatum:
</div>
<div>
{{ teamer.dateOfBirth|date('d.m.Y') }}
</div>
</div>
<div>
<div class="font-bold">
Staatsangehörigkeit:
</div>
<div>
{{ teamer.nationality|bpn_country_label('nationality') }}
</div>
</div>
</div>
</div>
<div>
{% if teamer.photo %}
<div class="pb-8">
<img src="{{ asset(teamer.photo.filename | imagine_filter('profile')) }}"
class="w-48 h-auto border-2 border-primary"
alt="{{ teamer.firstName }}">
</div>
{% endif %}
</div>
<div>
<h2 class="text-lg font-bold pb-2">
Adressdaten
</h2>
<div class="flex flex-col space-y-3">
<div>
<div class="font-bold">
Straße, Hausnummer:
</div>
<div>
{{ teamer.address.street }}
</div>
</div>
<div>
<div class="font-bold">
PLZ:
</div>
<div>
{{ teamer.address.postCode }}
</div>
</div>
<div>
<div class="font-bold">
Ort:
</div>
<div>
{{ teamer.address.city }}
</div>
</div>
<div>
<div class="font-bold">
Land:
</div>
<div>
{{ teamer.address.country|bpn_country_label }}
</div>
</div>
<div>
<div class="font-bold">
E-Mail:
</div>
<div>
{{ teamer.communication.email|default('-') }}
</div>
</div>
<div>
<div class="font-bold">
Mobilnummer:
</div>
<div>
{{ teamer.communication.mobile|default('-') }}
</div>
</div>
</div>
</div>
<div>
<h2 class="text-lg font-bold pb-2">
Buszustiege
</h2>
<ul class="list-disc pl-4">
{% for pickup in teamer.pickups %}
<li>
{{ pickup|bpn_pickup_label }}
</li>
{% else %}
<li>
<span class="text-sm">Keine Daten</span>
</li>
{% endfor %}
</ul>
</div>
<div>
<h2 class="text-lg font-bold pb-2">
Honorardaten
</h2>
<div class="flex flex-col space-y-3">
<div>
<div class="font-bold">
Steuer-ID:
</div>
<div>
{{ teamer.taxId|default('-') }}
</div>
</div>
<div>
<div class="font-bold">
IBAN:
</div>
<div>
{{ teamer.bankAccount.iban|default('-') }}
</div>
</div>
<div>
<div class="font-bold">
BIC:
</div>
<div>
{{ teamer.bankAccount.bic|default('-') }}
</div>
</div>
<div>
<div class="font-bold">
Bank/Kreditinstitut:
</div>
<div>
{{ teamer.bankAccount.bank|default('-') }}
</div>
</div>
<div>
<div class="font-bold">
Krankenversicherung:
</div>
<div>
{{ teamer.healthInsuranceCompany|default('-') }}
</div>
</div>
</div>
</div>
<div>
<h2 class="text-lg font-bold pb-2">
Sonstiges
</h2>
<div class="flex flex-col space-y-3">
<div>
<div class="font-bold">
Sprache(n):
</div>
<div>
{{ teamer.language|default('-') }}
</div>
</div>
<div>
<div class="font-bold">
Klamottengröße:
</div>
<div>
{{ teamer.size|default('-') }}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
@@ -0,0 +1,16 @@
{% extends 'admin/layout.html.twig' %}
{% block title %}Vergangene Einsätze &amp; Feeback {{ 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">
Vergangene Einsätze &amp; Feeback {{ teamer }}
</h1>
</div>
</div>
{% endblock %}
+118
View File
@@ -0,0 +1,118 @@
{% extends 'admin/layout.html.twig' %}
{% block title %}Jobprofile &amp; Skills {{ 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">
Jobprofile &amp; Skills {{ teamer }}
</h1>
<h2 class="text-xl font-bold pb-2">
Ausbildung
</h2>
<ul class="pb-2 divide-y divide-gray-200">
{% for training in trainings %}
<li class="py-2">
<div class="flex items-center justify-between">
<span class="flex-1">{{ training.name }}</span>
{% set attendance = teamer.trainingAttendance(training) %}
{% if attendance %}
<div class="flex items-center space-x-2">
<span>{{ attendance.date|date('m/Y') }}</span>
<button type="button"
class="text-red-500"
title="Ausbildung löschen"
{{ stimulus_controller('modal-button', [], [], {'confirmation-modal': '#confirmation-modal'}) }}
{{ stimulus_action('modal-button', 'confirmation', null, {
'title': 'Bist du sicher?',
'content': 'Möchtest du die Teilnahme an dieser Schulung wirklich löschen?',
'target-url': path('app_admin_teamer_skills_training_attendance_delete', { 'uuid': attendance.uuid })
}) }}>
{{ icon('delete') }}
</button>
</div>
{% else %}
<button type="button"
{{ stimulus_controller('modal-button', [], [], {'ajax-modal': '#ajax-modal'}) }}
{{ stimulus_action('modal-button', 'ajax', null, {
'title': 'Teilnahme hinzufügen',
'url': path('app_admin_teamer_skills_training_attendance_create', { 'training_id': training.id, 'teamer_id': teamer.id })
}) }}>
{{ icon('calendar', 'w-4 h-4') }}
</button>
{% endif %}
</div>
</li>
{% endfor %}
</ul>
<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 = 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 }) }}"
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 class="grid grid-cols-2 gap-4">
<div>
<h2 class="text-lg font-bold pb-2">
Mögliche Jobprofile
</h2>
<ul class="list-disc pl-4">
{% for profile in teamer.jobProfiles %}
<li>
{{ profile.name }}
</li>
{% endfor %}
</ul>
</div>
<div>
<h2 class="text-lg font-bold pb-2">
Sonstiges
</h2>
<div class="flex flex-col space-y-3">
<div>
<div class="font-bold">
Status:
</div>
<div>
{{ teamer.status|teamer_status_label }}
</div>
</div>
<div>
<div class="font-bold">
Wünsche:
</div>
<div>
{{ teamer.remarks|nl2br|default('-') }}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
@@ -0,0 +1,9 @@
{{ form_start(form) }}
<div class="flex flex-col space-y-4 pb-8">
{{ form_row(form.date) }}
</div>
<button type="submit" class="btn">
Speichern
</button>
{{ form_rest(form) }}
{{ form_end(form) }}