main-backend/php_code/app/Http/Controllers/PermitsController.php
2026-06-02 09:25:58 +00:00

113 lines
4.5 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Utilities\ApiCalls;
use Session;
use Illuminate\Http\Request;
use Storage;
use Response;
class PermitsController extends Controller
{
public function index(){
// dd(session('current_user.district_id'));
$url = "permit/get_applications_by_district.php";
$data = json_encode([
'district_id' => session('current_user.district_id'),
'api_token' => env('LUPMISAPIKEY')
]);
$result = ApiCalls::CurlPost($data, $url);
// dd($result);
// { "id":163,"applicant_id":376,"client_generated_id":"7d707dc2-938f-47e7-8979-2def086d4a8d","application_code":"REQ-20260310-2ZK4","permit_type":"Development Permit","permit_form_type":"structural_alteration","project_description":"jkhghhjghjgh","project_location":"mbvmbnv","project_region_id":10,"project_district_id":122,"estimated_cost":0.00,"status":"submitted","property_size":null,"expected_completion_date":null,"is_paid":null,"submitted_at":"2026-03-10T09:18:04.224672","updated_at":"2026-03-10T09:18:04.224672"},
// {"id":313,"applicant_id":482,"client_generated_id":"34ceb996-c809-4dbe-ba27-df1527e75538","application_code":"REQ-20260312-22AL","permit_type":"Development Permit","permit_form_type":"erection_of_building","project_description":"Two floor residence","project_location":"Butumagyabu","project_region_id":10,"project_district_id":122,"estimated_cost":0.00,"status":"submitted","property_size":null,"expected_completion_date":null,"is_paid":null,"submitted_at":"2026-03-12T13:14:04.420739","updated_at":"2026-03-12T13:14:04.420739"}]}
$result = json_decode($result, true);
// dd(is_array($result['data']));
$data = [
'page_title' => 'Permits Dashboard',
'permits_arr' => $result
];
return view('permits.dashboard', $data);
}
public function settings(){
//pull email address, sms configs,
/*
$url = "permit/get_applications_by_district.php";
$data = json_encode([
'district_id' => session('current_user.district_id'),
'api_token' => env('LUPMISAPIKEY')
]);
$result = ApiCalls::CurlPost($data, $url);
$result = json_decode($result, true);
*/
$data = [
'page_title' => 'Permits Settings',
// 'permits_arr' => $result
];
return view('permits.district-settings', $data);
}
public function statusIndex($status){
$url = "permit/get_applications_by_district.php";
$data = json_encode([
'district_id' => session('current_user.district_id'),
'api_token' => env('LUPMISAPIKEY')
]);
$result = ApiCalls::CurlPost($data, $url);
$result = json_decode($result, true);
// dump($result);
if ($result['success'] && $result['data'] == null) {
Session::flash('error_message', 'Your request could not be handled at this time. Try again later');
return redirect()->back();
}
$data = [
'page_title' => 'Permits Page',
'permits_arr' => $result,
'status' => $status
];
return view('permits.index', $data);
}
public function show($id){
// dump(session('current_user'));
$url = "permit/get_applications_with_applicant_by_application_code.php";
$data = json_encode([
'application_code' => $id,
'api_token' => env('LUPMISAPIKEY')
]);
$result = ApiCalls::CurlPost($data, $url);
$result = json_decode($result, true);
$allowed_users_to_comment = ['PPD Head', 'Works Department Head', 'luspa-it-head'];
$data = [
'page_title' => 'Permits Details',
'permit_arr' => $result['data'][0],
'allowed_users_to_comment' => $allowed_users_to_comment
];
return view('permits.show', $data);
}
public function statusUpdate($id){
}
public function viewPdf($filename){
$path = storage_path('app/public/site_plans/' . $filename);
if (!Storage::disk('public')->exists('site_plans/' . $filename)) {
abort(404);
}
// Return the file with an inline content disposition to display in the browser
return Response::make(file_get_contents($path), 200, [
'Content-Type' => 'application/pdf',
'Content-Disposition' => 'inline; filename="' . $filename . '"' // 'inline' displays it in the browser/iframe
]);
}
}