From d4ab479e0cc21843a8d8ca0d49405cad39d263eb Mon Sep 17 00:00:00 2001 From: Kwesi Banson Date: Fri, 2 Feb 2024 09:22:33 +0000 Subject: [PATCH] pushed the onboarding module to production --- app/Http/Controllers/ClientsController.php | 176 +++++++--------- app/Http/Controllers/UtilityController.php | 17 ++ .../SendOnboardingCompletedEmailAlert.php | 50 +++++ .../views/client/index-tabulator.blade.php | 7 - resources/views/client/laravel-2024-02-01.log | 195 ++++++++++++++++++ .../emails/onboarding_completed.blade.php | 35 ++++ routes/web.php | 5 + sql-workspace.sql | 32 +++ update_onboarding_subs.sql | 20 ++ 9 files changed, 425 insertions(+), 112 deletions(-) create mode 100644 app/Jobs/SendOnboardingCompletedEmailAlert.php create mode 100644 resources/views/client/laravel-2024-02-01.log create mode 100644 resources/views/emails/onboarding_completed.blade.php create mode 100644 sql-workspace.sql create mode 100644 update_onboarding_subs.sql diff --git a/app/Http/Controllers/ClientsController.php b/app/Http/Controllers/ClientsController.php index b2962ae..fc0bfc9 100755 --- a/app/Http/Controllers/ClientsController.php +++ b/app/Http/Controllers/ClientsController.php @@ -9,6 +9,7 @@ use Illuminate\Support\Arr; use App\Jobs\SendNewUssdClientEmail; use App\Jobs\SendUssdClientActiveEmail; use App\Jobs\SendNewNotesEmailAlert; +use App\Jobs\SendOnboardingCompletedEmailAlert; use App\Http\Requests; use Carbon\Carbon; @@ -60,7 +61,7 @@ class ClientsController extends Controller ->join('auth_users AS aumngr', 'aumngr.id', '=', 'clients.auth_user_id') ->join('auth_users AS aumodify', 'aumodify.id', '=', 'clients.last_modified_by') ->join('flags AS flags', 'flags.country', '=', 'clients.country') - ->select('clients.id', 'clients.name', 'clients.status','clients.progress_indicator', 'clients.country', 'aumngr.name As accountMgr', 'aumodify.name AS modifiedBy', 'flags.url AS theflag') + ->select('clients.id', 'clients.name', 'clients.status','clients.progress_indicator_score', 'clients.country', 'aumngr.name As accountMgr', 'aumodify.name AS modifiedBy', 'flags.url AS theflag') ->orderBy('name', 'ASC') ->paginate(15); @@ -70,8 +71,8 @@ class ClientsController extends Controller ->join('auth_users AS aumngr', 'aumngr.id', '=', 'clients.auth_user_id') ->join('auth_users AS aumodify', 'aumodify.id', '=', 'clients.last_modified_by') ->join('flags AS flags', 'flags.country', '=', 'clients.country') - ->select('clients.id','clients.name', 'clients.status', 'clients.progress_indicator','clients.country', 'aumngr.name As accountMgr', 'aumodify.name AS modifiedBy', 'flags.url AS theflag') - ->whereRaw("clients.name like '%$keyword%' or clients.status like '%$keyword%' OR clients.country like '%$keyword%' OR aumngr.name like '%$keyword%' OR aumodify.name like '%$keyword%' OR clients.progress_indicator like '%$keyword%'") + ->select('clients.id','clients.name', 'clients.status', 'clients.progress_indicator_score','clients.country', 'aumngr.name As accountMgr', 'aumodify.name AS modifiedBy', 'flags.url AS theflag') + ->whereRaw("clients.name like '%$keyword%' or clients.status like '%$keyword%' OR clients.country like '%$keyword%' OR aumngr.name like '%$keyword%' OR aumodify.name like '%$keyword%' OR clients.progress_indicator_score like '%$keyword%'") ->orderBy('name', 'ASC') ->paginate(15); } @@ -156,6 +157,7 @@ class ClientsController extends Controller 'auth_user_id' => 'required', // account manager ]); $onboarding_stages = Models\ClientOnboardingMainStage::orderBy('stage_id')->get(); + // dd($onboarding_stages); $client_current_stages = []; foreach ($onboarding_stages as $value) { @@ -173,6 +175,7 @@ class ClientsController extends Controller 'created_by' => session('current_user.id'), 'last_modified_by' => session('current_user.id'), 'progress_indicator_score' => 10, + 'progress_indicator' => $onboarding_stages[0]->stage, // 'Agreement Stage', // 'onboarding_progress_stage' => json_encode($client_current_stages) ]; if ($request->has('notes')) { @@ -205,6 +208,17 @@ class ClientsController extends Controller $result = Models\Client::create($client_arr); + //add entries for client_onboarding_progress + $get_stage_subs_items = Models\ClientOnboardingSubItem::get(); + foreach ($get_stage_subs_items as $value) { + $progress_arr = [ + 'stage_id' => $value->stage_id, + 'client_id' => $result->id, + 'name' => $value->name, + 'status' => 'PENDING' + ]; + $clients_onboarding_progress = Models\ClientOnboardingProgress::create($progress_arr); + } if (in_array('3', $request->services)) { \Log::info('ussd client detected'); $ussd_client_payment_arr = [ @@ -576,7 +590,6 @@ class ClientsController extends Controller } else{ - dump($days); $renewal_due = "In " . floor($days/31) . " months"; } } @@ -789,35 +802,16 @@ class ClientsController extends Controller //This should not be false because onboarding_progress_stage is populated during client creation $onboarding_progress = json_decode($client->onboarding_progress_stage, 1); - // + //dump($client->progress_indicator); $has_pending = in_array("PENDING", $onboarding_progress); - if ($has_pending == true) { - $pending_stage = Arr::where($onboarding_progress, function ($value, $key) { - return $value == "PENDING"; - }); - $pending_stage = array_key_first($pending_stage); - - $stage_details = Models\ClientOnboardingMainStage::where('stage', $pending_stage)->first(); - //get sub items - //dump($stage_details); + if ($client->progress_indicator !== "COMPLETED") { + $stage_details = Models\ClientOnboardingMainStage::where('stage', $client->progress_indicator)->first(); + //dd($stage_details); $onboarding_sub_items_progress = Models\ClientOnboardingProgress::where('stage_id', $stage_details->stage_id)->where('client_id', $id)->pluck('name', 'name'); - //dd($onboarding_sub_items_progress); - $onboarding_sub_items = Models\ClientOnboardingSubItem::where('stage_id', $stage_details->stage_id)->pluck('name', 'name'); - // dump($stage_details->stage_id); - // dd($onboarding_sub_items); - /* - $onboarding_stages = Models\ClientOnboardingStage::where('client_id', $id)->where('status', 'PENDING')->groupBy('stage')->get(); - - $onboarding_stages = Models\ClientOnboardingProgress::where('client_id', $id)->where('status', 'PENDING')->orderBy('stage', 'ASC')->first(); - - */ - #$progress_indicators = Models\ClientIndicator::pluck('name', 'name'); - #$current_progress_indicators = json_decode($client->progress_indicators, true); - } - else{ - $pending_stage = "COMPLETED"; + $onboarding_sub_items = Models\ClientOnboardingSubItem::where('stage_id', $stage_details->stage_id)->pluck('name', 'name'); } + /* else{ @@ -941,11 +935,9 @@ class ClientsController extends Controller 'onboarding_sub_items_progress' => $onboarding_sub_items_progress, 'onboarding_sub_items' => $onboarding_sub_items, - 'current_pending_stage' => $pending_stage, + 'current_pending_stage' => $client->progress_indicator, 'has_pending' => $has_pending ]; - // dd($data); - return view('client.edit', $data); } @@ -958,60 +950,47 @@ class ClientsController extends Controller */ public function update(Requests\UpdateClientRequest $request, $id) { - //Todo : work on the services and the sender IDs - /* - $request->validate([ - 'name' => 'required', - 'email' => 'required|email', - 'country' => 'required', - 'status' => 'required', - 'currency' => 'required', - 'auth_user_id' => 'required' - ]); - */ - // dump($request->has('other_document_name')); - // dump($request->all()); - $client_update = Models\Client::find($id); - $current_pending_stage_details = Models\ClientOnboardingMainStage::where('stage', $request->current_pending_stage)->first(); - $get_stage_subs_items = Models\ClientOnboardingSubItem::where('stage_id', $current_pending_stage_details->stage_id)->get(); - // dd($get_stage_subs_items); - //$onboarding_sub_items_progress = Models\ClientOnboardingProgress::where('stage_id', $current_pending_stage_details->stage_id)->where('client_id', $id)->pluck('name', 'name'); - //$progress_indicators_arr = json_encode($request->progress_indicators); - - #update the table for onboarding progress - foreach ($request->onboarding_sub_items_progress as $value) { - $stage_id = ['stage_id' => $current_pending_stage_details->stage_id, 'client_id' => $id, 'name' => $value ]; - $progress_arr = [ - 'status' => 'COMPLETED' - ]; - $clients_onboarding_progress = Models\ClientOnboardingProgress::updateOrCreate($stage_id, $progress_arr); - } - - //update the status of onboarding progress stage in clients - $get_stage_onboarding_status = Models\ClientOnboardingProgress::where('client_id', $id)->where('stage_id', $current_pending_stage_details->stage_id)->where('status', 'COMPLETED')->get(); - // dd($get_stage_onboarding_status); - $onboarding_progress_stage = json_decode($client_update->onboarding_progress_stage, true); - // dd(count($get_stage_subs_items) == count($get_stage_onboarding_status)); - if (count($get_stage_subs_items) == count($get_stage_onboarding_status)) { - //check if all items have been completed and update - $onboarding_progress_stage[$current_pending_stage_details->stage] = 'COMPLETED'; - + $client_update = Models\Client::find($id); + if ($client_update->progress_indicator != 'COMPLETED') { + $current_pending_stage_details = Models\ClientOnboardingMainStage::where('stage', $request->current_pending_stage)->first(); + $get_stage_subs_items = Models\ClientOnboardingSubItem::where('stage_id', $current_pending_stage_details->stage_id)->get(); + #update the table for onboarding progress + foreach ($request->onboarding_sub_items_progress as $value) { + $stage_id = ['stage_id' => $current_pending_stage_details->stage_id, 'client_id' => $id, 'name' => $value ]; + $progress_arr = [ + 'status' => 'COMPLETED' + ]; + $clients_onboarding_progress = Models\ClientOnboardingProgress::updateOrCreate($stage_id, $progress_arr); + } + + //update the status of onboarding progress stage in clients + $get_stage_onboarding_status = Models\ClientOnboardingProgress::where('client_id', $id)->where('stage_id', $current_pending_stage_details->stage_id)->where('status', 'COMPLETED')->get(); + // dd($get_stage_onboarding_status); + $onboarding_progress_stage = json_decode($client_update->onboarding_progress_stage, true); + + // dd(count($get_stage_subs_items) == count($get_stage_onboarding_status)); + if (count($get_stage_subs_items) == count($get_stage_onboarding_status)) { + //check if all items have been completed and update + $onboarding_progress_stage[$current_pending_stage_details->stage] = 'COMPLETED'; + } $pending_stage = Arr::where($onboarding_progress_stage, function ($value, $key) { return $value == "PENDING"; }); $pending_stage = array_key_first($pending_stage); + if ($pending_stage == true) { + //Pending Exist $client_update->progress_indicator = $pending_stage; } else{ + //No pending detected so render the process completed $client_update->progress_indicator = 'COMPLETED'; + //send email here + $client = Models\Client::with('auth_user_info')->find($id); + dispatch(new SendOnboardingCompletedEmailAlert($client)); } - } - - - if ($request->has('document_one') && $request->has('document_one_name')) { if ($request->file('document_one')->isValid()) { $filename = "erp_" . time() . str_random(6) . "." . $request->document_one->extension(); @@ -1084,14 +1063,24 @@ class ClientsController extends Controller $client_update->notes = $request->notes; $client_update->industry = $request->industry; #$client_update->progress_indicators = json_encode($request->onboarding_sub_items_progress); - $client_update->onboarding_progress_stage = json_encode($onboarding_progress_stage); - /* - $general_indicators = Models\ClientIndicator::count(); - - $indicator_score = (count($request->progress_indicators)/$general_indicators) * 100; - $indicator_score = number_format($indicator_score); - $client_update->progress_indicator_score = $indicator_score; - */ + if ($client_update->progress_indicator != 'COMPLETED') { + $client_update->onboarding_progress_stage = json_encode($onboarding_progress_stage); + + $progress_breakdown = array_count_values($onboarding_progress_stage); + if (array_has($progress_breakdown, ['COMPLETED']) == false) { + $indicator_score = "0"; + } + else{ + $indicator_score = ($progress_breakdown['COMPLETED']/count($onboarding_progress_stage)) * 100; + } + + $indicator_score = number_format($indicator_score); + $client_update->progress_indicator_score = $indicator_score; + } + else{ + //review this manual process :) + $client_update->progress_indicator_score = 100; + } $client_update->skype_name = $request->skype_name ?? ""; $client_update->linkedin_name = $request->linkedin_name ?? ""; $client_update->smpp_username = $request->smpp_username ?? ""; @@ -1128,29 +1117,6 @@ class ClientsController extends Controller $result = $client_update->save(); - - - #$client = Models\Client::find($id); - /* - if (in_array('3', $request->services)) { - if ($request->status == 'active' && $client_update->status !== 'active') { - \log::info('ussd client active detected'); - #dispatch(new SendUssdClientActiveEmail($client)); - } - } - - if (in_array('3', $request->services)) { - \Log::info('ussd client detected'); - $ussd_client_payment_arr = [ - 'client_id' => $client_update->id, - 'last_modified_by_id' => session('current_user.id') - ]; - $retval = Models\UssdClientPayment::create($ussd_client_payment_arr); - //TODO send an email to jim/priscilla about new USSD client, - #dispatch(new SendNewUssdClientEmail($client_update)); - } - $retval = $this->update_services($request->services, $client_update->id); - */ $activity_arr = [ 'type' => 'staff', 'content' => session('current_user.name') . " updated ($client_update->name) details successfully!", diff --git a/app/Http/Controllers/UtilityController.php b/app/Http/Controllers/UtilityController.php index a8e1ac7..264df88 100644 --- a/app/Http/Controllers/UtilityController.php +++ b/app/Http/Controllers/UtilityController.php @@ -32,4 +32,21 @@ class UtilityController extends Controller return view('utility.map'); } + function insertOnboardingProgress(){ + $all_clients = Models\Client::get(); + $count_cl = 0; + foreach ($all_clients as $row) { + + $get_stage_subs_items = Models\ClientOnboardingSubItem::get(); + foreach ($get_stage_subs_items as $value) { + $stage_id = ['stage_id' => $value->stage_id, 'client_id' => $row->id, 'name' => $value->name ]; + $progress_arr = [ + 'status' => 'PENDING' + ]; + $clients_onboarding_progress = Models\ClientOnboardingProgress::updateOrCreate($stage_id, $progress_arr); + } + $count_cl++; + } + dump($count_cl); + } } diff --git a/app/Jobs/SendOnboardingCompletedEmailAlert.php b/app/Jobs/SendOnboardingCompletedEmailAlert.php new file mode 100644 index 0000000..66f4d0d --- /dev/null +++ b/app/Jobs/SendOnboardingCompletedEmailAlert.php @@ -0,0 +1,50 @@ +client = $client; + } + + /** + * Execute the job. + * + * @return void + */ + public function handle(Mailer $mailer) + { + $client = $this->client; + $emails = ['samuel@click-mobile.com', 'kwesi@click-mobile.com']; + + $data = [ + 'client' => $client->name, + 'created_by' => $client->auth_user_info->name, + 'country' => $client->country, + 'company_type' => $client->company_type, + 'contact_person' => $client->contact_person, + 'how_we_got' => $client->how_we_got_client + ]; + $mailer->send('emails.onboarding_completed', $data, function ($message) use ($data, $emails) { + $message->from('support@click-mobile.com', 'Click Mobile ERP'); + $message->to($emails)->subject('Onboarding Completed'); + }); + } +} diff --git a/resources/views/client/index-tabulator.blade.php b/resources/views/client/index-tabulator.blade.php index 2c328a9..618a04f 100644 --- a/resources/views/client/index-tabulator.blade.php +++ b/resources/views/client/index-tabulator.blade.php @@ -108,12 +108,6 @@ field: "accountMgr", sorter: "string", }, - { - title: "Onboarding Status", - field: "progress_indicator", - sorter: "string", - }, - /* { title:"Progress", field:"progress_indicator_score", sorter:"number", @@ -122,7 +116,6 @@ width:200, editable:true }, - */ { title: "Status", field: "status", diff --git a/resources/views/client/laravel-2024-02-01.log b/resources/views/client/laravel-2024-02-01.log new file mode 100644 index 0000000..4fa9017 --- /dev/null +++ b/resources/views/client/laravel-2024-02-01.log @@ -0,0 +1,195 @@ +[2024-02-01 11:51:32] production.INFO: Mansa Olympio Successfully logged in at : 2024-02-01 11:51:32 +[2024-02-01 12:52:22] production.INFO: Mphatso Katundu Successfully logged in at : 2024-02-01 12:52:22 +[2024-02-01 14:20:13] production.INFO: Charity Mtembezeka Successfully logged in at : 2024-02-01 14:20:13 +[2024-02-01 14:50:19] production.INFO: Kwesi Banson Successfully logged in at : 2024-02-01 14:50:19 +[2024-02-01 15:29:39] production.ERROR: Trying to get property of non-object {"exception":"[object] (ErrorException(code: 0): Trying to get property of non-object at /var/www/html/general/team_tracker/app/Http/Controllers/ClientsController.php:799) +[stacktrace] +#0 /var/www/html/general/team_tracker/app/Http/Controllers/ClientsController.php(799): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'Trying to get p...', '/var/www/html/g...', 799, Array) +#1 [internal function]: App\\Http\\Controllers\\ClientsController->edit('12') +#2 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array) +#3 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('edit', Array) +#4 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\ClientsController), 'edit') +#5 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Route.php(169): Illuminate\\Routing\\Route->runController() +#6 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Route->run() +#7 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#8 /var/www/html/general/team_tracker/app/Http/Middleware/CheckCurrentlyLoggedInUsers.php(28): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#9 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): App\\Http\\Middleware\\CheckCurrentlyLoggedInUsers->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#10 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#11 /var/www/html/general/team_tracker/app/Http/Middleware/CheckLogin.php(21): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#12 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): App\\Http\\Middleware\\CheckLogin->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#13 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#14 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#15 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#16 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#17 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(68): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#18 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#19 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#20 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#21 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#22 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#23 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#24 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#25 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#26 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#27 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#28 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#29 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(68): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#30 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#31 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#32 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#33 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Router.php(660): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) +#34 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request)) +#35 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Router.php(601): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route)) +#36 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Router.php(590): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request)) +#37 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request)) +#38 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request)) +#39 /var/www/html/general/team_tracker/vendor/fideloper/proxy/src/TrustProxies.php(56): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#40 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#41 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#42 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#43 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#44 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#45 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#46 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#47 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#48 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#49 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#50 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#51 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#52 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#53 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#54 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#55 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) +#56 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request)) +#57 /var/www/html/general/team_tracker/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request)) +#58 {main} +"} +[2024-02-01 15:30:09] production.ERROR: View [client.onboarding_show] not found. {"exception":"[object] (InvalidArgumentException(code: 0): View [client.onboarding_show] not found. at /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php:137) +[stacktrace] +#0 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php(79): Illuminate\\View\\FileViewFinder->findInPaths('client.onboardi...', Array) +#1 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/View/Factory.php(128): Illuminate\\View\\FileViewFinder->find('client.onboardi...') +#2 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(979): Illuminate\\View\\Factory->make('client.onboardi...', Array, Array) +#3 /var/www/html/general/team_tracker/app/Http/Controllers/ClientsController.php(1212): view('client.onboardi...', Array) +#4 [internal function]: App\\Http\\Controllers\\ClientsController->showOnboardingForm('12') +#5 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array) +#6 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('showOnboardingF...', Array) +#7 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\ClientsController), 'showOnboardingF...') +#8 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Route.php(169): Illuminate\\Routing\\Route->runController() +#9 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Route->run() +#10 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#11 /var/www/html/general/team_tracker/app/Http/Middleware/CheckCurrentlyLoggedInUsers.php(28): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#12 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): App\\Http\\Middleware\\CheckCurrentlyLoggedInUsers->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#13 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#14 /var/www/html/general/team_tracker/app/Http/Middleware/CheckLogin.php(21): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#15 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): App\\Http\\Middleware\\CheckLogin->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#16 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#17 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#18 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#19 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#20 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(68): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#21 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#22 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#23 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#24 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#25 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#26 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#27 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#28 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#29 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#30 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#31 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#32 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(68): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#33 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#34 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#35 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#36 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Router.php(660): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) +#37 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request)) +#38 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Router.php(601): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route)) +#39 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Router.php(590): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request)) +#40 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request)) +#41 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request)) +#42 /var/www/html/general/team_tracker/vendor/fideloper/proxy/src/TrustProxies.php(56): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#43 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#44 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#45 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#46 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#47 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#48 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#49 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#50 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#51 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#52 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#53 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#54 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#55 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#56 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#57 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#58 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) +#59 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request)) +#60 /var/www/html/general/team_tracker/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request)) +#61 {main} +"} +[2024-02-01 15:30:25] production.INFO: Mansa Olympio Successfully logged in at : 2024-02-01 15:30:25 +[2024-02-01 15:30:46] production.ERROR: Trying to get property of non-object {"exception":"[object] (ErrorException(code: 0): Trying to get property of non-object at /var/www/html/general/team_tracker/app/Http/Controllers/ClientsController.php:799) +[stacktrace] +#0 /var/www/html/general/team_tracker/app/Http/Controllers/ClientsController.php(799): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'Trying to get p...', '/var/www/html/g...', 799, Array) +#1 [internal function]: App\\Http\\Controllers\\ClientsController->edit('166') +#2 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array) +#3 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('edit', Array) +#4 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\ClientsController), 'edit') +#5 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Route.php(169): Illuminate\\Routing\\Route->runController() +#6 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Route->run() +#7 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#8 /var/www/html/general/team_tracker/app/Http/Middleware/CheckCurrentlyLoggedInUsers.php(28): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#9 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): App\\Http\\Middleware\\CheckCurrentlyLoggedInUsers->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#10 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#11 /var/www/html/general/team_tracker/app/Http/Middleware/CheckLogin.php(21): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#12 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): App\\Http\\Middleware\\CheckLogin->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#13 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#14 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#15 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#16 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#17 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(68): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#18 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#19 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#20 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#21 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#22 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#23 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#24 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#25 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#26 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#27 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#28 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#29 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(68): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#30 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#31 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#32 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#33 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Router.php(660): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) +#34 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request)) +#35 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Router.php(601): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route)) +#36 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Router.php(590): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request)) +#37 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request)) +#38 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request)) +#39 /var/www/html/general/team_tracker/vendor/fideloper/proxy/src/TrustProxies.php(56): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#40 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#41 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#42 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#43 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#44 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#45 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#46 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#47 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#48 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#49 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#50 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#51 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#52 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure)) +#53 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) +#54 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) +#55 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) +#56 /var/www/html/general/team_tracker/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request)) +#57 /var/www/html/general/team_tracker/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request)) +#58 {main} +"} +[2024-02-01 15:32:30] production.INFO: Kwesi Banson Successfully logged in at : 2024-02-01 15:32:30 diff --git a/resources/views/emails/onboarding_completed.blade.php b/resources/views/emails/onboarding_completed.blade.php new file mode 100644 index 0000000..949f4e7 --- /dev/null +++ b/resources/views/emails/onboarding_completed.blade.php @@ -0,0 +1,35 @@ + + + + + + +
+ Click Mobile Banner Logo +
+

{{ date('F d, Y') }} Client Onboarding Complete

+ + + Hello Sam,
+ +

+ {{ $created_by }} has completed the Onboarding Process for {{ $client }} . +

+ +
+
+ + Client Details +
+

Company Type :{{ $company_type }}

+

country :{{ $country }}

+

Company Type : {{ $company_type }}

+

Contact Person :{{ $contact_person }}

+

How we got the Client : {{ $how_we_got }}

+ +

+ Sincerely,
+ Click Mobile ERP +

+ + diff --git a/routes/web.php b/routes/web.php index 703dca5..4d4f869 100755 --- a/routes/web.php +++ b/routes/web.php @@ -24,6 +24,11 @@ Route::get('/home', 'HomeController@index')->name('home'); //Route::post('ipstore', 'NetworkOperatorsController@ipStore'); Route::get('testemail', 'UtilityController@EmailTest'); +//insertOnboardingProgress + + +Route::get('dumpprogress', 'UtilityController@insertOnboardingProgress'); + Route::get('testmap', 'UtilityController@maptest'); diff --git a/sql-workspace.sql b/sql-workspace.sql new file mode 100644 index 0000000..df85597 --- /dev/null +++ b/sql-workspace.sql @@ -0,0 +1,32 @@ +select * from gcr_register where districtid = 1 and `gcr_issued_to_id` = 79; + + +select * from business_due where subupn = '654-0739-0132-2'; + +select * from business_balance where subupn = '654-0739-0132-2'; +-- kwesi permissions 1834750 +-- kwesi with no cash payment : "786174" + +select * from usr_users where permissions & 1048576 and districtid = 1; + + + +select id, name, progress_indicator,onboarding_progress_stage, progress_indicator_score from clients; + +select stage_id from client_onboarding_progress where status = 'PENDING' and client_id = 3 order by stage_id limit 1; + +SELECT WEEK(NOW()) AS Current_Week; + +select * from clients where week(created_at) = WEEK(NOW()); +update clients set progress_indicator = 'Agreement Stage' where id > 4; +-- {"Agreement Stage":"PENDING","Interconnectional (Bilateral)":"PENDING","Rate Card Sharing":"PENDING","Rates Uploaded":"PENDING","Tests Completed":"PENDING"} +-- {"Agreement Stage":"PENDING","Interconnectional (Bilateral)":"PENDING","Tests Completed":"PENDING","Rate Card Sharing":"PENDING","Rates Uploaded":"PENDING"} + +update clients set onboarding_progress_stage = '{"Agreement Stage":"PENDING","Interconnectional (Bilateral)":"PENDING","Rate Card Sharing":"PENDING","Rates Uploaded":"PENDING","Tests Completed":"PENDING"}' where id > 4; +update clients + set progress_indicator = 'COMPLETED', + set onboarding_progress_stage = '{"Agreement Stage":"PENDING","Interconnectional (Bilateral)":"PENDING","Tests Completed":"PENDING","Rate Card Sharing":"PENDING","Rates Uploaded":"PENDING"}', + set progress_indicator_score = 100 + where id = 24; + + diff --git a/update_onboarding_subs.sql b/update_onboarding_subs.sql new file mode 100644 index 0000000..863ae60 --- /dev/null +++ b/update_onboarding_subs.sql @@ -0,0 +1,20 @@ +INSERT INTO `client_onboarding_progress` (`name`, `stage_id`, `status`, `priority`, `client_id`, `created_at`, `updated_at`) +VALUES + ('Determine Agreement (Bilateral/Unilateral)', 1, 'COMPLETED', 1, 15, '2024-02-01 14:25:00', '2024-02-01 14:25:00'), + ('Agreement Sharing from Click', 1, 'COMPLETED', 1, 15, '2024-02-01 14:25:00', '2024-02-01 14:25:00'), + ('Agreement Sharing from Partner', 1, 'COMPLETED', 1, 15, '2024-02-01 14:25:00', '2024-02-01 14:25:00'), + ('Agreement Signed by Click', 1, 'COMPLETED', 1, 15, '2024-02-01 14:25:00', '2024-02-01 14:25:00'), + ('Agreement Signed by Partner', 1, 'COMPLETED', 1, 15, '2024-02-01 14:25:00', '2024-02-01 14:25:00'), + ('Agreement Fully executed', 1, 'COMPLETED', 1, 15, '2024-02-01 14:25:00', '2024-02-01 14:25:00'), + ('Share Forms from Click/Partner', 2, 'COMPLETED', 1, 15, '2024-02-01 14:25:19', '2024-02-01 14:25:19'), + ('Intergration Initaited by Click/Partner', 2, 'COMPLETED', 1, 15, '2024-02-01 14:25:19', '2024-02-01 14:25:19'), + ('Integration troubleshooting by Click', 2, 'COMPLETED', 1, 15, '2024-02-01 14:25:19', '2024-02-01 14:25:19'), + ('Integration troubleshooting by Partner', 2, 'COMPLETED', 1, 15, '2024-02-01 14:25:19', '2024-02-01 14:25:19'), + ('Integration complete', 2, 'COMPLETED', 1, 15, '2024-02-01 14:25:19', '2024-02-01 14:25:19'), + ('Test in progress by Click', 2, 'COMPLETED', 1, 15, '2024-02-01 14:25:19', '2024-02-01 14:25:19'), + ('Test in progress by Partner', 2, 'COMPLETED', 1, 15, '2024-02-01 14:25:19', '2024-02-01 14:25:19'), + ('Rate Card Sharing by Click', 4, 'COMPLETED', 1, 15, '2024-02-01 14:25:43', '2024-02-01 14:25:43'), + ('Rate Card Sharing by Partner', 4, 'COMPLETED', 1, 15, '2024-02-01 14:25:43', '2024-02-01 14:25:43'), + ('Rates Uploaded by Click', 5, 'COMPLETED', 1, 15, '2024-02-01 14:25:48', '2024-02-01 14:25:48'), + ('Tests Completed by Click', 3, 'COMPLETED', 1, 15, '2024-02-01 14:25:53', '2024-02-01 14:25:53'), + ('Tests Completed by Partner', 3, 'COMPLETED', 1, 15, '2024-02-01 14:25:53', '2024-02-01 14:25:53');