From 5a89b4f19408d628e6a077f939d5d6810e93b8bf Mon Sep 17 00:00:00 2001 From: Nabeel Shahzad Date: Sat, 10 Feb 2018 16:10:19 -0600 Subject: [PATCH] write the route if it hasn't been set by acars #184 --- app/Http/Controllers/Api/PirepController.php | 10 ++++++++++ app/Services/PIREPService.php | 9 +++++---- resources/views/admin/airports/fields.blade.php | 2 +- resources/views/admin/airports/script.blade.php | 2 +- tests/AcarsTest.php | 2 +- 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/Api/PirepController.php b/app/Http/Controllers/Api/PirepController.php index d2513b50..4359633b 100644 --- a/app/Http/Controllers/Api/PirepController.php +++ b/app/Http/Controllers/Api/PirepController.php @@ -177,6 +177,7 @@ class PirepController extends RestController * @return PirepResource * @throws \Symfony\Component\HttpKernel\Exception\BadRequestHttpException * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * @throws \Exception */ public function file($id, FileRequest $request) { @@ -198,6 +199,15 @@ class PirepController extends RestController Log::error($e); } + # See if there there is any route data posted + # If there isn't, then just write the route data from the + # route that's been posted from the PIREP + $w = ['pirep_id' => $pirep->id, 'type' => AcarsType::ROUTE]; + $count = Acars::where($w)->count(['id']); + if($count === 0) { + $this->pirepSvc->saveRoute($pirep); + } + PirepResource::withoutWrapping(); return new PirepResource($pirep); } diff --git a/app/Services/PIREPService.php b/app/Services/PIREPService.php index 7416eb81..0c133317 100644 --- a/app/Services/PIREPService.php +++ b/app/Services/PIREPService.php @@ -102,6 +102,7 @@ class PIREPService extends BaseService * Save the route into the ACARS table with AcarsType::ROUTE * @param Pirep $pirep * @return Pirep + * @throws \Exception */ public function saveRoute(Pirep $pirep): Pirep { @@ -111,13 +112,13 @@ class PIREPService extends BaseService 'type' => AcarsType::ROUTE, ])->delete(); - # Delete the route - if (empty($pirep->route)) { + # See if a route exists + if (!filled($pirep->route)) { return $pirep; } - if(!$pirep->dpt_airport) { - Log::error('saveRoute: dpt_airport not found: '.$pirep->dpt_airport_id); + if (!filled($pirep->dpt_airport)) { + Log::error('saveRoute: dpt_airport not found: ' . $pirep->dpt_airport_id); return $pirep; } diff --git a/resources/views/admin/airports/fields.blade.php b/resources/views/admin/airports/fields.blade.php index 658bb455..0c54f99b 100644 --- a/resources/views/admin/airports/fields.blade.php +++ b/resources/views/admin/airports/fields.blade.php @@ -55,7 +55,7 @@
{!! Form::label('timezone', 'Timezone:') !!} - {!! Form::select('timezone', $timezones, null, ['class' => 'select2']); !!} + {!! Form::select('timezone', $timezones, null, ['id' => 'timezone', 'class' => 'select2']); !!}

{{ $errors->first('timezone') }}

diff --git a/resources/views/admin/airports/script.blade.php b/resources/views/admin/airports/script.blade.php index 2f4a670d..669593d0 100644 --- a/resources/views/admin/airports/script.blade.php +++ b/resources/views/admin/airports/script.blade.php @@ -32,7 +32,7 @@ $(document).ready(function() { $('a.airport_data_lookup').click(function(e) { e.preventDefault(); - var icao = $("input#airport_icao").val(); + const icao = $("input#airport_icao").val(); if(icao === '') { return; } diff --git a/tests/AcarsTest.php b/tests/AcarsTest.php index 7ed16601..3871819c 100644 --- a/tests/AcarsTest.php +++ b/tests/AcarsTest.php @@ -189,7 +189,7 @@ class AcarsTest extends TestCase # File the PIREP now $uri = '/api/pireps/'.$pirep_id.'/file'; $response = $this->post($uri, []); - $response->assertStatus(400); // missing the flight time + $response->assertStatus(400); // missing field $response = $this->post($uri, ['flight_time' => '1:30']); $response->assertStatus(400); // invalid flight time