Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
d9f974f
[ci skip] memmutahirkan catatan rilis
vickyrolanda Nov 11, 2025
b5429ab
perbaikan test dashboard kelola desa (#590)
vickyrolanda Nov 11, 2025
11f5c32
Update package keamanaan
habibie11 Nov 13, 2025
24c8328
Merge branch 'master' into rilis-dev
vickyrolanda Nov 18, 2025
cf6265c
Merge branch 'master' into rilis-dev
vickyrolanda Nov 18, 2025
30f3d82
update http-foundation
habibie11 Nov 18, 2025
7e840ab
perbaikan jumlah desa
pandigresik Nov 18, 2025
a36e0a5
buat migrasi untuk membersihkan data
pandigresik Nov 18, 2025
72d46d8
update migrasi
pandigresik Nov 18, 2025
12b544c
perbaikan jumlah desa (#596)
vickyrolanda Nov 18, 2025
99aa7ff
Merge branch 'master' into rilis-dev
vickyrolanda Nov 19, 2025
30f0138
Merge branch 'rilis-dev' into dev-593
vickyrolanda Nov 19, 2025
9982f04
[ci skip] memutahirkan catatan rilis
vickyrolanda Nov 19, 2025
47ead2e
Update package keamanaan (#594)
vickyrolanda Nov 19, 2025
781b2f3
Fix: Known security vulnerabilities detected
pandigresik Dec 15, 2025
4970c38
feat: Sembunyikan kolom URL untuk pengguna yang tidak login
pandigresik Dec 16, 2025
1990c00
[ci skip] memutahirkan catatan rilis
vickyrolanda Dec 17, 2025
f7b03a4
Fix: Known security vulnerabilities detected (#600)
vickyrolanda Dec 17, 2025
fd15f7c
Merge branch 'rilis-dev' into dev-598
vickyrolanda Dec 17, 2025
2f5b171
[ci skip] memutahirkan catatan rilis
vickyrolanda Dec 17, 2025
3db683f
feat: Sembunyikan kolom URL untuk pengguna yang tidak login (#601)
vickyrolanda Dec 17, 2025
586b8c3
update package
habibie11 Jan 5, 2026
5ff2340
update composer lock
habibie11 Jan 6, 2026
7fe087b
buat helper, sesuaikan semua penggunaan daterangepicker
habibie11 Feb 19, 2026
f50db3d
test
habibie11 Feb 19, 2026
9697cdb
Merge remote-tracking branch 'origin/master' into rilis-dev
pandigresik Feb 20, 2026
aa25baf
Perbaiki tampilan pengaturan dasar di pantau
pandigresik Feb 20, 2026
22785c2
penambahan halaman aktif pbb
habibie11 Feb 20, 2026
dd439f8
optimasi query
habibie11 Feb 21, 2026
6b52c2e
Merge branch 'rilis-dev' into dev-615
vickyrolanda Feb 27, 2026
716907c
[ci skip] memutahirkan catatan rilis
vickyrolanda Feb 27, 2026
615f70a
Perbaiki tanggal dinamis di config (#616)
vickyrolanda Feb 27, 2026
3279440
Merge branch 'rilis-dev' into dev-619
vickyrolanda Feb 28, 2026
3a45989
[ci skip] memutahirkan catatan rilis
vickyrolanda Feb 28, 2026
6b8cb05
Perbaiki tampilan pengaturan dasar di pantau (#621)
vickyrolanda Feb 28, 2026
0c271b5
Merge branch 'rilis-dev' into aktif-pbb
vickyrolanda Feb 28, 2026
a45020a
[ci skip] memutahirkan catatan rilis
vickyrolanda Feb 28, 2026
e5dbc29
Penambahan Halaman PBB Pengguna Aktif (#622)
vickyrolanda Feb 28, 2026
e8adb3a
Merge branch 'rilis-dev' into optimasi-desaaktif-504
vickyrolanda Feb 28, 2026
d23aa26
Optimasi Query Laporan Desa Aktif (#623)
vickyrolanda Feb 28, 2026
55ebf3c
[ci skip] memutahirkan catatan rilis
vickyrolanda Feb 28, 2026
4c6801d
Merge branch 'optimasi-desaaktif-504' into rilis-dev
vickyrolanda Feb 28, 2026
4824f09
Merge branch 'rilis-dev' into 605-security
vickyrolanda Mar 5, 2026
9512372
[ci skip] memutahirkan catatan rilis
vickyrolanda Mar 5, 2026
8cad153
Update keamanan package/library npm dan composer (#606)
vickyrolanda Mar 5, 2026
055f0b8
Rilis v2603.0.0
pandigresik Mar 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/Helpers/helper.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
*/
function pantau_versi()
{
return 'v2601.0.0';
return 'v2603.0.0';
}
}

Expand Down
93 changes: 92 additions & 1 deletion app/Http/Controllers/LaporanDesaAktifController.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,102 @@ public function index(Request $request)
if ($request->ajax()) {
$_30HariLalu = Carbon::now()->subDays(30);

return DataTables::of(Desa::fillter($fillters)->withCount(['akses' => static fn ($q) => $q->where('created_at', '>=', $_30HariLalu)])->where('updated_at', '>=', $_30HariLalu))
$query = Desa::query()
->select([
'desa.id',
'desa.nama_desa',
'desa.jml_surat_tte',
'desa.jml_mandiri',
'desa.jml_artikel',
'desa.jml_dokumen',
'desa.kode_provinsi',
'desa.kode_kabupaten',
'desa.kode_kecamatan',
'desa.versi_lokal',
'desa.versi_hosting',
'desa.tgl_akses_lokal',
'desa.tgl_akses_hosting',
'desa.modul_tte',
'desa.updated_at',
])
->selectRaw(
'(SELECT COUNT(*) FROM akses WHERE akses.desa_id = desa.id AND akses.created_at >= ?) as akses_count',
[$_30HariLalu]
)
->where('desa.updated_at', '>=', $_30HariLalu);

$this->applyFilters($query, $fillters);

return DataTables::of($query)
->addIndexColumn()
->make(true);
}

return view('laporan.desa_aktif', compact('fillters'));
}

/**
* Apply filters directly without calling scopeFillter (which overrides SELECT with *).
*/
private function applyFilters($query, array $fillters): void
{
$fillters = array_merge([
'kode_provinsi' => null,
'kode_kabupaten' => null,
'kode_kecamatan' => null,
'akses' => null,
'status' => null,
'versi_lokal' => null,
'versi_hosting' => null,
'tte' => null,
], $fillters);

$query
->when($fillters['kode_provinsi'] ?? false, function ($q, $kode_provinsi) {
$q->where('desa.kode_provinsi', $kode_provinsi);
})
->when($fillters['kode_kabupaten'] ?? false, function ($q, $kode_kabupaten) {
$q->where('desa.kode_kabupaten', $kode_kabupaten);
})
->when($fillters['kode_kecamatan'] ?? false, function ($q, $kode_kecamatan) {
$q->where('desa.kode_kecamatan', $kode_kecamatan);
})
->when($fillters['status'] == 1, function ($q) {
$q->whereNotNull('desa.versi_hosting')->whereNull('desa.versi_lokal');
})
->when($fillters['status'] == 2, function ($q) {
$q->whereNotNull('desa.versi_lokal')->whereNull('desa.versi_hosting');
})
->when($fillters['status'] == 3, function ($q) {
$q->where(function ($sub) {
$version = lastrelease_opensid();
$sub->where('desa.versi_hosting', 'LIKE', $version . '-premium%')
->orWhere('desa.versi_lokal', 'LIKE', $version . '-premium%');
});
})
->when($fillters['akses'] == 1, function ($q) {
$q->whereRaw('timestampdiff(month, greatest(coalesce(desa.tgl_akses_lokal, 0), coalesce(desa.tgl_akses_hosting, 0)), now()) > 1');
})
->when($fillters['akses'] == 2, function ($q) {
$q->whereRaw('timestampdiff(month, greatest(coalesce(desa.tgl_akses_lokal, 0), coalesce(desa.tgl_akses_hosting, 0)), now()) <= 1');
})
->when($fillters['akses'] == 3, function ($q) {
$q->whereRaw('timestampdiff(month, greatest(coalesce(desa.tgl_akses_lokal, 0), coalesce(desa.tgl_akses_hosting, 0)), now()) > 3');
})
->when($fillters['akses'] == 4, function ($q) {
$q->whereRaw('greatest(coalesce(desa.tgl_akses_lokal, 0), coalesce(desa.tgl_akses_hosting, 0)) >= now() - interval 7 day');
})
->when($fillters['akses'] == 5, function ($q) {
$q->whereRaw("desa.versi_lokal <> '' and desa.versi_hosting is null and coalesce(desa.tgl_akses_lokal, 0) >= now() - interval 7 day");
})
->when($fillters['versi_lokal'], function ($q, $versi) {
$q->where('desa.versi_lokal', $versi);
})
->when($fillters['versi_hosting'], function ($q, $versi) {
$q->where('desa.versi_hosting', $versi);
})
->when(in_array($fillters['tte'], ['1', '0']), function ($q) use ($fillters) {
$q->where('desa.modul_tte', $fillters['tte']);
});
}
}
48 changes: 48 additions & 0 deletions app/Http/Controllers/PenggunaAktifPbbController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?php

namespace App\Http\Controllers;

use App\Models\Pbb;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Yajra\DataTables\Facades\DataTables;

class PenggunaAktifPbbController extends Controller
{
public function index(Request $request)
{
$fillters = [
'kode_provinsi' => $request->kode_provinsi,
'kode_kabupaten' => $request->kode_kabupaten,
'kode_kecamatan' => $request->kode_kecamatan,
'akses_opendk' => $request->akses_opendk,
'versi_opendk' => $request->versi_opendk,
];

if ($request->ajax()) {
$_30HariLalu = Carbon::now()->subDays(30);

$query = Pbb::wilayahkhusus()
->where('updated_at', '>=', $_30HariLalu)
->filterDatatable($fillters)
->select([
'id',
'nama_desa',
'nama_kecamatan',
'nama_kabupaten',
'nama_provinsi',
'versi',
'updated_at',
]);

return DataTables::of($query)
->addIndexColumn()
->addColumn('akses_terakhir', function ($data) {
return $data->updated_at ? $data->updated_at->format('Y-m-d H:i:s') : '-';
})
->make(true);
}

return view('pbb.pengguna_aktif', compact('fillters'));
}
}
10 changes: 7 additions & 3 deletions catatan_rilis.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
Di rilis v2601.0.0 berisi perbaikan yang diminta Komunitas Open Desa.
Di rilis v2603.0.0 berisi perbaikan yang diminta Komunitas Open Desa.

#### Penambahan Fitur

1. [#620](https://github.com/OpenSID/pantau/issues/620) Penambahan halaman PBB Pengguna Aktif.

#### Perbaikan Bug

1. [#615](https://github.com/OpenSID/pantau/issues/615) Perbaikan tanggal dinamis di config.
2. [#618](https://github.com/OpenSID/pantau/issues/618) Perbaikan Optimasi Query Laporan Desa Aktif


#### Penyesuaian Teknis

1. [#599](https://github.com/OpenSID/pantau/issues/599) Known security vulnerabilities detected.
2. [#598](https://github.com/OpenSID/pantau/issues/598) Sembunyikan kolom URL untuk pengguna yang tidak login.
1. [#619](https://github.com/OpenSID/pantau/issues/619) Perbaikan tampilan pengaturan dasar di pantau.
2. [#605](https://github.com/OpenSID/pantau/issues/605) Update keamanan package/library npm dan composer.
1 change: 1 addition & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"license": "MIT",
"require": {
"php": "^8.1",
"aws/aws-sdk-php": "3.368.0",
"doctrine/dbal": "^3.6",
"guzzlehttp/guzzle": "^7.2",
"jeroennoten/laravel-adminlte": "^3.13",
Expand Down
Loading