\#21 PIREP scaffolding
This commit is contained in:
150
app/Http/Controllers/Admin/PirepController.php
Normal file
150
app/Http/Controllers/Admin/PirepController.php
Normal file
@@ -0,0 +1,150 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Requests\CreatePirepRequest;
|
||||
use App\Http\Requests\UpdatePirepRequest;
|
||||
use App\Repositories\PirepRepository;
|
||||
use Illuminate\Http\Request;
|
||||
use Flash;
|
||||
use Prettus\Repository\Criteria\RequestCriteria;
|
||||
use Response;
|
||||
|
||||
class PirepController extends BaseController
|
||||
{
|
||||
private $pirepRepository;
|
||||
|
||||
public function __construct(PirepRepository $pirepRepo)
|
||||
{
|
||||
$this->pirepRepository = $pirepRepo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the Pirep.
|
||||
*
|
||||
* @param Request $request
|
||||
* @return Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$this->pirepRepository->pushCriteria(new RequestCriteria($request));
|
||||
$pireps = $this->pirepRepository->all();
|
||||
|
||||
return view('admin.pireps.index', [
|
||||
'pireps' => $pireps
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new Pirep.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view('admin.pireps.create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created Pirep in storage.
|
||||
*
|
||||
* @param CreatePirepRequest $request
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function store(CreatePirepRequest $request)
|
||||
{
|
||||
$input = $request->all();
|
||||
$pirep = $this->pirepRepository->create($input);
|
||||
|
||||
Flash::success('Pirep saved successfully.');
|
||||
return redirect(route('admin.pireps.index'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified Pirep.
|
||||
*
|
||||
* @param int $id
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$pirep = $this->pirepRepository->findWithoutFail($id);
|
||||
|
||||
if (empty($pirep)) {
|
||||
Flash::error('Pirep not found');
|
||||
return redirect(route('admin.pireps.index'));
|
||||
}
|
||||
|
||||
return view('admin.pireps.show', [
|
||||
'pirep' => $pirep,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified Pirep.
|
||||
*
|
||||
* @param int $id
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
$pirep = $this->pirepRepository->findWithoutFail($id);
|
||||
|
||||
if (empty($pirep)) {
|
||||
Flash::error('Pirep not found');
|
||||
return redirect(route('admin.pireps.index'));
|
||||
}
|
||||
|
||||
return view('admin.pireps.edit', [
|
||||
'pirep' => $pirep,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified Pirep in storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @param UpdatePirepRequest $request
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function update($id, UpdatePirepRequest $request)
|
||||
{
|
||||
$pirep = $this->pirepRepository->findWithoutFail($id);
|
||||
|
||||
if (empty($pirep)) {
|
||||
Flash::error('Pirep not found');
|
||||
return redirect(route('admin.pireps.index'));
|
||||
}
|
||||
|
||||
$pirep = $this->pirepRepository->update($request->all(), $id);
|
||||
|
||||
Flash::success('Pirep updated successfully.');
|
||||
return redirect(route('admin.pireps.index'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified Pirep from storage.
|
||||
*
|
||||
* @param int $id
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
$pirep = $this->pirepRepository->findWithoutFail($id);
|
||||
|
||||
if (empty($pirep)) {
|
||||
Flash::error('Pirep not found');
|
||||
return redirect(route('admin.pireps.index'));
|
||||
}
|
||||
|
||||
$this->pirepRepository->delete($id);
|
||||
|
||||
Flash::success('Pirep deleted successfully.');
|
||||
return redirect(route('admin.pireps.index'));
|
||||
}
|
||||
}
|
||||
152
app/Http/Controllers/Admin/PirepFieldController.php
Normal file
152
app/Http/Controllers/Admin/PirepFieldController.php
Normal file
@@ -0,0 +1,152 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Requests\CreatePirepFieldRequest;
|
||||
use App\Http\Requests\UpdatePirepFieldRequest;
|
||||
use App\Repositories\PirepFieldRepository;
|
||||
use Illuminate\Http\Request;
|
||||
use Flash;
|
||||
use Prettus\Repository\Criteria\RequestCriteria;
|
||||
use Response;
|
||||
|
||||
class PirepFieldController extends BaseController
|
||||
{
|
||||
/** @var PirepFieldRepository */
|
||||
private $pirepFieldRepo;
|
||||
|
||||
public function __construct(PirepFieldRepository $pirepFieldRepo)
|
||||
{
|
||||
$this->pirepFieldRepo = $pirepFieldRepo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the PirepField.
|
||||
*
|
||||
* @param Request $request
|
||||
* @return Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$this->pirepFieldRepo->pushCriteria(new RequestCriteria($request));
|
||||
$fields = $this->pirepFieldRepo->all();
|
||||
|
||||
return view('admin.pirepFields.index', [
|
||||
'fields' => $fields,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new PirepField.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view('admin.pirepFields.create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created PirepField in storage.
|
||||
*
|
||||
* @param CreatePirepFieldRequest $request
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function store(CreatePirepFieldRequest $request)
|
||||
{
|
||||
$input = $request->all();
|
||||
|
||||
$field = $this->pirepFieldRepo->create($input);
|
||||
|
||||
Flash::success('PirepField saved successfully.');
|
||||
return redirect(route('admin.pirepFields.index'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified PirepField.
|
||||
*
|
||||
* @param int $id
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$field = $this->pirepFieldRepo->findWithoutFail($id);
|
||||
|
||||
if (empty($field)) {
|
||||
Flash::error('PirepField not found');
|
||||
return redirect(route('admin.pirepFields.index'));
|
||||
}
|
||||
|
||||
return view('admin.pirepFields.show', [
|
||||
'field' => $field,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified PirepField.
|
||||
*
|
||||
* @param int $id
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
$field = $this->pirepFieldRepo->findWithoutFail($id);
|
||||
|
||||
if (empty($field)) {
|
||||
Flash::error('PirepField not found');
|
||||
return redirect(route('admin.pirepFields.index'));
|
||||
}
|
||||
|
||||
return view('admin.pirepFields.edit', [
|
||||
'field' => $field,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified PirepField in storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @param UpdatePirepFieldRequest $request
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function update($id, UpdatePirepFieldRequest $request)
|
||||
{
|
||||
$field = $this->pirepFieldRepo->findWithoutFail($id);
|
||||
|
||||
if (empty($field)) {
|
||||
Flash::error('PirepField not found');
|
||||
return redirect(route('admin.pirepFields.index'));
|
||||
}
|
||||
|
||||
$field = $this->pirepFieldRepo->update($request->all(), $id);
|
||||
|
||||
Flash::success('PirepField updated successfully.');
|
||||
return redirect(route('admin.pirepFields.index'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified PirepField from storage.
|
||||
*
|
||||
* @param int $id
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
$field = $this->pirepFieldRepo->findWithoutFail($id);
|
||||
|
||||
if (empty($field)) {
|
||||
Flash::error('PirepField not found');
|
||||
return redirect(route('admin.pirepFields.index'));
|
||||
}
|
||||
|
||||
$this->pirepFieldRepo->delete($id);
|
||||
|
||||
Flash::success('PirepField deleted successfully.');
|
||||
return redirect(route('admin.pirepFields.index'));
|
||||
}
|
||||
}
|
||||
30
app/Http/Requests/CreatePirepFieldRequest.php
Normal file
30
app/Http/Requests/CreatePirepFieldRequest.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use App\Http\Requests\Request;
|
||||
use App\Models\PirepField;
|
||||
|
||||
class CreatePirepFieldRequest extends Request
|
||||
{
|
||||
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return PirepField::$rules;
|
||||
}
|
||||
}
|
||||
30
app/Http/Requests/CreatePirepRequest.php
Normal file
30
app/Http/Requests/CreatePirepRequest.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use App\Http\Requests\Request;
|
||||
use App\Models\Pirep;
|
||||
|
||||
class CreatePirepRequest extends Request
|
||||
{
|
||||
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return Pirep::$rules;
|
||||
}
|
||||
}
|
||||
30
app/Http/Requests/UpdatePirepFieldRequest.php
Normal file
30
app/Http/Requests/UpdatePirepFieldRequest.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use App\Http\Requests\Request;
|
||||
use App\Models\PirepField;
|
||||
|
||||
class UpdatePirepFieldRequest extends Request
|
||||
{
|
||||
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return PirepField::$rules;
|
||||
}
|
||||
}
|
||||
30
app/Http/Requests/UpdatePirepRequest.php
Normal file
30
app/Http/Requests/UpdatePirepRequest.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use App\Http\Requests\Request;
|
||||
use App\Models\Pirep;
|
||||
|
||||
class UpdatePirepRequest extends Request
|
||||
{
|
||||
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return Pirep::$rules;
|
||||
}
|
||||
}
|
||||
91
app/Models/Pirep.php
Normal file
91
app/Models/Pirep.php
Normal file
@@ -0,0 +1,91 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Eloquent as Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* Class Pirep
|
||||
*
|
||||
* @package App\Models
|
||||
*/
|
||||
class Pirep extends Model
|
||||
{
|
||||
use Uuids;
|
||||
use SoftDeletes;
|
||||
|
||||
public $table = 'pireps';
|
||||
|
||||
protected $dates = ['deleted_at'];
|
||||
|
||||
public $fillable
|
||||
= [
|
||||
'user_id',
|
||||
'flight_id',
|
||||
'aircraft_id',
|
||||
'flight_time',
|
||||
'route_code',
|
||||
'route_leg',
|
||||
'dpt_airport_id',
|
||||
'arr_airport_id',
|
||||
'level',
|
||||
'route',
|
||||
'notes',
|
||||
'status',
|
||||
'raw_data',
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that should be casted to native types.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $casts
|
||||
= [
|
||||
'user_id' => 'integer',
|
||||
'flight_id' => 'string',
|
||||
'aircraft_id' => 'integer',
|
||||
'flight_time' => 'integer',
|
||||
'level' => 'integer',
|
||||
'route' => 'string',
|
||||
'notes' => 'string',
|
||||
'raw_data' => 'string',
|
||||
];
|
||||
|
||||
/**
|
||||
* Validation rules
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public static $rules
|
||||
= [
|
||||
'dpt_airport_id' => 'required',
|
||||
'arr_airport_id' => 'required',
|
||||
];
|
||||
|
||||
/**
|
||||
* Foreign Keys
|
||||
*/
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo('App\Models\User', 'user_id');
|
||||
}
|
||||
|
||||
public function flight()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Flight', 'flight_id');
|
||||
}
|
||||
|
||||
public function dpt_airport()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Airport', 'dpt_airport_id');
|
||||
}
|
||||
|
||||
public function arr_airport()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Airport', 'arr_airport_id');
|
||||
}
|
||||
|
||||
}
|
||||
42
app/Models/PirepField.php
Normal file
42
app/Models/PirepField.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Eloquent as Model;
|
||||
|
||||
/**
|
||||
* Class PirepField
|
||||
*
|
||||
* @package App\Models
|
||||
*/
|
||||
class PirepField extends Model
|
||||
{
|
||||
public $table = 'pirep_fields';
|
||||
|
||||
public $fillable
|
||||
= [
|
||||
'name',
|
||||
'required',
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that should be casted to native types.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $casts
|
||||
= [
|
||||
'name' => 'string',
|
||||
'required' => 'integer',
|
||||
];
|
||||
|
||||
/**
|
||||
* Validation rules
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public static $rules
|
||||
= [
|
||||
'name' => 'required',
|
||||
];
|
||||
}
|
||||
45
app/Models/PirepFieldValues.php
Normal file
45
app/Models/PirepFieldValues.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Eloquent as Model;
|
||||
|
||||
/**
|
||||
* Class PirepField
|
||||
*
|
||||
* @package App\Models
|
||||
*/
|
||||
class PirepFieldValues extends Model
|
||||
{
|
||||
public $table = 'pirep_field_values';
|
||||
|
||||
public $fillable
|
||||
= [
|
||||
'pirep_id',
|
||||
'name',
|
||||
'value',
|
||||
'source',
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that should be casted to native types.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $casts
|
||||
= [
|
||||
'name' => 'string',
|
||||
'value' => 'string',
|
||||
'source' => 'integer',
|
||||
];
|
||||
|
||||
/**
|
||||
* Validation rules
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public static $rules
|
||||
= [
|
||||
'name' => 'required',
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user