authorize('update', $submission); $maxKb = (int) AppSetting::get('max_upload_size_kb', config('mbip.max_upload_size_kb', 20480)); $request->validate([ 'report' => ['required', 'file', 'mimes:pdf', 'mimetypes:application/pdf', "max:$maxKb"], ], [], ['report' => 'laporan PDF']); $this->documents->store($submission, $request->file('report'), auth()->user()); return back()->with('success', 'Laporan PDF berjaya dimuat naik (versi baharu dicipta).'); } /** Muat turun laporan — dilindungi oleh polisi. */ public function download(SubmissionDocument $document) { $this->authorize('view', $document->submission); return $this->documents->download($document); } public function setActive(SubmissionDocument $document) { $this->authorize('update', $document->submission); $this->documents->setActiveVersion($document->submission, $document); return back()->with('success', 'Versi laporan aktif dikemas kini.'); } }