added statistic cards
This commit is contained in:
@@ -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,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user