[Add] Menambah fitur Log Activity #1334
Open
+1,471
−20
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

Pull Request untuk Issue Penambahan fitur Logi Aktivitas #1324
Dokumentasi Fitur Log Aktivitas OpenDK
Overview
Fitur Log Aktivitas OpenDK menggunakan package Spatie Activity Log untuk mencatat semua aktivitas pengguna dalam sistem. Fitur ini memungkinkan administrator untuk memantau dan melacak semua perubahan yang terjadi dalam aplikasi.
Fitur Utama
Usersecara otomatis mencatat perubahan (create, update, delete).Implementasi Teknis
Best Practice Pencatatan Log
Struktur ideal untuk mencatat log secara manual adalah sebagai berikut:
Contoh Implementasi di Controller
LoginController (
authenticated&logout)UserController (
store&update)Frontend
Urutan Pemuatan Script
Untuk menghindari error JavaScript, semua script custom untuk halaman ini harus dimuat di dalam
@push('scripts')agar dieksekusi setelah jQuery dan DataTables siap.Modal Detail
Modal detail akan menampilkan data dari server, termasuk
ip_addressdanuser_agentyang diambil dari kolompropertiespada log.Troubleshooting
Berikut adalah beberapa masalah umum yang mungkin terjadi dan solusinya.
Masalah: Tabel log aktivitas kosong dan di console muncul error
Uncaught TypeError: $ is not a function.@push('scripts')di file view Blade.Masalah: Kolom
EventatauSubjectmenampilkanN/A.event()atauperformedOn()tidak dipanggil.activity()menyertakan->event('nama_event')dan->performedOn($model)jika relevan.Masalah: Saat klik tombol "Detail", muncul error
Cannot read properties of undefined (reading 'ip_address').propertiesatau tidak berisiip_address. Kode JavaScript mencoba membaca properti dari objek yangundefined.var properties = response.properties || {};.Masalah: Di console muncul error CORS saat mencoba memuat file
Indonesian.jsondari CDN.opendk.test).Indonesian.jsondan simpan secara lokal di dalam direktoripublic/, lalu ubah URL di konfigurasi DataTables untuk menunjuk ke file lokal tersebut.API Endpoints
Get Activity Logs Data
GET /setting/info-sistem/activity-logs/dataaction(optional) - Filter by event typeuser_id(optional) - Filter by userdate_from(optional) - Start date filterdate_to(optional) - End date filterGet Activity Log Detail
GET /setting/info-sistem/activity-logs/detail/{id}Maintenance
Performance Considerations
Security
Permission Control
super-adminatauadministrator-websiteyang bisa aksesData Privacy
Troubleshooting
Common Issues
Log tidak muncul
LogsActivitytraitgetActivitylogOptions()configurationPerformance lambat
Memory issues
Future Enhancements
Testing
Manual Testing
Verification
SELECT * FROM activity_log ORDER BY created_at DESC LIMIT 10;http://localhost:8000/setting/info-sistem