some refactoring for tests and adding some tables

This commit is contained in:
Nabeel Shahzad
2017-06-09 22:19:17 -05:00
parent 88f6730a8d
commit 7a79a8558e
32 changed files with 671 additions and 148 deletions

View File

@@ -0,0 +1,155 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Requests\CreateAircraftClassRequest;
use App\Http\Requests\UpdateAircraftClassRequest;
use App\Repositories\AircraftClassRepository;
use App\Http\Controllers\AppBaseController;
use Illuminate\Http\Request;
use Flash;
use Prettus\Repository\Criteria\RequestCriteria;
use Response;
class AircraftClassController extends AppBaseController
{
/** @var AircraftClassRepository */
private $aircraftClassRepository;
public function __construct(AircraftClassRepository $aircraftClassRepo)
{
$this->aircraftClassRepository = $aircraftClassRepo;
}
/**
* Display a listing of the AircraftClass.
*
* @param Request $request
* @return Response
*/
public function index(Request $request)
{
$this->aircraftClassRepository->pushCriteria(new RequestCriteria($request));
$aircraftClasses = $this->aircraftClassRepository->all();
return view('admin.aircraft_classes.index')
->with('aircraftClasses', $aircraftClasses);
}
/**
* Show the form for creating a new AircraftClass.
*
* @return Response
*/
public function create()
{
return view('admin.aircraft_classes.create');
}
/**
* Store a newly created AircraftClass in storage.
*
* @param CreateAircraftClassRequest $request
*
* @return Response
*/
public function store(CreateAircraftClassRequest $request)
{
$input = $request->all();
$aircraftClass = $this->aircraftClassRepository->create($input);
Flash::success('Aircraft Class saved successfully.');
return redirect(route('admin.aircraftClasses.index'));
}
/**
* Display the specified AircraftClass.
*
* @param int $id
*
* @return Response
*/
public function show($id)
{
$aircraftClass = $this->aircraftClassRepository->findWithoutFail($id);
if (empty($aircraftClass)) {
Flash::error('Aircraft Class not found');
return redirect(route('admin.aircraftClasses.index'));
}
return view('admin.aircraft_classes.show')->with('aircraftClass', $aircraftClass);
}
/**
* Show the form for editing the specified AircraftClass.
*
* @param int $id
*
* @return Response
*/
public function edit($id)
{
$aircraftClass = $this->aircraftClassRepository->findWithoutFail($id);
if (empty($aircraftClass)) {
Flash::error('Aircraft Class not found');
return redirect(route('admin.aircraftClasses.index'));
}
return view('admin.aircraft_classes.edit')->with('aircraftClass', $aircraftClass);
}
/**
* Update the specified AircraftClass in storage.
*
* @param int $id
* @param UpdateAircraftClassRequest $request
*
* @return Response
*/
public function update($id, UpdateAircraftClassRequest $request)
{
$aircraftClass = $this->aircraftClassRepository->findWithoutFail($id);
if (empty($aircraftClass)) {
Flash::error('Aircraft Class not found');
return redirect(route('admin.aircraftClasses.index'));
}
$aircraftClass = $this->aircraftClassRepository->update($request->all(), $id);
Flash::success('Aircraft Class updated successfully.');
return redirect(route('admin.aircraftClasses.index'));
}
/**
* Remove the specified AircraftClass from storage.
*
* @param int $id
*
* @return Response
*/
public function destroy($id)
{
$aircraftClass = $this->aircraftClassRepository->findWithoutFail($id);
if (empty($aircraftClass)) {
Flash::error('Aircraft Class not found');
return redirect(route('admin.aircraftClasses.index'));
}
$this->aircraftClassRepository->delete($id);
Flash::success('Aircraft Class deleted successfully.');
return redirect(route('admin.aircraftClasses.index'));
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use App\Models\AircraftClass;
class CreateAircraftClassRequest extends FormRequest
{
/**
* 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 AircraftClass::$rules;
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use App\Models\AircraftClass;
class UpdateAircraftClassRequest extends FormRequest
{
/**
* 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 AircraftClass::$rules;
}
}

View File

@@ -15,12 +15,10 @@ class Aircraft extends Model
use SoftDeletes;
public $table = 'aircraft';
protected $dates = ['deleted_at'];
public $fillable = [
'aircraft_class_id',
'icao',
'name',
'full_name',
@@ -51,5 +49,17 @@ class Aircraft extends Model
'name' => 'required',
'full_name' => 'required',
'registration' => 'required',
'active' => 'default:1'
];
/**
* foreign key
*/
public function class()
{
return $this->belongsTo(
'App\Models\AircraftClass',
'aircraft_class_id'
);
}
}

View File

@@ -0,0 +1,47 @@
<?php
namespace App\Models;
use Eloquent as Model;
use Illuminate\Database\Eloquent\SoftDeletes;
/**
* Class AircraftClass
* @package App\Models
* @version June 9, 2017, 8:10 pm UTC
*/
class AircraftClass extends Model
{
//use SoftDeletes;
public $table = 'aircraft_classes';
protected $dates = ['deleted_at'];
public $fillable = [
'code',
'name',
'notes'
];
/**
* The attributes that should be casted to native types.
*
* @var array
*/
protected $casts = [
'code' => 'string',
'name' => 'string',
'notes' => 'string'
];
/**
* Validation rules
*
* @var array
*/
public static $rules = [
'code' => 'required',
'name' => 'required'
];
}

View File

@@ -0,0 +1,26 @@
<?php
namespace App\Repositories;
use App\Models\AircraftClass;
use InfyOm\Generator\Common\BaseRepository;
class AircraftClassRepository extends BaseRepository
{
/**
* @var array
*/
protected $fieldSearchable = [
'class',
'name',
'notes'
];
/**
* Configure the Model
**/
public function model()
{
return AircraftClass::class;
}
}