diff --git a/app/Http/Controllers/Admin/FlightController.php b/app/Http/Controllers/Admin/FlightController.php
index c4d4fc38..114c9ef9 100644
--- a/app/Http/Controllers/Admin/FlightController.php
+++ b/app/Http/Controllers/Admin/FlightController.php
@@ -2,6 +2,9 @@
namespace App\Http\Controllers\Admin;
+use App\Models\Airline;
+use App\Models\FlightFields;
+use App\Models\Airport;
use App\Http\Requests\CreateFlightRequest;
use App\Http\Requests\UpdateFlightRequest;
use App\Repositories\FlightRepository;
@@ -101,7 +104,6 @@ class FlightController extends BaseController
$avail_subfleets = $this->getAvailSubfleets($flight);
return view('admin.flights.show', [
'flight' => $flight,
- 'fields' => $flight->fields(),
'avail_subfleets' => $avail_subfleets,
]);
}
@@ -125,7 +127,8 @@ class FlightController extends BaseController
$avail_subfleets = $this->getAvailSubfleets($flight);
return view('admin.flights.edit', [
'flight' => $flight,
- 'fields' => $flight->fields(),
+ 'airlines' => Airline::all()->pluck('name', 'id'),
+ 'airports' => Airport::all()->pluck('icao', 'id'),
'avail_subfleets' => $avail_subfleets,
]);
}
@@ -175,6 +178,49 @@ class FlightController extends BaseController
return redirect(route('admin.flights.index'));
}
+ protected function return_fields_view($flight)
+ {
+ $flight->refresh();
+ return view('admin.flights.flight_fields', [
+ 'flight' => $flight,
+ ]);
+ }
+
+ public function fields(Request $request)
+ {
+ print_r($request->toArray());
+ $id = $request->id;
+
+ $flight = $this->flightRepository->findWithoutFail($id);
+ if (empty($flight)) {
+ Flash::error('Flight not found');
+ return redirect(route('admin.flights.index'));
+ }
+
+ // add custom field to flight
+ if ($request->isMethod('post')) {
+ $field = new FlightFields;
+ $field->flight_id = $id;
+ $field->name = $request->name;
+ $field->value = $request->value;
+ $field->save();
+ }
+
+ elseif ($request->isMethod('put')) {
+ $field = FlightFields::where('id', $request->field_id)->first();
+ $field->value = $request->value;
+ $field->save();
+ // update the field value
+ }
+
+ // remove custom field from flight
+ elseif ($request->isMethod('delete')) {
+ FlightFields::destroy($request->field_id);
+ }
+
+ return $this->return_fields_view($flight);
+ }
+
protected function return_subfleet_view($flight)
{
$avail_subfleets = $this->getAvailSubfleets($flight);
diff --git a/database/migrations/2017_06_17_214650_create_flights_table.php b/database/migrations/2017_06_17_214650_create_flights_table.php
index 49f00e1d..0a0e4291 100644
--- a/database/migrations/2017_06_17_214650_create_flights_table.php
+++ b/database/migrations/2017_06_17_214650_create_flights_table.php
@@ -44,6 +44,7 @@ class CreateFlightsTable extends Migration
$table->uuid('flight_id');
$table->string('name', 50);
$table->text('value');
+ $table->timestamps();
});
}
diff --git a/database/seeds/dev.yml b/database/seeds/dev.yml
index d2d116a4..b8ebb262 100644
--- a/database/seeds/dev.yml
+++ b/database/seeds/dev.yml
@@ -143,10 +143,10 @@ subfleet_fare:
subfleet_flight:
- subfleet_id: 1
- flight_id: 1
+ flight_id: flightid_1
flights:
- - id: 1
+ - id: flightid_1
airline_id: 1
flight_number: 100
dpt_airport_id: 1
@@ -155,13 +155,13 @@ flights:
flight_fields:
- id: 1
- flight_id: 1
+ flight_id: flightid_1
name: terminal
value: B
pireps:
- user_id: 1
- flight_id: 1
+ flight_id: flightid_1
aircraft_id: 1
dpt_airport_id: 1
arr_airport_id: 2
diff --git a/resources/views/admin/flights/edit.blade.php b/resources/views/admin/flights/edit.blade.php
index 7512ce6a..80f4d5d5 100644
--- a/resources/views/admin/flights/edit.blade.php
+++ b/resources/views/admin/flights/edit.blade.php
@@ -2,7 +2,7 @@
@section('content')
Edit {!! $flight->airline->name !!}{!! $flight->number !!}
+ Edit {!! $flight->airline->code !!}{!! $flight->flight_number !!}
| Name | +Value | +Actions | + + + @foreach($flight->fields as $field) +
|---|---|---|
| {!! $field->name !!} | ++ {!! $field->value !!} + | +
+ {!! Form::open(['url' => '/admin/flights/'.$flight->id.'/fields',
+ 'method' => 'delete',
+ 'class' => 'pjax_form flight_fields'
+ ]) !!}
+ {!! Form::hidden('field_id', $field->id) !!}
+
+ {!! Form::button('',
+ ['type' => 'submit',
+ 'class' => 'btn btn-danger btn-xs'])
+ !!}
+
+ {!! Form::close() !!}
+ |
+