Files
myep-team/templates/admin/index.html.twig
T

233 lines
12 KiB
Twig

{% extends 'admin/layout.html.twig' %}
{% block content %}
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8">
<div class="bg-gray-100 border border-gray-200 rounded-md px-4 py-2">
<h2 class="font-bold text-lg pb-2">
Neue Bewerbungen
</h2>
{% if newApplicationsCount > 0 or pendingApplicationsCount > 0 %}
<h3 class="font-bold pb-2">
{{ newApplicationsCount }} neu, {{ pendingApplicationsCount }} in Bearbeitung
</h3>
{% endif %}
<ul class="divide-y divide-gray-200">
{% for application in applications %}
{% set assignment = application.assignment %}
<li class="py-2 first:pt-0 last:pb-0">
<a href="{{ path('app_administrative_assignment_detail', { 'uuid': assignment.uuid, 'r': return_url() }) }}">
<div class="flex items-center space-x-1">
{{ icon('hand', 'w-4 h-4 shrink-0') }}
<div class="flex items-center space-x-1 truncate">
<span class="whitespace-nowrap">{{ application.teamer.fullName(true) }}</span>
{% include '_partials/_dot.html.twig' %}
<span class="whitespace-nowrap">{{ assignment.effectivePeriod.start|date('d.m.y') }} - {{ assignment.effectivePeriod.end|date('d.m.y') }}</span>
{% include '_partials/_dot.html.twig' %}
<span class="whitespace-nowrap">{{ assignment.destination.hotel }}</span>
</div>
</div>
<div class="pl-5 whitespace-nowrap">{{ assignment.jobProfile.name }}</div>
</a>
</li>
{% else %}
<li class="py-2 first:pt-0 last:pb-0">
-
</li>
{% endfor %}
</ul>
</div>
<div class="bg-gray-100 border border-gray-200 rounded-md px-4 py-2">
<h2 class="font-bold text-lg pb-2">
Neue Einteilungen
</h2>
<ul class="divide-y divide-gray-200">
{% for disposition in newDispositions %}
{% set assignment = disposition.assignment %}
<li class="py-2 first:pt-0 last:pb-0">
<a href="{{ path('app_administrative_assignment_detail', { 'uuid': assignment.uuid }) }}" class="flex items-center space-x-1 truncate">
{{ icon('hand', 'w-4 h-4 shrink-0') }}
{% include '_partials/_disposition_data.html.twig' with { 'disposition': disposition } %}
</a>
</li>
{% else %}
<li class="py-2 first:pt-0 last:pb-0">
-
</li>
{% endfor %}
</ul>
</div>
<div class="bg-gray-100 border border-gray-200 rounded-md px-4 py-2">
<h2 class="font-bold text-lg pb-2">
Neue Dokumente
</h2>
{% if newDocumentsCount > 0 or pendingDocumentsCount > 0 %}
<h3 class="font-bold pb-2">
{{ newDocumentsCount }} neu {{ pendingDocumentsCount }} in Bearbeitung
</h3>
{% endif %}
<ul class="divide-y divide-gray-200">
{% for document in documents %}
<li class="py-2 first:pt-0 last:pb-0">
<button type="button"
class="flex items-center space-x-1 truncate"
hx-get="{{ path('app_administrative_document_check', { 'uuid': document.uuid, 'r': return_url() }) }}"
hx-target="body"
hx-swap="beforeend">
{{ icon('download', 'w-4 h-4 shrink-0') }}
<span>{{ document.owner.teamer.fullName(true) }}</span>
{% include '_partials/_dot.html.twig' %}
<span>{{ document.typeLabel }}</span>
</button>
</li>
{% else %}
<li class="py-2 first:pt-0 last:pb-0">
-
</li>
{% endfor %}
</ul>
</div>
<div class="bg-gray-100 border border-gray-200 rounded-md px-4 py-2">
<h2 class="font-bold text-lg pb-2">
Neue Einsätze
</h2>
<ul class="divide-y divide-gray-200">
{% for assignment in assignments %}
<li class="py-2 first:pt-0 last:pb-0">
<a href="{{ path('app_administrative_assignment_detail', { 'uuid': assignment.uuid, 'r': return_url() }) }}">
<div class="flex items-center space-x-1">
{{ icon('calendar', 'w-4 h-4 shrink-0') }}
<div class="flex items-center space-x-1 truncate">
<span class="whitespace-nowrap">{{ assignment.effectivePeriod.start|date('d.m.y') }} - {{ assignment.effectivePeriod.end|date('d.m.y') }}</span>
{% include '_partials/_dot.html.twig' %}
<span class="whitespace-nowrap">{{ assignment.jobProfile.name }}</span>
</div>
</div>
<div class="pl-5 whitespace-nowrap">{{ assignment.owner.fullName(true) }}</div>
</a>
</li>
{% else %}
<li class="py-2 first:pt-0 last:pb-0">
-
</li>
{% endfor %}
</ul>
</div>
<div class="bg-gray-100 border border-gray-200 rounded-md px-4 py-2">
<h2 class="font-bold text-lg pb-2">
Neue Verfügbarkeiten
</h2>
<ul class="divide-y divide-gray-200">
{% for availability in availabilities %}
<li class="py-2 first:pt-0 last:pb-0">
<a href="{{ path('app_admin_teamer_availability', { 'uuid': availability.owner.uuid, 'r': return_url() }) }}" class="flex items-center space-x-1 truncate">
{{ icon('calendar', 'w-4 h-4 shrink-0') }}
<span class="whitespace-nowrap">{{ availability.owner.fullName(true) }}</span>
{% include '_partials/_dot.html.twig' %}
<span class="whitespace-nowrap">{{ availability.dateFrom|date('d.m.y') }} - {{ availability.dateTo|date('d.m.y') }}</span>
</a>
</li>
{% else %}
<li class="py-2 first:pt-0 last:pb-0">
-
</li>
{% endfor %}
</ul>
</div>
<div class="bg-gray-100 border border-gray-200 rounded-md px-4 py-2">
<h2 class="font-bold text-lg pb-2">
Neue Feedbacks
</h2>
{% if pendingFeedbacksCount > 0 %}
<h3 class="font-bold pb-2">
{{ pendingFeedbacksCount }} freizugeben
</h3>
{% endif %}
<ul class="divide-y divide-gray-200">
{% for feedback in feedbacks %}
<li class="py-2 first:pt-0 last:pb-0">
<button type="button"
hx-get="{{ path('app_admin_feedback_approve', { 'uuid': feedback.uuid }) }}"
hx-target="body"
hx-swap="beforeend">
<span class="flex items-center space-x-1">
{{ icon('feedback', 'w-4 h-4 shrink-0') }}
<div class="flex items-center space-x-1 truncate">
<span class="whitespace-nowrap">{{ feedback.teamer }}</span>
{% if feedback.destinationName %}
{% include '_partials/_dot.html.twig' %}
<span class="whitespace-nowrap">{{ feedback.destinationName }}</span>
{% endif %}
</div>
</span>
{% if feedback.jobProfileName %}
<span class="pl-5 whitespace-nowrap">{{ feedback.jobProfileName }}</span>
{% endif %}
</button>
</li>
{% else %}
<li class="py-2 first:pt-0 last:pb-0">
-
</li>
{% endfor %}
</ul>
</div>
<div class="bg-gray-100 border border-gray-200 rounded-md px-4 py-2">
<h2 class="font-bold text-lg pb-2">
überfällige Feedbacks
</h2>
<ul class="divide-y divide-gray-200">
{% for disposition in overdueFeedbacks %}
{% set assignment = disposition.assignment %}
<li class="py-2 first:pt-0 last:pb-0">
<a href="{{ path('app_administrative_assignment_detail', { 'uuid': assignment.uuid, 'r': return_url() }) }}">
<span class="flex items-center space-x-1">
{{ icon('feedback', 'w-4 h-4 shrink-0') }}
<div class="flex items-center space-x-1 truncate">
<span class="whitespace-nowrap">{{ disposition.teamer }}</span>
{% if assignment.destination %}
{% include '_partials/_dot.html.twig' %}
<span class="whitespace-nowrap">{{ assignment.destination }}</span>
{% endif %}
</div>
</span>
{% if assignment.jobProfile %}
<span class="pl-5 whitespace-nowrap">{{ assignment.jobProfile.name }}</span>
{% endif %}
</a>
</li>
{% else %}
<li class="py-2 first:pt-0 last:pb-0">
-
</li>
{% endfor %}
</ul>
</div>
<div class="bg-gray-100 border border-gray-200 rounded-md px-4 py-2">
<h2 class="font-bold text-lg pb-2">
Überfällige Honorarverträge
</h2>
<ul class="divide-y divide-gray-200">
{% for disposition in overdueContracts %}
{% set assignment = disposition.assignment %}
<li class="py-2 first:pt-0 last:pb-0">
<a href="{{ path('app_administrative_assignment_detail', { 'uuid': assignment.uuid, 'r': return_url() }) }}">
<div class="flex items-center space-x-1">
{{ icon('calendar', 'w-4 h-4 shrink-0') }}
<div class="flex items-center space-x-1 truncate">
<span class="whitespace-nowrap">{{ assignment.effectivePeriod.start|date('d.m.y') }} - {{ assignment.effectivePeriod.end|date('d.m.y') }}</span>
{% include '_partials/_dot.html.twig' %}
<span class="whitespace-nowrap">{{ assignment.jobProfile.name }}</span>
</div>
</div>
<div class="pl-5 whitespace-nowrap">{{ disposition.teamer.fullName(true) }}</div>
</a>
</li>
{% else %}
<li class="py-2 first:pt-0 last:pb-0">
-
</li>
{% endfor %}
</ul>
</div>
</div>
{% endblock %}