fix: properly forward return urls where missing

This commit is contained in:
Björn Fromme
2026-08-11 14:34:46 +02:00
parent 102e1c1c3c
commit 48cd2d6b67
27 changed files with 194 additions and 24 deletions
+1 -1
View File
@@ -107,7 +107,7 @@
role="button"
title="Bewerber:innen-Info anzeigen"
aria-label="Bewerber:innen-Info anzeigen"
hx-get="{{ path('app_administrative_teamer_info', { 'uuid': application.teamer.uuid }) }}"
hx-get="{{ path('app_administrative_teamer_info', { 'uuid': application.teamer.uuid, 'r': return_url() }) }}"
hx-target="body"
hx-swap="beforeend">
{% set requirementsMet = true %}
+1 -1
View File
@@ -41,7 +41,7 @@
{% for disposition in newDispositions %}
{% set assignment = disposition.assignment %}
<li class="py-2 first:pt-0 last:pb-0 overflow-x-hidden">
<a href="{{ path('app_administrative_assignment_detail', { 'uuid': assignment.uuid }) }}" class="flex items-center space-x-1">
<a href="{{ path('app_administrative_assignment_detail', { 'uuid': assignment.uuid, 'r': return_url() }) }}" class="flex items-center space-x-1">
{{ icon('hand', 'w-4 h-4 shrink-0') }}
{% include '_partials/_disposition_data.html.twig' with { 'disposition': disposition } %}
</a>
@@ -73,7 +73,8 @@
class="text-green-500"
title="einteilen"
hx-get="{{ path('app_admin_application_dispose', {
'uuid': application.uuid
'uuid': application.uuid,
'r': forwarded_return_url()
}) }}"
hx-target="body"
hx-swap="beforeend">
@@ -85,7 +86,8 @@
class="text-primary"
title="Bewerbungsstatus bearbeiten"
hx-get="{{ path('app_admin_application_status', {
'uuid': application.uuid
'uuid': application.uuid,
'r': forwarded_return_url()
}) }}"
hx-target="body"
hx-swap="beforeend">
@@ -97,7 +99,8 @@
class="text-red-500"
title="Bewerbung löschen"
hx-get="{{ path('app_admin_application_delete', {
'uuid': application.uuid
'uuid': application.uuid,
'r': forwarded_return_url()
}) }}"
hx-target="body"
hx-swap="beforeend">
@@ -152,7 +155,7 @@
<button type="button"
class="flex items-center space-x-1"
title="Teamer:inneninfo {{ disposition.teamer }}"
hx-get="{{ path('app_administrative_teamer_info', { 'uuid': disposition.teamer.uuid }) }}"
hx-get="{{ path('app_administrative_teamer_info', { 'uuid': disposition.teamer.uuid, 'r': return_url() }) }}"
hx-target="body"
hx-swap="beforeend">
<span>{{ disposition.teamer }}</span>
@@ -183,7 +186,7 @@
</td>
<td>
<div class="flex items-center justify-end space-x-2">
<button type="button" hx-post="{{ path('app_administrative_disposition_bpn_sync_toggle', { 'uuid': disposition.uuid }) }}" hx-swap="none">
<button type="button" hx-post="{{ path('app_administrative_disposition_bpn_sync_toggle', { 'uuid': disposition.uuid, 'r': forwarded_return_url() }) }}" hx-swap="none">
{{ icon('chair', html_classes('w-5 h-5', {'text-green-500': disposition.syncedWithBusProNet })) }}
</button>
<twig:DropDown>
@@ -191,7 +194,7 @@
class="text-gray-700 hover:text-primary block px-4 py-2 text-sm w-full text-left"
role="menuitem"
tabindex="-1"
hx-get="{{ path('app_administrative_disposition_special_agreements', { 'uuid': disposition.uuid }) }}"
hx-get="{{ path('app_administrative_disposition_special_agreements', { 'uuid': disposition.uuid, 'r': forwarded_return_url() }) }}"
hx-target="body"
hx-swap="beforeend">
zusätzliche Absprachen
@@ -201,7 +204,7 @@
class="text-gray-700 hover:text-primary block px-4 py-2 text-sm w-full text-left"
role="menuitem"
tabindex="-1"
hx-get="{{ path('app_administrative_disposition_document_upload', { 'uuid': disposition.uuid, 'type': 'contract' }) }}"
hx-get="{{ path('app_administrative_disposition_document_upload', { 'uuid': disposition.uuid, 'type': 'contract', 'r': forwarded_return_url() }) }}"
hx-target="body"
hx-swap="beforeend">
Honorarvertrag hochladen
@@ -210,7 +213,7 @@
class="text-gray-700 hover:text-primary block px-4 py-2 text-sm w-full text-left"
role="menuitem"
tabindex="-1"
hx-get="{{ path('app_administrative_disposition_document_upload', { 'uuid': disposition.uuid, 'type': 'invoice' }) }}"
hx-get="{{ path('app_administrative_disposition_document_upload', { 'uuid': disposition.uuid, 'type': 'invoice', 'r': forwarded_return_url() }) }}"
hx-target="body"
hx-swap="beforeend">
Honorarnote hochladen
@@ -221,7 +224,7 @@
class="text-red-500 hover:text-primary block px-4 py-2 text-sm w-full text-left"
role="menuitem"
tabindex="-1"
hx-get="{{ path('app_administrative_disposition_call_off', { 'uuid': disposition.uuid }) }}"
hx-get="{{ path('app_administrative_disposition_call_off', { 'uuid': disposition.uuid, 'r': forwarded_return_url() }) }}"
hx-target="body"
hx-swap="beforeend">
absagen
@@ -232,7 +235,7 @@
class="text-red-500 hover:text-primary block px-4 py-2 text-sm w-full text-left"
role="menuitem"
tabindex="-1"
hx-get="{{ path('app_admin_disposition_delete', { 'uuid': disposition.uuid }) }}"
hx-get="{{ path('app_admin_disposition_delete', { 'uuid': disposition.uuid, 'r': forwarded_return_url() }) }}"
hx-target="body"
hx-swap="beforeend">
löschen
@@ -146,7 +146,7 @@
<div role="button"
title="Teamer:innen-Info anzeigen"
aria-label="Teamer:innen-Info anzeigen"
hx-get="{{ path('app_administrative_teamer_info', { 'uuid': disposition.teamer.uuid }) }}"
hx-get="{{ path('app_administrative_teamer_info', { 'uuid': disposition.teamer.uuid, 'r': return_url() }) }}"
hx-target="body"
hx-swap="beforeend">
<span class="whitespace-nowrap">{{ disposition.teamer }}</span>
@@ -197,7 +197,7 @@
class="block px-4 py-2 text-sm w-full text-left"
role="menuitem"
tabindex="-1"
hx-post="{{ path('app_administrative_assignment_publish', { 'uuid': assignment.uuid }) }}">
hx-post="{{ path('app_administrative_assignment_publish', { 'uuid': assignment.uuid, 'r': return_url() }) }}">
veröffentlichen
</button>
{% endif %}
@@ -248,7 +248,7 @@
</div>
</div>
<a href="{{ path('app_administrative_assignment_create') }}" class="btn">
<a href="{{ path('app_administrative_assignment_create', { 'r': return_url() }) }}" class="btn">
Neu
</a>
{% endblock %}
@@ -23,7 +23,7 @@
<button type="button"
class="flex items-center space-x-2"
title="Teamer:inneninfo {{ item.teamerName }}"
hx-get="{{ path('app_administrative_teamer_info', { 'uuid': item.teamerUuid }) }}"
hx-get="{{ path('app_administrative_teamer_info', { 'uuid': item.teamerUuid, 'r': return_url() }) }}"
hx-target="body"
hx-swap="beforeend">
<span class="text-xs font-semibold">{{ item.teamerName | raw }}</span>
@@ -101,7 +101,7 @@
{% endif %}
{% if is_granted('CHECK', upload) %}
<button type="button"
hx-get="{{ path('app_administrative_document_check', { 'uuid': upload.uuid }) }}"
hx-get="{{ path('app_administrative_document_check', { 'uuid': upload.uuid, 'r': return_url() }) }}"
hx-target="body"
hx-swap="beforeend">
{{ icon('edit') }}
@@ -1,7 +1,13 @@
{% extends 'htmx_modal.html.twig' %}
{% block title %}
Teamer:inneninfo <a href="{{ path('app_administrative_teamer_profile', { 'uuid': teamer.uuid, 'r': returnUrl }) }}">{{ teamer }}</a>
{# The profile is administrative only, house managers reach this modal but not it. #}
Teamer:inneninfo
{% if is_granted('ROLE_ADMINISTRATIVE') %}
<a href="{{ path('app_administrative_teamer_profile', { 'uuid': teamer.uuid, 'r': returnUrl }) }}">{{ teamer }}</a>
{% else %}
{{ teamer }}
{% endif %}
{% endblock %}
{% block content %}
+1 -1
View File
@@ -6,7 +6,7 @@
<button type="button"
class="flex items-center space-x-1"
title="Teamer:inneninfo {{ disposition.teamer }}"
hx-get="{{ path('app_administrative_teamer_info', { 'uuid': disposition.teamer.uuid }) }}"
hx-get="{{ path('app_administrative_teamer_info', { 'uuid': disposition.teamer.uuid, 'r': return_url() }) }}"
hx-target="body"
hx-swap="beforeend">
{{ icon('info', 'w-4 h-4') }}
+1 -1
View File
@@ -75,7 +75,7 @@
{% for disposition in dispositions %}
{% set assignment = disposition.assignment %}
<li class="py-2 first:pt-0 last:pb-0 overflow-x-hidden">
<a href="{{ path('app_administrative_assignment_detail', { 'uuid': assignment.uuid }) }}"
<a href="{{ path('app_administrative_assignment_detail', { 'uuid': assignment.uuid, 'r': return_url() }) }}"
class="flex items-center space-x-1">
{{ icon('hand', 'w-4 h-4 shrink-0') }}
{% include '_partials/_disposition_data.html.twig' with { 'disposition': disposition } %}
+1 -1
View File
@@ -34,7 +34,7 @@
<button type="button"
class="btn btn--secondary"
title="Bewerbung zurückziehen"
hx-get="{{ path('app_teamer_application_withdraw', { 'uuid': application.uuid }) }}"
hx-get="{{ path('app_teamer_application_withdraw', { 'uuid': application.uuid, 'r': forwarded_return_url() }) }}"
hx-target="body"
hx-swap="beforeend">
Bewerbung zurückziehen