@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