insyaallah revisi done

This commit is contained in:
Jagad R R
2025-01-23 17:46:38 +07:00
parent 6034c331c5
commit 3a01df56e9
32 changed files with 825 additions and 360 deletions
@@ -22,6 +22,7 @@ use App\Rules\FileType;
use App\Models\Admin;
use App\Helpers\BudgetHelper;
use App\Helpers\NotificationHelper;
use Illuminate\Support\Facades\Log;
class FormOtherController extends Controller
{
@@ -214,16 +215,23 @@ class FormOtherController extends Controller
WhatsappHelper::newExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name);
// Send bulk email
Mail::to($recipients)->send(new ExpenseCreated(
$name,
$expense_number,
$tanggal,
$total,
$url
));
foreach ($recipients as $recipient) {
try {
Mail::to($recipient)->send(new ExpenseCreated(
$name,
$expense_number,
$tanggal,
$total,
$url
));
} catch (\Exception $e) {
Log::error("Failed to send email to {$recipient}: " . $e->getMessage());
continue;
}
}
// Send notification to the user
NotificationHelper::newExpense($form->user_id, $expense_number, $receiver_ids);
NotificationHelper::newExpense('other', $form->id, $form->user_id, $expense_number, $receiver_ids);
AuditTrailHelper::AddAuditTrail('Insert', 'Insert New Expense at Form Other (' . $expense_number . ')');
session()->flash('success', 'Form has been created.');
@@ -311,6 +319,7 @@ class FormOtherController extends Controller
'approved_at' => now(),
'approved_by' => auth()->user()->id,
'status' => 'Approved 1',
'approved_total' => $form->total,
]);
$name = $form->user->name;
@@ -354,15 +363,22 @@ class FormOtherController extends Controller
WhatsappHelper::approveExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name);
// // Send bulk email
Mail::to($recipients)->send(new ExpenseApproved(
$name,
$expense_number,
$tanggal,
$total,
$url
));
foreach ($recipients as $recipient) {
try {
Mail::to($recipient)->send(new ExpenseApproved(
$name,
$expense_number,
$tanggal,
$total,
$url
));
} catch (\Exception $e) {
Log::error("Failed to send email to {$recipient}: " . $e->getMessage());
continue;
}
}
NotificationHelper::approveExpense($form->user_id, $expense_number, $receiver_ids);
NotificationHelper::approveExpense('other', $form->id, $form->user_id, $expense_number, $receiver_ids);
AuditTrailHelper::AddAuditTrail('Approve', 'Approve Expense at Form Other (' . $form->expense_number . ')');
session()->flash('success', 'Form has been approved.');
@@ -421,22 +437,29 @@ class FormOtherController extends Controller
WhatsappHelper::approve2Expense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name);
// // Send bulk email
Mail::to($recipients)->send(new ExpenseApproved2(
$name,
$expense_number,
$tanggal,
$total,
$url
));
foreach ($recipients as $recipient) {
try {
Mail::to($recipient)->send(new ExpenseApproved2(
$name,
$expense_number,
$tanggal,
$total,
$url
));
} catch (\Exception $e) {
Log::error("Failed to send email to {$recipient}: " . $e->getMessage());
continue;
}
}
NotificationHelper::approve2Expense($form->user_id, $expense_number, $receiver_ids);
NotificationHelper::approve2Expense('other', $form->id, $form->user_id, $expense_number, $receiver_ids);
AuditTrailHelper::AddAuditTrail('Approve', 'Approve Expense at Form Other (' . $form->expense_number . ')');
session()->flash('success', 'Form has been approved.');
return redirect()->back();
}
public function finalApprove(Request $request, $id)
public function finalApprove($id)
{
$this->checkAuthorization(auth()->user(), ['final_approval.approve']);
@@ -448,8 +471,8 @@ class FormOtherController extends Controller
// Check if the total nominal exceeds the available budget
$cabang_id = UserHasCabang::where('user_id', $form->user_id)->first()->cabang_id;
if($form->total > BudgetHelper::getAvailableBudget($cabang_id)) {
session()->flash('error', 'The total nominal exceeds the available budget.');
if($form->approved_total > BudgetHelper::getAvailableBudget($cabang_id)) {
session()->flash('error', 'Budget cabang untuk periode ini tidak mencukupi, silahkan ajukan pada periode expense berikutnya');
return redirect()->back();
}
@@ -457,7 +480,6 @@ class FormOtherController extends Controller
'final_approved_at' => now(),
'final_approved_by' => auth()->user()->id,
'status' => 'Closed',
'approved_total' => $form->total,
]);
$name = $form->user->name;
@@ -496,13 +518,20 @@ class FormOtherController extends Controller
WhatsappHelper::finalApprove($phoneNumbers, $expense_number, $url, $tanggal, $total, $name);
// Send bulk email
Mail::to($recipients)->send(new FinalApprove(
$name,
$expense_number,
$tanggal,
$total,
$url
));
foreach ($recipients as $recipient) {
try {
Mail::to($recipient)->send(new FinalApprove(
$name,
$expense_number,
$tanggal,
$total,
$url
));
} catch (\Exception $e) {
Log::error("Failed to send email to {$recipient}: " . $e->getMessage());
continue;
}
}
AuditTrailHelper::AddAuditTrail('Final Approve', 'Final Approve Expense at Form Other (' . $form->expense_number . ')');
session()->flash('success', 'Form has been final approved.');
@@ -547,13 +576,20 @@ class FormOtherController extends Controller
WhatsappHelper::rejectExpense($phoneNumbers, $expense_number, $url, $tanggal, $total, $name);
// Send bulk email
Mail::to($recipients)->send(new ExpenseRejected(
$name,
$expense_number,
$tanggal,
$total,
$url
));
foreach ($recipients as $recipient) {
try {
Mail::to($recipient)->send(new ExpenseRejected(
$name,
$expense_number,
$tanggal,
$total,
$url
));
} catch (\Exception $e) {
Log::error("Failed to send email to {$recipient}: " . $e->getMessage());
continue;
}
}
AuditTrailHelper::AddAuditTrail('Reject', 'Reject Expense at Form Other (' . $form->expense_number . ')');
session()->flash('success', 'Form has been rejected.');