Airlines model and controller

This commit is contained in:
Nabeel Shahzad
2017-06-08 20:02:52 -05:00
parent 1e049fa8a9
commit 4fcfc84ccf
25 changed files with 724 additions and 138 deletions

View File

@@ -0,0 +1,23 @@
<?php
namespace App\Http\Controllers\Admin;
use InfyOm\Generator\Utils\ResponseUtil;
use App\Http\Controllers\Controller;
use Response;
class AdminBaseController extends Controller
{
protected $layout = 'layouts.admin';
public function sendResponse($result, $message)
{
return Response::json(ResponseUtil::makeResponse($message, $result));
}
public function sendError($error, $code = 404)
{
return Response::json(ResponseUtil::makeError($error), $code);
}
}

View File

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

View File

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

View File

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

48
app/Models/Airlines.php Normal file
View File

@@ -0,0 +1,48 @@
<?php
namespace App\Models;
use Eloquent as Model;
use Illuminate\Database\Eloquent\SoftDeletes;
/**
* Class Airlines
* @package App\Models
*/
class Airlines extends Model
{
use SoftDeletes;
public $table = 'airlines';
protected $dates = ['deleted_at'];
public $fillable = [
'code',
'name',
'enabled'
];
/**
* The attributes that should be casted to native types.
*
* @var array
*/
protected $casts = [
'code' => 'string',
'name' => 'string',
'enabled' => 'boolean'
];
/**
* Validation rules
*
* @var array
*/
public static $rules = [
'code' => 'required|max:3',
'name' => 'required',
];
}

View File

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