From 4267648da52b331535087dd249b4e6a1859e2e56 Mon Sep 17 00:00:00 2001 From: Nabeel Shahzad Date: Fri, 4 Jun 2021 15:06:19 -0400 Subject: [PATCH] Fields/fares not being saved properly --- .../Controllers/Frontend/PirepController.php | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/Frontend/PirepController.php b/app/Http/Controllers/Frontend/PirepController.php index 00697cef..12f8e19b 100644 --- a/app/Http/Controllers/Frontend/PirepController.php +++ b/app/Http/Controllers/Frontend/PirepController.php @@ -9,6 +9,7 @@ use App\Models\Enums\PirepSource; use App\Models\Enums\PirepState; use App\Models\Fare; use App\Models\Pirep; +use App\Models\PirepFare; use App\Models\SimBrief; use App\Models\User; use App\Repositories\AircraftRepository; @@ -112,19 +113,18 @@ class PirepController extends Controller /** * Save any custom fields found * - * @param Pirep $pirep * @param Request $request */ - protected function saveCustomFields(Pirep $pirep, Request $request) + protected function saveCustomFields(Request $request): array { - $custom_fields = []; + $fields = []; $pirep_fields = $this->pirepFieldRepo->all(); foreach ($pirep_fields as $field) { if (!$request->filled($field->slug)) { continue; } - $custom_fields[] = [ + $fields[] = [ 'name' => $field->name, 'slug' => $field->slug, 'value' => $request->input($field->slug), @@ -132,8 +132,9 @@ class PirepController extends Controller ]; } - Log::info('PIREP Custom Fields', $custom_fields); - $this->pirepSvc->updateCustomFields($pirep->id, $custom_fields); + Log::info('PIREP Custom Fields', $fields); + + return $fields; } /** @@ -159,10 +160,10 @@ class PirepController extends Controller $count = $request->input($field_name); } - $fares[] = [ + $fares[] = new PirepFare([ 'fare_id' => $fare->id, 'count' => $count, - ]; + ]); } $this->fareSvc->saveForPirep($pirep, $fares); @@ -389,8 +390,8 @@ class PirepController extends Controller $attrs['submitted_at'] = Carbon::now('UTC'); $pirep->submitted_at = Carbon::now('UTC'); - $pirep = $this->pirepSvc->create($pirep); - $this->saveCustomFields($pirep, $request); + $fields = $this->saveCustomFields($request); + $pirep = $this->pirepSvc->create($pirep, $fields); $this->saveFares($pirep, $request); $this->pirepSvc->saveRoute($pirep); @@ -531,7 +532,8 @@ class PirepController extends Controller $this->pirepSvc->saveRoute($pirep); } - $this->saveCustomFields($pirep, $request); + $fields = $this->saveCustomFields($request); + $this->pirepSvc->updateCustomFields($pirep->id, $fields); $this->saveFares($pirep, $request); if ($attrs['submit'] === 'save') {