Add config to specify which cawangan are enabled to use MyKad reader
This commit is contained in:
@@ -44,3 +44,6 @@ AWS_BUCKET=
|
||||
|
||||
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
|
||||
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
|
||||
|
||||
MYKAD_READER_PORT=8085
|
||||
MYKAD_READER_ENABLED_CAWANGAN='' # IF NO CAWANGAN STATED, ALL CAWANGAN IS ENABLED
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
||||
use Illuminate\Database\Eloquent\Relations\HasOne;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
|
||||
@@ -37,4 +38,9 @@ class User extends Authenticatable
|
||||
protected $casts = [
|
||||
'email_verified_at' => 'datetime',
|
||||
];
|
||||
|
||||
public function cawangan_kerja(): HasOne
|
||||
{
|
||||
return $this->hasOne(Cawangan::class, 'kodcaw', 'cawangan');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
<?php
|
||||
|
||||
$default_port = '8085';
|
||||
$getScannerEndpoint = fn($x) => 'http://localhost:' . $x . '/?MYKADJSON';
|
||||
$getReaderEndpoint = fn($x) => 'http://localhost:' . $x . '/?MYKADJSON';
|
||||
|
||||
return[
|
||||
'endpoint' => env('MYKAD_SCANNER_endpoint', $getScannerEndpoint(env('MYKAD_SCANNER_PORT', $default_port))),
|
||||
];
|
||||
'endpoint' => env('MYKAD_READER_ENDPOINT', $getReaderEndpoint(env('MYKAD_READER_PORT', $default_port))),
|
||||
'enabled_cawangan' => array_map(fn ($cawangan) => trim($cawangan), explode(',', env('MYKAD_READER_ENABLED_CAWANGAN'))) ?? [],
|
||||
];
|
||||
|
||||
@@ -37,7 +37,27 @@
|
||||
<button class="btn btn-outline-primary" type="submit" id="button-addon2">Cari</button>
|
||||
</div>
|
||||
</div>
|
||||
<span class="btn btn-outline-primary" id="button_read_mykad">Baca MyKad</span>
|
||||
@php
|
||||
$user_cawangan = strtolower(auth()->user()->cawangan_kerja->details_caw);
|
||||
$enabled_cawangan = array_map(fn($x) => strtolower($x), config('mykad-reader.enabled_cawangan'));
|
||||
$is_enabled_to_use_mykad_reader = function () use($user_cawangan, $enabled_cawangan){
|
||||
|
||||
if(sizeof($enabled_cawangan) == 0){
|
||||
return true;
|
||||
}
|
||||
|
||||
if(sizeof($enabled_cawangan) == 1 && $enabled_cawangan[0] === ''){
|
||||
return true;
|
||||
}
|
||||
|
||||
return in_array($user_cawangan, $enabled_cawangan);
|
||||
|
||||
};
|
||||
@endphp
|
||||
|
||||
@if( $is_enabled_to_use_mykad_reader() )
|
||||
<span class="btn btn-outline-primary" id="button_read_mykad">Baca MyKad</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
Reference in New Issue
Block a user