From bc87fd8600df31a571a924697f623d005953be90 Mon Sep 17 00:00:00 2001 From: "afiq.hamzah" Date: Tue, 28 Feb 2023 15:19:57 +0800 Subject: [PATCH] Add config to specify which cawangan are enabled to use MyKad reader --- .env.example | 3 +++ app/User.php | 6 ++++++ config/mykad-reader.php | 7 ++++--- resources/views/customers/index.blade.php | 22 +++++++++++++++++++++- 4 files changed, 34 insertions(+), 4 deletions(-) diff --git a/.env.example b/.env.example index 76f0423..7dbef1a 100644 --- a/.env.example +++ b/.env.example @@ -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 diff --git a/app/User.php b/app/User.php index c7c24fc..33e4953 100644 --- a/app/User.php +++ b/app/User.php @@ -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'); + } } diff --git a/config/mykad-reader.php b/config/mykad-reader.php index 66eba30..e1dc6da 100644 --- a/config/mykad-reader.php +++ b/config/mykad-reader.php @@ -1,8 +1,9 @@ 'http://localhost:' . $x . '/?MYKADJSON'; +$getReaderEndpoint = fn($x) => 'http://localhost:' . $x . '/?MYKADJSON'; return[ - 'endpoint' => env('MYKAD_SCANNER_endpoint', $getScannerEndpoint(env('MYKAD_SCANNER_PORT', $default_port))), -]; \ No newline at end of file + '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'))) ?? [], +]; diff --git a/resources/views/customers/index.blade.php b/resources/views/customers/index.blade.php index 3f4b9b3..19ad2d9 100644 --- a/resources/views/customers/index.blade.php +++ b/resources/views/customers/index.blade.php @@ -37,7 +37,27 @@ - Baca MyKad + @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() ) + Baca MyKad + @endif