user()->can('qms.audit.view')) { abort(403); } $business_id = $request->session()->get('user.business_id'); $audits = QualityAudit::forBusiness($business_id)->latest('audit_date')->paginate(20); return view('qualitymanagement::audits.index', compact('audits')); } public function store(Request $request, QmsIntegrationService $integration) { if (! auth()->user()->can('qms.audit.create')) { abort(403); } $business_id = $request->session()->get('user.business_id'); $validated = $request->validate([ 'type' => 'required|in:internal,external,supplier,customer', 'standard' => 'nullable|string|max:100', 'audit_date' => 'required|date', 'summary' => 'nullable|string', ]); QualityAudit::create(array_merge($validated, [ 'business_id' => $business_id, 'ref_no' => $integration->nextRef($business_id, 'AUD'), 'status' => 'planned', 'auditor_id' => auth()->id(), ])); return redirect()->back()->with('status', ['success' => 1, 'msg' => __('qualitymanagement::lang.audit_created')]); } }