From 44b861e67d87d8f6d1ac85ac3ed50c0c95126998 Mon Sep 17 00:00:00 2001 From: Amir Date: Wed, 24 May 2023 15:26:19 +0800 Subject: [PATCH] Add job status at header --- app/Http/Controllers/HomeController.php | 29 +++++ app/Jobs/WhatsappNotisPeringatanKedua.php | 4 +- app/Models/Job.php | 13 ++ resources/views/includes/header.blade.php | 137 +++++++++++++--------- routes/web.php | 1 + 5 files changed, 129 insertions(+), 55 deletions(-) create mode 100644 app/Models/Job.php diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 6661d61f..a2458254 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -13,6 +13,7 @@ use App\Models\CawanganLelong; use App\Models\Pengesahan; use Carbon\Carbon; use App\Models\Cawangan; +use App\Models\Job; use App\Models\LelongBid; use App\Models\Payment; use App\Models\User; @@ -832,5 +833,33 @@ class HomeController extends Controller return redirect()->back()->with("success","Katalaluan Berjaya Dikemaskini!"); } + + public function reloadJobDetail() + { + $jobs = Job::select('payload', 'attempts')->get(); + if ($jobs->isNotEmpty()) { + $job_collect_alter = collect(); + foreach ($jobs as $job) { + $job_convert = json_decode($job->payload)->data; + $job_to_be_added = collect(); + $job_to_be_added['command_name'] = $job_convert->commandName; + $job_to_be_added['command'] = unserialize($job_convert->command); + $job_to_be_added['user_id'] = $job_to_be_added['command']->user_id; + $job_to_be_added['user_kodcaw'] = $job_to_be_added['command']->user_kodcaw; + $job_to_be_added['attempts'] = $job->attempts; + $job_collect_alter->push($job_to_be_added); + } + $user_job_request = $job_collect_alter->pluck('user_id')->unique(); + $users = User::whereIn('id', $user_job_request)->select('id', 'name')->get(); + $users_keyBy_id = $users->keyBy('id'); + foreach ($job_collect_alter as $index => $job) { + if ($users_keyBy_id[$job['user_id']]) { + $user_true = $users_keyBy_id[$job['user_id']]; + $job_collect_alter[$index]['user_name'] = $user_true->name; + } + } + return response()->json($job_collect_alter); + } + } } diff --git a/app/Jobs/WhatsappNotisPeringatanKedua.php b/app/Jobs/WhatsappNotisPeringatanKedua.php index 85fa4e4a..0165b2fe 100644 --- a/app/Jobs/WhatsappNotisPeringatanKedua.php +++ b/app/Jobs/WhatsappNotisPeringatanKedua.php @@ -24,8 +24,8 @@ class WhatsappNotisPeringatanKedua implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; - protected $user_id; - protected $user_kodcaw; + public $user_id; + public $user_kodcaw; protected $notisid; protected $cawid; diff --git a/app/Models/Job.php b/app/Models/Job.php new file mode 100644 index 00000000..7f1ed804 --- /dev/null +++ b/app/Models/Job.php @@ -0,0 +1,13 @@ + + .custom-dropdown { + min-width: 350px; + top: 90%; + left: 40px; + } + \ No newline at end of file + + + \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 7ee6dcb0..712a9267 100644 --- a/routes/web.php +++ b/routes/web.php @@ -29,6 +29,7 @@ Auth::routes(); Route::get('logs', [\Rap2hpoutre\LaravelLogViewer\LogViewerController::class, 'index']); Route::get('/home','HomeController@index2')->name('home'); +Route::get('/reload-job-detail', 'HomeController@reloadJobDetail')->name('reloadjobdetail'); // Route::get('/loginUser','HomeController@index')->name('login'); Route::get('/about','HomeController@about')->name('about'); Route::get('/editprofile','HomeController@editprofile')->name('editprofile');