diff --git a/app/Http/Controllers/Backend/DashboardController.php b/app/Http/Controllers/Backend/DashboardController.php index 4f507f4..ac1b539 100644 --- a/app/Http/Controllers/Backend/DashboardController.php +++ b/app/Http/Controllers/Backend/DashboardController.php @@ -8,18 +8,68 @@ use App\Http\Controllers\Controller; use App\Models\Admin; use Spatie\Permission\Models\Permission; use Spatie\Permission\Models\Role; +use App\Models\FormUpCountry; +use App\Models\FormEntertaimentPresentation; +use App\Models\FormVehicleRunningCost; +use App\Models\FormMeetingSeminar; +use App\Models\FormOthers; +use App\Models\UserHasCabang; + class DashboardController extends Controller { public function index() { + $role = auth()->user()->getRoleNames()[0]; + $forms = [ + 'vehicle' => FormVehicleRunningCost::query(), + 'upcountry' => FormUpCountry::query(), + 'entertainment' => FormEntertaimentPresentation::query(), + 'meeting' => FormMeetingSeminar::query(), + 'others' => FormOthers::query(), + ]; + + if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { + $region_id = auth()->user()->getMyCabangAndRegionId()['region']; + + if ($region_id) { + $users = UserHasCabang::whereHas('cabang', function ($query) use ($region_id) { + $query->where('region_id', $region_id); + })->pluck('user_id'); + + foreach ($forms as $key => $query) { + $forms[$key] = $query->whereIn('user_id', $users)->whereIn('status', ['Approved', 'Closed']); + } + } + } elseif ($role == 'Area Manager Cabang') { + $cabang_id = auth()->user()->getMyCabangAndRegionId()['cabang']; + + if ($cabang_id) { + $users = UserHasCabang::where('cabang_id', $cabang_id)->pluck('user_id'); + + foreach ($forms as $key => $query) { + $forms[$key] = $query->whereIn('user_id', $users)->whereIn('status', ['Approved', 'Closed']); + } + } + } elseif ($role == 'Medical Representatif') { + foreach ($forms as $key => $query) { + $forms[$key] = $query->where('user_id', auth()->user()->id)->whereIn('status', ['Approved', 'Closed']); + } + } else { + foreach ($forms as $key => $query) { + $forms[$key] = $query->whereIn('status', ['Approved', 'Closed']); + } + } + + // Sum the filtered queries + foreach ($forms as $key => $query) { + $forms[$key] = $query->sum('total'); + } return view( 'backend.pages.dashboard.index', [ - 'total_admins' => Admin::count(), - 'total_roles' => Role::count(), - 'total_permissions' => Permission::count(), + 'forms' => $forms, ] ); } diff --git a/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php b/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php index 0ef9948..9211235 100644 --- a/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php +++ b/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php @@ -27,8 +27,6 @@ class FormEntertainmentPresentationController extends Controller { $this->checkAuthorization(auth()->user(), ['forms.entertainment.view']); - // get user role - // get user role $role = auth()->user()->getRoleNames()[0]; $forms = FormEntertaimentPresentation::get(); diff --git a/app/Http/Controllers/Forms/FormMeetingSeminarController.php b/app/Http/Controllers/Forms/FormMeetingSeminarController.php index f9ebdb3..fe1768a 100644 --- a/app/Http/Controllers/Forms/FormMeetingSeminarController.php +++ b/app/Http/Controllers/Forms/FormMeetingSeminarController.php @@ -27,8 +27,6 @@ class FormMeetingSeminarController extends Controller { $this->checkAuthorization(auth()->user(), ['forms.meeting.view']); - // get user role - // get user role $role = auth()->user()->getRoleNames()[0]; $forms = FormMeetingSeminar::get(); diff --git a/app/Http/Controllers/Forms/FormOtherController.php b/app/Http/Controllers/Forms/FormOtherController.php index f8ac026..6857b58 100644 --- a/app/Http/Controllers/Forms/FormOtherController.php +++ b/app/Http/Controllers/Forms/FormOtherController.php @@ -27,11 +27,6 @@ class FormOtherController extends Controller { $this->checkAuthorization(auth()->user(), ['forms.other.view']); - // get user role - $role = auth()->user()->getRoleNames()[0]; - $forms = null; - - // get user role $role = auth()->user()->getRoleNames()[0]; $forms = FormOthers::get(); diff --git a/app/Http/Controllers/Forms/FormUpCountryController.php b/app/Http/Controllers/Forms/FormUpCountryController.php index fca65ef..f941fda 100644 --- a/app/Http/Controllers/Forms/FormUpCountryController.php +++ b/app/Http/Controllers/Forms/FormUpCountryController.php @@ -27,7 +27,6 @@ class FormUpCountryController extends Controller { $this->checkAuthorization(auth()->user(), ['forms.country.view']); - // get user role $role = auth()->user()->getRoleNames()[0]; $forms = FormUpCountry::get(); diff --git a/app/Http/Controllers/Forms/FormVehicleController.php b/app/Http/Controllers/Forms/FormVehicleController.php index db463c2..1ccbd85 100644 --- a/app/Http/Controllers/Forms/FormVehicleController.php +++ b/app/Http/Controllers/Forms/FormVehicleController.php @@ -27,7 +27,6 @@ class FormVehicleController extends Controller { $this->checkAuthorization(auth()->user(), ['forms.vehicle.view']); - // get user role $role = auth()->user()->getRoleNames()[0]; $forms = FormVehicleRunningCost::get(); diff --git a/resources/views/backend/pages/audit_trail/index.blade.php b/resources/views/backend/pages/audit_trail/index.blade.php index 226c0bb..d6d3410 100644 --- a/resources/views/backend/pages/audit_trail/index.blade.php +++ b/resources/views/backend/pages/audit_trail/index.blade.php @@ -26,7 +26,7 @@
-
+

{{ $pageInfo['title'] }}

@@ -42,6 +42,7 @@ {{ __('Activity') }} Browser User Agent + Time @@ -69,6 +70,7 @@ {{ $item->activity }} {{ $item->browser }} {{ $item->user_agent }} + {{ $item->created_at->diffForHumans() }} @endforeach diff --git a/resources/views/backend/pages/dashboard/index.blade.php b/resources/views/backend/pages/dashboard/index.blade.php index 00e89dd..ec2298a 100644 --- a/resources/views/backend/pages/dashboard/index.blade.php +++ b/resources/views/backend/pages/dashboard/index.blade.php @@ -14,7 +14,6 @@
@@ -22,6 +21,97 @@
+
+ +
+
+
+

Rp {{ number_format($forms['vehicle'] + $forms['entertainment'] + $forms['meeting'] + $forms['upcountry'] + $forms['others'], 0, ',', '.') }}

+

All Approved Expenses

+
+
+ +
+ + More info + +
+
+ +
+
+
+

Rp {{ number_format($forms['upcountry'], 0, ',', '.') }}

+

Approved Up Country Expenses

+
+
+ +
+ + More info + +
+
+ +
+
+
+

Rp {{ number_format($forms['vehicle'], 0, ',', '.') }}

+

Approved Vehicle Running Cost Expenses

+
+
+ +
+ + More info + +
+
+
+
+
+
+
+

Rp {{ number_format($forms['entertainment'], 0, ',', '.') }}

+

Approved Entertainment Presentation Expenses

+
+
+ +
+ + More info + +
+
+
+
+
+

Rp {{ number_format($forms['meeting'], 0, ',', '.') }}

+

Approved Meeting Seminar Expenses

+
+
+ +
+ + More info + +
+
+
+
+
+

Rp {{ number_format($forms['others'], 0, ',', '.') }}

+

Approved Other Expenses

+
+
+ +
+ + More info + +
+
+

Welcome to {{ config('app.name') }} (development version).

diff --git a/routes/web.php b/routes/web.php index 5e6a221..e4e0b33 100644 --- a/routes/web.php +++ b/routes/web.php @@ -139,12 +139,3 @@ Route::middleware(['auth:admin', 'menu'])->group(function () { Route::get('/auth/menu-tree/{id}', [MenuRoleController::class, 'index'])->name('auth.menurole.index'); Route::post('/auth/menu-tree/submit', [MenuRoleController::class, 'saveMenu'])->name('auth.menurole.submit'); }); - -Route::get('/test-nextcloud', function () { - $baseUrl = env('NEXT_CLOUD_URL'); - $adminUsername = env('NEXT_CLOUD_USERNAME'); - $adminPassword = env('NEXT_CLOUD_PASSWORD'); - - $response = NextCloudHelper::createFolder($baseUrl, $adminUsername, $adminPassword, 'test-folder'); - dd($response); -});