update notif

This commit is contained in:
Jagad R R
2025-03-04 12:24:36 +07:00
parent 9bb649cb8a
commit a4dff44e36
5 changed files with 357 additions and 142 deletions
@@ -226,18 +226,29 @@ class FormMeetingSeminarController extends Controller
$receiver_ids = [];
// Collect all recipients (emails and phone numbers) for the specified roles
$cabang = UserHasCabang::where('user_id', $form->user_id)->first();
$cabang_id = $cabang ? $cabang->cabang_id : null;
$cabangData = $cabang_id ? Cabang::where('id', $cabang_id)->first() : null;
$region_id = $cabangData ? $cabangData->region->id : null;
foreach ($roles as $role) {
$users = Admin::getUserByRoleName($role)->filter(function ($user) use ($role, $cabang) {
// Include 'Marketing Information System' without cabang filtering
$users = Admin::getUserByRoleName($role)->filter(function ($user) use ($role, $cabang_id, $region_id) {
if ($role === 'Marketing Information System') {
return true;
return true; // Tidak ada filter cabang untuk peran ini
}
if (!$user->cabang || !$user->cabang->cabang) {
return false; // Pastikan user memiliki cabang
}
// Ensure user has a cabang and matches the current cabang ID
return $user->cabang && $user->cabang->cabang->id === $cabang->id;
if ($role === 'Admin Region' || $role === 'Marketing Operational Manager Region') {
return $user->cabang->cabang->region->id === $region_id;
}
return $user->cabang->cabang->id === $cabang_id;
});
// Extract emails and phone numbers
foreach ($users as $user) {
$recipients[] = $user->email;
$phoneNumbers[] = $user->phone;
@@ -421,19 +432,30 @@ class FormMeetingSeminarController extends Controller
$phoneNumbers = [$form->user->phone, auth()->user()->phone];
$receiver_ids = [];
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
// Collect all recipients (emails and phone numbers) for the specified roles
$cabang = UserHasCabang::where('user_id', $form->user_id)->first();
$cabang_id = $cabang ? $cabang->cabang_id : null;
$cabangData = $cabang_id ? Cabang::where('id', $cabang_id)->first() : null;
$region_id = $cabangData ? $cabangData->region->id : null;
foreach ($roles as $role) {
$users = Admin::getUserByRoleName($role)->filter(function ($user) use ($role, $cabang_id) {
// Include 'Marketing Information System' without cabang filtering
$users = Admin::getUserByRoleName($role)->filter(function ($user) use ($role, $cabang_id, $region_id) {
if ($role === 'Marketing Information System') {
return true;
return true; // Tidak ada filter cabang untuk peran ini
}
if (!$user->cabang || !$user->cabang->cabang) {
return false; // Pastikan user memiliki cabang
}
// Ensure user has a cabang and matches the current cabang ID
return $user->cabang && $user->cabang->cabang->id === $cabang_id;
if ($role === 'Admin Region' || $role === 'Marketing Operational Manager Region') {
return $user->cabang->cabang->region->id === $region_id;
}
return $user->cabang->cabang->id === $cabang_id;
});
// Extract emails and phone numbers
foreach ($users as $user) {
$recipients[] = $user->email;
$phoneNumbers[] = $user->phone;
@@ -494,20 +516,30 @@ class FormMeetingSeminarController extends Controller
$phoneNumbers = [$form->user->phone, auth()->user()->phone];
$receiver_ids = [];
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
// Collect all recipients (emails and phone numbers) for the specified roles
$cabang = UserHasCabang::where('user_id', $form->user_id)->first();
$cabang_id = $cabang ? $cabang->cabang_id : null;
$cabangData = $cabang_id ? Cabang::where('id', $cabang_id)->first() : null;
$region_id = $cabangData ? $cabangData->region->id : null;
foreach ($roles as $role) {
$users = Admin::getUserByRoleName($role)->filter(function ($user) use ($role, $cabang_id) {
// Include 'Marketing Information System' without cabang filtering
if ($role === 'Marketing Information System') {
return true;
$users = Admin::getUserByRoleName($role)->filter(function ($user) use ($role, $cabang_id, $region_id) {
if ($role === 'Marketing Information System' || $role === 'Head of Sales Marketing') {
return true; // Tidak ada filter cabang untuk peran ini
}
if (!$user->cabang || !$user->cabang->cabang) {
return false; // Pastikan user memiliki cabang
}
// Ensure user has a cabang and matches the current cabang ID
return $user->cabang && $user->cabang->cabang->id === $cabang_id;
if ($role === 'Admin Region' || $role === 'Marketing Operational Manager Region') {
return $user->cabang->cabang->region->id === $region_id;
}
return $user->cabang->cabang->id === $cabang_id;
});
// Extract emails and phone numbers
foreach ($users as $user) {
$recipients[] = $user->email;
$phoneNumbers[] = $user->phone;
@@ -579,18 +611,29 @@ class FormMeetingSeminarController extends Controller
$recipients = [$form->user->email, auth()->user()->email];
$phoneNumbers = [$form->user->phone, auth()->user()->phone];
$cabang = UserHasCabang::where('user_id', $form->user_id)->first();
$cabang_id = $cabang ? $cabang->cabang_id : null;
$cabangData = $cabang_id ? Cabang::where('id', $cabang_id)->first() : null;
$region_id = $cabangData ? $cabangData->region->id : null;
foreach ($roles as $role) {
$users = Admin::getUserByRoleName($role)->filter(function ($user) use ($role, $cabang_id) {
// Include 'Marketing Information System' without cabang filtering
if ($role === 'Marketing Information System') {
return true;
$users = Admin::getUserByRoleName($role)->filter(function ($user) use ($role, $cabang_id, $region_id) {
if ($role === 'Marketing Information System' || $role === 'Head of Sales Marketing') {
return true; // Tidak ada filter cabang untuk peran ini
}
if (!$user->cabang || !$user->cabang->cabang) {
return false; // Pastikan user memiliki cabang
}
// Ensure user has a cabang and matches the current cabang ID
return $user->cabang && $user->cabang->cabang->id === $cabang_id;
if ($role === 'Admin Region' || $role === 'Marketing Operational Manager Region') {
return $user->cabang->cabang->region->id === $region_id;
}
return $user->cabang->cabang->id === $cabang_id;
});
// Extract emails and phone numbers
foreach ($users as $user) {
$recipients[] = $user->email;
$phoneNumbers[] = $user->phone;