add airports table and #7 integrate permissions
This commit is contained in:
156
app/Http/Controllers/Admin/AirportController.php
Normal file
156
app/Http/Controllers/Admin/AirportController.php
Normal file
@@ -0,0 +1,156 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Requests;
|
||||
use App\Http\Requests\CreateAirportRequest;
|
||||
use App\Http\Requests\UpdateAirportRequest;
|
||||
use App\Repositories\AirportRepository;
|
||||
use App\Http\Controllers\AppBaseController as InfyOmBaseController;
|
||||
use Illuminate\Http\Request;
|
||||
use Flash;
|
||||
use Prettus\Repository\Criteria\RequestCriteria;
|
||||
use Response;
|
||||
|
||||
class AirportController extends InfyOmBaseController
|
||||
{
|
||||
/** @var AirportRepository */
|
||||
private $airportRepository;
|
||||
|
||||
public function __construct(AirportRepository $airportRepo)
|
||||
{
|
||||
$this->airportRepository = $airportRepo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the Airport.
|
||||
*
|
||||
* @param Request $request
|
||||
* @return Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$this->airportRepository->pushCriteria(new RequestCriteria($request));
|
||||
$airports = $this->airportRepository->all();
|
||||
|
||||
return view('admin.airports.index')
|
||||
->with('airports', $airports);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new Airport.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view('admin.airports.create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created Airport in storage.
|
||||
*
|
||||
* @param CreateAirportRequest $request
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function store(CreateAirportRequest $request)
|
||||
{
|
||||
$input = $request->all();
|
||||
|
||||
$airport = $this->airportRepository->create($input);
|
||||
|
||||
Flash::success('Airport saved successfully.');
|
||||
|
||||
return redirect(route('admin.airports.index'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified Airport.
|
||||
*
|
||||
* @param int $id
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$airport = $this->airportRepository->findWithoutFail($id);
|
||||
|
||||
if (empty($airport)) {
|
||||
Flash::error('Airport not found');
|
||||
|
||||
return redirect(route('admin.airports.index'));
|
||||
}
|
||||
|
||||
return view('admin.airports.show')->with('airport', $airport);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified Airport.
|
||||
*
|
||||
* @param int $id
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
$airport = $this->airportRepository->findWithoutFail($id);
|
||||
|
||||
if (empty($airport)) {
|
||||
Flash::error('Airport not found');
|
||||
|
||||
return redirect(route('admin.airports.index'));
|
||||
}
|
||||
|
||||
return view('admin.airports.edit')->with('airport', $airport);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified Airport in storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @param UpdateAirportRequest $request
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function update($id, UpdateAirportRequest $request)
|
||||
{
|
||||
$airport = $this->airportRepository->findWithoutFail($id);
|
||||
|
||||
if (empty($airport)) {
|
||||
Flash::error('Airport not found');
|
||||
|
||||
return redirect(route('admin.airports.index'));
|
||||
}
|
||||
|
||||
$airport = $this->airportRepository->update($request->all(), $id);
|
||||
|
||||
Flash::success('Airport updated successfully.');
|
||||
|
||||
return redirect(route('admin.airports.index'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified Airport from storage.
|
||||
*
|
||||
* @param int $id
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
$airport = $this->airportRepository->findWithoutFail($id);
|
||||
|
||||
if (empty($airport)) {
|
||||
Flash::error('Airport not found');
|
||||
|
||||
return redirect(route('admin.airports.index'));
|
||||
}
|
||||
|
||||
$this->airportRepository->delete($id);
|
||||
|
||||
Flash::success('Airport deleted successfully.');
|
||||
|
||||
return redirect(route('admin.airports.index'));
|
||||
}
|
||||
}
|
||||
@@ -2,8 +2,9 @@
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\User;
|
||||
use Validator;
|
||||
use App\Models\Role;
|
||||
use App\Models\User;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Foundation\Auth\RegistersUsers;
|
||||
|
||||
@@ -50,7 +51,7 @@ class RegisterController extends Controller
|
||||
return Validator::make($data, [
|
||||
'name' => 'required|max:255',
|
||||
'email' => 'required|email|max:255|unique:users',
|
||||
'password' => 'required|min:6|confirmed',
|
||||
'password' => 'required|min:5|confirmed',
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -62,10 +63,14 @@ class RegisterController extends Controller
|
||||
*/
|
||||
protected function create(array $data)
|
||||
{
|
||||
return User::create([
|
||||
$user = User::create([
|
||||
'name' => $data['name'],
|
||||
'email' => $data['email'],
|
||||
'password' => bcrypt($data['password']),
|
||||
]);
|
||||
|
||||
$role = Role::where('name', 'admin')->first();
|
||||
$user->attachRole($role);
|
||||
return $user->refresh();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
|
||||
namespace App\Http\Controllers\Frontend;
|
||||
|
||||
class BaseController extends Controller
|
||||
use App\Http\Controllers\AppBaseController;
|
||||
|
||||
class BaseController extends AppBaseController
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -11,6 +11,6 @@ class DashboardController extends BaseController
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
return view('frontend/dashboard');
|
||||
return view('frontend.dashboard');
|
||||
}
|
||||
}
|
||||
|
||||
30
app/Http/Requests/CreateAirportRequest.php
Normal file
30
app/Http/Requests/CreateAirportRequest.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use App\Http\Requests\Request;
|
||||
use App\Models\Airport;
|
||||
|
||||
class CreateAirportRequest 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 Airport::$rules;
|
||||
}
|
||||
}
|
||||
30
app/Http/Requests/UpdateAirportRequest.php
Normal file
30
app/Http/Requests/UpdateAirportRequest.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use App\Http\Requests\Request;
|
||||
use App\Models\Airport;
|
||||
|
||||
class UpdateAirportRequest 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 Airport::$rules;
|
||||
}
|
||||
}
|
||||
52
app/Models/Airport.php
Normal file
52
app/Models/Airport.php
Normal file
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Eloquent as Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
/**
|
||||
* Class Airport
|
||||
* @package App\Models
|
||||
*/
|
||||
class Airport extends Model
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
||||
public $table = 'airports';
|
||||
|
||||
|
||||
protected $dates = ['deleted_at'];
|
||||
|
||||
|
||||
public $fillable = [
|
||||
'icao'
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that should be casted to native types.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $casts = [
|
||||
|
||||
];
|
||||
|
||||
/**
|
||||
* Validation rules
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public static $rules = [
|
||||
'icao' => 'required'
|
||||
];
|
||||
|
||||
public function save(array $options = [])
|
||||
{
|
||||
if(in_array('icao', $options)) {
|
||||
$options['icao'] = strtoupper($options['icao']);
|
||||
}
|
||||
|
||||
return parent::save($options);
|
||||
}
|
||||
}
|
||||
24
app/Repositories/AirportRepository.php
Normal file
24
app/Repositories/AirportRepository.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repositories;
|
||||
|
||||
use App\Models\Airport;
|
||||
use InfyOm\Generator\Common\BaseRepository;
|
||||
|
||||
class AirportRepository extends BaseRepository
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $fieldSearchable = [
|
||||
'icao'
|
||||
];
|
||||
|
||||
/**
|
||||
* Configure the Model
|
||||
**/
|
||||
public function model()
|
||||
{
|
||||
return Airport::class;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user