Merge pull request 'employer page issue count' (#10) from mohan into master

Reviewed-on: #10
This commit is contained in:
mohanmd 2026-06-15 12:31:46 +00:00
commit 46ff3a2c3f

View File

@ -59,9 +59,33 @@ public function index(Request $request)
$employers = $query->paginate(10)->withQueryString(); $employers = $query->paginate(10)->withQueryString();
// Transform results to format status correctly from sponsor // Transform results to format status correctly from sponsor and prevent nulls/missing fields
$employers->getCollection()->transform(function($emp) { $employers->getCollection()->transform(function($emp) {
$emp->status = $emp->sponsor ? $emp->sponsor->status : 'active'; $emp->status = $emp->sponsor ? $emp->sponsor->status : 'active';
// Populate backward-compatible sponsor properties to prevent front-end crashes (e.g. charAt on full_name)
$emp->full_name = $emp->name ?? ($emp->sponsor ? $emp->sponsor->full_name : 'Employer');
if (empty($emp->full_name)) {
$emp->full_name = 'Employer';
}
$emp->mobile = $emp->sponsor ? $emp->sponsor->mobile : ($emp->employerProfile ? $emp->employerProfile->phone : '');
if (empty($emp->mobile)) {
$emp->mobile = '';
}
$emp->city = $emp->sponsor ? $emp->sponsor->city : ($emp->employerProfile ? $emp->employerProfile->country : 'Dubai');
if (empty($emp->city)) {
$emp->city = 'Dubai';
}
$emp->subscription_plan = $emp->sponsor ? $emp->sponsor->subscription_plan : ($emp->subscription_status ?? 'none');
if (empty($emp->subscription_plan)) {
$emp->subscription_plan = 'none';
}
$emp->subscription_status = $emp->sponsor ? $emp->sponsor->subscription_status : ($emp->subscription_status ?? 'none');
if (empty($emp->subscription_status)) {
$emp->subscription_status = 'none';
}
$emp->is_verified = $emp->sponsor ? (bool)$emp->sponsor->is_verified : ($emp->employerProfile ? ($emp->employerProfile->verification_status === 'approved') : false);
return $emp; return $emp;
}); });
@ -121,9 +145,9 @@ public function export(Request $request)
$emp->id, $emp->id,
$emp->name, $emp->name,
$emp->email, $emp->email,
$emp->employerProfile->company_name ?? 'N/A', $emp->employerProfile ? ($emp->employerProfile->company_name ?? 'N/A') : 'N/A',
$emp->employerProfile->phone ?? 'N/A', $emp->employerProfile ? ($emp->employerProfile->phone ?? 'N/A') : 'N/A',
$emp->employerProfile->country ?? 'N/A', $emp->employerProfile ? ($emp->employerProfile->country ?? 'N/A') : 'N/A',
$emp->sponsor ? $emp->sponsor->status : 'active', $emp->sponsor ? $emp->sponsor->status : 'active',
$emp->subscription_status ?? 'none', $emp->subscription_status ?? 'none',
$emp->created_at ? $emp->created_at->toDateTimeString() : 'N/A', $emp->created_at ? $emp->created_at->toDateTimeString() : 'N/A',