diff --git a/app/Helpers/FormHelper.php b/app/Helpers/FormHelper.php
index 14f5961..db9f391 100644
--- a/app/Helpers/FormHelper.php
+++ b/app/Helpers/FormHelper.php
@@ -181,6 +181,82 @@ class FormHelper
});
}
+ public static function getAllForms2() {
+ // Get all users with eager loading for 'region' and 'cabang'
+ $users = Admin::with(['region', 'cabang'])
+ ->get();
+
+ $formUpCountryQuery = FormUpCountry::select(
+ 'expense_number',
+ 'user_id',
+ 'total',
+ 'approved_total',
+ 'status',
+ 'account_number',
+ 'created_at',
+ DB::raw("'Up Country' as type")
+ );
+
+ $formVehicleRunningCostQuery = FormVehicleRunningCost::select(
+ 'expense_number',
+ 'user_id',
+ 'total',
+ 'approved_total',
+ 'status',
+ 'account_number',
+ 'created_at',
+ DB::raw("'Vehicle Running Cost' as type")
+ );
+
+ $formEntertaimentPresentationQuery = FormEntertaimentPresentation::select(
+ 'expense_number',
+ 'user_id',
+ 'total',
+ 'approved_total',
+ 'status',
+ 'account_number',
+ 'created_at',
+ DB::raw("'Entertainment Presentation' as type")
+ );
+
+ $formMeetingSeminarQuery = FormMeetingSeminar::select(
+ 'expense_number',
+ 'user_id',
+ 'total',
+ 'approved_total',
+ 'status',
+ 'account_number',
+ 'created_at',
+ DB::raw("'Meeting Seminar' as type")
+ );
+
+ $formOthersQuery = FormOthers::select(
+ 'expense_number',
+ 'user_id',
+ 'total',
+ 'approved_total',
+ 'status',
+ 'account_number',
+ 'created_at',
+ DB::raw("'Others' as type")
+ );
+
+ // Combine queries using union
+ $forms = $formUpCountryQuery
+ ->union($formVehicleRunningCostQuery)
+ ->union($formEntertaimentPresentationQuery)
+ ->union($formMeetingSeminarQuery)
+ ->union($formOthersQuery)
+ ->get();
+
+ // Map users to the forms with eager loaded data
+ return $forms->map(function ($form) use ($users) {
+ $user = $users->firstWhere('id', $form->user_id);
+ $form->user = $user;
+ return $form;
+ });
+ }
+
public static function getNominalByFormType($cabang_id, $type, $type_id, $month, $year) {
$users = UserHasCabang::where('cabang_id', $cabang_id)->get();
$userIds = $users->pluck('user_id')->toArray();
diff --git a/app/Http/Controllers/Backend/DashboardController.php b/app/Http/Controllers/Backend/DashboardController.php
index 03ebe4a..5505115 100644
--- a/app/Http/Controllers/Backend/DashboardController.php
+++ b/app/Http/Controllers/Backend/DashboardController.php
@@ -104,27 +104,12 @@ class DashboardController extends Controller
public function notifications()
{
$this->checkAuthorization(auth()->user(), ['notification.view']);
- $role = auth()->user()->getRoleNames()[0];
// Mulai dengan query dasar
$notifications = Notifications::orderBy('created_at', 'desc')
->where('receiver_id', auth()->user()->id)
->where('is_read', 0);
- // Tambahkan filter berdasarkan role
- if ($role == 'Admin Region') {
- $notifications->where('type', 'new_expense');
- } elseif ($role == 'Marketing Operational Manager Region') {
- $notifications->where('type', 'approve2_expense');
- } elseif ($role == 'Area Manager Cabang' || $role == 'Marketing Information System') {
- $notifications->where('type', 'approve_expense');
- } elseif ($role == 'Head of Sales Marketing') {
- $notifications->where('type', 'approve2_expense');
- } else {
- // Jika tidak ada role yang sesuai, kembalikan koleksi kosong
- return response()->json([]);
- }
-
// Ambil data dan kembalikan sebagai JSON
return response()->json($notifications->limit(6)->get());
}
diff --git a/app/Http/Controllers/Backend/ReportController.php b/app/Http/Controllers/Backend/ReportController.php
index b2e1742..3f08a60 100644
--- a/app/Http/Controllers/Backend/ReportController.php
+++ b/app/Http/Controllers/Backend/ReportController.php
@@ -498,7 +498,7 @@ class ReportController extends Controller
} else {
$cabangs = Cabang::all();
$regions = Region::all();
- $forms = FormHelper::getAllForms($month, $year)->sortByDesc('created_at');
+ $forms = FormHelper::getAllForms2()->sortByDesc('created_at');
}
// get all params in url
@@ -565,7 +565,7 @@ class ReportController extends Controller
} else {
$cabangs = Cabang::all();
$regions = Region::all();
- $forms = FormHelper::getAllForms($month, $year)->sortByDesc('tanggal')->sortByDesc('created_at');
+ $forms = FormHelper::getAllForms($month, $year)->sortByDesc('tanggal')->sortByDesc('created_at');
}
}
}
diff --git a/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php b/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php
index d267d1d..c0bb882 100644
--- a/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php
+++ b/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php
@@ -114,30 +114,32 @@ class FormEntertainmentPresentationController extends Controller
public function store(Request $request)
{
$this->checkAuthorization(auth()->user(), ['forms.entertainment.create']);
- $cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
$request->validate([
'tanggal' => 'required',
'jenis' => 'required|in:entertainment,presentation,sponsorship',
'keterangan' => 'required',
- 'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
+ 'total' => 'required|numeric|min:1',
'name' => 'required',
'alamat' => 'required',
'nik_or_npwp' => 'required',
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
]);
- $currentDate = date('Y-m-d');
$startDate = date('Y-m-' . env('STARTING_DATE'));
$closingDateNextMonth = date('Y-m-', strtotime('+1 month')) . env('CLOSING_DATE');
- if ($currentDate < $startDate || $currentDate > $closingDateNextMonth) {
- return response()->json([
- 'error' => 'Current date is not within the valid range.'
- ], 400);
+ if ($request->tanggal < $startDate || $request->tanggal > $closingDateNextMonth) {
+ session()->flash('error', 'Gagal, Input expense sudah melewati periode input 12-10');
+ return redirect()->back();
}
$cabang = UserHasCabang::with('cabang')->where('user_id', auth()->user()->id)->first()->cabang;
+ if($request->total > BudgetHelper::getAvailableBudget($cabang->id)) {
+ session()->flash('error', 'Alokasi budget bulanan cabang tidak mencukupi,silahkan ajukan pada periode expense berikutnya');
+ return redirect()->back();
+ }
+
$region = Region::where('id', $cabang->region_id)->first();
$kategori = Kategori::where('name', 'Entertainment')->first();
diff --git a/app/Http/Controllers/Forms/FormMeetingSeminarController.php b/app/Http/Controllers/Forms/FormMeetingSeminarController.php
index 9e1195a..ebcf7d5 100644
--- a/app/Http/Controllers/Forms/FormMeetingSeminarController.php
+++ b/app/Http/Controllers/Forms/FormMeetingSeminarController.php
@@ -133,9 +133,8 @@ class FormMeetingSeminarController extends Controller
$closingDateNextMonth = date('Y-m-', strtotime('+1 month')) . env('CLOSING_DATE');
if ($currentDate < $startDate || $currentDate > $closingDateNextMonth) {
- return response()->json([
- 'error' => 'Current date is not within the valid range.'
- ], 400);
+ session()->flash('error', 'Gagal, Input expense sudah melewati periode input 12-10');
+ return redirect()->back();
}
$cabang = UserHasCabang::with('cabang')->where('user_id', auth()->user()->id)->first()->cabang;
@@ -195,9 +194,8 @@ class FormMeetingSeminarController extends Controller
];
// Check if the total nominal exceeds the available budget
- $cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
- if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget($cabang_id)) {
- session()->flash('error', 'The total nominal exceeds the available budget.');
+ if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget($cabang->id)) {
+ session()->flash('error', 'Alokasi budget bulanan cabang tidak mencukupi,silahkan ajukan pada periode expense berikutnya');
return redirect()->back();
}
diff --git a/app/Http/Controllers/Forms/FormOtherController.php b/app/Http/Controllers/Forms/FormOtherController.php
index 9cb784a..1fe7f4a 100644
--- a/app/Http/Controllers/Forms/FormOtherController.php
+++ b/app/Http/Controllers/Forms/FormOtherController.php
@@ -114,27 +114,29 @@ class FormOtherController extends Controller
public function store(Request $request)
{
$this->checkAuthorization(auth()->user(), ['forms.other.create']);
- $cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
$request->validate([
'kategori_id' => 'required',
'tanggal' => 'required|date',
'keterangan' => 'required',
- 'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
+ 'total' => 'required|numeric|min:1',
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
]);
- $currentDate = date('Y-m-d');
$startDate = date('Y-m-' . env('STARTING_DATE'));
$closingDateNextMonth = date('Y-m-', strtotime('+1 month')) . env('CLOSING_DATE');
- if ($currentDate < $startDate || $currentDate > $closingDateNextMonth) {
- return response()->json([
- 'error' => 'Current date is not within the valid range.'
- ], 400);
+ if ($request->tanggal < $startDate || $request->tanggal > $closingDateNextMonth) {
+ session()->flash('error', 'Gagal, Input expense sudah melewati periode input 12-10');
+ return redirect()->back();
}
$cabang = UserHasCabang::with('cabang')->where('user_id', auth()->user()->id)->first()->cabang;
+ if($request->total > BudgetHelper::getAvailableBudget($cabang->id)) {
+ session()->flash('error', 'Alokasi budget bulanan cabang tidak mencukupi,silahkan ajukan pada periode expense berikutnya');
+ return redirect()->back();
+ }
+
$region = Region::where('id', $cabang->region_id)->first();
$kategori = Kategori::where('id', $request->kategori_id)->first();
diff --git a/app/Http/Controllers/Forms/FormUpCountryController.php b/app/Http/Controllers/Forms/FormUpCountryController.php
index 22bb9ed..277a24d 100644
--- a/app/Http/Controllers/Forms/FormUpCountryController.php
+++ b/app/Http/Controllers/Forms/FormUpCountryController.php
@@ -115,9 +115,10 @@ class FormUpCountryController extends Controller
public function create()
{
$this->checkAuthorization(auth()->user(), ['forms.country.create']);
+ $cabang = UserHasCabang::with('cabang')->where('user_id', auth()->user()->id)->first()->cabang;
return view('backend.pages.forms.upcountry.create', [
- 'rayons' => Rayon::all()
+ 'rayons' => Rayon::where('cabang_id', $cabang->id)->get()
]);
}
@@ -140,14 +141,12 @@ class FormUpCountryController extends Controller
'bukti_hotel' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
]);
- $currentDate = date('Y-m-d');
$startDate = date('Y-m-' . env('STARTING_DATE'));
$closingDateNextMonth = date('Y-m-', strtotime('+1 month')) . env('CLOSING_DATE');
- if ($currentDate < $startDate || $currentDate > $closingDateNextMonth) {
- return response()->json([
- 'error' => 'Current date is not within the valid range.'
- ], 400);
+ if ($request->tanggal < $startDate || $request->tanggal > $closingDateNextMonth) {
+ session()->flash('error', 'Gagal, Input expense sudah melewati periode input 12-10');
+ return redirect()->back();
}
$cabang = UserHasCabang::with('cabang')->where('user_id', auth()->user()->id)->first()->cabang;
@@ -220,9 +219,8 @@ class FormUpCountryController extends Controller
];
// Check if the total nominal exceeds the available budget
- $cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
- if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget($cabang_id)) {
- session()->flash('error', 'The total nominal exceeds the available budget.');
+ if(array_sum($data_nominal) > BudgetHelper::getAvailableBudget($cabang->id)) {
+ session()->flash('error', 'Alokasi budget bulanan cabang tidak mencukupi,silahkan ajukan pada periode expense berikutnya');
return redirect()->back();
}
@@ -307,6 +305,8 @@ class FormUpCountryController extends Controller
$this->checkAuthorization(auth()->user(), ['forms.country.edit']);
$role = auth()->user()->getRoleNames()[0];
+ $cabang = UserHasCabang::with('cabang')->where('user_id', auth()->user()->id)->first()->cabang;
+
$form = FormUpCountry::with('rayon')->findOrfail($id);
if (($form->status != 'On Progress' && $form->status != 'Rejected') && $role == 'Medical Representatif') {
session()->flash('error', 'You cannot edit this form because it has been approved or closed.');
@@ -314,7 +314,7 @@ class FormUpCountryController extends Controller
}
return view('backend.pages.forms.upcountry.edit', [
- 'rayons' => Rayon::all(),
+ 'rayons' => Rayon::where('cabang_id', $cabang->id)->get(),
'form' => $form
]);
}
diff --git a/app/Http/Controllers/Forms/FormVehicleController.php b/app/Http/Controllers/Forms/FormVehicleController.php
index 82c9de0..7acea32 100644
--- a/app/Http/Controllers/Forms/FormVehicleController.php
+++ b/app/Http/Controllers/Forms/FormVehicleController.php
@@ -115,12 +115,11 @@ class FormVehicleController extends Controller
public function store(Request $request)
{
$this->checkAuthorization(auth()->user(), ['forms.vehicle.create']);
- $cabang_id = UserHasCabang::where('user_id', auth()->user()->id)->first()->cabang_id;
$request->validate([
'tanggal' => 'required',
'liter' => 'required',
- 'total' => 'required|numeric|min:1|max:' . BudgetHelper::getAvailableBudget($cabang_id),
+ 'total' => 'required|numeric|min:1',
'jarak' => 'required',
'tipe_bensin' => 'required|in:pertalite,pertamax',
'nopol' => 'required',
@@ -128,17 +127,20 @@ class FormVehicleController extends Controller
'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
]);
- $currentDate = date('Y-m-d');
$startDate = date('Y-m-' . env('STARTING_DATE'));
$closingDateNextMonth = date('Y-m-', strtotime('+1 month')) . env('CLOSING_DATE');
- if ($currentDate < $startDate || $currentDate > $closingDateNextMonth) {
- return response()->json([
- 'error' => 'Current date is not within the valid range.'
- ], 400);
+ if ($request->tanggal < $startDate || $request->tanggal > $closingDateNextMonth) {
+ session()->flash('error', 'Gagal, Input expense sudah melewati periode input 12-10');
+ return redirect()->back();
}
$cabang = UserHasCabang::with('cabang')->where('user_id', auth()->user()->id)->first()->cabang;
+ if($request->total > BudgetHelper::getAvailableBudget($cabang->id)) {
+ session()->flash('error', 'Alokasi budget bulanan cabang tidak mencukupi,silahkan ajukan pada periode expense berikutnya');
+ return redirect()->back();
+ }
+
$region = Region::where('id', $cabang->region_id)->first();
$kategori = Kategori::where('name', 'Vehicle Running Cost')->first();
diff --git a/app/Models/Rayon.php b/app/Models/Rayon.php
index 412d2d2..074da1a 100644
--- a/app/Models/Rayon.php
+++ b/app/Models/Rayon.php
@@ -10,5 +10,5 @@ class Rayon extends Model
use SoftDeletes;
protected $table = 'rayon';
- protected $fillable = ['code', 'name'];
+ protected $fillable = ['code', 'name', 'cabang_id'];
}
diff --git a/database/migrations/2025_01_19_074726_add_cabang_id_to_rayon_table.php b/database/migrations/2025_01_19_074726_add_cabang_id_to_rayon_table.php
new file mode 100644
index 0000000..7bdc591
--- /dev/null
+++ b/database/migrations/2025_01_19_074726_add_cabang_id_to_rayon_table.php
@@ -0,0 +1,29 @@
+foreignId('cabang_id')->nullable()->constrained('cabang')->cascadeOnDelete()->after('id')->default(1);
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::table('rayon', function (Blueprint $table) {
+ $table->dropForeign(['cabang_id']);
+ $table->dropColumn('cabang_id');
+ });
+ }
+};
diff --git a/resources/views/backend/pages/forms/entertainment/index.blade.php b/resources/views/backend/pages/forms/entertainment/index.blade.php
index 93bab54..cf534f0 100644
--- a/resources/views/backend/pages/forms/entertainment/index.blade.php
+++ b/resources/views/backend/pages/forms/entertainment/index.blade.php
@@ -109,13 +109,13 @@
Bukti |
Account Number |
Status |
- @if (auth()->user()->can('approval.approve'))
+ @if (auth()->user()->can('approval.view'))
Approval 1 |
@endif
- @if (auth()->user()->can('approval2.approve'))
+ @if (auth()->user()->can('approval2.view'))
Approval 2 |
@endif
- @if (auth()->user()->can('final_approval.approve'))
+ @if (auth()->user()->can('final_approval.view'))
Final Approval |
@endif
Aksi |
@@ -157,92 +157,87 @@
{{ $item->status }}
@endif
- @if (auth()->user()->can('approval.approve'))
+ @if (auth()->user()->can('approval.view'))
{{-- approve / reject button --}}
- @if ($item->status == 'On Progress' || $item->status == 'Rejected')
-
-
-
- @else
- @if ($item->approved_at)
- {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
- @elseif($item->rejected_at)
- {{ \Carbon\Carbon::parse($item->rejected_at)->locale('id')->isoFormat('D MMMM Y') }}
- @else
- -
- @endif
- @endif
- |
- @endif
- @if (auth()->user()->can('approval2.approve'))
-
- {{-- approve / reject button --}}
- @if ($item->status == 'Approved 1' && $item->approved_at)
-
-
-
- @else
- @if ($item->approved2_at)
- {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
- @elseif($item->rejected_at)
- {{ \Carbon\Carbon::parse($item->rejected_at)->locale('id')->isoFormat('D MMMM Y') }}
- @else
- -
- @endif
- @endif
- |
- @endif
- @if(auth()->user()->can('final_approval.approve'))
-
- {{-- approve / reject button --}}
- @if ($item->status == 'Approved 2' && $item->approved2_at && !$item->final_approved_at)
-
- @else
- @if ($item->final_approved_at && auth()->user()->can('final_approval.open'))
- |
+ @endif
+ @if (auth()->user()->can('approval2.view'))
+
+ {{-- approve / reject button --}}
+ @if (auth()->user()->can('approval2.approve'))
+ @if ($item->status == 'Approved 1' && $item->approved_at)
+
+
+
+ @endif
+ @endif
+ @if ($item->approved2_at)
+ {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
+ @endif
+ |
+ @endif
+ @if(auth()->user()->can('final_approval.view'))
+
+ {{-- approve / reject button --}}
+ @if(auth()->user()->can('final_approval.approve'))
+ @if ($item->status == 'Approved 2' && $item->approved2_at && !$item->final_approved_at)
+
+ @else
+ @if ($item->final_approved_at && auth()->user()->can('final_approval.open'))
+
+ @endif
+ @endif
+ @endif
+ @if ($item->final_approved_at)
+ {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
+ @endif
|
@endif
diff --git a/resources/views/backend/pages/forms/meeting/index.blade.php b/resources/views/backend/pages/forms/meeting/index.blade.php
index 97181d2..29f66d7 100644
--- a/resources/views/backend/pages/forms/meeting/index.blade.php
+++ b/resources/views/backend/pages/forms/meeting/index.blade.php
@@ -108,13 +108,13 @@
| Total Approved |
Account Number |
Status |
- @if (auth()->user()->can('approval.approve'))
+ @if (auth()->user()->can('approval.view'))
Approval 1 |
@endif
- @if (auth()->user()->can('approval2.approve'))
+ @if (auth()->user()->can('approval2.view'))
Approval 2 |
@endif
- @if (auth()->user()->can('final_approval.approve'))
+ @if (auth()->user()->can('final_approval.view'))
Final Approval |
@endif
Aksi |
@@ -147,92 +147,87 @@
{{ $item->status }}
@endif
- @if (auth()->user()->can('approval.approve'))
+ @if (auth()->user()->can('approval.view'))
{{-- approve / reject button --}}
- @if ($item->status == 'On Progress' || $item->status == 'Rejected')
-
-
-
- @else
- @if ($item->approved_at)
- {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
- @elseif($item->rejected_at)
- {{ \Carbon\Carbon::parse($item->rejected_at)->locale('id')->isoFormat('D MMMM Y') }}
- @else
- -
- @endif
- @endif
- |
- @endif
- @if (auth()->user()->can('approval2.approve'))
-
- {{-- approve / reject button --}}
- @if ($item->status == 'Approved 1' && $item->approved_at)
-
-
-
- @else
- @if ($item->approved2_at)
- {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
- @elseif($item->rejected_at)
- {{ \Carbon\Carbon::parse($item->rejected_at)->locale('id')->isoFormat('D MMMM Y') }}
- @else
- -
- @endif
- @endif
- |
- @endif
- @if(auth()->user()->can('final_approval.approve'))
-
- {{-- approve / reject button --}}
- @if ($item->status == 'Approved 2' && $item->approved2_at && !$item->final_approved_at)
-
- @else
- @if ($item->final_approved_at && auth()->user()->can('final_approval.open'))
- |
+ @endif
+ @if (auth()->user()->can('approval2.view'))
+
+ {{-- approve / reject button --}}
+ @if (auth()->user()->can('approval2.approve'))
+ @if ($item->status == 'Approved 1' && $item->approved_at)
+
+
+
+
+
+ @csrf
+ @method('PUT')
+
+
+ @endif
+ @endif
+ @if ($item->approved2_at)
+ {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
+ @endif
+ |
+ @endif
+ @if(auth()->user()->can('final_approval.view'))
+
+ {{-- approve / reject button --}}
+ @if(auth()->user()->can('final_approval.approve'))
+ @if ($item->status == 'Approved 2' && $item->approved2_at && !$item->final_approved_at)
+
+
+
+ @else
+ @if ($item->final_approved_at && auth()->user()->can('final_approval.open'))
+
+ @csrf
+ @method('PUT')
+
+
+ @endif
+ @endif
+ @endif
+ @if ($item->final_approved_at)
+ {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
+ @endif
|
@endif
diff --git a/resources/views/backend/pages/forms/other/index.blade.php b/resources/views/backend/pages/forms/other/index.blade.php
index 9f7c888..f3dafdd 100644
--- a/resources/views/backend/pages/forms/other/index.blade.php
+++ b/resources/views/backend/pages/forms/other/index.blade.php
@@ -108,13 +108,13 @@
| Bukti Total |
Account Number |
Status |
- @if (auth()->user()->can('approval.approve'))
+ @if (auth()->user()->can('approval.view'))
Approval 1 |
@endif
- @if (auth()->user()->can('approval2.approve'))
+ @if (auth()->user()->can('approval2.view'))
Approval 2 |
@endif
- @if (auth()->user()->can('final_approval.approve'))
+ @if (auth()->user()->can('final_approval.view'))
Final Approval |
@endif
Aksi |
@@ -155,92 +155,87 @@
{{ $item->status }}
@endif
- @if (auth()->user()->can('approval.approve'))
+ @if (auth()->user()->can('approval.view'))
{{-- approve / reject button --}}
- @if ($item->status == 'On Progress' || $item->status == 'Rejected')
-
-
-
-
-
- @csrf
- @method('PUT')
-
-
- @else
- @if ($item->approved_at)
- {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
- @elseif($item->rejected_at)
- {{ \Carbon\Carbon::parse($item->rejected_at)->locale('id')->isoFormat('D MMMM Y') }}
- @else
- -
- @endif
- @endif
- |
- @endif
- @if (auth()->user()->can('approval2.approve'))
-
- {{-- approve / reject button --}}
- @if ($item->status == 'Approved 1' && $item->approved_at)
-
-
-
-
-
- @csrf
- @method('PUT')
-
-
- @else
- @if ($item->approved2_at)
- {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
- @elseif($item->rejected_at)
- {{ \Carbon\Carbon::parse($item->rejected_at)->locale('id')->isoFormat('D MMMM Y') }}
- @else
- -
- @endif
- @endif
- |
- @endif
- @if(auth()->user()->can('final_approval.approve'))
-
- {{-- approve / reject button --}}
- @if ($item->status == 'Approved 2' && $item->approved2_at && !$item->final_approved_at)
-
-
-
- @else
- @if ($item->final_approved_at && auth()->user()->can('final_approval.open'))
-
- @csrf
- @method('PUT')
- |
+ @endif
+ @if (auth()->user()->can('approval2.view'))
+
+ {{-- approve / reject button --}}
+ @if (auth()->user()->can('approval2.approve'))
+ @if ($item->status == 'Approved 1' && $item->approved_at)
+
+
+ Approve 2
+
+
+
+
+ @csrf
+ @method('PUT')
+
+ Reject
+
+
+ @endif
+ @endif
+ @if ($item->approved2_at)
+ {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
+ @endif
+ |
+ @endif
+ @if(auth()->user()->can('final_approval.view'))
+
+ {{-- approve / reject button --}}
+ @if(auth()->user()->can('final_approval.approve'))
+ @if ($item->status == 'Approved 2' && $item->approved2_at && !$item->final_approved_at)
+
+
+ Final Approve
+
+
+ @else
+ @if ($item->final_approved_at && auth()->user()->can('final_approval.open'))
+
+ @csrf
+ @method('PUT')
+
+ Open
+
+
+ @endif
+ @endif
+ @endif
+ @if ($item->final_approved_at)
+ {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
+ @endif
|
@endif
diff --git a/resources/views/backend/pages/forms/upcountry/index.blade.php b/resources/views/backend/pages/forms/upcountry/index.blade.php
index bc1aa27..af90029 100644
--- a/resources/views/backend/pages/forms/upcountry/index.blade.php
+++ b/resources/views/backend/pages/forms/upcountry/index.blade.php
@@ -108,13 +108,13 @@
| Total Approved |
Account Number |
Status |
- @if (auth()->user()->can('approval.approve'))
+ @if (auth()->user()->can('approval.view'))
Approval 1 |
@endif
- @if (auth()->user()->can('approval2.approve'))
+ @if (auth()->user()->can('approval2.view'))
Approval 2 |
@endif
- @if (auth()->user()->can('final_approval.approve'))
+ @if (auth()->user()->can('final_approval.view'))
Final Approval |
@endif
Aksi |
@@ -153,92 +153,87 @@
{{ $item->status }}
@endif
- @if (auth()->user()->can('approval.approve'))
+ @if (auth()->user()->can('approval.view'))
{{-- approve / reject button --}}
- @if ($item->status == 'On Progress' || $item->status == 'Rejected')
-
-
- Approve 1
-
-
-
-
- @csrf
- @method('PUT')
-
- Reject
-
-
- @else
- @if ($item->approved_at)
- {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
- @elseif($item->rejected_at)
- {{ \Carbon\Carbon::parse($item->rejected_at)->locale('id')->isoFormat('D MMMM Y') }}
- @else
- -
- @endif
- @endif
- |
- @endif
- @if (auth()->user()->can('approval2.approve'))
-
- {{-- approve / reject button --}}
- @if ($item->status == 'Approved 1' && $item->approved_at)
-
-
- Approve 2
-
-
-
-
- @csrf
- @method('PUT')
-
- Reject
-
-
- @else
- @if ($item->approved2_at)
- {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
- @elseif($item->rejected_at)
- {{ \Carbon\Carbon::parse($item->rejected_at)->locale('id')->isoFormat('D MMMM Y') }}
- @else
- -
- @endif
- @endif
- |
- @endif
- @if(auth()->user()->can('final_approval.approve'))
-
- {{-- approve / reject button --}}
- @if ($item->status == 'Approved 2' && $item->approved2_at && !$item->final_approved_at)
-
-
- Final Approve
-
-
- @else
- @if ($item->final_approved_at && auth()->user()->can('final_approval.open'))
-
- @csrf
- @method('PUT')
-
- Open
+ @if (auth()->user()->can('approval.approve'))
+ @if ($item->status == 'On Progress')
+
+
+ Approve 1
+
+
+
+
+ @csrf
+ @method('PUT')
+
+ Reject
- @elseif ($item->final_approved_at)
- {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
- @else
- -
@endif
@endif
+ @if ($item->approved_at)
+ {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
+ @endif
+ |
+ @endif
+ @if (auth()->user()->can('approval2.view'))
+
+ {{-- approve / reject button --}}
+ @if (auth()->user()->can('approval2.approve'))
+ @if ($item->status == 'Approved 1' && $item->approved_at)
+
+
+ Approve 2
+
+
+
+
+ @csrf
+ @method('PUT')
+
+ Reject
+
+
+ @endif
+ @endif
+ @if ($item->approved2_at)
+ {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
+ @endif
+ |
+ @endif
+ @if(auth()->user()->can('final_approval.view'))
+
+ {{-- approve / reject button --}}
+ @if(auth()->user()->can('final_approval.approve'))
+ @if ($item->status == 'Approved 2' && $item->approved2_at && !$item->final_approved_at)
+
+
+ Final Approve
+
+
+ @else
+ @if ($item->final_approved_at && auth()->user()->can('final_approval.open'))
+
+ @csrf
+ @method('PUT')
+
+ Open
+
+
+ @endif
+ @endif
+ @endif
+ @if ($item->final_approved_at)
+ {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
+ @endif
|
@endif
diff --git a/resources/views/backend/pages/forms/vehicle/index.blade.php b/resources/views/backend/pages/forms/vehicle/index.blade.php
index fe55de6..de7c08d 100644
--- a/resources/views/backend/pages/forms/vehicle/index.blade.php
+++ b/resources/views/backend/pages/forms/vehicle/index.blade.php
@@ -110,13 +110,13 @@
| Bukti |
Account Number |
Status |
- @if (auth()->user()->can('approval.approve'))
+ @if (auth()->user()->can('approval.view'))
Approval 1 |
@endif
- @if (auth()->user()->can('approval2.approve'))
+ @if (auth()->user()->can('approval2.view'))
Approval 2 |
@endif
- @if (auth()->user()->can('final_approval.approve'))
+ @if (auth()->user()->can('final_approval.view'))
Final Approval |
@endif
Aksi |
@@ -159,92 +159,87 @@
{{ $item->status }}
@endif
- @if (auth()->user()->can('approval.approve'))
+ @if (auth()->user()->can('approval.view'))
{{-- approve / reject button --}}
- @if ($item->status == 'On Progress' || $item->status == 'Rejected')
-
-
- Approve 1
-
-
-
-
- @csrf
- @method('PUT')
-
- Reject
-
-
- @else
- @if ($item->approved_at)
- {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
- @elseif($item->rejected_at)
- {{ \Carbon\Carbon::parse($item->rejected_at)->locale('id')->isoFormat('D MMMM Y') }}
- @else
- -
- @endif
- @endif
- |
- @endif
- @if (auth()->user()->can('approval2.approve'))
-
- {{-- approve / reject button --}}
- @if ($item->status == 'Approved 1' && $item->approved_at)
-
-
- Approve 2
-
-
-
-
- @csrf
- @method('PUT')
-
- Reject
-
-
- @else
- @if ($item->approved2_at)
- {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
- @elseif($item->rejected_at)
- {{ \Carbon\Carbon::parse($item->rejected_at)->locale('id')->isoFormat('D MMMM Y') }}
- @else
- -
- @endif
- @endif
- |
- @endif
- @if(auth()->user()->can('final_approval.approve'))
-
- {{-- approve / reject button --}}
- @if ($item->status == 'Approved 2' && $item->approved2_at && !$item->final_approved_at)
-
-
- Final Approve
-
-
- @else
- @if ($item->final_approved_at && auth()->user()->can('final_approval.open'))
-
- @csrf
- @method('PUT')
-
- Open
+ @if (auth()->user()->can('approval.approve'))
+ @if ($item->status == 'On Progress')
+
+
+ Approve 1
+
+
+
+
+ @csrf
+ @method('PUT')
+
+ Reject
- @elseif ($item->final_approved_at)
- {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
- @else
- -
@endif
@endif
+ @if ($item->approved_at)
+ {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
+ @endif
+ |
+ @endif
+ @if (auth()->user()->can('approval2.view'))
+
+ {{-- approve / reject button --}}
+ @if (auth()->user()->can('approval2.approve'))
+ @if ($item->status == 'Approved 1' && $item->approved_at)
+
+
+ Approve 2
+
+
+
+
+ @csrf
+ @method('PUT')
+
+ Reject
+
+
+ @endif
+ @endif
+ @if ($item->approved2_at)
+ {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
+ @endif
+ |
+ @endif
+ @if(auth()->user()->can('final_approval.view'))
+
+ {{-- approve / reject button --}}
+ @if(auth()->user()->can('final_approval.approve'))
+ @if ($item->status == 'Approved 2' && $item->approved2_at && !$item->final_approved_at)
+
+
+ Final Approve
+
+
+ @else
+ @if ($item->final_approved_at && auth()->user()->can('final_approval.open'))
+
+ @csrf
+ @method('PUT')
+
+ Open
+
+
+ @endif
+ @endif
+ @endif
+ @if ($item->final_approved_at)
+ {{ \Carbon\Carbon::parse($item->approved_at)->locale('id')->isoFormat('D MMMM Y') }}
+ @endif
|
@endif
diff --git a/resources/views/backend/pages/report/generate_jurnal.blade.php b/resources/views/backend/pages/report/generate_jurnal.blade.php
index 961e3b0..2cec8e0 100644
--- a/resources/views/backend/pages/report/generate_jurnal.blade.php
+++ b/resources/views/backend/pages/report/generate_jurnal.blade.php
@@ -149,7 +149,21 @@
{
extend: 'excel',
text: 'Export Excel',
- buttons: ['excel', 'csv', 'pdf', 'print', 'colvis'],
+ customize: function (xlsx) {
+ var sheet = xlsx.xl.worksheets['sheet1.xml'];
+ // Add additional information to the Excel sheet
+ var additionalInfo = `
+ Cabang: {{ $cabang->name }}
+ Periode: {{ ucfirst($month) }} {{ $year }}
+ Cost Centre: {{ $cabang->cost->code }}
+ `;
+ var rows = additionalInfo.split('\n').map(function (text) {
+ return `${text.trim()} `;
+ }).join('');
+
+ // Inject the additional information at the top of the sheet
+ var data = $(sheet).find('sheetData').prepend(rows);
+ }
},
{
extend: 'csv',
@@ -157,11 +171,10 @@
customize: function (csv) {
// Add header information to the CSV
var additionalInfo = `
- Cabang: {{ $cabang->name }}
- Periode: {{ ucfirst($month) }} {{ $year }}
- Cost Centre: {{ $cabang->cost->code }}
-
- `;
+ Cabang: {{ $cabang->name }}
+ Periode: {{ ucfirst($month) }} {{ $year }}
+ Cost Centre: {{ $cabang->cost->code }}
+ `;
return additionalInfo + csv;
}
},
diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php
index 2e5a4eb..648a663 100644
--- a/resources/views/layouts/app.blade.php
+++ b/resources/views/layouts/app.blade.php
@@ -101,7 +101,10 @@
{{ Auth::guard('admin')->user()->getRoleNames()[0] }}
- @if(auth()->user()->getMyCabangAndRegion()['cabang'] != '-' && Auth::guard('admin')->user()->getRoleNames()[0] == 'Medical Representatif')
+ @if(
+ auth()->user()->getMyCabangAndRegion()['cabang'] != '-' &&
+ in_array(Auth::guard('admin')->user()->getRoleNames()[0], ['Medical Representatif', 'Area Manager Cabang'])
+ )
{{ auth()->user()->getMyCabangAndRegion()['cabang'] }}
|