138 lines
7.3 KiB
Twig
138 lines
7.3 KiB
Twig
{% extends 'teamer/layout.html.twig' %}
|
|
|
|
{% block title %}Dashboard{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="flex items-start justify-between pb-4">
|
|
<h1 class="text-2xl font-bold">
|
|
Dashboard
|
|
</h1>
|
|
</div>
|
|
<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">
|
|
Meine Bewerbungen
|
|
</h2>
|
|
<ul class="divide-y divide-gray-200">
|
|
{% for application in pendingApplications %}
|
|
{% set assignment = application.assignment %}
|
|
<li class="py-2 first:pt-0 last:pb-0">
|
|
<a href="{{ path('app_teamer_assignment_detail', { 'uuid': assignment.uuid, 'r': return_url() }) }}" class="flex items-center space-x-1 truncate">
|
|
{{ icon('hand', 'w-4 h-4 shrink-0') }}
|
|
<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>
|
|
{% include '_partials/_dot.html.twig' %}
|
|
<span class="whitespace-nowrap">{{ assignment.jobProfile.name }}</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">
|
|
Meine Dokumente
|
|
</h2>
|
|
<ul class="divide-y divide-gray-200">
|
|
{% for disposition in upcomingDispositions %}
|
|
{% for document in disposition.assignment.documents %}
|
|
{% if is_granted('DOWNLOAD', document) %}
|
|
<li class="py-2 first:pt-0 last:pb-0">
|
|
<a href="{{ path('app_common_download', { 'uuid': document.uuid }) }}" class="flex items-center space-x-1 truncate" target="_blank">
|
|
{{ icon('download', 'w-4 h-4 shrink-0') }}
|
|
<span class="whitespace-nowrap">{{ document.displayName|default(document.originalFilename) }}</span>
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% 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">
|
|
Mein Feedback
|
|
</h2>
|
|
<ul class="divide-y divide-gray-200">
|
|
{% for feedback in recentFeedback %}
|
|
<li class="py-2 first:pt-0 last:pb-0">
|
|
<button type="button" class="flex items-center space-x-1 truncate"
|
|
{{ stimulus_controller('modal-button', [], [], {'ajax-modal': '#ajax-modal'}) }}
|
|
{{ stimulus_action('modal-button', 'ajax', null, {
|
|
'title': feedback.destinationName ~ ' ' ~ feedback.assignmentDate|date('m.Y'),
|
|
'url': path('app_teamer_feedback', { 'uuid': feedback.uuid })
|
|
}) }}>
|
|
{{ icon('feedback', 'w-4 h-4 shrink-0') }}
|
|
<span class="whitespace-nowrap">{{ feedback.createdAt|date('d.m.y') }}</span>
|
|
{% include '_partials/_dot.html.twig' %}
|
|
<span class="whitespace-nowrap">{{ feedback.author }}</span>
|
|
{% include '_partials/_dot.html.twig' %}
|
|
<span class="whitespace-nowrap">{{ feedback.averageRating|format_rating }}</span>
|
|
{% include '_partials/_dot.html.twig' %}
|
|
<span>{{ feedback.comment }}</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">
|
|
Meine Einsätze
|
|
</h2>
|
|
<ul class="divide-y divide-gray-200">
|
|
{% for disposition in upcomingDispositions %}
|
|
{% set assignment = disposition.assignment %}
|
|
<li class="py-2 first:pt-0 last:pb-0">
|
|
<a href="{{ path('app_teamer_disposition_detail', { 'uuid': disposition.uuid }) }}" class="flex items-center space-x-1 truncate">
|
|
{{ icon('hand', 'w-4 h-4 shrink-0') }}
|
|
<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>
|
|
{% include '_partials/_dot.html.twig' %}
|
|
<span class="whitespace-nowrap">{{ assignment.jobProfile.name }}</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">
|
|
Mögliche Einsätze
|
|
</h2>
|
|
<ul class="divide-y divide-gray-200">
|
|
{% for assignment in matchingAssignments %}
|
|
<li class="py-2 first:pt-0 last:pb-0">
|
|
<a href="{{ path('app_teamer_assignment_detail', { 'uuid': assignment.uuid, 'r': return_url() }) }}" class="flex items-center space-x-1 truncate">
|
|
{{ icon('calendar', 'w-4 h-4 shrink-0') }}
|
|
<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>
|
|
{% include '_partials/_dot.html.twig' %}
|
|
<span class="whitespace-nowrap">{{ assignment.jobProfile.name }}</span>
|
|
</a>
|
|
</li>
|
|
{% else %}
|
|
<li class="py-2 first:pt-0 last:pb-0">
|
|
-
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock %} |