diff --git a/app/Http/Controllers/Backend/ReportController.php b/app/Http/Controllers/Backend/ReportController.php index ca8e854..6d1a57f 100644 --- a/app/Http/Controllers/Backend/ReportController.php +++ b/app/Http/Controllers/Backend/ReportController.php @@ -747,6 +747,9 @@ class ReportController extends Controller } } + $totalKategori = array_sum($nominals); + $pettyCashAmount = $budget && $budget->amount ? $budget->amount : 0; + return view('backend.pages.report.generate_jurnal', [ 'pageInfo' => [ 'title' => 'Generate Reports For Jurnal', @@ -758,6 +761,8 @@ class ReportController extends Controller 'kategori_bca' => $kategori_bca, 'nominals' => $nominals, 'budget' => $budget, + 'totalKategori' => $totalKategori, + 'pettyCashAmount' => $pettyCashAmount, ]); } } diff --git a/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php b/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php index 39d4df1..2c79bc7 100644 --- a/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php +++ b/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php @@ -93,10 +93,16 @@ class FormEntertainmentPresentationController extends Controller } } + $outstandingForms = $forms->filter(function ($form) { + return is_null($form->final_approved_at) || is_null($form->final_approved_by); + }); + session()->put('redirect_url', route('forms.entertainment')); return view('backend.pages.forms.entertainment.index', [ 'forms' => $forms, 'availableBudget' => $availableBudget, + 'outstandingCount' => $outstandingForms->count(), + 'outstandingTotal' => $outstandingForms->sum('total'), ]); } @@ -697,13 +703,18 @@ class FormEntertainmentPresentationController extends Controller return redirect()->back(); } - public function reject($id) + public function reject(Request $request, $id) { $this->checkAuthorization(auth()->user(), ['approval.reject']); + $request->validate([ + 'remarks' => 'required|string|max:500', + ]); + $form = FormEntertaimentPresentation::findOrfail($id); $form->update([ - 'status' => 'Rejected' + 'status' => 'Rejected', + 'remarks' => $request->remarks, ]); $heads = $form->user->getCabangAndRegionHead(); @@ -795,4 +806,4 @@ class FormEntertainmentPresentationController extends Controller session()->flash('success', 'Form has been deleted.'); return redirect()->back(); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Forms/FormMeetingSeminarController.php b/app/Http/Controllers/Forms/FormMeetingSeminarController.php index 2a9e47b..6b04fda 100644 --- a/app/Http/Controllers/Forms/FormMeetingSeminarController.php +++ b/app/Http/Controllers/Forms/FormMeetingSeminarController.php @@ -94,11 +94,17 @@ class FormMeetingSeminarController extends Controller } } + $outstandingForms = $forms->filter(function ($form) { + return is_null($form->final_approved_at) || is_null($form->final_approved_by); + }); + session()->put('redirect_url', route('forms.meeting')); return view('backend.pages.forms.meeting.index', [ 'forms' => $forms, - 'availableBudget' => $availableBudget + 'availableBudget' => $availableBudget, + 'outstandingCount' => $outstandingForms->count(), + 'outstandingTotal' => $outstandingForms->sum('total'), ]); } @@ -751,13 +757,18 @@ class FormMeetingSeminarController extends Controller return redirect()->back(); } - public function reject($id) + public function reject(Request $request, $id) { $this->checkAuthorization(auth()->user(), ['approval.reject']); + $request->validate([ + 'remarks' => 'required|string|max:500', + ]); + $form = FormMeetingSeminar::findOrfail($id); $form->update([ - 'status' => 'Rejected' + 'status' => 'Rejected', + 'remarks' => $request->remarks, ]); $heads = $form->user->getCabangAndRegionHead(); @@ -850,4 +861,4 @@ class FormMeetingSeminarController extends Controller session()->flash('success', 'Form has been deleted.'); return redirect()->back(); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Forms/FormOtherController.php b/app/Http/Controllers/Forms/FormOtherController.php index 9ebb32b..6323cf6 100644 --- a/app/Http/Controllers/Forms/FormOtherController.php +++ b/app/Http/Controllers/Forms/FormOtherController.php @@ -91,11 +91,17 @@ class FormOtherController extends Controller } } + $outstandingForms = $forms->filter(function ($form) { + return is_null($form->final_approved_at) || is_null($form->final_approved_by); + }); + session()->put('redirect_url', route('forms.other')); return view('backend.pages.forms.other.index', [ 'forms' => $forms, - 'availableBudget' => $availableBudget + 'availableBudget' => $availableBudget, + 'outstandingCount' => $outstandingForms->count(), + 'outstandingTotal' => $outstandingForms->sum('total'), ]); } @@ -694,13 +700,18 @@ class FormOtherController extends Controller return redirect()->back(); } - public function reject($id) + public function reject(Request $request, $id) { $this->checkAuthorization(auth()->user(), ['approval.reject']); + $request->validate([ + 'remarks' => 'required|string|max:500', + ]); + $form = FormOthers::findOrfail($id); $form->update([ - 'status' => 'Rejected' + 'status' => 'Rejected', + 'remarks' => $request->remarks, ]); $heads = $form->user->getCabangAndRegionHead(); @@ -793,4 +804,4 @@ class FormOtherController extends Controller session()->flash('success', 'Form has been deleted.'); return redirect()->back(); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Forms/FormUpCountryController.php b/app/Http/Controllers/Forms/FormUpCountryController.php index 075faa0..e9d5902 100644 --- a/app/Http/Controllers/Forms/FormUpCountryController.php +++ b/app/Http/Controllers/Forms/FormUpCountryController.php @@ -95,10 +95,16 @@ class FormUpCountryController extends Controller $forms = $forms; } + $outstandingForms = $forms->filter(function ($form) { + return is_null($form->final_approved_at) || is_null($form->final_approved_by); + }); + session()->put('redirect_url', route('forms.up-country')); return view('backend.pages.forms.upcountry.index', [ 'forms' => $forms, - 'availableBudget' => $availableBudget + 'availableBudget' => $availableBudget, + 'outstandingCount' => $outstandingForms->count(), + 'outstandingTotal' => $outstandingForms->sum('total'), ]); } diff --git a/app/Http/Controllers/Forms/FormVehicleController.php b/app/Http/Controllers/Forms/FormVehicleController.php index d220abe..de2ba55 100644 --- a/app/Http/Controllers/Forms/FormVehicleController.php +++ b/app/Http/Controllers/Forms/FormVehicleController.php @@ -94,11 +94,17 @@ class FormVehicleController extends Controller } } + $outstandingForms = $forms->filter(function ($form) { + return is_null($form->final_approved_at) || is_null($form->final_approved_by); + }); + session()->put('redirect_url', route('forms.vehicle')); return view('backend.pages.forms.vehicle.index', [ 'forms' => $forms, - 'availableBudget' => $availableBudget + 'availableBudget' => $availableBudget, + 'outstandingCount' => $outstandingForms->count(), + 'outstandingTotal' => $outstandingForms->sum('total'), ]); } diff --git a/app/Models/FormEntertaimentPresentation.php b/app/Models/FormEntertaimentPresentation.php index f7aa8f9..c1949b9 100644 --- a/app/Models/FormEntertaimentPresentation.php +++ b/app/Models/FormEntertaimentPresentation.php @@ -24,6 +24,7 @@ class FormEntertaimentPresentation extends Model 'bukti_total', 'account_number', 'status', + 'remarks', 'approved_at', 'approved2_at', 'approved_by', diff --git a/app/Models/FormMeetingSeminar.php b/app/Models/FormMeetingSeminar.php index de4a6cd..0d2a9a2 100644 --- a/app/Models/FormMeetingSeminar.php +++ b/app/Models/FormMeetingSeminar.php @@ -27,6 +27,7 @@ class FormMeetingSeminar extends Model 'bukti_hotel', 'account_number', 'status', + 'remarks', 'approved_at', 'approved2_at', 'approved_by', diff --git a/app/Models/FormOthers.php b/app/Models/FormOthers.php index 546264f..b373263 100644 --- a/app/Models/FormOthers.php +++ b/app/Models/FormOthers.php @@ -21,6 +21,7 @@ class FormOthers extends Model 'bukti_total', 'account_number', 'status', + 'remarks', 'approved_at', 'approved2_at', 'approved_by', diff --git a/resources/views/backend/pages/admins/expense.blade.php b/resources/views/backend/pages/admins/expense.blade.php index 0a597c0..970f889 100644 --- a/resources/views/backend/pages/admins/expense.blade.php +++ b/resources/views/backend/pages/admins/expense.blade.php @@ -432,13 +432,11 @@ -
- @csrf - @method('PUT') - -
@else @if ($form->approved_at) {{ \Carbon\Carbon::parse($form->approved_at)->locale('id')->isoFormat('D MMMM Y') }} @@ -591,13 +589,11 @@ -
- @csrf - @method('PUT') - -
@else @if ($form->approved_at) {{ \Carbon\Carbon::parse($form->approved_at)->locale('id')->isoFormat('D MMMM Y') }} @@ -748,13 +744,11 @@ -
- @csrf - @method('PUT') - -
+ @else @if ($form->approved_at) {{ \Carbon\Carbon::parse($form->approved_at)->locale('id')->isoFormat('D MMMM Y') }} diff --git a/resources/views/backend/pages/forms/entertainment/index.blade.php b/resources/views/backend/pages/forms/entertainment/index.blade.php index 306f33c..9d3f282 100644 --- a/resources/views/backend/pages/forms/entertainment/index.blade.php +++ b/resources/views/backend/pages/forms/entertainment/index.blade.php @@ -22,10 +22,10 @@
-
+
-
-
+
+

Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}

Total Expense

@@ -36,8 +36,8 @@
-
-
+
+

Rp {{ number_format($forms->whereIn('status', ['Approved', 'Closed'])->sum('approved_total'), 0, ',', '.') }}

Approved Expenses

@@ -48,8 +48,8 @@
-
-
+
+

Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}

Pending Expenses

@@ -59,9 +59,22 @@
+ +
+
+
+

{{ $outstandingCount }}

+

Outstanding Expenses

+

Total Rp {{ number_format($outstandingTotal, 0, ',', '.') }}

+
+
+ +
+
+
@if($availableBudget > 0) -
-
+
+

Rp {{ number_format($availableBudget, 0, ',', '.') }}

Available Budget

@@ -170,13 +183,11 @@ -
- @csrf - @method('PUT') - -
+ @endif @endif @if ($item->approved_at) @@ -197,13 +208,11 @@ -
- @csrf - @method('PUT') - -
+ @endif @endif @if ($item->approved2_at) @@ -411,6 +420,35 @@
+
+ +
@endsection @section('scripts') @@ -451,6 +489,23 @@ }); } + // Handle Reject Button Click + $(document).on('click', '.open-reject-modal', function () { + const rejectUrl = $(this).data('action'); + $('#rejectForm').attr('action', rejectUrl); + $('#rejectRemarks').val(''); + $('#rejectModal').modal('show'); + }); + + $('#rejectModal').on('shown.bs.modal', function () { + $('#rejectRemarks').trigger('focus'); + }); + + $('#rejectModal').on('hidden.bs.modal', function () { + $('#rejectForm').attr('action', ''); + $('#rejectRemarks').val(''); + }); + // Handle Approve Button Click $(document).on('click', '.open-approve-modal', function() { const approveUrl = $(this).data('id'); diff --git a/resources/views/backend/pages/forms/entertainment/view.blade.php b/resources/views/backend/pages/forms/entertainment/view.blade.php index 43df0f2..b5f7ca1 100644 --- a/resources/views/backend/pages/forms/entertainment/view.blade.php +++ b/resources/views/backend/pages/forms/entertainment/view.blade.php @@ -88,23 +88,19 @@ @if (auth()->user()->can('approval.approve') && $form->status == 'On Progress') -
- @csrf - @method('PUT') - -
+ @elseif(auth()->user()->can('approval2.approve') && $form->status == 'Approved 1') -
- @csrf - @method('PUT') - -
+ @elseif(auth()->user()->can('final_approval.approve') && $form->status == 'Approved 2') @endif @@ -253,6 +249,35 @@ +
+ +
@endsection @section('scripts') @@ -267,7 +292,23 @@ -@endsection \ No newline at end of file +@endsection diff --git a/resources/views/backend/pages/forms/other/view.blade.php b/resources/views/backend/pages/forms/other/view.blade.php index af5cd8f..7d0a5f1 100644 --- a/resources/views/backend/pages/forms/other/view.blade.php +++ b/resources/views/backend/pages/forms/other/view.blade.php @@ -78,23 +78,19 @@ @if (auth()->user()->can('approval.approve') && $form->status == 'On Progress') -
- @csrf - @method('PUT') - -
+ @elseif(auth()->user()->can('approval2.approve') && $form->status == 'Approved 1') -
- @csrf - @method('PUT') - -
+ @elseif(auth()->user()->can('final_approval.approve') && $form->status == 'Approved 2') @endif @@ -231,6 +227,35 @@ +
+ +
@endsection @section('scripts') @@ -245,6 +270,22 @@