Commit 26fb0a52 authored by Michael Ngei's avatar Michael Ngei

Added passport endpoint

parent 6a29c0a7
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
namespace App\Livewire\Search; namespace App\Livewire\Search;
use App\Models\Docum; use App\Models\Docum;
use App\Models\Doi_date;
use App\Models\Human; use App\Models\Human;
use App\Models\RegistrOffice; use App\Models\RegistrOffice;
use App\Models\User; use App\Models\User;
...@@ -34,6 +35,9 @@ class Searchform extends Component ...@@ -34,6 +35,9 @@ class Searchform extends Component
public $records_not_found=[]; public $records_not_found=[];
public $search_count=0; public $search_count=0;
public $passportNum;
public $passportIdNum;
public $humans=[]; public $humans=[];
protected $serial_number; protected $serial_number;
...@@ -57,7 +61,11 @@ class Searchform extends Component ...@@ -57,7 +61,11 @@ class Searchform extends Component
} }
break; break;
case 'Passport' : case 'Passport' :
$this->getPassportHuman(); if(!empty($this->passportNum) || !empty($this->passportIdNum)){
$this->getPassportHuman($this->passportNum,$this->passportIdNum);
}else{
session()->flash('error', 'Either Document Number or Serial Number must be provided.');
}
break; break;
case 'Birth' : case 'Birth' :
if(!empty($this->searchBirthEntryNum)){ if(!empty($this->searchBirthEntryNum)){
...@@ -184,8 +192,22 @@ class Searchform extends Component ...@@ -184,8 +192,22 @@ class Searchform extends Component
} }
} }
private function getPassportHuman(): void private function getPassportHuman($passportNum, $idnum)
{} {
$passport= Doi_date::where('passport_no', $passportNum)->where('identity_card_no', $idnum)->get()->toArray();
if($passport){
$this->search_count=1;
$this->doctype ='Passport';
$this->records_found[]=$passportNum;
$this->serial_number[]=$passportNum;
$this->humans = $passport;
$this->showTableResults();
}else{
session()->flash('error', 'Search parameter Not found');
}
}
/** /**
* Basic search birth record * Basic search birth record
......
...@@ -47,10 +47,10 @@ ...@@ -47,10 +47,10 @@
<div id="fieldsContainerPassport" class="d-none d-flex"> <div id="fieldsContainerPassport" class="d-none d-flex">
@if($role->hasPermissionTo("Basic Search Passport with Passport number")) @if($role->hasPermissionTo("Basic Search Passport with Passport number"))
<input type="text" class="form-control search-element no-radius" id="searchInputPassportNo" name="pno" placeholder="Enter Passport Number" title="Enter Passport Number"> <input type="text" class="form-control search-element no-radius" id="searchInputPassportNo" name="pno" placeholder="Enter Passport Number" title="Enter Passport Number" wire:model="passportNum">
@endif @endif
@if($role->hasPermissionTo("Basic Search Passport with ID number")) @if($role->hasPermissionTo("Basic Search Passport with ID number"))
<input type="text" class="form-control search-element no-radius" id="searchInputPassportId" name="pino" placeholder="Enter Maisha Number" title="Enter ID Number"> <input type="text" class="form-control search-element no-radius" id="searchInputPassportId" name="pino" placeholder="Enter Maisha Number" title="Enter ID Number" wire:model="passportIdNum">
@endif @endif
</div> </div>
<div id="fieldsContainerPassport" class="form-group col-md-12 d-none d-none mt-3 mb-3 justify-content-center"> <div id="fieldsContainerPassport" class="form-group col-md-12 d-none d-none mt-3 mb-3 justify-content-center">
......
...@@ -92,7 +92,23 @@ ...@@ -92,7 +92,23 @@
$docNumTitle='Doc Number'; $docNumTitle='Doc Number';
} }
if($doctype === 'Passport')
{
$headings = [ $headings = [
'Passport number',
'ID number',
'Names',
'Other names',
'Gender',
'Nationality',
'Date of Birth',
'Date of Issue',
'Date of Expiry',
'Action'
];
$count=0;
} else{
$headings = [
'ID number', 'ID number',
$docNumTitle, $docNumTitle,
'First name', 'First name',
...@@ -104,22 +120,64 @@ ...@@ -104,22 +120,64 @@
'Action' 'Action'
]; ];
$count=0; $count=0;
}
@endphp @endphp
<x-adminlte-card> <x-adminlte-card>
<x-adminlte-datatable id="clients-table searchResultsCard" :heads="$headings" striped hoverable bordered> <x-adminlte-datatable id="clients-table searchResultsCard" :heads="$headings" striped hoverable bordered>
@foreach($humans as $human) @foreach($humans as $human)
@foreach($human as $doc_human)
@if($doctype === 'Passport')
<tr> <tr>
<td><h4 class="text-black">{{ $doc_human['o_pid'] ?? '-' }}</h4></td> <td><h4 class="text-black">{{ $human["passport_no"] ?? '-'}}</h4></td>
<td><h4 class="text-info">{{ $serial_number[$count] ?? '-' }}</h4></td> <td><h4 class="text-info">{{ $human["identity_card_no"] ?? '-' }}</h4></td>
<td>{{ $doc_human['name'] ?? '-' }}</td> <td>{{ $human["first_names"] ?? '-' }}</td>
<td>{{ $doc_human['last_name'] ?? '-' }}</td> <td>{{ $human["last_name"] ?? '-' }}</td>
<td>{{ $doc_human['surn'] ?? '-' }}</td> <td>{{ $human["gender"] ?? '-' }}</td>
<td>KENYAN <span class="fi fi-ke" style="font-size: 1rem;"></span></td>
<td>{{ $human["birth_day"] ?? '-' }} / {{ $human["birth_month"] ?? '-' }} / {{ $human["birth_year"] ?? '-' }}</td>
<td>{{ Carbon::parse($human["issue_date"])->format("d-m-Y") ?? '-' }}</td>
<td>{{ Carbon::parse($human['expiry_date'])->format("d-m-Y") ?? '-' }}</td>
<td>
<x-adminlte-button
label="Details"
theme="info"
id="humanbtn"
icon="fas fa-info-circle"
wire:click="triggerResultsModal({{ $human['identity_card_no'] ?? 0 }},'{{ $human['identity_card_no'] ?? 0 }}','{{ $doctype ?? 0 }}')"
data-toggle="modal"
/>
</td>
</tr>
@else
@foreach($human as $doc_human)
<tr>
<td>
<h4 class="text-black">
{{ $doc_human['o_pid'] ?? '-' }}
</h4>
</td>
<td>
<h4 class="text-info">
{{ $serial_number[$count] ?? '-' }}
</h4>
</td>
<td>
{{ $doc_human['name'] ?? '-' }}
</td>
<td>
{{ $doc_human['last_name'] ?? '-' }}
</td>
<td>
{{ $doc_human['surn'] ?? '-' }}
</td>
<td>KENYAN <span class="fi fi-ke" style="font-size: 1rem;"></span></td> <td>KENYAN <span class="fi fi-ke" style="font-size: 1rem;"></span></td>
<td>{{ $doc_human['sex'] ?? '-' }}</td>
<td> <td>
{{ Carbon::parse($doc_human['date_birth'])->format("d-m-Y") ?? '-' }} {{ $doc_human['sex'] ?? '-' }}
</td>
<td>
{{ Carbon::parse($doc_human['date_birth'])->format("d-m-Y") ?? '-' }}
</td> </td>
<td> <td>
<x-adminlte-button <x-adminlte-button
...@@ -132,9 +190,9 @@ ...@@ -132,9 +190,9 @@
/> />
</td> </td>
</tr> </tr>
@php $count++; @endphp @php $count++; @endphp
@endforeach @endforeach
@endif
@endforeach @endforeach
</x-adminlte-datatable> </x-adminlte-datatable>
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
use App\Http\Controllers\API\AuthController; use App\Http\Controllers\API\AuthController;
use App\Http\Controllers\API\Contracts; use App\Http\Controllers\API\Contracts;
use App\Http\Controllers\API\Passport;
use App\Http\Controllers\API\PaymentsAPI; use App\Http\Controllers\API\PaymentsAPI;
use App\Http\Controllers\API\SearchIDdocument; use App\Http\Controllers\API\SearchIDdocument;
use App\Http\Controllers\API\TokensAPI; use App\Http\Controllers\API\TokensAPI;
...@@ -36,10 +37,17 @@ Route::post('/login', [AuthController::class, 'login']); ...@@ -36,10 +37,17 @@ Route::post('/login', [AuthController::class, 'login']);
//@TODO Protect this link //@TODO Protect this link
Route::prefix('v1')->group(function () { Route::prefix('v1')->group(function () {
//ID search
Route::prefix('verify')->group(function () { Route::prefix('verify')->group(function () {
Route::get('id/{id}/serial/{serial}', [SearchIDdocument::class, 'id_check']); Route::get('id/{id}/serial/{serial}', [SearchIDdocument::class, 'id_check']);
}); });
//passport
Route::prefix('verify')->group(function () {
Route::get('passport/{passport_num}/id/{id_num}', [Passport::class, 'passport_check']);
});
}); });
/** /**
* Search with login AUTH * Search with login AUTH
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment