main-backend/php_code/app/Http/Controllers/UsersController.php
2026-03-10 10:06:09 +00:00

148 lines
4.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Utilities\ApiCalls;
use App\Utilities\SmsLibrary;
use Session;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
use App\Mail\UserAccountsMail;
use Illuminate\Support\Str;
class UsersController extends Controller
{
public function index(){
$data = [
'page_title' => 'Users Page '
];
return view('users.index', $data);
}
public function edit($id){
$url = "user_mgt/get_user_by_user_id.php";
$data = json_encode([
'user_id' => $id,
'api_token' => env('LUPMISAPIKEY')// make the API token a constant
]);
$result = ApiCalls::CurlPost($data, $url);
$result = json_decode($result, true);
$data = [
'page_title' => 'User Edit'
];
if (request()->expectsJson()) {
return response()->json($result);
}
return view('users.edit', $data);
}
public function show($id){
$url = "user_mgt/get_user_by_user_id.php";
$data = json_encode([
'user_id' => $id,
'api_token' => env('LUPMISAPIKEY')// make the API token a constant
]);
$result = ApiCalls::CurlPost($data, $url);
$result = json_decode($result, true);
if (request()->expectsJson()) {
return response()->json($result);
}
$data = [
'page_title' => 'User Profile',
'user' => $result
];
return view('admin.user-show', $data);
}
public function store(Request $request){
$url = "user_mgt/add_usr_user.php";
// return ['success' => true];
// $password = ApiCalls::generatePassword(10);
$password = $randomString = Str::random(10);
$data = json_encode([
'full_name' => $request['full_name'],
'username' => $request['username'],
'ua_position' => $request['ua_position'],
'email' => $request['email'],
'title' => $request['title'],
'allowed_apps' => implode(", ", $request['allowed_apps']),
'is_password_changed' => false,
'password_hint' => 'none',
'phone' => $request['phone'],
'gender' => $request['gender'],
'user_type' => 'District User',
'pass' => $password,
'region_id' => $request['region_id'],
'district_id' => $request['districtid'],
'api_token' => env('LUPMISAPIKEY'), //'1c46538c712e9b5b' // make the API token a constant
]);
$result = ApiCalls::CurlPost($data, $url);
$result = json_decode($result, true);
\Log::info("Your Password is $password");
$recipientEmail = 'recipient@example.com';
Mail::to($recipientEmail)->send(new UserAccountsMail($password, $request->username));
//dd('Email sent!');
$sms_message = "Hello $request->full_name your LUPMIS account has been successfully created\n";
$sms_message .= "Username : . $request->username \n";
$sms_message .= "Password : $password\n";
$sms_message .= 'Login URL : https://lupmis4luspa.org';
$sms_data = [
'recipient' => $request['phone'],
'message' => $sms_message
];
$sms_result = SmsLibrary::SendMnotitySms($sms_data);
\Log::info("SMS Body : $sms_message");
\Log::info("SMS API Response : $sms_result");
if (request()->expectsJson()) {
return response()->json($result);
}
}
public function update(Request $request){
$url = "user_mgt/update_usr_user.php";
// return ['success' => true];
// dd($request->all());
$data = json_encode([
'full_name' => $request['full_name'],
'username' => $request['username'],
'ua_position' => $request['ua_position'],
'user_id' => $request['user_id'],
'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);
}
}
}