diff --git a/app/Helpers/custom.php b/app/Helpers/custom.php index 7f632d5..e9a5162 100644 --- a/app/Helpers/custom.php +++ b/app/Helpers/custom.php @@ -4,6 +4,7 @@ use Illuminate\Support\Str; use App\Models\Master\Menu; use App\Models\Master\AccessMenu; use App\Models\User; +use App\Models\Master\Group; use App\Models\UnitKonversi; use App\Models\GWP; @@ -30,6 +31,37 @@ if (!function_exists('taskLabel')) { return $task; } } +if (!function_exists('getNameRole')) { + /** + * @param $request + * @param $note + */ + function getNameRole($id) + { + $role = Group::find($id); + + return $role->name; + } +} +if (!function_exists('getRoles')) { + /** + * @param $request + * @param $note + */ + function getRoles() + { + $user = User::find(auth()->user()->id); + if($user->ms_group_id == 1){ + $role = []; + }else{ + $roleDefault = array($user->ms_group_id); + $rolesId = json_decode($user->roles_id); + $role = Group::whereIn('MsGroupId',array_unique(array_merge($rolesId,$roleDefault)))->get(); + } + + return $role; + } +} if (!function_exists('logActivity')) { /** * @param $request diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index b9940db..ea27e82 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; +use App\Models\Master\AccessMenu; class HomeController extends Controller { @@ -24,6 +25,16 @@ class HomeController extends Controller public function index() { $data['title'] = 'Dashboard'; + if(session('group_id') == 1){ + $data['dashboard'] = AccessMenu::with(['parentMenu'])->whereHas('parentMenu',function($query){ + $query->where('parent_id','!=','0'); + })->where('module','like','%dashboard%')->get(); + }else{ + $data['dashboard'] = AccessMenu::with(['parentMenu'])->whereHas('parentMenu',function($query){ + $query->where('parent_id','!=','0'); + })->where('ms_group_id',session('group_id'))->where('module','like','%dashboard%')->get(); + } + return view('home',$data); } } diff --git a/app/Http/Controllers/Management/UserController.php b/app/Http/Controllers/Management/UserController.php index 784f024..95105a4 100644 --- a/app/Http/Controllers/Management/UserController.php +++ b/app/Http/Controllers/Management/UserController.php @@ -111,6 +111,7 @@ class UserController extends Controller $user->password = Hash::make($request->password); } $user->name = $request->name; + $user->roles_id = json_encode($request->roles_id); $user->save(); }else{ Validator::make($request->all(), [ @@ -133,6 +134,7 @@ class UserController extends Controller $user->password = Hash::make($request->password); } $user->name = $request->name; + $user->roles_id = json_encode($request->roles_id); $user->save(); } @@ -242,4 +244,21 @@ class UserController extends Controller } } } + + public function role(Request $request) + { + if($request->all()){ + $group = Group::find(decode_id($request->input('id'))); + $session = [ + 'group_id' => @$group->MsGroupId, + 'group_alias' => @$group->alias, + 'group_name' => @$group->name, + ]; + //dd($session); + session($session); + return response()->json(['status' => 1]); + } else { + return response()->json(['status' => 0]); + } + } } diff --git a/app/Models/Master/AccessMenu.php b/app/Models/Master/AccessMenu.php index 338ed0a..3224f83 100644 --- a/app/Models/Master/AccessMenu.php +++ b/app/Models/Master/AccessMenu.php @@ -11,4 +11,8 @@ class AccessMenu extends Model protected $table = 'ms_access_menu'; protected $primaryKey = 'MsAccessMenuId'; protected $guarded = []; + + function parentMenu() { + return $this->belongsTo(\App\Models\Master\Menu::class,'ms_menu_id','MsMenuId'); + } } diff --git a/database/migrations/2026_01_19_065606_add_column_roles_id.php b/database/migrations/2026_01_19_065606_add_column_roles_id.php new file mode 100644 index 0000000..51c6e37 --- /dev/null +++ b/database/migrations/2026_01_19_065606_add_column_roles_id.php @@ -0,0 +1,28 @@ +json('roles_id')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('users', function (Blueprint $table) { + // + }); + } +}; diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 3ff67c5..63ec68b 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -20,49 +20,36 @@
di Portal Sistem Informasi Gas Rumah Kaca Provinsi DKI Jakarta.
diff --git a/resources/views/include/topbar.blade.php b/resources/views/include/topbar.blade.php index 3db11a3..b913785 100644 --- a/resources/views/include/topbar.blade.php +++ b/resources/views/include/topbar.blade.php @@ -1,9 +1,9 @@ -