Fields/fares not being saved properly

This commit is contained in:
Nabeel Shahzad
2021-06-04 15:06:19 -04:00
parent 5ada327236
commit 4267648da5

View File

@@ -9,6 +9,7 @@ use App\Models\Enums\PirepSource;
use App\Models\Enums\PirepState; use App\Models\Enums\PirepState;
use App\Models\Fare; use App\Models\Fare;
use App\Models\Pirep; use App\Models\Pirep;
use App\Models\PirepFare;
use App\Models\SimBrief; use App\Models\SimBrief;
use App\Models\User; use App\Models\User;
use App\Repositories\AircraftRepository; use App\Repositories\AircraftRepository;
@@ -112,19 +113,18 @@ class PirepController extends Controller
/** /**
* Save any custom fields found * Save any custom fields found
* *
* @param Pirep $pirep
* @param Request $request * @param Request $request
*/ */
protected function saveCustomFields(Pirep $pirep, Request $request) protected function saveCustomFields(Request $request): array
{ {
$custom_fields = []; $fields = [];
$pirep_fields = $this->pirepFieldRepo->all(); $pirep_fields = $this->pirepFieldRepo->all();
foreach ($pirep_fields as $field) { foreach ($pirep_fields as $field) {
if (!$request->filled($field->slug)) { if (!$request->filled($field->slug)) {
continue; continue;
} }
$custom_fields[] = [ $fields[] = [
'name' => $field->name, 'name' => $field->name,
'slug' => $field->slug, 'slug' => $field->slug,
'value' => $request->input($field->slug), 'value' => $request->input($field->slug),
@@ -132,8 +132,9 @@ class PirepController extends Controller
]; ];
} }
Log::info('PIREP Custom Fields', $custom_fields); Log::info('PIREP Custom Fields', $fields);
$this->pirepSvc->updateCustomFields($pirep->id, $custom_fields);
return $fields;
} }
/** /**
@@ -159,10 +160,10 @@ class PirepController extends Controller
$count = $request->input($field_name); $count = $request->input($field_name);
} }
$fares[] = [ $fares[] = new PirepFare([
'fare_id' => $fare->id, 'fare_id' => $fare->id,
'count' => $count, 'count' => $count,
]; ]);
} }
$this->fareSvc->saveForPirep($pirep, $fares); $this->fareSvc->saveForPirep($pirep, $fares);
@@ -389,8 +390,8 @@ class PirepController extends Controller
$attrs['submitted_at'] = Carbon::now('UTC'); $attrs['submitted_at'] = Carbon::now('UTC');
$pirep->submitted_at = Carbon::now('UTC'); $pirep->submitted_at = Carbon::now('UTC');
$pirep = $this->pirepSvc->create($pirep); $fields = $this->saveCustomFields($request);
$this->saveCustomFields($pirep, $request); $pirep = $this->pirepSvc->create($pirep, $fields);
$this->saveFares($pirep, $request); $this->saveFares($pirep, $request);
$this->pirepSvc->saveRoute($pirep); $this->pirepSvc->saveRoute($pirep);
@@ -531,7 +532,8 @@ class PirepController extends Controller
$this->pirepSvc->saveRoute($pirep); $this->pirepSvc->saveRoute($pirep);
} }
$this->saveCustomFields($pirep, $request); $fields = $this->saveCustomFields($request);
$this->pirepSvc->updateCustomFields($pirep->id, $fields);
$this->saveFares($pirep, $request); $this->saveFares($pirep, $request);
if ($attrs['submit'] === 'save') { if ($attrs['submit'] === 'save') {