user logs
This commit is contained in:
@ -13,6 +13,7 @@ use App\Models\Users;
|
|||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Validation\ValidationException;
|
use Illuminate\Validation\ValidationException;
|
||||||
|
use App\Models\UserLogs;
|
||||||
|
|
||||||
class LoginController extends Controller
|
class LoginController extends Controller
|
||||||
{
|
{
|
||||||
@ -143,6 +144,7 @@ class LoginController extends Controller
|
|||||||
// return $req->wantsJson()
|
// return $req->wantsJson()
|
||||||
// ? new JsonResponse([], 204)
|
// ? new JsonResponse([], 204)
|
||||||
// : redirect(route('view_dashboard'));
|
// : redirect(route('view_dashboard'));
|
||||||
|
UserLogs::insert(Auth::user()->id, "User login");
|
||||||
|
|
||||||
if ($req->wantsJson()) {
|
if ($req->wantsJson()) {
|
||||||
return new JsonResponse([], 204);
|
return new JsonResponse([], 204);
|
||||||
@ -173,7 +175,9 @@ class LoginController extends Controller
|
|||||||
public function logout(Request $req)
|
public function logout(Request $req)
|
||||||
{
|
{
|
||||||
$user = Auth::user();
|
$user = Auth::user();
|
||||||
if ($user->role == Users::ROLE_ADMIN) {
|
UserLogs::insert(Auth::user()->id, "User logout");
|
||||||
|
|
||||||
|
if ($user->role == Users::ROLE_ADMIN) {
|
||||||
$this->guard()->logout();
|
$this->guard()->logout();
|
||||||
$req->session()->invalidate();
|
$req->session()->invalidate();
|
||||||
$req->session()->regenerateToken();
|
$req->session()->regenerateToken();
|
||||||
|
|||||||
@ -12,6 +12,8 @@ use App\Responses;
|
|||||||
use App\Helper;
|
use App\Helper;
|
||||||
use App\Models\Clients;
|
use App\Models\Clients;
|
||||||
use App\Models\Users;
|
use App\Models\Users;
|
||||||
|
use App\Models\UserLogs;
|
||||||
|
use Auth;
|
||||||
|
|
||||||
class ClientController extends Controller
|
class ClientController extends Controller
|
||||||
{
|
{
|
||||||
@ -25,6 +27,7 @@ class ClientController extends Controller
|
|||||||
$data = [
|
$data = [
|
||||||
"disc_types" => Clients::select2DiscountTypes(),
|
"disc_types" => Clients::select2DiscountTypes(),
|
||||||
];
|
];
|
||||||
|
UserLogs::insert(Auth::user()->id, "Access Company menu");
|
||||||
return view("menu_v1.clients", $data);
|
return view("menu_v1.clients", $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -250,6 +253,7 @@ class ClientController extends Controller
|
|||||||
$apiResp = Responses::created("success add new client");
|
$apiResp = Responses::created("success add new client");
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
UserLogs::insert(Auth::user()->id, "Add new company: ".$req->cname);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
Storage::disk("public")->delete($url_clogo);
|
Storage::disk("public")->delete($url_clogo);
|
||||||
@ -481,6 +485,7 @@ class ClientController extends Controller
|
|||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
$apiResp = Responses::success("success update client");
|
$apiResp = Responses::success("success update client");
|
||||||
|
UserLogs::insert(Auth::user()->id, "Edit company: ".$req->cname);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
Storage::disk("public")->delete($url_clogo);
|
Storage::disk("public")->delete($url_clogo);
|
||||||
@ -541,6 +546,7 @@ class ClientController extends Controller
|
|||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
$apiResp = Responses::success("success delete client");
|
$apiResp = Responses::success("success delete client");
|
||||||
|
UserLogs::insert(Auth::user()->id, "Delete company: ".$client[0]->c_name);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
|
|||||||
@ -15,6 +15,8 @@ use App\Helper;
|
|||||||
use App\Models\ConfRates;
|
use App\Models\ConfRates;
|
||||||
use App\Models\ConfTruckTypes;
|
use App\Models\ConfTruckTypes;
|
||||||
use App\Models\Vehicles;
|
use App\Models\Vehicles;
|
||||||
|
use App\Models\UserLogs;
|
||||||
|
use Auth;
|
||||||
|
|
||||||
class ConfDistributionController extends Controller
|
class ConfDistributionController extends Controller
|
||||||
{
|
{
|
||||||
@ -26,6 +28,7 @@ class ConfDistributionController extends Controller
|
|||||||
{
|
{
|
||||||
$data = [];
|
$data = [];
|
||||||
|
|
||||||
|
UserLogs::insert(Auth::user()->id, "Access Distribution Category menu");
|
||||||
return view("menu_v1.configs.distribution_category", $data);
|
return view("menu_v1.configs.distribution_category", $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,6 +102,7 @@ class ConfDistributionController extends Controller
|
|||||||
$apiResp = Responses::created("success " . ($tipe == "new" ? "add new" : "edit") . " distribution category");
|
$apiResp = Responses::created("success " . ($tipe == "new" ? "add new" : "edit") . " distribution category");
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
UserLogs::insert(Auth::user()->id, "".($tipe == "new" ? "Add new" : "Edit")." distribution category: ".$req->dc_name);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
@ -200,6 +204,7 @@ class ConfDistributionController extends Controller
|
|||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
$apiResp = Responses::success("success delete vehicle type");
|
$apiResp = Responses::success("success delete vehicle type");
|
||||||
|
UserLogs::insert(Auth::user()->id, "Delete distribution category: ".$dtl[0]->dc_name);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
|
|||||||
@ -15,6 +15,8 @@ use App\Helper;
|
|||||||
use App\Models\ConfRates;
|
use App\Models\ConfRates;
|
||||||
use App\Models\ConfTruckTypes;
|
use App\Models\ConfTruckTypes;
|
||||||
use App\Models\Vehicles;
|
use App\Models\Vehicles;
|
||||||
|
use App\Models\UserLogs;
|
||||||
|
use Auth;
|
||||||
|
|
||||||
class ConfPoolController extends Controller
|
class ConfPoolController extends Controller
|
||||||
{
|
{
|
||||||
@ -26,6 +28,7 @@ class ConfPoolController extends Controller
|
|||||||
{
|
{
|
||||||
$data = [];
|
$data = [];
|
||||||
|
|
||||||
|
UserLogs::insert(Auth::user()->id, "Access Pool menu");
|
||||||
return view("menu_v1.configs.pool", $data);
|
return view("menu_v1.configs.pool", $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,6 +102,7 @@ class ConfPoolController extends Controller
|
|||||||
$apiResp = Responses::created("success " . ($tipe == "new" ? "add new" : "edit") . " distribution category");
|
$apiResp = Responses::created("success " . ($tipe == "new" ? "add new" : "edit") . " distribution category");
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
UserLogs::insert(Auth::user()->id, ($tipe == "new" ? "Add new" : "Edit")." pool: ".$req->pool_name);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
@ -200,6 +204,7 @@ class ConfPoolController extends Controller
|
|||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
$apiResp = Responses::success("success delete vehicle type");
|
$apiResp = Responses::success("success delete vehicle type");
|
||||||
|
UserLogs::insert(Auth::user()->id, "Delete pool: ".$dtl[0]->pool_name);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
|
|||||||
@ -15,6 +15,8 @@ use App\Helper;
|
|||||||
use App\Models\ConfRates;
|
use App\Models\ConfRates;
|
||||||
use App\Models\ConfTruckTypes;
|
use App\Models\ConfTruckTypes;
|
||||||
use App\Models\Vehicles;
|
use App\Models\Vehicles;
|
||||||
|
use App\Models\UserLogs;
|
||||||
|
use Auth;
|
||||||
|
|
||||||
class ConfTruckTypeController extends Controller
|
class ConfTruckTypeController extends Controller
|
||||||
{
|
{
|
||||||
@ -26,6 +28,7 @@ class ConfTruckTypeController extends Controller
|
|||||||
{
|
{
|
||||||
$data = [];
|
$data = [];
|
||||||
|
|
||||||
|
UserLogs::insert(Auth::user()->id, "Access Vehicle Type menu");
|
||||||
return view("menu_v1.configs.truck_types", $data);
|
return view("menu_v1.configs.truck_types", $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,6 +166,7 @@ class ConfTruckTypeController extends Controller
|
|||||||
$apiResp = Responses::created("success add new vehicle type");
|
$apiResp = Responses::created("success add new vehicle type");
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
UserLogs::insert(Auth::user()->id, "Add new vehicle type: ".$req->type_name);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
@ -256,6 +260,7 @@ class ConfTruckTypeController extends Controller
|
|||||||
$apiResp = Responses::created("success update vehicle type");
|
$apiResp = Responses::created("success update vehicle type");
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
UserLogs::insert(Auth::user()->id, "Edit vehicle type: ".$req->type_name);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
@ -310,6 +315,7 @@ class ConfTruckTypeController extends Controller
|
|||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
$apiResp = Responses::success("success delete vehicle type");
|
$apiResp = Responses::success("success delete vehicle type");
|
||||||
|
UserLogs::insert(Auth::user()->id, "Delete vehicle type: ".$truckType[0]->name);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
|
|||||||
@ -11,6 +11,8 @@ use App\Responses;
|
|||||||
use App\Helper;
|
use App\Helper;
|
||||||
use App\Models\Devices;
|
use App\Models\Devices;
|
||||||
use App\Models\Vehicles;
|
use App\Models\Vehicles;
|
||||||
|
use App\Models\UserLogs;
|
||||||
|
use Auth;
|
||||||
|
|
||||||
class DevicesController extends Controller
|
class DevicesController extends Controller
|
||||||
{
|
{
|
||||||
@ -20,6 +22,7 @@ class DevicesController extends Controller
|
|||||||
$data = [
|
$data = [
|
||||||
"vhcs" => $vhcs,
|
"vhcs" => $vhcs,
|
||||||
];
|
];
|
||||||
|
UserLogs::insert(Auth::user()->id, "Access Device menu");
|
||||||
return view("menu_v1.configs.devices", $data);
|
return view("menu_v1.configs.devices", $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -202,6 +205,7 @@ class DevicesController extends Controller
|
|||||||
$apiResp = Responses::created("success add new device");
|
$apiResp = Responses::created("success add new device");
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
UserLogs::insert(Auth::user()->id, "Add new device : ".$device_id);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
@ -354,6 +358,7 @@ class DevicesController extends Controller
|
|||||||
$apiResp = Responses::created("success update device");
|
$apiResp = Responses::created("success update device");
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
UserLogs::insert(Auth::user()->id, "Edit device : ".$device_id);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
@ -403,6 +408,7 @@ class DevicesController extends Controller
|
|||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
$apiResp = Responses::success("success delete device");
|
$apiResp = Responses::success("success delete device");
|
||||||
|
UserLogs::insert(Auth::user()->id, "Delete device : ".$device[0]->device_id);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
|
|||||||
@ -16,6 +16,7 @@ use App\Models\Drivers;
|
|||||||
use App\Models\DriversDetail;
|
use App\Models\DriversDetail;
|
||||||
use App\Models\Users;
|
use App\Models\Users;
|
||||||
use App\Models\DrvPhoneDevices;
|
use App\Models\DrvPhoneDevices;
|
||||||
|
use App\Models\UserLogs;
|
||||||
|
|
||||||
class DriversController extends Controller
|
class DriversController extends Controller
|
||||||
{
|
{
|
||||||
@ -252,6 +253,7 @@ class DriversController extends Controller
|
|||||||
$apiResp = Responses::created("success add new driver");
|
$apiResp = Responses::created("success add new driver");
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
UserLogs::insert(Auth::user()->id, "Add new driver : ".$req->fullname);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
Storage::disk("public")->delete($url_ktp);
|
Storage::disk("public")->delete($url_ktp);
|
||||||
@ -451,6 +453,7 @@ class DriversController extends Controller
|
|||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
$apiResp = Responses::success("success update driver");
|
$apiResp = Responses::success("success update driver");
|
||||||
|
UserLogs::insert(Auth::user()->id, "Edit driver : ".$req->fullname);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
Storage::disk("public")->delete($url_ktp);
|
Storage::disk("public")->delete($url_ktp);
|
||||||
@ -501,6 +504,7 @@ class DriversController extends Controller
|
|||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
$apiResp = Responses::success("success delete driver");
|
$apiResp = Responses::success("success delete driver");
|
||||||
|
UserLogs::insert(Auth::user()->id, "Delete driver : ".$driver[0]->fullname);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
|
|||||||
@ -30,12 +30,16 @@ use App\Models\Finance;
|
|||||||
use App\Models\OrdersCheckpoints;
|
use App\Models\OrdersCheckpoints;
|
||||||
use App\Models\OrdersInvoices;
|
use App\Models\OrdersInvoices;
|
||||||
use App\Models\OrdersDriversUploads;
|
use App\Models\OrdersDriversUploads;
|
||||||
|
use App\Models\UserLogs;
|
||||||
|
use Auth;
|
||||||
|
|
||||||
class MenuController extends Controller
|
class MenuController extends Controller
|
||||||
{
|
{
|
||||||
public function view_dashboard(Request $req)
|
public function view_dashboard(Request $req)
|
||||||
{
|
{
|
||||||
$data = [
|
UserLogs::insert($req->auth->uid, "Access Dashboard menu");
|
||||||
|
|
||||||
|
$data = [
|
||||||
"client_group" => Clients::getClientById($req->auth->client_group_id),
|
"client_group" => Clients::getClientById($req->auth->client_group_id),
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -45,12 +49,15 @@ class MenuController extends Controller
|
|||||||
$data["client_group"] = null;
|
$data["client_group"] = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return view("menu_v1.dashboard", $data);
|
return view("menu_v1.dashboard", $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function view_drivers(Request $req)
|
public function view_drivers(Request $req)
|
||||||
{
|
{
|
||||||
$data = [
|
UserLogs::insert($req->auth->uid, "Access Driver menu");
|
||||||
|
|
||||||
|
$data = [
|
||||||
"bloods" => Helper::listBloods(),
|
"bloods" => Helper::listBloods(),
|
||||||
"relationships" => Drivers::listRelationships(),
|
"relationships" => Drivers::listRelationships(),
|
||||||
"vendors" => Users::listUsersByRole(Users::ROLE_VENDOR),
|
"vendors" => Users::listUsersByRole(Users::ROLE_VENDOR),
|
||||||
@ -61,6 +68,8 @@ class MenuController extends Controller
|
|||||||
|
|
||||||
public function view_vehicles(Request $req)
|
public function view_vehicles(Request $req)
|
||||||
{
|
{
|
||||||
|
UserLogs::insert($req->auth->uid, "Access Vehicle menu");
|
||||||
|
|
||||||
$listPool = DB::select("SELECT * FROM t_conf_pool WHERE dlt IS NULL ORDER BY pool_code ASC");
|
$listPool = DB::select("SELECT * FROM t_conf_pool WHERE dlt IS NULL ORDER BY pool_code ASC");
|
||||||
$listDistribution = DB::select("SELECT * FROM t_conf_distribution_category WHERE dlt IS NULL ORDER BY dc_code ASC");
|
$listDistribution = DB::select("SELECT * FROM t_conf_distribution_category WHERE dlt IS NULL ORDER BY dc_code ASC");
|
||||||
|
|
||||||
@ -89,6 +98,8 @@ class MenuController extends Controller
|
|||||||
|
|
||||||
public function view_transactions()
|
public function view_transactions()
|
||||||
{
|
{
|
||||||
|
UserLogs::insert(Auth::user()->id, "Access Transactions menu");
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
"availOrdToMerge" => Finance::availOrdToMerge(),
|
"availOrdToMerge" => Finance::availOrdToMerge(),
|
||||||
];
|
];
|
||||||
@ -174,6 +185,9 @@ class MenuController extends Controller
|
|||||||
}
|
}
|
||||||
public function view_transactions_view(Request $req)
|
public function view_transactions_view(Request $req)
|
||||||
{
|
{
|
||||||
|
UserLogs::insert($req->auth->uid, "Access Transactions ".$req->code);
|
||||||
|
|
||||||
|
|
||||||
$codes = explode(",", $req->code);
|
$codes = explode(",", $req->code);
|
||||||
$limit = count($codes);
|
$limit = count($codes);
|
||||||
if ($limit > 2) {
|
if ($limit > 2) {
|
||||||
@ -335,6 +349,8 @@ class MenuController extends Controller
|
|||||||
|
|
||||||
public function view_logs_gps()
|
public function view_logs_gps()
|
||||||
{
|
{
|
||||||
|
UserLogs::insert(Auth::user()->id, "Access Logs GPS menu");
|
||||||
|
|
||||||
return view("menu_v1.configs.index_logs_gps");
|
return view("menu_v1.configs.index_logs_gps");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -18,6 +18,7 @@ use Maatwebsite\Excel\Concerns\WithStyles;
|
|||||||
use Maatwebsite\Excel\Concerns\WithCustomStartCell;
|
use Maatwebsite\Excel\Concerns\WithCustomStartCell;
|
||||||
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
|
use App\Models\UserLogs;
|
||||||
|
|
||||||
class ReportsController extends Controller
|
class ReportsController extends Controller
|
||||||
{
|
{
|
||||||
@ -30,6 +31,7 @@ class ReportsController extends Controller
|
|||||||
'listNopol' => $listNopol,
|
'listNopol' => $listNopol,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
UserLogs::insert(Auth::user()->id, "Access Vehicle Trips Report menu");
|
||||||
return view('menu_v1.reports.vehicle_trips', $data);
|
return view('menu_v1.reports.vehicle_trips', $data);
|
||||||
}
|
}
|
||||||
public function api_report_vehicle_trips_list(Request $req)
|
public function api_report_vehicle_trips_list(Request $req)
|
||||||
@ -298,6 +300,7 @@ class ReportsController extends Controller
|
|||||||
'listNopol' => $listNopol,
|
'listNopol' => $listNopol,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
UserLogs::insert(Auth::user()->id, "Access Abnormalities Report menu");
|
||||||
return view('menu_v1.reports.abnormalities', $data);
|
return view('menu_v1.reports.abnormalities', $data);
|
||||||
}
|
}
|
||||||
public function api_report_abnormalities_list(Request $req)
|
public function api_report_abnormalities_list(Request $req)
|
||||||
|
|||||||
@ -15,6 +15,8 @@ use App\Models\Vehicles;
|
|||||||
use App\Models\Banks;
|
use App\Models\Banks;
|
||||||
use App\Models\UsersMenuPermissions;
|
use App\Models\UsersMenuPermissions;
|
||||||
use Spatie\Permission\PermissionRegistrar;
|
use Spatie\Permission\PermissionRegistrar;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use App\Models\UserLogs;
|
||||||
|
|
||||||
class RolesController extends Controller
|
class RolesController extends Controller
|
||||||
{
|
{
|
||||||
@ -34,6 +36,8 @@ class RolesController extends Controller
|
|||||||
}),
|
}),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
UserLogs::insert(Auth::user()->id, "Access Role menu");
|
||||||
|
|
||||||
return view("menu_v1.roles", $data);
|
return view("menu_v1.roles", $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,6 +122,9 @@ class RolesController extends Controller
|
|||||||
app()[PermissionRegistrar::class]->forgetCachedPermissions();
|
app()[PermissionRegistrar::class]->forgetCachedPermissions();
|
||||||
|
|
||||||
$apiResp = Responses::created("success add new role");
|
$apiResp = Responses::created("success add new role");
|
||||||
|
|
||||||
|
UserLogs::insert(Auth::user()->id, "Add new role : ".$req->name);
|
||||||
|
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
@ -156,6 +163,7 @@ class RolesController extends Controller
|
|||||||
app()[PermissionRegistrar::class]->forgetCachedPermissions();
|
app()[PermissionRegistrar::class]->forgetCachedPermissions();
|
||||||
|
|
||||||
$apiResp = Responses::created("success update role");
|
$apiResp = Responses::created("success update role");
|
||||||
|
UserLogs::insert(Auth::user()->id, "Edit role : ".$req->name);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
@ -198,6 +206,7 @@ class RolesController extends Controller
|
|||||||
app()[PermissionRegistrar::class]->forgetCachedPermissions();
|
app()[PermissionRegistrar::class]->forgetCachedPermissions();
|
||||||
|
|
||||||
$apiResp = Responses::created("success delete role");
|
$apiResp = Responses::created("success delete role");
|
||||||
|
UserLogs::insert(Auth::user()->id, "Delete role : ".$role[0]->name);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
|
|||||||
@ -15,6 +15,8 @@ use App\Models\Clients;
|
|||||||
use App\Models\Vehicles;
|
use App\Models\Vehicles;
|
||||||
use App\Models\Banks;
|
use App\Models\Banks;
|
||||||
use App\Models\UsersMenuPermissions;
|
use App\Models\UsersMenuPermissions;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use App\Models\UserLogs;
|
||||||
|
|
||||||
class UsersController extends Controller
|
class UsersController extends Controller
|
||||||
{
|
{
|
||||||
@ -50,6 +52,8 @@ class UsersController extends Controller
|
|||||||
$data["clients"] = Clients::select2Client($req->auth->client_group_id);
|
$data["clients"] = Clients::select2Client($req->auth->client_group_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UserLogs::insert(Auth::user()->id, "Access User menu");
|
||||||
|
|
||||||
return view("menu_v1.users", $data);
|
return view("menu_v1.users", $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -328,6 +332,9 @@ class UsersController extends Controller
|
|||||||
$apiResp = Responses::created("success add new user");
|
$apiResp = Responses::created("success add new user");
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
|
UserLogs::insert(Auth::user()->id, "Add new user : ".$req->email);
|
||||||
|
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
@ -529,7 +536,10 @@ class UsersController extends Controller
|
|||||||
$apiResp = Responses::created("success update user");
|
$apiResp = Responses::created("success update user");
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
|
||||||
|
UserLogs::insert(Auth::user()->id, "Edit user : ".$req->email);
|
||||||
|
|
||||||
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
$apiResp = Responses::error($e->getMessage());
|
$apiResp = Responses::error($e->getMessage());
|
||||||
@ -710,6 +720,9 @@ class UsersController extends Controller
|
|||||||
$apiResp = Responses::created("success delete user");
|
$apiResp = Responses::created("success delete user");
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
|
UserLogs::insert(Auth::user()->id, "Delete user : ".$getUser[0]->email);
|
||||||
|
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
@ -776,4 +789,38 @@ class UsersController extends Controller
|
|||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function view_user_logs(Request $req)
|
||||||
|
{
|
||||||
|
$id = $req->id;
|
||||||
|
|
||||||
|
$user = Users::getUserById($id)[0];
|
||||||
|
$data = [
|
||||||
|
'user' => $user
|
||||||
|
];
|
||||||
|
// dd($dtl);
|
||||||
|
return view('menu_v1._userLogs', $data);
|
||||||
|
}
|
||||||
|
public function api_user_logs(Request $req)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$id = $req->id;
|
||||||
|
$tgl0 = $req->tgl0;
|
||||||
|
$tgl1 = $req->tgl1;
|
||||||
|
|
||||||
|
$d = [$id, $tgl0, $tgl1];
|
||||||
|
$list = DB::select("SELECT * FROM t_user_log
|
||||||
|
WHERE userId = ? AND crt BETWEEN ? AND ?
|
||||||
|
order by crt desc
|
||||||
|
", $d);
|
||||||
|
|
||||||
|
$apiResp = Responses::success("success user logs");
|
||||||
|
$apiResp["data"] = $list;
|
||||||
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
DB::rollBack();
|
||||||
|
$apiResp = Responses::error($e->getMessage());
|
||||||
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,6 +15,7 @@ use App\Models\Vehicles;
|
|||||||
use App\Models\Devices;
|
use App\Models\Devices;
|
||||||
use App\Models\VehiclesDetail;
|
use App\Models\VehiclesDetail;
|
||||||
use App\Models\Users;
|
use App\Models\Users;
|
||||||
|
use App\Models\UserLogs;
|
||||||
|
|
||||||
class VehiclesController extends Controller
|
class VehiclesController extends Controller
|
||||||
{
|
{
|
||||||
@ -330,7 +331,10 @@ class VehiclesController extends Controller
|
|||||||
$apiResp = Responses::created("success add new vehicle");
|
$apiResp = Responses::created("success add new vehicle");
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
|
||||||
|
UserLogs::insert(Auth::user()->id, "Add new vehicle : ".$req->vhc_name);
|
||||||
|
|
||||||
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
Storage::disk("public")->delete($url_fvhc);
|
Storage::disk("public")->delete($url_fvhc);
|
||||||
Storage::disk("public")->delete($url_stnk);
|
Storage::disk("public")->delete($url_stnk);
|
||||||
@ -589,6 +593,7 @@ class VehiclesController extends Controller
|
|||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
$apiResp = Responses::success("success update vehicle");
|
$apiResp = Responses::success("success update vehicle");
|
||||||
|
UserLogs::insert(Auth::user()->id, "Edit vehicle : ".$req->vhc_name);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
Storage::disk("public")->delete($url_fvhc);
|
Storage::disk("public")->delete($url_fvhc);
|
||||||
@ -646,6 +651,7 @@ class VehiclesController extends Controller
|
|||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
$apiResp = Responses::success("success delete vehicle");
|
$apiResp = Responses::success("success delete vehicle");
|
||||||
|
UserLogs::insert(Auth::user()->id, "Delete vehicle : ".$vehicle[0]->name);
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
|
|||||||
@ -17,6 +17,8 @@ use App\Models\Orders;
|
|||||||
use App\Models\OrdersDrops;
|
use App\Models\OrdersDrops;
|
||||||
// use App\Models\OrdersPckDrop;
|
// use App\Models\OrdersPckDrop;
|
||||||
use App\Models\OrdersAItems;
|
use App\Models\OrdersAItems;
|
||||||
|
use App\Models\UserLogs;
|
||||||
|
|
||||||
|
|
||||||
class ZoneController extends Controller
|
class ZoneController extends Controller
|
||||||
{
|
{
|
||||||
@ -25,8 +27,9 @@ class ZoneController extends Controller
|
|||||||
*
|
*
|
||||||
* @return \Illuminate\Http\Response
|
* @return \Illuminate\Http\Response
|
||||||
*/
|
*/
|
||||||
public function view_zone()
|
public function view_zone(Request $req)
|
||||||
{
|
{
|
||||||
|
UserLogs::insert($req->auth->uid, "Access Zone");
|
||||||
return view("menu_v1.zone");
|
return view("menu_v1.zone");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -355,6 +358,8 @@ class ZoneController extends Controller
|
|||||||
|
|
||||||
$apiResp = Responses::created("success add new zone");
|
$apiResp = Responses::created("success add new zone");
|
||||||
|
|
||||||
|
UserLogs::insert($req->auth->uid, "Add Zone ".$req->zone_name);
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
@ -481,7 +486,9 @@ class ZoneController extends Controller
|
|||||||
|
|
||||||
Zone::updateZone($zid, $updtZone);
|
Zone::updateZone($zid, $updtZone);
|
||||||
|
|
||||||
DB::commit();
|
UserLogs::insert($req->auth->uid, "Update Zone ".$req->zone_name);
|
||||||
|
|
||||||
|
DB::commit();
|
||||||
|
|
||||||
$apiResp = Responses::success("success update zone");
|
$apiResp = Responses::success("success update zone");
|
||||||
return new Response($apiResp, $apiResp["meta"]["code"]);
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
||||||
@ -523,6 +530,8 @@ class ZoneController extends Controller
|
|||||||
"dlt" => $now,
|
"dlt" => $now,
|
||||||
"dlt_by" => $req->auth->uid,
|
"dlt_by" => $req->auth->uid,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
UserLogs::insert($req->auth->uid, "Delete Zone ".$zone[0]->name);
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
|
|||||||
20
app/Models/UserLogs.php
Normal file
20
app/Models/UserLogs.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
|
class UserLogs extends Model
|
||||||
|
{
|
||||||
|
public static function insert($userId, $log)
|
||||||
|
{
|
||||||
|
$now = time();
|
||||||
|
return DB::insert("INSERT into t_user_log
|
||||||
|
set
|
||||||
|
userId = ?,
|
||||||
|
log = ?,
|
||||||
|
crt = ?
|
||||||
|
", [$userId, $log, $now]);
|
||||||
|
}
|
||||||
|
}
|
||||||
170
resources/views/menu_v1/_userLogs.blade.php
Normal file
170
resources/views/menu_v1/_userLogs.blade.php
Normal file
@ -0,0 +1,170 @@
|
|||||||
|
<style>
|
||||||
|
#map {
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.my-leaflet-map-container img {
|
||||||
|
max-height: none;
|
||||||
|
}
|
||||||
|
.dtl-text{
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
.head-text{
|
||||||
|
font-size: 12px !important;
|
||||||
|
}
|
||||||
|
/* .leaflet-overlay-pane svg {
|
||||||
|
transform: none !important;
|
||||||
|
} */
|
||||||
|
.leaflet-routing-container {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#viewPdf {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
width: 794px;
|
||||||
|
/* height: auto; */
|
||||||
|
max-width: 100%; /* Ensures it is responsive */
|
||||||
|
}
|
||||||
|
/* .modal-dialog{
|
||||||
|
width: 794px;
|
||||||
|
} */
|
||||||
|
|
||||||
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="modal-dialog modal-dialog modal-dialog-centered modal-dialog-scrollable modal-lg">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="mdlDetailTripLabel">{{$user->first_name}} Logs</h5>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="text-muted">From</label>
|
||||||
|
<!-- default today -->
|
||||||
|
<!-- <input class="form-control" id="tgl0" value="02-09-2025 00:00"> -->
|
||||||
|
<input class="form-control" id="tgl0" value="{{ date('d-m-Y 00:00') }}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="text-muted">To</label>
|
||||||
|
<!-- <input class="form-control" id="tgl1" value="02-09-2025 23:00"> -->
|
||||||
|
<input class="form-control" id="tgl1" value="{{ date('d-m-Y 23:59') }}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-4 d-flex align-items-end">
|
||||||
|
<button class="btn btn-primary" id="submitFilter">Submit</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="tLogs" class="table table-hover dataTable w-100">
|
||||||
|
<thead>
|
||||||
|
<tr class="">
|
||||||
|
<th class="">Time</th>
|
||||||
|
<th class="">Log</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-sm btn-danger" data-bs-dismiss="modal">Close</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready(function(){
|
||||||
|
$('.time').each(function () {
|
||||||
|
const unix = parseInt($(this).text().trim()) + AppState.TIMEFIX;
|
||||||
|
$(this).text(moment.unix(unix).format('DD MMM YYYY HH:mm:ss'));
|
||||||
|
});
|
||||||
|
$('#tgl0, #tgl1').datetimepicker({
|
||||||
|
format:'d-m-Y H:i',
|
||||||
|
defaultTime:'00:00',
|
||||||
|
closeOnDateSelect: true,
|
||||||
|
// mask:true
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#submitFilter').on('click', function() {
|
||||||
|
DTable.reload();
|
||||||
|
});
|
||||||
|
// $('#submitFilter').trigger('click');
|
||||||
|
|
||||||
|
const DTable = {
|
||||||
|
table: null,
|
||||||
|
lastAjax: null, // keep track of the last ajax request
|
||||||
|
activate: function() {
|
||||||
|
DTable.reload();
|
||||||
|
},
|
||||||
|
reload: function() {
|
||||||
|
// Abort the last request if it's still running
|
||||||
|
if (DTable.lastAjax) {
|
||||||
|
DTable.lastAjax.abort();
|
||||||
|
}
|
||||||
|
if (DTable.table) {
|
||||||
|
// If table already exists → reload
|
||||||
|
DTable.table.ajax.reload();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
DTable.table = $('#tLogs').DataTable({
|
||||||
|
searching: false, // 🔹 remove search box
|
||||||
|
ordering: false, // 🔹 disable sorting for all columns
|
||||||
|
processing: true,
|
||||||
|
serverSide: false,
|
||||||
|
bLengthChange: true,
|
||||||
|
deferRender: true,
|
||||||
|
destroy: true,
|
||||||
|
ajax: function(data, callback, settings) {
|
||||||
|
// Abort previous
|
||||||
|
if (DTable.lastAjax) {
|
||||||
|
DTable.lastAjax.abort();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fire new request
|
||||||
|
DTable.lastAjax = $.ajax({
|
||||||
|
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()}
|
||||||
|
&id={{$user->id}}
|
||||||
|
`,
|
||||||
|
type: 'GET',
|
||||||
|
success: function(json) {
|
||||||
|
callback(json);
|
||||||
|
},
|
||||||
|
error: function(xhr, status, error) {
|
||||||
|
if (status !== 'abort') {
|
||||||
|
console.error("AJAX error:", error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
complete: function() {
|
||||||
|
DTable.lastAjax = null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
deferRender: true,
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
data: 'crt',
|
||||||
|
render: (data, type, row, meta) => {
|
||||||
|
// let addr = row
|
||||||
|
return `
|
||||||
|
${moment.unix(data).format('DD MMM YYYY HH:mm:ss')}<br>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
{ data: 'log'},
|
||||||
|
],
|
||||||
|
paging: false,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
};
|
||||||
|
DTable.activate();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
@ -437,6 +437,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="modal fade" data-bs-backdrop="static" data-bs-keyboard="false" id="mdlUserLogs" aria-labelledby="mdlUserLogsLabel" aria-hidden="true">
|
||||||
|
<!-- ajax -->
|
||||||
|
</div>
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@section('customjs')
|
@section('customjs')
|
||||||
@ -635,10 +640,14 @@
|
|||||||
// <span class="icon ion-eye fz-16"></span>
|
// <span class="icon ion-eye fz-16"></span>
|
||||||
// </a>
|
// </a>
|
||||||
let action = `
|
let action = `
|
||||||
<a href="#" class="text-decoration-none me-1 btnEdtUser" data-bs-toggle="tooltip"
|
<a href="#" class="text-decoration-none me-2 btnEdtUser" data-bs-toggle="tooltip"
|
||||||
data-bs-placement="bottom" title="Edit">
|
data-bs-placement="bottom" title="Edit">
|
||||||
<span class="icon ion-eye fz-16"></span>
|
<span class="icon ion-eye fz-16"></span>
|
||||||
</a>
|
</a>
|
||||||
|
<a href="#" class="text-decoration-none me-2 btnLogUser" data-bs-toggle="tooltip" data-id="${row.id}"
|
||||||
|
data-bs-placement="bottom" title="Logs">
|
||||||
|
<span class="icon ion-android-laptop fz-16"></span>
|
||||||
|
</a>
|
||||||
`;
|
`;
|
||||||
// <a href="#" class="text-decoration-none text-danger btnDelUser"
|
// <a href="#" class="text-decoration-none text-danger btnDelUser"
|
||||||
// data-bs-toggle="tooltip" data-bs-placement="bottom" title="Delete">
|
// data-bs-toggle="tooltip" data-bs-placement="bottom" title="Delete">
|
||||||
@ -877,6 +886,26 @@
|
|||||||
}
|
}
|
||||||
UUpdate.passDataToView(resp.data);
|
UUpdate.passDataToView(resp.data);
|
||||||
});
|
});
|
||||||
|
$('#tUsers').on('click', '.btnLogUser', async function(e) {
|
||||||
|
// let uid = $(e.target).closest('tr').find('td[data-id]').data('id');
|
||||||
|
// UUpdate.clearInput();
|
||||||
|
// let resp = await UUpdate.reqData({
|
||||||
|
// uid
|
||||||
|
// });
|
||||||
|
// if (resp.type != 'success') {
|
||||||
|
// Helper.toast('User Not Found', 'just now', 'please try again');
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// UUpdate.passDataToView(resp.data);
|
||||||
|
|
||||||
|
e.preventDefault();
|
||||||
|
const id = $(this).data('id');
|
||||||
|
$('#mdlUserLogs').empty().load("{{ route('view_user_logs') }}", `id=${id}`, () => {
|
||||||
|
$('#mdlUserLogs').modal('show')
|
||||||
|
})
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
$('#updtUserModal').on('shown.bs.modal', function() {
|
$('#updtUserModal').on('shown.bs.modal', function() {
|
||||||
// initiate select2 if there
|
// initiate select2 if there
|
||||||
});
|
});
|
||||||
|
|||||||
@ -120,6 +120,8 @@ Route::middleware(["auth", "auth.user"])->group(function () {
|
|||||||
Route::get("/users", "UsersController@view_users")
|
Route::get("/users", "UsersController@view_users")
|
||||||
->name("view_users")
|
->name("view_users")
|
||||||
->middleware("permission:user.view");
|
->middleware("permission:user.view");
|
||||||
|
Route::get("/users/logs", "UsersController@view_user_logs")->name("view_user_logs");
|
||||||
|
Route::get("/api/users/logs", "UsersController@api_user_logs")->name("api_user_logs");
|
||||||
|
|
||||||
Route::get("/roles", "RolesController@view")
|
Route::get("/roles", "RolesController@view")
|
||||||
->name("view_roles")
|
->name("view_roles")
|
||||||
|
|||||||
Reference in New Issue
Block a user