diff --git a/app/Helpers/WhatsappHelper.php b/app/Helpers/WhatsappHelper.php index 06b35c2..9ac7043 100644 --- a/app/Helpers/WhatsappHelper.php +++ b/app/Helpers/WhatsappHelper.php @@ -106,7 +106,7 @@ class WhatsappHelper } } - public static function rejectExpense($phones, $expense_number, $url = null, $tanggal, $total, $name) + public static function rejectExpense($phones, $expense_number, $url = null, $tanggal, $total, $name, ?string $remarks = null) { $client = new Client(); @@ -115,15 +115,28 @@ class WhatsappHelper $url = 'https://' . $url; } - // Format the message like the email example using Markdown for WhatsApp - $message = " - Halo *{$name}*, - Pengajuan pengeluaran baru dengan detail berikut telah ditolak: - *Expense Number:* {$expense_number} - *Expense Date:* " . \Carbon\Carbon::parse($tanggal)->locale('id')->isoFormat('D MMMM Y') . " - *Total:* Rp " . number_format($total, 0, ',', '.') . " - Silahkan buka link berikut untuk melihat detail expense Anda: {$url} - Terima kasih."; + $formattedDate = \Carbon\Carbon::parse($tanggal)->locale('id')->isoFormat('D MMMM Y'); + $formattedTotal = 'Rp ' . number_format($total, 0, ',', '.'); + + $messageLines = [ + "Halo *{$name}*,", + 'Pengajuan pengeluaran baru dengan detail berikut telah ditolak:', + "*Expense Number:* {$expense_number}", + "*Expense Date:* {$formattedDate}", + "*Total:* {$formattedTotal}", + ]; + + if (!empty($remarks)) { + $messageLines[] = "*Remarks:* {$remarks}"; + } + + if (!empty($url)) { + $messageLines[] = "Silahkan buka link berikut untuk melihat detail expense Anda: {$url}"; + } + + $messageLines[] = 'Terima kasih.'; + + $message = implode("\n", $messageLines); // Prepare the message for each phone number $data = []; @@ -252,4 +265,4 @@ class WhatsappHelper return null; } } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php b/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php index 2df717b..18fe53f 100644 --- a/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php +++ b/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php @@ -888,7 +888,7 @@ class FormEntertainmentPresentationController extends Controller // send whatsapp message $url = route('forms.entertainment.view', $form->id); - WhatsappHelper::rejectExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name); + WhatsappHelper::rejectExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name, $request->remarks); // Send bulk email $brevoService = app(BrevoService::class); @@ -899,7 +899,8 @@ class FormEntertainmentPresentationController extends Controller $expense_number, $tanggal, $total, - $url + $url, + $request->remarks ); $response = $brevoService->expenseRejected($recipient, $name, $mail); diff --git a/app/Http/Controllers/Forms/FormMeetingSeminarController.php b/app/Http/Controllers/Forms/FormMeetingSeminarController.php index d687a00..2512913 100644 --- a/app/Http/Controllers/Forms/FormMeetingSeminarController.php +++ b/app/Http/Controllers/Forms/FormMeetingSeminarController.php @@ -883,7 +883,7 @@ class FormMeetingSeminarController extends Controller // send whatsapp message $url = route('forms.meeting.view', $form->id); - WhatsappHelper::rejectExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name); + WhatsappHelper::rejectExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name, $request->remarks); // Send bulk email $brevoService = app(BrevoService::class); @@ -894,7 +894,8 @@ class FormMeetingSeminarController extends Controller $expense_number, $tanggal, $total, - $url + $url, + $request->remarks ); $response = $brevoService->expenseRejected($recipient, $name, $mail); diff --git a/app/Http/Controllers/Forms/FormOtherController.php b/app/Http/Controllers/Forms/FormOtherController.php index 218f4ee..906af43 100644 --- a/app/Http/Controllers/Forms/FormOtherController.php +++ b/app/Http/Controllers/Forms/FormOtherController.php @@ -908,7 +908,7 @@ class FormOtherController extends Controller // send whatsapp message $url = route('forms.other.view', $form->id); - WhatsappHelper::rejectExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name); + WhatsappHelper::rejectExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name, $request->remarks); // Send bulk email $brevoService = app(BrevoService::class); @@ -919,7 +919,8 @@ class FormOtherController extends Controller $expense_number, $tanggal, $total, - $url + $url, + $request->remarks ); $response = $brevoService->expenseRejected($recipient, $name, $mail); diff --git a/app/Http/Controllers/Forms/FormUpCountryController.php b/app/Http/Controllers/Forms/FormUpCountryController.php index 3b0ba4b..9e6de0a 100644 --- a/app/Http/Controllers/Forms/FormUpCountryController.php +++ b/app/Http/Controllers/Forms/FormUpCountryController.php @@ -1023,7 +1023,7 @@ class FormUpCountryController extends Controller // send whatsapp message $url = route('forms.up-country.view', $form->id); - WhatsappHelper::rejectExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name); + WhatsappHelper::rejectExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name, $request->remarks); // Send bulk email $brevoService = app(BrevoService::class); @@ -1034,7 +1034,8 @@ class FormUpCountryController extends Controller $expense_number, $tanggal, $total, - $url + $url, + $request->remarks ); $response = $brevoService->expenseRejected($recipient, $name, $mail); diff --git a/app/Http/Controllers/Forms/FormVehicleController.php b/app/Http/Controllers/Forms/FormVehicleController.php index b7d1b36..f5ca8b6 100644 --- a/app/Http/Controllers/Forms/FormVehicleController.php +++ b/app/Http/Controllers/Forms/FormVehicleController.php @@ -913,7 +913,7 @@ class FormVehicleController extends Controller // send whatsapp message $url = route('forms.vehicle.view', $form->id); - WhatsappHelper::rejectExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name); + WhatsappHelper::rejectExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name, $request->remarks); // Send bulk email $brevoService = app(BrevoService::class); @@ -924,7 +924,8 @@ class FormVehicleController extends Controller $expense_number, $tanggal, $total, - $url + $url, + $request->remarks ); $response = $brevoService->expenseRejected($recipient, $name, $mail); diff --git a/app/Mail/ExpenseRejected.php b/app/Mail/ExpenseRejected.php index 15e721f..ddd0269 100644 --- a/app/Mail/ExpenseRejected.php +++ b/app/Mail/ExpenseRejected.php @@ -18,17 +18,19 @@ class ExpenseRejected extends Mailable protected string $tanggal; protected int $total; protected string $url; + protected ?string $remarks; /** * Create a new message instance. */ - public function __construct(string $name, string $expense_number, string $tanggal, int $total, string $url) + public function __construct(string $name, string $expense_number, string $tanggal, int $total, string $url, ?string $remarks = null) { $this->name = $name; $this->expense_number = $expense_number; $this->tanggal = $tanggal; $this->total = $total; $this->url = $url; + $this->remarks = $remarks; } /** @@ -54,6 +56,7 @@ class ExpenseRejected extends Mailable 'tanggal' => $this->tanggal, 'total' => $this->total, 'url' => $this->url, + 'remarks' => $this->remarks, ], ); } @@ -79,6 +82,7 @@ class ExpenseRejected extends Mailable 'tanggal' => $this->tanggal, 'total' => $this->total, 'url' => $this->url, + 'remarks' => $this->remarks, ])->render(); } } diff --git a/resources/views/backend/pages/forms/entertainment/index.blade.php b/resources/views/backend/pages/forms/entertainment/index.blade.php index b7dc394..1c720bd 100644 --- a/resources/views/backend/pages/forms/entertainment/index.blade.php +++ b/resources/views/backend/pages/forms/entertainment/index.blade.php @@ -72,11 +72,12 @@
Outstanding Expenses
Total Rp {{ number_format($outstandingTotal, 0, ',', '.') }}
+Klik untuk menampilkan detail