Fix: added user profile and bug fixes
This commit is contained in:
parent
42244b6c4b
commit
629dd5e726
@ -17,7 +17,7 @@ class PermitsController extends Controller
|
||||
'api_token' => env('LUPMISAPIKEY')
|
||||
]);
|
||||
$result = ApiCalls::CurlPost($data, $url);
|
||||
// dump($result);
|
||||
// dd($result);
|
||||
$result = json_decode($result, true);
|
||||
// dd(is_array($result['data']));
|
||||
|
||||
|
||||
@ -57,7 +57,26 @@ class UsersController extends Controller
|
||||
];
|
||||
return view('admin.user-show', $data);
|
||||
}
|
||||
public function getprofile_json(){
|
||||
$user_id = session('current_user.user_id');
|
||||
$url = "user_mgt/get_user_by_user_id.php";
|
||||
// dd($user_id);
|
||||
$data = json_encode([
|
||||
'user_id' => $user_id,
|
||||
'api_token' => env('LUPMISAPIKEY')// make the API token a constant
|
||||
]);
|
||||
$result = ApiCalls::CurlPost($data, $url);
|
||||
$result = json_decode($result, true);
|
||||
if ($result['success'] == true) {
|
||||
// code...
|
||||
return response()->json(['code' => 1, 'user_details' => $result['data']]);
|
||||
}
|
||||
else{
|
||||
return response()->json(['code' => 3, 'msg' => 'Your request could not be handled at this time']);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
public function store(Request $request){
|
||||
$url = "user_mgt/add_usr_user.php";
|
||||
|
||||
@ -112,6 +131,7 @@ class UsersController extends Controller
|
||||
|
||||
// return ['success' => true];
|
||||
// dd($request->all());
|
||||
|
||||
$data = json_encode([
|
||||
'full_name' => $request['full_name'],
|
||||
'username' => $request['username'],
|
||||
@ -120,28 +140,41 @@ class UsersController extends Controller
|
||||
'email' => $request['email'],
|
||||
'title' => $request['title'],
|
||||
'allowed_apps' => implode(", ", $request['allowed_apps']),
|
||||
// 'password_hint' => '',
|
||||
'phone' => $request['phone'],
|
||||
'gender' => $request['gender'],
|
||||
'user_type' => 'District User',
|
||||
'api_token' => env('LUPMISAPIKEY'),
|
||||
]);
|
||||
/*
|
||||
if (json_decode($data) === null && json_last_error() !== JSON_ERROR_NONE) {
|
||||
dump('not json');
|
||||
} else {
|
||||
// IS valid JSON
|
||||
dump('is valid json');
|
||||
}
|
||||
*/
|
||||
// dd($data);
|
||||
|
||||
$result = ApiCalls::CurlPost($data, $url);
|
||||
$result = json_decode($result, true);
|
||||
// dd($result);
|
||||
if (request()->expectsJson()) {
|
||||
return response()->json($result);
|
||||
}
|
||||
}
|
||||
public function profileupdate(Request $request){
|
||||
$url = "user_mgt/update_usr_user.php";
|
||||
|
||||
// return ['success' => true];
|
||||
// dd($request->all());
|
||||
$user_data = [
|
||||
'full_name' => $request['full_name'],
|
||||
'username' => $request['username'],
|
||||
'user_id' => $request['user_id'],
|
||||
'email' => $request['email'],
|
||||
'phone' => $request['phone'],
|
||||
'gender' => $request['gender'],
|
||||
'api_token' => env('LUPMISAPIKEY'),
|
||||
];
|
||||
if ($request->filled('password')) {
|
||||
$user_data['password'] = $request->password;
|
||||
}
|
||||
|
||||
$data = json_encode($user_data);
|
||||
$result = ApiCalls::CurlPost($data, $url);
|
||||
$result = json_decode($result, true);
|
||||
if (request()->expectsJson()) {
|
||||
return response()->json($result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -20,3 +20,26 @@ add measurements to the backend for works department
|
||||
|
||||
|
||||
216.55.137.19
|
||||
1c46538c712e9b5b
|
||||
|
||||
ua_id": 10,
|
||||
"user_id": "34ba702b-18f8-4d85-948d-8c55e8500f32",
|
||||
"username": "hyhix",
|
||||
"title": "Mr",
|
||||
"full_name": "Myles Benton",
|
||||
"ua_position": "district-works-head",
|
||||
"email": "baduhupir@mailinator.com",
|
||||
"phone": "233244678092",
|
||||
"gender": "male",
|
||||
"is_disabled": "true",
|
||||
"is_logged_in": null,
|
||||
"is_password_changed": "false",
|
||||
"password_hint": "none",
|
||||
"created_by_id": null,
|
||||
"created_date": "2025-09-08T20:06:11.290737",
|
||||
"updated_by_id": null,
|
||||
"updated_date": "2025-09-08T20:06:11.290737",
|
||||
"allowed_apps": "permit-tools",
|
||||
"region_id": 3,
|
||||
"district_id": 180,
|
||||
"user_type": "District User"
|
||||
@ -138,6 +138,7 @@ $(document).ready(function(){
|
||||
$('#successArea').text("");
|
||||
$('#successArea').text("User successfully created!");
|
||||
// location.reload();
|
||||
alert('success');
|
||||
setTimeout(function() {
|
||||
location.reload(); // Reloads the current page
|
||||
}, 1500);
|
||||
|
||||
@ -100,7 +100,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-bs-dismiss="modal">Close</button>
|
||||
<!-- <button type="button" class="btn btn-danger" data-bs-dismiss="modal">Close</button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -93,7 +93,7 @@
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-bs-dismiss="modal">Close</button>
|
||||
<!-- <button type="button" class="btn btn-danger" data-bs-dismiss="modal">Close</button> -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
52
php_code/resources/views/admin/partials/profile.blade.php
Normal file
52
php_code/resources/views/admin/partials/profile.blade.php
Normal file
@ -0,0 +1,52 @@
|
||||
<div class="modal fade" id="profileModal" tabindex="-1" aria-labelledby="profileModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="profileModalLabel">User Profile</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="alert alert-success d-none" id="successArea">Heere at the wall</div>
|
||||
<div class="alert alert-danger d-none" id="errorArea">Heere at the wall</div>
|
||||
<form action="" method="POST" id="userProfileForm">
|
||||
@csrf
|
||||
<input type="hidden" name="user_id" class="userId">
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="name" class="form-label">Fullname</label>
|
||||
<input type="text" class="form-control userFullName" name="full_name" id="userName" value="">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="name" class="form-label">Name</label>
|
||||
<input type="text" class="form-control userName" name="username" id="username" value="">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="email" class="form-label">Email</label>
|
||||
<input type="email" class="form-control userEmail" name="email" id="email" value="">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="phone" class="form-label">Phone</label>
|
||||
<input type="text" class="form-control userPhone" name="phone" id="phone" value="">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="designation" class="form-label">Designation</label>
|
||||
<input type="text" class="form-control userDesignation" name="ua_position" id="designation" value="">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="designation" class="form-label">Password</label>
|
||||
<input type="text" class="form-control userPassword" name="password" id="password" value="" placeholder="Enter a new password to reset">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="dateAdded" class="form-label">Date Added</label>
|
||||
<input type="text" class="form-control userDateAdded" id="dateAdded" value="" readonly>
|
||||
</div>
|
||||
|
||||
<button type="button" class="btn btn-primary" id="profileModalSubmitBtn">Update</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<!-- <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -22,12 +22,14 @@
|
||||
<link rel="stylesheet" href="{{ url('public/assets/css/styles.css') }}" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{{ url('public/assets/libs/fontawesome-free-7.1.0-web/css/all.min.css') }}" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css">
|
||||
<link rel="stylesheet" href="{{ url('public/assets/libs/jquery-confirm/jquery-confirm.min.css') }}" type="text/css">
|
||||
|
||||
@yield('page-css')
|
||||
<script type="text/javascript">
|
||||
var base_url = "{!! url('/') !!}";
|
||||
</script>
|
||||
</head>
|
||||
@include('admin.partials.profile')
|
||||
|
||||
<!-- <body class="bg-gradient-primary"> -->
|
||||
<body class="bg-light">
|
||||
@ -41,7 +43,7 @@
|
||||
<!-- <small class="text-muted">Municipality</small> -->
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-end">
|
||||
<li><a class="dropdown-item" href="{{ url('users', session('current_user.ua_id')) }}">Profile</a></li>
|
||||
<li><a class="dropdown-item profileLink" >Profile</a></li>
|
||||
<li><a class="dropdown-item" href="/landing">Landing Page</a></li>
|
||||
<li><a class="dropdown-item" href="#">Settings</a></li>
|
||||
<li><hr class="dropdown-divider"></li>
|
||||
@ -57,6 +59,96 @@
|
||||
<script src="{{ url('public/assets/libs/ol/ol.js') }}" type="text/javascript" ></script> <!-- ol6.15.1 -->
|
||||
<script src="{{ url('public/assets/libs/ol/ol-ext.js') }}" type="text/javascript" ></script>
|
||||
<script src="{{ url('public/assets/libs/fontawesome-free-7.1.0-web/js/all.min.js') }}"></script>
|
||||
<script src="{{ url('public/assets/libs/jquery-confirm/jquery-confirm.min.js') }}"></script>
|
||||
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$('.profileLink').click(function(evt){
|
||||
evt.preventDefault();
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: base_url + '/users/getprofile',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
async: false,
|
||||
success: function (data){
|
||||
console.log(data);
|
||||
if (data.code === 1) {
|
||||
console.log(data['user_details']);
|
||||
|
||||
$('.userId').val(data['user_details']['user_id']);
|
||||
$('.userName').val(data['user_details']['username']);
|
||||
$('.userFullName').val(data['user_details']['full_name']);
|
||||
$('.userEmail').val(data['user_details']['email']);
|
||||
$('.userPhone').val(data['user_details']['phone']);
|
||||
$('.userDesignation').val(data['user_details']['ua_position']);
|
||||
$('.userDateAdded').val(data['user_details']['created_date']);
|
||||
// $('.userEmail').val(data['user_details']['email']);
|
||||
$('#profileModal').modal('show');
|
||||
|
||||
|
||||
}
|
||||
else if (data.code > 1) {
|
||||
$.alert({
|
||||
title: 'Alert!',
|
||||
content: data.msg,
|
||||
});
|
||||
}
|
||||
else {
|
||||
$.alert({
|
||||
title: 'Alert!',
|
||||
content: 'Your request could not be handled. Try again !',
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
$('#profileModalSubmitBtnQQ').click(function(evt){
|
||||
evt.preventDefault(evt);
|
||||
|
||||
$('#successArea').addClass('d-none');
|
||||
$('#errorsArea').removeClass('d-none');
|
||||
var formData = new FormData($('#userProfileForm')[0]);
|
||||
$.ajax({
|
||||
url: base_url + '/profileupdate',
|
||||
type: 'POST',
|
||||
data: formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
beforeSend: function() {
|
||||
$('#successArea').text("");
|
||||
$('#successArea').text("Please wait ... profile update in progress!");
|
||||
},
|
||||
success: function(data) {
|
||||
if (data['success'] == true) {
|
||||
$('#successArea').removeClass('d-none');
|
||||
$('#errorsArea').addClass('d-none');
|
||||
|
||||
$('#successArea').text("");
|
||||
$('#successArea').text("Profile successfully updated!");
|
||||
// location.reload();
|
||||
setTimeout(function() {
|
||||
//location.reload(); // Reloads the current page
|
||||
}, 1500);
|
||||
}
|
||||
else{
|
||||
$('#successArea').addClass('d-none');
|
||||
$('#errorArea').removeClass('d-none');
|
||||
$('#errorArea').text("");
|
||||
$('#errorArea').text("Profile could not be update!");
|
||||
}
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
console.error('Error:', error);
|
||||
$('#successArea').text(error);
|
||||
$('#successArea').text(error);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@yield('page-js')
|
||||
</body>
|
||||
|
||||
|
||||
@ -8,8 +8,6 @@
|
||||
@endsection
|
||||
@section('page-content')
|
||||
@include('layouts.partials.permits-navbar')
|
||||
|
||||
|
||||
<div class="container mt-4">
|
||||
<div class="row g-3 settings-grid">
|
||||
<!-- General Settings Card -->
|
||||
|
||||
@ -70,10 +70,10 @@
|
||||
</div>
|
||||
<button class="w-100 btn lupmis-btn-primary btn-lg" type="submit">Sign In</button>
|
||||
</form>
|
||||
<div class="m-3 text-center request-account">
|
||||
<!-- <div class="m-3 text-center request-account">
|
||||
<p class="m-0">Don't have an account?</p>
|
||||
<a class="lupmis-primary-text-500" href="#">Request an account</a>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -39,17 +39,22 @@ Route::middleware([CheckBackendSession::class])->group(function () {
|
||||
Route::get('/landing', [App\Http\Controllers\LandingpageController::class, 'index']);
|
||||
|
||||
Route::get('/admin/home', [App\Http\Controllers\AdminController::class, 'index']);
|
||||
|
||||
Route::get('/admin/search', [App\Http\Controllers\AdminController::class, 'index']);
|
||||
Route::get('/admin/districtparams', [App\Http\Controllers\AdminController::class, 'districtparams']);
|
||||
Route::get('/admin/luspaparams', [App\Http\Controllers\AdminController::class, 'luspaparams']);
|
||||
Route::get('/admin/reports', [App\Http\Controllers\AdminController::class, 'reports']);
|
||||
Route::get('/admin/districts/{region_id}', [App\Http\Controllers\AdminController::class, 'districts']);
|
||||
|
||||
|
||||
Route::get('/users/getprofile', [App\Http\Controllers\UsersController::class, 'getprofile_json']);
|
||||
Route::get('/users/{user_id}', [App\Http\Controllers\UsersController::class, 'show']);
|
||||
|
||||
Route::post('/users', [App\Http\Controllers\UsersController::class, 'store']);
|
||||
Route::post('/users/update', [App\Http\Controllers\UsersController::class, 'update']);
|
||||
Route::post('/profileupdate', [App\Http\Controllers\UsersController::class, 'profileupdate']);
|
||||
Route::post('/userupdate', [App\Http\Controllers\UsersController::class, 'update']);
|
||||
Route::post('/users/update', [App\Http\Controllers\UsersController::class, 'update']);
|
||||
|
||||
|
||||
Route::get('/users/edit/{user_id}', [App\Http\Controllers\UsersController::class, 'edit']);
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user