feat: implement internship form upload functionality for interns with database migration and UI integration
This commit is contained in:
@@ -128,6 +128,40 @@ class CareerController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
public function uploadInternshipForm(Request $request)
|
||||
{
|
||||
if (!session()->has('intern_id')) {
|
||||
return redirect()->route('intern.login')->with('error', 'Lütfen önce giriş yapın.');
|
||||
}
|
||||
|
||||
$request->validate([
|
||||
'internship_form' => 'required|file|mimes:pdf,docx,jpg,png,jpeg|max:51200',
|
||||
], [
|
||||
'internship_form.required' => 'Lütfen bir dosya seçin.',
|
||||
'internship_form.file' => 'Yüklenen öğe geçerli bir dosya olmalıdır.',
|
||||
'internship_form.mimes' => 'Yalnızca PDF, DOCX, JPG ve PNG formatındaki dosyalar kabul edilir.',
|
||||
'internship_form.max' => 'Dosya boyutu en fazla 50MB olabilir.',
|
||||
]);
|
||||
|
||||
$intern = CareerApplication::findOrFail(session('intern_id'));
|
||||
|
||||
if ($request->hasFile('internship_form')) {
|
||||
// Delete old file if exists
|
||||
if ($intern->to_be_signed_internship_form_path) {
|
||||
Storage::disk('public')->delete($intern->to_be_signed_internship_form_path);
|
||||
}
|
||||
|
||||
$path = $request->file('internship_form')->store('to_be_signed_interns', 'public');
|
||||
$intern->update([
|
||||
'to_be_signed_internship_form_path' => $path
|
||||
]);
|
||||
|
||||
return redirect()->back()->with('success', 'İmzalanacak staj formunuz başarıyla yüklendi.');
|
||||
}
|
||||
|
||||
return redirect()->back()->with('error', 'Dosya yüklenirken bir hata oluştu.');
|
||||
}
|
||||
|
||||
public function internLogout()
|
||||
{
|
||||
session()->forget('intern_id');
|
||||
|
||||
Reference in New Issue
Block a user