feat: add NDA/contract file uploads and technical skill checkboxes to career applications

This commit is contained in:
Ümit Tunç
2026-05-11 09:18:25 +03:00
parent 7cbf872b05
commit 81790642c3
6 changed files with 121 additions and 7 deletions
+17 -5
View File
@@ -30,25 +30,37 @@ class CareerController extends Controller
public function store(Request $request)
{
$request->validate([
$rules = [
'name' => 'required|string|max:255',
'email' => 'required|email|max:255',
'phone' => 'nullable|string|max:20',
'cv' => 'required|file|mimes:pdf,doc,docx|max:5120', // Max 5MB
'message' => 'nullable|string',
]);
];
$cvPath = null;
if ($request->hasFile('cv')) {
$cvPath = $request->file('cv')->store('cvs', 'public');
if ($request->type === 'job') {
$rules['nda'] = 'required|file|mimes:pdf|max:5120';
$rules['contract'] = 'required|file|mimes:pdf|max:5120';
$rules['git_knowledge'] = 'accepted';
$rules['ai_usage'] = 'accepted';
}
$request->validate($rules);
$cvPath = $request->file('cv') ? $request->file('cv')->store('cvs', 'public') : null;
$ndaPath = $request->file('nda') ? $request->file('nda')->store('ndas', 'public') : null;
$contractPath = $request->file('contract') ? $request->file('contract')->store('contracts', 'public') : null;
CareerApplication::create([
'name' => $request->name,
'email' => $request->email,
'phone' => $request->phone,
'type' => $request->type ?? 'job',
'cv_path' => $cvPath,
'nda_path' => $ndaPath,
'contract_path' => $contractPath,
'git_knowledge' => $request->has('git_knowledge'),
'ai_usage' => $request->has('ai_usage'),
'message' => $request->message,
'status' => 'pending',
]);