From 8b833e7295463b8b83ea9d35d49748218afc1238 Mon Sep 17 00:00:00 2001 From: Pringgosutono Date: Tue, 21 Oct 2025 03:18:05 +0700 Subject: [PATCH] update user logs --- app/Http/Controllers/UserLogsController.php | 14 +++++-- resources/views/menu_v1/roles.blade.php | 10 +++-- resources/views/menu_v1/userLogs.blade.php | 42 ++++++++++++++++++--- resources/views/template/navbar.blade.php | 27 +++++++++---- 4 files changed, 72 insertions(+), 21 deletions(-) diff --git a/app/Http/Controllers/UserLogsController.php b/app/Http/Controllers/UserLogsController.php index fe1d771..c9e194c 100644 --- a/app/Http/Controllers/UserLogsController.php +++ b/app/Http/Controllers/UserLogsController.php @@ -17,6 +17,7 @@ use App\Models\ConfTruckTypes; use App\Models\Vehicles; use App\Models\UserLogs; use Auth; +use App\Models\Users; class UserLogsController extends Controller { @@ -26,9 +27,11 @@ class UserLogsController extends Controller public function view_user_logs(Request $req) { - $data = []; + $users = Users::listUsers(); + $data = [ + "users" => $users, + ]; - $log = [ "module" => "User Logs", "action" => "View", @@ -42,13 +45,16 @@ class UserLogsController extends Controller try { $tgl0 = $req->tgl0; $tgl1 = $req->tgl1; + $userId = $req->userId; - $d = [$tgl0, $tgl1]; + $d = [$tgl0, $tgl1, $userId, $userId]; $list = DB::select("SELECT a.*, b.email FROM t_user_log a join t_users b on a.userId = b.id - WHERE a.crt BETWEEN ? AND ? + WHERE + a.crt BETWEEN ? AND ? + and if(? , a.userId = ? , 1=1) order by a.crt desc ", $d); diff --git a/resources/views/menu_v1/roles.blade.php b/resources/views/menu_v1/roles.blade.php index 13333a2..d10bda8 100755 --- a/resources/views/menu_v1/roles.blade.php +++ b/resources/views/menu_v1/roles.blade.php @@ -86,8 +86,9 @@ ($module == 'config_distribution_category' ? 'Config Distribution Category' : ($module == 'config_pool' ? 'Config Pool' : ($module == 'report_vehicle_trip' ? 'Report Vehicle Trip' : - ($module == 'report_abnormality' ? 'Report Abnormality' : $module - )))))))) + ($module == 'report_abnormality' ? 'Report Abnormality' : + ($module == 'user_logs' ? 'Config User Activity' : $module + ))))))))) }}
@@ -145,8 +146,9 @@ ($module == 'config_distribution_category' ? 'Config Distribution Category' : ($module == 'config_pool' ? 'Config Pool' : ($module == 'report_vehicle_trip' ? 'Report Vehicle Trip' : - ($module == 'report_abnormality' ? 'Report Abnormality' : $module - )))))))) + ($module == 'report_abnormality' ? 'Report Abnormality' : + ($module == 'user_logs' ? 'Config User Activity' : $module + ))))))))) }}
diff --git a/resources/views/menu_v1/userLogs.blade.php b/resources/views/menu_v1/userLogs.blade.php index 2885184..1cc15ef 100644 --- a/resources/views/menu_v1/userLogs.blade.php +++ b/resources/views/menu_v1/userLogs.blade.php @@ -5,7 +5,7 @@ @extends('app.app') @section('title') - Vehicles Trip Report + User Activity @endsection @section('customcss') @@ -24,7 +24,7 @@
-

User Logs

+

User Activity

@@ -49,9 +49,23 @@
+
+
+ + +
+
+
+ +
@@ -93,8 +107,6 @@ const Wrapper = { activate: function() { - console.log("activate"); - Wrapper.init(); Wrapper.event(); DTable.activate(); @@ -115,6 +127,10 @@ $('#submitFilter').on('click', function() { DTable.reload(); }); + // Trigger export on external button click + $('#btnDownloadReport').on('click', function() { + DTable.table.button('.buttons-excel').trigger(); + }); }, }; @@ -125,7 +141,6 @@ DTable.reload(); }, reload: function() { - console.log("DTable.reload"); // Abort the last request if it's still running if (DTable.lastAjax) { DTable.lastAjax.abort(); @@ -155,6 +170,7 @@ url: `{{ route('api_user_logs') }}? tgl0=${moment($('#tgl0').val(), "DD-MM-YYYY HH:mm").unix()} &tgl1=${moment($('#tgl1').val(), "DD-MM-YYYY HH:mm").unix()} + &userId=${$('#filterUser').val() || ''} `, type: 'GET', success: function(json) { @@ -222,6 +238,22 @@ }, ], paging: false, + buttons: [ + { + extend: 'excelHtml5', + title: () => { + return ` + User Activity Report - + ${moment($('#tgl0').val(), "DD-MM-YYYY HH:mm").format('DD MMM YYYY HH:mm')} + to + ${moment($('#tgl1').val(), "DD-MM-YYYY HH:mm").format('DD MMM YYYY HH:mm')}` + }, + className: 'd-none', // hide default button + // exportOptions: { + // columns: ':visible:not(:last-child)' // + // } + } + ] }); }, }; diff --git a/resources/views/template/navbar.blade.php b/resources/views/template/navbar.blade.php index c35075e..4edcc6e 100755 --- a/resources/views/template/navbar.blade.php +++ b/resources/views/template/navbar.blade.php @@ -61,7 +61,14 @@ @endif - @if (auth()->user()->can('config_truck_type.view') || auth()->user()->can('config_master_device.view') || auth()->user()->can('config_logs_gps.view')) + @if ( + auth()->user()->can('config_truck_type.view') || + auth()->user()->can('config_master_device.view') || + auth()->user()->can('config_logs_gps.view') || + auth()->user()->can('config_distribution_category.view') || + auth()->user()->can('config_pool.view') || + auth()->user()->can('user_logs.view') + ) @endcan + @can('user_logs.view') +
  • + User Activity +
  • + + + @endcan @endif @@ -116,13 +134,6 @@ @endcan - @can('user_logs.view') - - @endcan @can('role.view')