Update graduation workflow, promotions, and admin module improvements

This commit is contained in:
2026-05-02 13:09:26 +07:00
parent 700c24209d
commit 96d6e364a6
16 changed files with 1593 additions and 32 deletions
@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Models\StudentGraduation;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
@@ -32,6 +33,27 @@ class GraduationBulkUploadController extends Controller
}
public function preview(Request $request): RedirectResponse
{
$preview = $this->buildPreviewPayload($request);
return $preview;
}
public function previewAjax(Request $request): JsonResponse
{
$preview = $this->buildPreviewPayload($request);
$request->session()->put('graduation_bulk_upload_preview', $preview);
return response()->json([
'success' => true,
'redirect_url' => route('graduated-students.bulk-upload.index'),
'summary' => $preview['summary'],
'message' => 'Preview bulk upload berhasil disiapkan.',
]);
}
protected function buildPreviewPayload(Request $request): array
{
$validated = $request->validate([
'document_type' => ['required', 'in:skl,ijazah,transcript,ukk-certificate,lsp-certificate'],
@@ -115,9 +137,7 @@ class GraduationBulkUploadController extends Controller
'summary' => $summary,
];
$request->session()->put('graduation_bulk_upload_preview', $preview);
return redirect()->route('graduated-students.bulk-upload.index');
return $preview;
}
public function store(Request $request): RedirectResponse