diff --git a/app/Filament/Admin/Resources/InternApplications/InternApplicationResource.php b/app/Filament/Admin/Resources/InternApplications/InternApplicationResource.php index 50b804b..debe477 100644 --- a/app/Filament/Admin/Resources/InternApplications/InternApplicationResource.php +++ b/app/Filament/Admin/Resources/InternApplications/InternApplicationResource.php @@ -137,6 +137,12 @@ class InternApplicationResource extends Resource ->disk('public') ->directory('signed_interns') ->downloadable() + ->live() + ->afterStateUpdated(function ($state, Set $set) { + if ($state) { + $set('status', 'accepted'); + } + }) ->nullable(), DatePicker::make('internship_start_date') diff --git a/app/Http/Controllers/CareerController.php b/app/Http/Controllers/CareerController.php index 870d9c1..52e1afa 100644 --- a/app/Http/Controllers/CareerController.php +++ b/app/Http/Controllers/CareerController.php @@ -186,6 +186,7 @@ class CareerController extends Controller 'internship_start_date' => $request->internship_start_date, 'internship_end_date' => $endDate->format('Y-m-d'), 'internship_total_days' => $daysToAdd, + 'status' => 'waiting_document', ]); return redirect()->back()->with('success', 'İmzalanacak staj formunuz ve staj tarihleri başarıyla kaydedildi.'); diff --git a/lang/tr/career.php b/lang/tr/career.php index c042056..0c04883 100644 --- a/lang/tr/career.php +++ b/lang/tr/career.php @@ -84,7 +84,7 @@ return [ 'reviewed' => 'İncelendi', 'rejected' => 'Reddedildi', 'accepted' => 'Kabul Edildi', - 'waiting_document' => 'Belge Bekleniyor', + 'waiting_document' => 'İmzalı Staj Formu Bekleniyor', // Wizard and Mermaid 'step_1_title' => '1. Şartlar & Koşullar', diff --git a/resources/views/front/career/intern_dashboard.blade.php b/resources/views/front/career/intern_dashboard.blade.php index e57296e..ef7d84e 100644 --- a/resources/views/front/career/intern_dashboard.blade.php +++ b/resources/views/front/career/intern_dashboard.blade.php @@ -50,6 +50,275 @@ @endif +@php + $status = $intern->status; + $hasToBeSigned = !empty($intern->to_be_signed_internship_form_path); + $hasSigned = !empty($intern->signed_internship_form_path); + + $step1_state = 'completed'; + + if (in_array($status, ['reviewed', 'waiting_document', 'accepted']) || $hasToBeSigned || $hasSigned) { + $step2_state = 'completed'; + } elseif ($status === 'rejected') { + $step2_state = 'rejected'; + } else { + $step2_state = 'active'; + } + + if ($hasToBeSigned || $hasSigned) { + $step3_state = 'completed'; + } elseif ($step2_state === 'completed' && $status !== 'rejected') { + $step3_state = 'active'; + } else { + $step3_state = 'pending'; + } + + if ($hasSigned) { + $step4_state = 'completed'; + } elseif ($step3_state === 'completed' && !$hasSigned && $status !== 'rejected') { + $step4_state = 'active'; + } else { + $step4_state = 'pending'; + } + + if ($status === 'accepted' && $hasSigned) { + $step5_state = 'completed'; + } elseif ($step4_state === 'completed' && $status !== 'rejected') { + $step5_state = 'active'; + } else { + $step5_state = 'pending'; + } + + $completedCount = 0; + if ($step1_state === 'completed') $completedCount++; + if ($step2_state === 'completed') $completedCount++; + if ($step3_state === 'completed') $completedCount++; + if ($step4_state === 'completed') $completedCount++; + if ($step5_state === 'completed') $completedCount++; + + $progressPercent = (($completedCount - 1) / 4) * 100; + if ($status === 'rejected') { + $progressPercent = 25; + } +@endphp + + +
Staj başvurunuz sisteme ulaştı.
+Başvurunuz olumsuz sonuçlandı.
+ @else +Evrak ve kriterler inceleniyor.
+ @endif +İmzalanacak staj formunu yükleyin.
+İmzalanmış formunuz hazırlanıyor.
+Staj süreci ve eğitimler başlar.
+