From 8cd258f2044138e64bec2323f28eb27d900b5c75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=90=9D=E5=8D=9C?= Date: Fri, 13 Mar 2026 21:55:02 +0000 Subject: [PATCH] feat: plan store/update respect back redirect --- app/Http/Controllers/Admin/PlanController.php | 16 ++++++++++++++++ resources/views/admin/plans/form.blade.php | 5 +++++ tests/Feature/AdminPlanTest.php | 10 ++++++++-- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Admin/PlanController.php b/app/Http/Controllers/Admin/PlanController.php index 5852e94..d7b27c3 100644 --- a/app/Http/Controllers/Admin/PlanController.php +++ b/app/Http/Controllers/Admin/PlanController.php @@ -160,8 +160,16 @@ class PlanController extends Controller $this->ensurePlatformAdmin($request); $data = $this->validatePlan($request); + + $back = (string) $request->input('back', ''); + $safeBack = str_starts_with($back, '/') ? $back : ''; + $plan = Plan::query()->create($data); + if ($safeBack !== '') { + return redirect($safeBack)->with('success', '套餐已创建:' . $plan->name); + } + return redirect('/admin/plans')->with('success', '套餐已创建:' . $plan->name); } @@ -207,8 +215,16 @@ class PlanController extends Controller $this->ensurePlatformAdmin($request); $data = $this->validatePlan($request, $plan->id); + + $back = (string) $request->input('back', ''); + $safeBack = str_starts_with($back, '/') ? $back : ''; + $plan->update($data); + if ($safeBack !== '') { + return redirect($safeBack)->with('success', '套餐已更新:' . $plan->name); + } + return redirect('/admin/plans')->with('success', '套餐已更新:' . $plan->name); } diff --git a/resources/views/admin/plans/form.blade.php b/resources/views/admin/plans/form.blade.php index 8d9c411..d806fd5 100644 --- a/resources/views/admin/plans/form.blade.php +++ b/resources/views/admin/plans/form.blade.php @@ -12,6 +12,11 @@
@csrf + @php $back = (string) ($back ?? ''); @endphp + @if($back !== '') + + @endif +