specify fares, js to dynamically change fare form; get applicable fares for the flight/pirep #125

This commit is contained in:
Nabeel Shahzad
2018-02-24 15:38:25 -06:00
parent 910c0e0eab
commit 58e0f50c48
28 changed files with 1063 additions and 265 deletions

View File

@@ -28,13 +28,6 @@
</div>
</div>
<div class="card border-blue-bottom">
<div class="content">
<h4>field values</h4>
@include('admin.pireps.field_values')
</div>
</div>
<div class="card border-blue-bottom">
<div class="content">
<h4>comments</h4>

View File

@@ -0,0 +1,29 @@
@if($aircraft)
<table class="table table-hover table-responsive">
<thead>
<th></th>
<th>Count</th>
</thead>
</thead>
<tbody>
@foreach($aircraft->subfleet->fares as $fare)
<tr>
<td>{!! $fare->name !!} ({!! $fare->code !!})</td>
<td>
<div class="form-group">
@if($read_only)
<p>{!! $pirep->{'fare_'.$fare->id} !!}</p>
{!! Form::hidden('fare_'.$fare->id) !!}
@else
{!! Form::number('fare_'.$fare->id, null, [
'class' => 'form-control',
'min' => 0,
'readonly' => $read_only]) !!}
@endif
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
@endif

View File

@@ -1,35 +1,30 @@
<div id="pirep_field_values_wrapper">
<table class="table table-responsive" id="flight-fields-table">
<table class="table table-responsive table-hover" id="flight-fields-table">
<thead>
<th>Name</th>
<th></th>
<th>Value</th>
<th>Source</th>
<th style="text-align: right;">Actions</th>
</thead>
<tbody>
@foreach($pirep->fields as $field)
<tr>
<td>{!! $field->name !!}</td>
<td>
<a class="inline" href="#" data-pk="{!! $field->id !!}" data-name="{!! $field->name !!}">{!! $field->value !!}</a>
{!! $field->name !!}
@if($field->required === true)
<span class="text-danger">*</span>
@endif
</td>
<td>{!! PirepSource::label($field->source) !!}</td>
<td style="width: 10%; text-align: right;" class="form-inline">
{!! Form::open(['url' => '/admin/pireps/'.$pirep->id.'/fields',
'method' => 'delete',
'class' => 'pjax_form pirep_fields'
]) !!}
{!! Form::hidden('field_id', $field->id) !!}
<div class='btn-group'>
{{--{!! Form::button('<i class="fa fa-times"></i>',
['type' => 'submit',
'class' => 'btn btn-danger btn-xs'])
!!}--}}
<td>
<div class="form-group">
{!! Form::text($field->slug, null, [
'class' => 'form-control'
]) !!}
</div>
{!! Form::close() !!}
<p class="text-danger">{{ $errors->first($field->slug) }}</p>
</td>
<td>
{!! PirepSource::label($field->source) !!}
</td>
</tr>
@endforeach
</tbody>
</table>
</div>

View File

@@ -1,23 +1,46 @@
@if($read_only)
<div class="row">
<div class="col-sm-12">
@component('admin.components.info')
Once a PIREP has been accepted/rejected, certain fields go into read-only mode.
@endcomponent
</div>
</div>
@endif
<div class="row">
<div class="form-group col-sm-6">
{!! Form::label('flight_number', 'Flight Number/Route Code/Leg') !!}
<div class="row">
<div class="col-sm-4">
{!! Form::text('flight_number', null, ['placeholder' => 'Flight Number', 'class' => 'form-control']) !!}
<p class="text-danger">{{ $errors->first('flight_number') }}</p>
@if($read_only)
<p>{!! $pirep->ident !!}
{!! Form::hidden('flight_number') !!}
{!! Form::hidden('flight_code') !!}
{!! Form::hidden('flight_leg') !!}
</p>
@else
<div class="row">
<div class="col-sm-4">
{!! Form::text('flight_number', null, [
'placeholder' => 'Flight Number',
'class' => 'form-control']) !!}
<p class="text-danger">{{ $errors->first('flight_number') }}</p>
</div>
<div class="col-sm-4">
{!! Form::text('route_code', null, [
'placeholder' => 'Code (optional)',
'class' => 'form-control']) !!}
<p class="text-danger">{{ $errors->first('route_code') }}</p>
</div>
<div class="col-sm-4">
{!! Form::text('route_leg', null, [
'placeholder' => 'Leg (optional)',
'class' => 'form-control']) !!}
<p class="text-danger">{{ $errors->first('route_leg') }}</p>
</div>
</div>
<div class="col-sm-4">
{!! Form::text('route_code', null, ['placeholder' => 'Code (optional)', 'class' => 'form-control']) !!}
<p class="text-danger">{{ $errors->first('route_code') }}</p>
</div>
<div class="col-sm-4">
{!! Form::text('route_leg', null, ['placeholder' => 'Leg (optional)', 'class' => 'form-control']) !!}
<p class="text-danger">{{ $errors->first('route_leg') }}</p>
</div>
</div>
@endif
</div>
<div class="form-group col-sm-6">
<p class="description">Filed Using:</span>
<p class="description">Filed Via:</p>
{!! PirepSource::label($pirep->source) !!}
@if(filled($pirep->source_name))
({!! $pirep->source_name !!})
@@ -27,44 +50,82 @@
<div class="row">
<div class="form-group col-sm-3">
{!! Form::label('airline_id', 'Airline') !!}
<div class="row">
<div class="col-sm-12">
{!! Form::select('airline_id', $airlines, null, ['class' => 'form-control select2']) !!}
<p class="text-danger">{{ $errors->first('airline_id') }}</p>
</div>
</div>
@if($read_only)
<p>{!! $pirep->airline->name !!}</p>
{!! Form::hidden('airline_id') !!}
@else
{!! Form::select('airline_id', $airlines_list, null, [
'class' => 'form-control select2',
'readonly' => $read_only]) !!}
<p class="text-danger">{{ $errors->first('airline_id') }}</p>
@endif
</div>
<div class="form-group col-sm-3">
{!! Form::label('aircraft_id', 'Aircraft:') !!}
{!! Form::select('aircraft_id', $aircraft, null, ['class' => 'form-control select2']) !!}
<p class="text-danger">{{ $errors->first('aircraft_id') }}</p>
@if($read_only)
<p>{!! $pirep->aircraft->name !!}</p>
{!! Form::hidden('aircraft_id') !!}
@else
{!! Form::select('aircraft_id', $aircraft_list, null, [
'id' => 'aircraft_select',
'class' => 'form-control select2',
'readonly' => $read_only
]) !!}
<p class="text-danger">{{ $errors->first('aircraft_id') }}</p>
@endif
</div>
<div class="form-group col-sm-3">
{!! Form::label('dpt_airport_id', 'Departure Airport:') !!}
{!! Form::select('dpt_airport_id', $airports, null, ['class' => 'form-control select2']) !!}
<p class="text-danger">{{ $errors->first('dpt_airport_id') }}</p>
@if($read_only)
<p>{!! $pirep->dpt_airport->id !!} - {!! $pirep->dpt_airport->name !!}</p>
{!! Form::hidden('dpt_airport_id') !!}
@else
{!! Form::select('dpt_airport_id', $airports_list, null, [
'class' => 'form-control select2',
'readonly' => $read_only]) !!}
<p class="text-danger">{{ $errors->first('dpt_airport_id') }}</p>
@endif
</div>
<div class="form-group col-sm-3">
{!! Form::label('arr_airport_id', 'Arrival Airport:') !!}
{!! Form::select('arr_airport_id', $airports, null, ['class' => 'form-control select2']) !!}
<p class="text-danger">{{ $errors->first('arr_airport_id') }}</p>
@if($read_only)
<p>{!! $pirep->arr_airport->id !!} - {!! $pirep->arr_airport->name !!}</p>
{!! Form::hidden('arr_airport_id') !!}
@else
{!! Form::select('arr_airport_id', $airports_list, null, ['class' => 'form-control select2']) !!}
<p class="text-danger">{{ $errors->first('arr_airport_id') }}</p>
@endif
</div>
</div>
<div class="row">
<!-- Flight Time Field -->
<div class="form-group col-sm-6">
{!! Form::label('flight_time', 'Flight Time (hours & minutes):') !!}
<div class="row">
<div class="col-sm-6">
{!! Form::number('hours', null, ['class' => 'form-control', 'placeholder' => 'hours', 'readonly' => $read_only]) !!}
@if($read_only)
<p>
{!! $pirep->hours !!} hours, {!! $pirep->minutes !!} minutes
{!! Form::hidden('hours') !!}
{!! Form::hidden('minutes') !!}
</p>
@else
<div class="row">
<div class="col-sm-6">
{!! Form::number('hours', null, [
'class' => 'form-control',
'placeholder' => 'hours',
'readonly' => $read_only]) !!}
</div>
<div class="col-sm-6">
{!! Form::number('minutes', null, [
'class' => 'form-control',
'placeholder' => 'minutes',
'readonly' => $read_only]) !!}
</div>
<p class="text-danger">{{ $errors->first('hours') }}</p>
<p class="text-danger">{{ $errors->first('minutes') }}</p>
</div>
<div class="col-sm-6">
{!! Form::number('minutes', null, ['class' => 'form-control', 'placeholder' => 'minutes', 'readonly' => $read_only]) !!}
</div>
<p class="text-danger">{{ $errors->first('hours') }}</p>
<p class="text-danger">{{ $errors->first('minutes') }}</p>
</div>
@endif
</div>
<!-- Level Field -->
@@ -72,7 +133,7 @@
{!! Form::label('level', 'Flight Level:') !!}
<div class="row">
<div class="col-sm-12">
{!! Form::text('level', null, ['class' => 'form-control']) !!}
{!! Form::number('level', null, ['class' => 'form-control', 'min' => 0]) !!}
<p class="text-danger">{{ $errors->first('level') }}</p>
</div>
</div>
@@ -93,6 +154,34 @@
<p class="text-danger">{{ $errors->first('notes') }}</p>
</div>
</div>
{{--
FARES
--}}
<div class="row">
<div class="col-sm-12">
<hr>
<h3>fares</h3>
{{-- You don't want to change this ID unless you don't want the fares form to work :) --}}
<div id="fares_container">
@include('admin.pireps.fares')
</div>
</div>
</div>
{{--
CUSTOM FIELDS
--}}
<div class="row">
<div class="col-sm-12">
<hr>
<h3>field values</h3>
{{-- You don't want to change this ID unless you don't want the fares form to work :) --}}
@include('admin.pireps.field_values')
</div>
</div>
<div class="row">
<div class="form-group col-sm-12">
<div class="pull-right">

View File

@@ -17,6 +17,29 @@ const changeStatus = (values, fn) => {
$(document).ready(function() {
const select_id = "select#aircraft_select";
const destContainer = $('#fares_container');
$(select_id).change((e) => {
const aircraft_id = $(select_id + " option:selected").val();
console.log('aircraft select change: ', aircraft_id);
$.ajax({
url: "{!! url('/admin/pireps/fares') !!}?aircraft_id=" + aircraft_id,
type: 'GET',
headers: {
'x-api-key': '{!! Auth::user()->api_key !!}'
},
success: (data) => {
console.log('returned new fares', data);
destContainer.html(data);
},
error: () => {
destContainer.html('');
}
});
});
$(document).on('submit', 'form.pjax_form', function (event) {
event.preventDefault();
$.pjax.submit(event, '#pirep_comments_wrapper', {push: false});