From c61c9a3c7d5d66ffe015b44c2cc520678a64dd3b Mon Sep 17 00:00:00 2001 From: Afiq Hamzah Date: Mon, 27 May 2024 15:04:38 +0800 Subject: [PATCH] Add feat unsold commodity notifications --- app/Http/Controllers/TetapanController.php | 16 ++ public/img/notifications.png | Bin 0 -> 9787 bytes resources/views/tetapan/home.blade.php | 5 + .../unsold-commodity-notifications.blade.php | 203 ++++++++++++++++++ routes/web.php | 1 + 5 files changed, 225 insertions(+) create mode 100644 public/img/notifications.png create mode 100644 resources/views/tetapan/unsold-commodity-notifications.blade.php diff --git a/app/Http/Controllers/TetapanController.php b/app/Http/Controllers/TetapanController.php index b1ccffa..26c30e0 100644 --- a/app/Http/Controllers/TetapanController.php +++ b/app/Http/Controllers/TetapanController.php @@ -8,6 +8,7 @@ use Illuminate\Support\Facades\Session; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Storage; use Carbon\Carbon; +use Illuminate\Support\Arr; class TetapanController extends Controller { @@ -41,4 +42,19 @@ class TetapanController extends Controller $payable_cawangan = json_decode( Http::get(config('api.url').'/api/payable-ujrah-branches')->json() ); return view('tetapan.payable-ujrah-branches',compact('api_url','auth_user', 'payable_cawangan')); } + + + public function unsoldCommodityNotification() + { + $api_url = config('api.url'); + $auth_user = Auth::user(); + + $settings = Http::get(config('api.url').'/api/settings/unsold-commodity-notifications')->json(); + + $key = Arr::pluck($settings, 'key'); + $values = Arr::pluck($settings, 'value'); + $settings = array_combine($key, $values); + + return view('tetapan.unsold-commodity-notifications',compact('api_url','auth_user', 'settings')); + } } diff --git a/public/img/notifications.png b/public/img/notifications.png new file mode 100644 index 0000000000000000000000000000000000000000..97ba7e70066bd48f15057962e33a7e5c5acd9c99 GIT binary patch literal 9787 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 literal 0 HcmV?d00001 diff --git a/resources/views/tetapan/home.blade.php b/resources/views/tetapan/home.blade.php index 9871db6..1b50948 100644 --- a/resources/views/tetapan/home.blade.php +++ b/resources/views/tetapan/home.blade.php @@ -57,6 +57,11 @@

Ubah Status Pembayaran Ujrah

+ + Windster Logo +

Notifikasi Jualan Komoditi

+
+ diff --git a/resources/views/tetapan/unsold-commodity-notifications.blade.php b/resources/views/tetapan/unsold-commodity-notifications.blade.php new file mode 100644 index 0000000..3dc4619 --- /dev/null +++ b/resources/views/tetapan/unsold-commodity-notifications.blade.php @@ -0,0 +1,203 @@ +@extends('layouts.app') + +@section('content') + +
+
+
+ + + +
+
+
+
+
+ + + +
+
+ + +
+
+ + +
+
+ +
+ + +
+ + +
+
+
+
+
+
+
+ @include('layouts.footer') + @endsection + + @push('additional_scripts') + + + + + @endpush diff --git a/routes/web.php b/routes/web.php index 2a2b130..583326d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -158,6 +158,7 @@ Route::get('/tetapan',['as'=>'tetapan','uses'=>'App\Http\Controllers\TetapanCont Route::get('/tetapanhome',['as'=>'tetapan.home','uses'=>'App\Http\Controllers\TetapanController@home'])->middleware(['roleChecker:null,null,operasi,null,null']); Route::get('/tetapanmargin',['as'=>'tetapan.margin','uses'=>'App\Http\Controllers\TetapanController@margin'])->middleware(['roleChecker:null,null,operasi,null,null']); Route::get('/tetapan-payable-ujrah-branches',['as'=>'tetapan.payable-ujrah-branches','uses'=>'App\Http\Controllers\TetapanController@PayableUjrahBranches'])->middleware(['roleChecker:null,null,operasi,null,null']); +Route::get('/tetapan-unsold-commodity-notification',['as'=>'tetapan.unsold-commodity-notifications','uses'=>'App\Http\Controllers\TetapanController@UnsoldCommodityNotification'])->middleware(['roleChecker:null,null,operasi,null,null']); //Pengguna