@if ($employee && $employee->employeeDetail)
@php
$viewonboardingPermission = user()->permission('manage_employee_onboarding');
$viewoffboardingPermission = user()->permission('manage_employee_offboarding');
// Direct logic to determine button visibility
$onboardingStatus = $employee->employeeDetail->onboarding_status;
$onboardCompleted = $employee->employeeDetail->onboard_completed;
$offboardCompleted = $employee->employeeDetail->offboard_completed;
// Check if onboarding is in progress (has pending tasks)
$onboardingInProgress = \Modules\Onboarding\Entities\OnboardingCompletedTask::where('employee_id', $employee->id)
->where('type', 'onboard')
->where('status', 'pending')
->exists();
// Check if offboarding is in progress (has pending tasks)
$offboardingInProgress = \Modules\Onboarding\Entities\OnboardingCompletedTask::where('employee_id', $employee->id)
->where('type', 'offboard')
->where('status', 'pending')
->exists();
// Show start onboarding button if:
// 1. Onboarding is not completed (onboard_completed = 0), AND
// 2. Onboarding is not in progress, AND
// 3. Offboarding is not in progress, AND
// 4. User has manage onboarding permission OR is admin
$showStartOnboarding = ($onboardCompleted == 0 && !$onboardingInProgress && !$offboardingInProgress &&
($viewonboardingPermission === 'all' || in_array('admin', user_roles())));
// Show start offboarding button if:
// 1. Onboarding is completed (onboard_completed = 1), AND
// 2. Offboarding is not completed (offboard_completed = 0), AND
// 3. Offboarding is not in progress, AND
// 4. Onboarding is not in progress, AND
// 5. User has manage offboarding permission OR is admin
$showStartOffboarding = (($onboardCompleted == 1 || ($onboardCompleted == 0 && $employee->employeeDetail->onboarding_status == 'old')) && $offboardCompleted == 0 && !$offboardingInProgress && !$onboardingInProgress &&
($viewoffboardingPermission === 'all' || in_array('admin', user_roles())));
@endphp
@if ($showStartOnboarding)
@lang('onboarding::clan.startOnboarding')
@endif
@if ($showStartOffboarding)
@lang('onboarding::clan.startOffboarding')
@endif
@endif
@push('scripts')
@endpush