From 54a61c413cd6731b7c606a8d50df2b17ca3cd65d Mon Sep 17 00:00:00 2001 From: Revanza Firdaus Date: Sat, 21 Feb 2026 20:26:37 +0700 Subject: [PATCH 1/4] fix(user) : optimization query API --- app/Models/User.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/Models/User.php b/app/Models/User.php index 6cac4639..de56a4ac 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -131,6 +131,10 @@ public function team() public function getTeamId() { + if ($this->relationLoaded('team') && $this->team !== null) { + return $this->team->first()?->id; + } + return $this->team()->first()?->id; } @@ -141,7 +145,11 @@ public function adminlte_profile_url() public function adminlte_desc() { - return $this->team()->first()->name; + if ($this->relationLoaded('team') && $this->team !== null) { + return $this->team->first()?->name ?? '-'; + } + + return $this->team()->first()?->name ?? '-'; } public function isSuperAdmin() From 0412f0f161ddc8b642c4dd4ce351bbccb57456b8 Mon Sep 17 00:00:00 2001 From: Revanza Firdaus Date: Sat, 21 Feb 2026 20:26:50 +0700 Subject: [PATCH 2/4] fix(user) : query optimazation API with collection map --- app/Http/Controllers/UserController.php | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index ccd196a2..785a9b53 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -39,18 +39,17 @@ public function getUsers(Request $request) if ($request->ajax()) { $permission = $this->generateListPermission(); - return DataTables::of(User::with('team')->visibleForAuthenticatedUser()->get()) + $allKabupaten = (new ConfigApiService)->kabupaten(); + $kabupatenMap = collect($allKabupaten)->keyBy('kode_kabupaten'); + + return DataTables::of(User::with(['team'])->visibleForAuthenticatedUser()->get()) ->addIndexColumn() - ->addColumn('nama_kabupaten', function ($row) { + ->addColumn('nama_kabupaten', function ($row) use ($kabupatenMap) { if (empty($row->kode_kabupaten)) { return '-'; } - $kabupaten = (new ConfigApiService)->kabupaten([ - 'filter[kode_kabupaten]' => $row->kode_kabupaten, - ]); - - return optional($kabupaten->first())->nama_kabupaten ?? '-'; + return $kabupatenMap->get($row->kode_kabupaten)?->nama_kabupaten ?? '-'; }) ->addColumn('aksi', function ($row) use ($permission) { $data = []; @@ -127,7 +126,7 @@ public function store(UserRequest $request) 'email' => $data['email'], 'company' => $data['company'], 'phone' => $data['phone'], - 'password' => $data['password'], + 'password' => $data['password'], 'active' => 1, 'telegram_chat_id' => $data['telegram_chat_id'], 'kode_kabupaten' => $currentUser->getEffectiveKodeKabupaten($request->input('kode_kabupaten')), From 46c7f2dbbaf6b86984699fa4d87cea247af9b1a5 Mon Sep 17 00:00:00 2001 From: Revanza Firdaus Date: Sat, 21 Feb 2026 20:27:00 +0700 Subject: [PATCH 3/4] fix(web): eager load category for article --- app/Http/Controllers/Web/PageController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/Web/PageController.php b/app/Http/Controllers/Web/PageController.php index d62ba32e..27a8b547 100644 --- a/app/Http/Controllers/Web/PageController.php +++ b/app/Http/Controllers/Web/PageController.php @@ -42,7 +42,7 @@ public function getCategory(Category $category) { return view('web.articles', [ 'title' => $category->name, - 'articles' => Article::where('category_id', $category->id)->paginate(4), + 'articles' => Article::with('category')->where('category_id', $category->id)->paginate(4), ]); } From c86cf38ee08283e4990ef819815ae4f07845a538 Mon Sep 17 00:00:00 2001 From: Abah Roland <59082428+vickyrolanda@users.noreply.github.com> Date: Fri, 6 Mar 2026 14:11:36 +0700 Subject: [PATCH 4/4] [ci skip] memutahirkan catatan rilis --- catatan_rilis.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/catatan_rilis.md b/catatan_rilis.md index b7f30990..052d69f9 100644 --- a/catatan_rilis.md +++ b/catatan_rilis.md @@ -2,14 +2,10 @@ Di rilis ini, versi 2603.0.0 berisi penambahan dan perbaikan yang diminta penggu #### Penambahan Fitur -1. [#933](https://github.com/OpenSID/OpenKab/issues/933) Penambahan fungsi filter data Belum Lengkap pada data presisi. -2. [#934](https://github.com/OpenSID/OpenKab/issues/934) Implementasi Pengurutan (Sorting) di Halaman Statistik Data Presisi. #### Perbaikan BUG - #### Perubahan Teknis -1. [#932](https://github.com/OpenSID/OpenKab/issues/932) Mengurutkan daftar menu pada OpenKab. -2. [#935](https://github.com/OpenSID/OpenKab/issues/935) Perubahan router yang mendukung server. \ No newline at end of file +1. [#943](https://github.com/OpenSID/OpenKab/issues/943) N+1 Query problem pada manajemen user.