diff --git a/app/Http/Controllers/Backend/AdminsController.php b/app/Http/Controllers/Backend/AdminsController.php index 53f4c6e..2597580 100644 --- a/app/Http/Controllers/Backend/AdminsController.php +++ b/app/Http/Controllers/Backend/AdminsController.php @@ -141,6 +141,8 @@ class AdminsController extends Controller if($request->cabang_id) { $userHasCabang = UserHasCabang::where('user_id', $admin->id)->first(); $userHasCabang ? $userHasCabang->update(['cabang_id' => $request->cabang_id]) : UserHasCabang::create(['user_id' => $admin->id, 'cabang_id' => $request->cabang_id]); + } else { + UserHasCabang::where('user_id', $admin->id)->delete(); } AuditTrailHelper::AddAuditTrail('Update', 'Update User Data (' . $request->email . ') in the User Table'); diff --git a/app/Http/Controllers/Backend/BudgetControlController.php b/app/Http/Controllers/Backend/BudgetControlController.php index 808deed..187e18e 100644 --- a/app/Http/Controllers/Backend/BudgetControlController.php +++ b/app/Http/Controllers/Backend/BudgetControlController.php @@ -14,6 +14,7 @@ use App\Models\FormMeetingSeminar; use App\Models\FormOthers; use App\Models\FormEntertaimentPresentation; use App\Models\FormVehicleRunningCost; +use App\Models\UserHasCabang; class BudgetControlController extends Controller { @@ -23,7 +24,30 @@ class BudgetControlController extends Controller session()->put('redirect_url', route('budget_control')); // Get the budget control data - $budget = BudgetControl::orderBy('created_at', 'desc')->with(['user', 'cabang'])->get(); + // $budget = BudgetControl::orderBy('created_at', 'desc')->with(['user', 'cabang'])->get(); + $role = auth()->user()->getRoleNames()[0]; + $budget = null; + + if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { + $region_id = auth()->user()->getMyCabangAndRegionId()['region']; + + if ($region_id) { + // Get budget controls where the region matches + $budget = BudgetControl::whereHas('cabang', function ($query) use ($region_id) { + $query->where('region_id', $region_id); + })->get(); + } + } elseif ($role == 'Area Manager Cabang') { + $cabang_id = auth()->user()->getMyCabangAndRegionId()['cabang']; + + if ($cabang_id) { + // Get budget controls where the cabang matches + $budget = BudgetControl::where('cabang_id', $cabang_id)->get(); + } + } else { + // Get all budget controls for other roles + $budget = BudgetControl::all(); + } // Initialize an empty array to hold the used budget sums $usedBudget = []; diff --git a/app/Http/Controllers/Backend/ReportController.php b/app/Http/Controllers/Backend/ReportController.php index 2df23f7..42040d3 100644 --- a/app/Http/Controllers/Backend/ReportController.php +++ b/app/Http/Controllers/Backend/ReportController.php @@ -638,23 +638,25 @@ class ReportController extends Controller { $role = auth()->user()->getRoleNames()[0]; $cabangs = []; + $regions = []; if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { $region_id = auth()->user()->getMyCabangAndRegionId()['region']; if ($region_id) { $cabangs = Cabang::where('region_id', $region_id)->get(); + $regions = Region::where('id', $region_id)->get(); } } else if ($role == 'Area Manager Cabang') { $cabang_id = auth()->user()->getMyCabangAndRegionId()['cabang']; if ($cabang_id) { $cabangs = Cabang::where('id', $cabang_id)->get(); + $regions = Region::where('id', $cabangs[0]->region_id)->get(); } - } else if ($role == 'Medical Representatif') { - $cabangs = null; } else { $cabangs = Cabang::all(); + $regions = Region::all(); } return view('backend.pages.report.jurnal', [ @@ -662,6 +664,7 @@ class ReportController extends Controller 'title' => 'Generate Reports For Jurnal', ], 'cabang' => $cabangs, + 'regions' => $regions ]); } diff --git a/app/Http/Controllers/Master/CabangController.php b/app/Http/Controllers/Master/CabangController.php index 50923ef..0d60cb8 100644 --- a/app/Http/Controllers/Master/CabangController.php +++ b/app/Http/Controllers/Master/CabangController.php @@ -22,6 +22,13 @@ class CabangController extends Controller ]); } + public function getCabangByRegion($regionCode) + { + $region_id = Region::where('code', $regionCode)->first()->id; + $cabang = Cabang::where('region_id', $region_id)->get(['code', 'name']); + return response()->json($cabang); + } + public function create() { $this->checkAuthorization(auth()->user(), ['cabang.create']); diff --git a/resources/views/backend/pages/forms/entertainment/index.blade.php b/resources/views/backend/pages/forms/entertainment/index.blade.php index 83ae6aa..7fd02d5 100644 --- a/resources/views/backend/pages/forms/entertainment/index.blade.php +++ b/resources/views/backend/pages/forms/entertainment/index.blade.php @@ -338,8 +338,32 @@ if ($('#dataTable').length) { $('#dataTable').DataTable({ responsive: false, - dom: 'Bfrtip', - buttons: ['excel', 'pdf', 'print', 'colvis'], + dom: 'Blfrtip', + lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown + buttons: [ + { + extend: 'excel', + text: 'Excel' + }, + { + extend: 'pdf', + text: 'PDF', + orientation: 'landscape', + pageSize: 'A4', + exportOptions: { + columns: ':visible' + } + }, + { + extend: 'print', + text: 'Print', + orientation: 'landscape', + exportOptions: { + columns: ':visible' + } + }, + 'colvis' + ] }); } diff --git a/resources/views/backend/pages/forms/meeting/index.blade.php b/resources/views/backend/pages/forms/meeting/index.blade.php index 15c91bb..d650c3f 100644 --- a/resources/views/backend/pages/forms/meeting/index.blade.php +++ b/resources/views/backend/pages/forms/meeting/index.blade.php @@ -338,8 +338,32 @@ if ($('#dataTable').length) { $('#dataTable').DataTable({ responsive: false, - dom: 'Bfrtip', - buttons: ['excel', 'pdf', 'print', 'colvis'], + dom: 'Blfrtip', + lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown + buttons: [ + { + extend: 'excel', + text: 'Excel' + }, + { + extend: 'pdf', + text: 'PDF', + orientation: 'landscape', + pageSize: 'A4', + exportOptions: { + columns: ':visible' + } + }, + { + extend: 'print', + text: 'Print', + orientation: 'landscape', + exportOptions: { + columns: ':visible' + } + }, + 'colvis' + ] }); } diff --git a/resources/views/backend/pages/forms/other/index.blade.php b/resources/views/backend/pages/forms/other/index.blade.php index 29dbb7b..9250298 100644 --- a/resources/views/backend/pages/forms/other/index.blade.php +++ b/resources/views/backend/pages/forms/other/index.blade.php @@ -327,8 +327,32 @@ if ($('#dataTable').length) { $('#dataTable').DataTable({ responsive: false, - dom: 'Bfrtip', - buttons: ['excel', 'pdf', 'print', 'colvis'], + dom: 'Blfrtip', + lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown + buttons: [ + { + extend: 'excel', + text: 'Excel' + }, + { + extend: 'pdf', + text: 'PDF', + orientation: 'landscape', + pageSize: 'A4', + exportOptions: { + columns: ':visible' + } + }, + { + extend: 'print', + text: 'Print', + orientation: 'landscape', + exportOptions: { + columns: ':visible' + } + }, + 'colvis' + ] }); } diff --git a/resources/views/backend/pages/forms/upcountry/index.blade.php b/resources/views/backend/pages/forms/upcountry/index.blade.php index 29c9626..36c3c00 100644 --- a/resources/views/backend/pages/forms/upcountry/index.blade.php +++ b/resources/views/backend/pages/forms/upcountry/index.blade.php @@ -364,8 +364,32 @@ if ($('#dataTable').length) { $('#dataTable').DataTable({ responsive: false, - dom: 'Bfrtip', - buttons: ['excel', 'pdf', 'print', 'colvis'], + dom: 'Blfrtip', + lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown + buttons: [ + { + extend: 'excel', + text: 'Excel' + }, + { + extend: 'pdf', + text: 'PDF', + orientation: 'landscape', + pageSize: 'A4', + exportOptions: { + columns: ':visible' + } + }, + { + extend: 'print', + text: 'Print', + orientation: 'landscape', + exportOptions: { + columns: ':visible' + } + }, + 'colvis' + ] }); } diff --git a/resources/views/backend/pages/forms/vehicle/index.blade.php b/resources/views/backend/pages/forms/vehicle/index.blade.php index 422f000..8a7a970 100644 --- a/resources/views/backend/pages/forms/vehicle/index.blade.php +++ b/resources/views/backend/pages/forms/vehicle/index.blade.php @@ -343,8 +343,32 @@ if ($('#dataTable').length) { $('#dataTable').DataTable({ responsive: false, - dom: 'Bfrtip', - buttons: ['excel', 'pdf', 'print', 'colvis'], + dom: 'Blfrtip', + lengthMenu: [ [10, 50, 100, -1], [10, 50, 100, "All"] ], // Control the entries dropdown + buttons: [ + { + extend: 'excel', + text: 'Excel' + }, + { + extend: 'pdf', + text: 'PDF', + orientation: 'landscape', + pageSize: 'A4', + exportOptions: { + columns: ':visible' + } + }, + { + extend: 'print', + text: 'Print', + orientation: 'landscape', + exportOptions: { + columns: ':visible' + } + }, + 'colvis' + ] }); } diff --git a/resources/views/backend/pages/master/cabang/index.blade.php b/resources/views/backend/pages/master/cabang/index.blade.php index e565655..926e2ae 100644 --- a/resources/views/backend/pages/master/cabang/index.blade.php +++ b/resources/views/backend/pages/master/cabang/index.blade.php @@ -95,14 +95,36 @@ @endsection diff --git a/resources/views/backend/pages/master/category/index.blade.php b/resources/views/backend/pages/master/category/index.blade.php index 98b0c98..81fc27f 100644 --- a/resources/views/backend/pages/master/category/index.blade.php +++ b/resources/views/backend/pages/master/category/index.blade.php @@ -87,14 +87,36 @@ @endsection diff --git a/resources/views/backend/pages/master/cost/index.blade.php b/resources/views/backend/pages/master/cost/index.blade.php index 42ada2d..9a3c111 100644 --- a/resources/views/backend/pages/master/cost/index.blade.php +++ b/resources/views/backend/pages/master/cost/index.blade.php @@ -87,14 +87,36 @@ @endsection diff --git a/resources/views/backend/pages/master/rayon/index.blade.php b/resources/views/backend/pages/master/rayon/index.blade.php index 47b3987..7875037 100644 --- a/resources/views/backend/pages/master/rayon/index.blade.php +++ b/resources/views/backend/pages/master/rayon/index.blade.php @@ -87,14 +87,36 @@ @endsection diff --git a/resources/views/backend/pages/master/region/index.blade.php b/resources/views/backend/pages/master/region/index.blade.php index b4b1849..ade24a7 100644 --- a/resources/views/backend/pages/master/region/index.blade.php +++ b/resources/views/backend/pages/master/region/index.blade.php @@ -91,14 +91,36 @@ @endsection diff --git a/resources/views/backend/pages/report/all.blade.php b/resources/views/backend/pages/report/all.blade.php index e02959c..b1e9030 100644 --- a/resources/views/backend/pages/report/all.blade.php +++ b/resources/views/backend/pages/report/all.blade.php @@ -98,15 +98,11 @@ -