'datetime', ]; public static function getpermissionGroups() { $permission_groups = DB::table('permissions') ->select('group_name as name') ->groupBy('group_name') ->get(); return $permission_groups; } public static function getpermissionsByGroupName($group_name) { $permissions = DB::table('permissions') ->select('name', 'id') ->where('group_name', $group_name) ->get(); return $permissions; } public static function roleHasPermissions($role, $permissions) { $hasPermission = true; foreach ($permissions as $permission) { if (!$role->hasPermissionTo($permission->name)) { $hasPermission = false; return $hasPermission; } } return $hasPermission; } public function getCabangAndRegionHead() { // Fetch the UserHasCabang entry for this admin $userHasCabang = $this->hasOne(UserHasCabang::class, 'user_id')->with('cabang')->first(); if ($userHasCabang && $userHasCabang->cabang) { $cabang = $userHasCabang->cabang; // Fetch the cabang head $cabangHead = $cabang->head; // Fetch the region and its head $region = $cabang->region; $regionHead = $region ? $region->head : null; return [ 'cabang_head' => $cabangHead, 'region_head' => $regionHead, ]; } return [ 'cabang_head' => null, 'region_head' => null, ]; } }