ungültige paket-IDs werden nun abgefangen

This commit is contained in:
Codex Agent
2025-12-20 16:59:14 +01:00
parent 6500b8df2c
commit 80985828d8
7 changed files with 57 additions and 13 deletions

View File

@@ -160,10 +160,18 @@ Route::prefix('{locale}')
->where('checkoutSlug', 'bestellen|checkout')
->name('checkout.show');
} else {
Route::get('/{checkoutSlug}/{package}', function (string $locale, string $checkoutSlug, Package $package) {
Route::get('/{checkoutSlug}/{package}', function (string $locale, string $checkoutSlug, string $package) {
$resolvedPackage = Package::query()->find($package);
if (! $resolvedPackage) {
return redirect()
->route('packages', ['locale' => $locale])
->with('error', __('marketing.packages.package_not_found'));
}
return redirect()->route('packages', [
'locale' => app()->getLocale(),
'highlight' => $package->slug,
'locale' => $locale,
'highlight' => $resolvedPackage->slug,
]);
})
->where('checkoutSlug', 'bestellen|checkout')
@@ -325,16 +333,30 @@ Route::middleware('auth')->group(function () {
->name('tenant.events.photos.archive');
});
Route::get('/purchase-wizard/{package}', function (Request $request, Package $package) use ($determinePreferredLocale) {
Route::get('/purchase-wizard/{package}', function (Request $request, string $package) use ($determinePreferredLocale) {
$locale = $determinePreferredLocale($request);
$resolvedPackage = Package::query()->find($package);
return redirect()->to(CheckoutRoutes::wizardUrl($package, $locale), 301);
if (! $resolvedPackage) {
return redirect()
->route('packages', ['locale' => $locale])
->with('error', __('marketing.packages.package_not_found'));
}
return redirect()->to(CheckoutRoutes::wizardUrl($resolvedPackage, $locale), 301);
});
Route::get('/checkout/{package}', function (Request $request, Package $package) use ($determinePreferredLocale) {
Route::get('/checkout/{package}', function (Request $request, string $package) use ($determinePreferredLocale) {
$locale = $determinePreferredLocale($request);
$resolvedPackage = Package::query()->find($package);
return redirect()->to(CheckoutRoutes::wizardUrl($package, $locale), 301);
if (! $resolvedPackage) {
return redirect()
->route('packages', ['locale' => $locale])
->with('error', __('marketing.packages.package_not_found'));
}
return redirect()->to(CheckoutRoutes::wizardUrl($resolvedPackage, $locale), 301);
});
Route::post('/checkout/login', [CheckoutController::class, 'login'])->name('checkout.login');
Route::post('/checkout/register', [CheckoutController::class, 'register'])->name('checkout.register');