user()->purchasing_role, [PurchasingRole::Admin, PurchasingRole::Finance]), 403); $data = $request->validate(['reference' => 'required|string|max:100', 'amount' => ['required', 'regex:/^\d{1,12}(\.\d{1,2})?$/'], 'reason' => 'required|string|max:4000']); $workflow->propose($request->user(), $budget, $data); return back(); } public function review(Request $request, BudgetReinforcement $reinforcement, BudgetReinforcementWorkflow $workflow): RedirectResponse { $data = $request->validate(['decision' => 'required|in:approved,rejected', 'reason' => 'required|string|max:4000']); $workflow->review($request->user(), $reinforcement, $data['decision'], $data['reason']); return back(); } }