feat: update wording

This commit is contained in:
fromme committed 2026-09-17 17:56:52 +02:00
1 parent 5e5bf00f8f
commit 84724879c7
10 files changed
+19 -19

No files matched your search

+1 -1
View File
@@ -143,7 +143,7 @@ final class CreateController extends AbstractController
private function flashSeriesResult(SeriesResult $result, Resource $resource): void
{
if ($result->isCompletelyBlocked()) {
$this->addFlash('warning', \sprintf('%s ist an keinem Tag der Serie frei.', $resource->getLabel()));
$this->addFlash('warning', \sprintf('%s ist an keinem der Tage frei.', $resource->getLabel()));
return;
}
+2 -2
View File
@@ -59,8 +59,8 @@ final class EndController extends AbstractController
$removed = $this->manager->endSeries($series, new \DateTimeImmutable('today'));
$this->addFlash('success', $onBehalf
? \sprintf('Serie von %s beendet, %d Termine entfernt.', $series->getUser()->getName(), $removed)
: \sprintf('Serie beendet, %d Termine entfernt.', $removed));
? \sprintf('Wiederholung von %s beendet, %d Termine entfernt.', $series->getUser()->getName(), $removed)
: \sprintf('Wiederholung beendet, %d Termine entfernt.', $removed));
// A series is only ever ended from a list, so this always navigates.
return $this->htmxRedirect($request, $this->generateUrl($this->returnRoute($request) ?? 'app_booking'));
+3 -3
View File
@@ -99,19 +99,19 @@ final class BookingRequest
}
if (null === $this->until) {
$context->buildViolation('Bitte ein Enddatum für die Serie angeben.')->atPath('until')->addViolation();
$context->buildViolation('Bitte angeben, bis wann wiederholt wird.')->atPath('until')->addViolation();
return;
}
if (null !== $this->date && $this->until < $this->date) {
$context->buildViolation('Das Serienende muss nach dem Beginn liegen.')->atPath('until')->addViolation();
$context->buildViolation('Das Ende muss nach dem Beginn liegen.')->atPath('until')->addViolation();
return;
}
if (!$this->unlimitedHorizon && $this->until > BookingHorizon::latest()) {
$context->buildViolation(\sprintf('Eine Serie darf höchstens %d Monate in die Zukunft laufen.', BookingHorizon::MONTHS))
$context->buildViolation(\sprintf('Eine Wiederholung darf höchstens %d Monate in die Zukunft laufen.', BookingHorizon::MONTHS))
->atPath('until')
->addViolation();
}
+1 -1
View File
@@ -57,7 +57,7 @@ final class BookingType extends AbstractType
'choice_label' => static fn (RecurrenceRule $rule): string => $rule->label(),
])
->add('until', DateType::class, [
'label' => 'Serie bis',
'label' => 'Wiederholen bis',
'widget' => 'single_text',
'input' => 'datetime_immutable',
'required' => false,
+1 -1
View File
@@ -27,7 +27,7 @@
<div class="text-sm text-gray-500">
{{ booking.timeRange }}
{% if booking.partOfSeries %}
<span class="badge bg-gray-100 text-gray-600 ml-1">Serie</span>
<span class="badge bg-gray-100 text-gray-600 ml-1">wiederkehrend</span>
{% endif %}
</div>
</div>
+3 -3
View File
@@ -31,7 +31,7 @@
{{ form_end(form) }}
{% if series is not empty %}
<h2 class="pt-8">Serien</h2>
<h2 class="pt-8">Wiederkehrende Buchungen</h2>
<ul class="divide-y divide-gray-200 border-y border-gray-200">
{% for entry in series %}
<li class="flex items-center justify-between gap-4 py-3">
@@ -49,7 +49,7 @@
hx-get="{{ path('app_series_end', { id: entry.id, return: 'admin' }) }}"
hx-target="body"
hx-swap="beforeend">
Serie beenden
Wiederholung beenden
</button>
</li>
{% endfor %}
@@ -80,7 +80,7 @@
{{ booking.resource.type.label }} · {{ booking.resource.label }}
{%- if booking.resource.group %} · {{ booking.resource.group.label }}{% endif %}
{% if booking.partOfSeries %}
<span class="badge bg-gray-100 text-gray-600 ml-1">Serie</span>
<span class="badge bg-gray-100 text-gray-600 ml-1">wiederkehrend</span>
{% endif %}
{% if booking.overridden %}
<span class="badge bg-amber-100 text-amber-800 ml-1">abweichend</span>
@@ -1,12 +1,12 @@
{% extends 'htmx_confirmation_modal.html.twig' %}
{% block title %}Serie beenden?{% endblock %}
{% block title %}Wiederholung beenden?{% endblock %}
{% block content %}
<p>
{{ series.resource.label }} · {{ series.describe }}
{% if series.user.id != app.user.id %}
— Serie von <em>{{ series.user.name }}</em>
— Wiederkehrende Buchung von <em>{{ series.user.name }}</em>
{% endif %}
</p>
<p class="pt-3 text-sm text-gray-500">
@@ -14,4 +14,4 @@
</p>
{% endblock %}
{% block button_confirm %}Serie beenden{% endblock %}
{% block button_confirm %}Wiederholung beenden{% endblock %}
+3 -3
View File
@@ -9,7 +9,7 @@
<p class="subline">Alles, was ab heute für dich reserviert ist.</p>
{% if series is not empty %}
<h2 class="pt-8">Serien</h2>
<h2 class="pt-8">Wiederkehrende Buchungen</h2>
<ul class="divide-y divide-gray-200 border-y border-gray-200">
{% for entry in series %}
<li class="flex items-center justify-between gap-4 py-3">
@@ -28,7 +28,7 @@
hx-get="{{ path('app_series_end', { id: entry.id, return: 'bookings' }) }}"
hx-target="body"
hx-swap="beforeend">
Serie beenden
Wiederholung beenden
</button>
</li>
{% endfor %}
@@ -54,7 +54,7 @@
{{ booking.resource.type.label }} · {{ booking.resource.label }}
{%- if booking.resource.group %} · {{ booking.resource.group.label }}{% endif %}
{% if booking.partOfSeries %}
<span class="badge bg-gray-100 text-gray-600 ml-1">Serie</span>
<span class="badge bg-gray-100 text-gray-600 ml-1">wiederkehrend</span>
{% endif %}
{% if booking.overridden %}
<span class="badge bg-amber-100 text-amber-800 ml-1">abweichend</span>
+1 -1
View File
@@ -45,7 +45,7 @@
{{ ux_icon('lucide:calendar-days', { class: 'h-6 w-6 shrink-0 text-primary' }) }}
<span class="text-lg font-bold">Meine Buchungen</span>
</div>
<p class="text-sm text-gray-500 pb-4">Alle Termine und Serien verwalten.</p>
<p class="text-sm text-gray-500 pb-4">Alle Buchungen verwalten.</p>
</a>
{#
+1 -1
View File
@@ -372,7 +372,7 @@ class BookingControllerTest extends WebTestCase
]);
self::assertSame(Response::HTTP_UNPROCESSABLE_ENTITY, $response->getStatusCode());
self::assertStringContainsString('Bitte ein Enddatum für die Serie angeben.', (string) $response->getContent());
self::assertStringContainsString('Bitte angeben, bis wann wiederholt wird.', (string) $response->getContent());
}
public function testASeriesRunningTooFarOutIsRejected(): void