write the route if it hasn't been set by acars #184

This commit is contained in:
Nabeel Shahzad 2018-02-10 16:10:19 -06:00
parent 7a6b228d8f
commit 5a89b4f194
5 changed files with 18 additions and 7 deletions

View File

@ -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);
}

View File

@ -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;
}

View File

@ -55,7 +55,7 @@
<div class="form-group col-sm-6">
{!! Form::label('timezone', 'Timezone:') !!}
{!! Form::select('timezone', $timezones, null, ['class' => 'select2']); !!}
{!! Form::select('timezone', $timezones, null, ['id' => 'timezone', 'class' => 'select2']); !!}
<p class="text-danger">{{ $errors->first('timezone') }}</p>
</div>
</div>

View File

@ -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;
}

View File

@ -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