From cb631292b9040cc2b7b63a6a3f03d9c486a1fc83 Mon Sep 17 00:00:00 2001 From: Nabeel Shahzad Date: Wed, 21 Jun 2017 13:44:30 -0500 Subject: [PATCH] #23 refactoring for ranks --- .../RankController.php} | 70 +++++++++---------- app/Http/Requests/CreateRankingRequest.php | 4 +- app/Http/Requests/UpdateRankingRequest.php | 4 +- app/Models/{Ranking.php => Rank.php} | 4 +- ...nkingRepository.php => RankRepository.php} | 8 +-- .../2017_06_08_0000_create_users_table.php | 1 + ... 2017_06_21_165410_create_ranks_table.php} | 15 +++- database/seeds/DevelopmentSeeder.php | 2 +- resources/views/admin/menu.blade.php | 1 + .../views/admin/rankings/create.blade.php | 24 ------- .../views/admin/rankings/fields.blade.php | 35 ---------- .../views/admin/rankings/index.blade.php | 23 ------ .../views/admin/rankings/table.blade.php | 30 -------- resources/views/admin/ranks/create.blade.php | 18 +++++ .../admin/{rankings => ranks}/edit.blade.php | 12 ++-- resources/views/admin/ranks/fields.blade.php | 49 +++++++++++++ resources/views/admin/ranks/index.blade.php | 52 ++++++++++++++ .../admin/{rankings => ranks}/show.blade.php | 9 +-- .../{rankings => ranks}/show_fields.blade.php | 16 ++--- resources/views/admin/ranks/table.blade.php | 33 +++++++++ routes/admin.php | 3 + routes/web.php | 10 --- 22 files changed, 228 insertions(+), 195 deletions(-) rename app/Http/Controllers/{RankingController.php => Admin/RankController.php} (54%) rename app/Models/{Ranking.php => Rank.php} (90%) rename app/Repositories/{RankingRepository.php => RankRepository.php} (68%) rename database/migrations/{2017_06_21_165410_create_rankings_table.php => 2017_06_21_165410_create_ranks_table.php} (56%) delete mode 100644 resources/views/admin/rankings/create.blade.php delete mode 100644 resources/views/admin/rankings/fields.blade.php delete mode 100644 resources/views/admin/rankings/index.blade.php delete mode 100644 resources/views/admin/rankings/table.blade.php create mode 100644 resources/views/admin/ranks/create.blade.php rename resources/views/admin/{rankings => ranks}/edit.blade.php (65%) create mode 100644 resources/views/admin/ranks/fields.blade.php create mode 100644 resources/views/admin/ranks/index.blade.php rename resources/views/admin/{rankings => ranks}/show.blade.php (56%) rename resources/views/admin/{rankings => ranks}/show_fields.blade.php (73%) create mode 100644 resources/views/admin/ranks/table.blade.php diff --git a/app/Http/Controllers/RankingController.php b/app/Http/Controllers/Admin/RankController.php similarity index 54% rename from app/Http/Controllers/RankingController.php rename to app/Http/Controllers/Admin/RankController.php index e534a3de..b177efbb 100644 --- a/app/Http/Controllers/RankingController.php +++ b/app/Http/Controllers/Admin/RankController.php @@ -1,25 +1,24 @@ rankingRepository = $rankingRepo; + $this->rankRepository = $rankingRepo; } /** @@ -30,11 +29,11 @@ class RankingController extends InfyOmBaseController */ public function index(Request $request) { - $this->rankingRepository->pushCriteria(new RequestCriteria($request)); - $rankings = $this->rankingRepository->all(); + $this->rankRepository->pushCriteria(new RequestCriteria($request)); + $ranks = $this->rankRepository->all(); - return view('admin.rankings.index') - ->with('rankings', $rankings); + return view('admin.ranks.index') + ->with('ranks', $ranks); } /** @@ -44,7 +43,7 @@ class RankingController extends InfyOmBaseController */ public function create() { - return view('admin.rankings.create'); + return view('admin.ranks.create'); } /** @@ -57,12 +56,11 @@ class RankingController extends InfyOmBaseController public function store(CreateRankingRequest $request) { $input = $request->all(); - - $ranking = $this->rankingRepository->create($input); + $rank = $this->rankRepository->create($input); Flash::success('Ranking saved successfully.'); - return redirect(route('admin.rankings.index')); + return redirect(route('admin.ranks.index')); } /** @@ -74,15 +72,14 @@ class RankingController extends InfyOmBaseController */ public function show($id) { - $ranking = $this->rankingRepository->findWithoutFail($id); + $rank = $this->rankRepository->findWithoutFail($id); - if (empty($ranking)) { + if (empty($rank)) { Flash::error('Ranking not found'); - - return redirect(route('admin.rankings.index')); + return redirect(route('admin.ranks.index')); } - return view('admin.rankings.show')->with('ranking', $ranking); + return view('admin.ranks.show')->with('rank', $rank); } /** @@ -94,15 +91,14 @@ class RankingController extends InfyOmBaseController */ public function edit($id) { - $ranking = $this->rankingRepository->findWithoutFail($id); + $rank = $this->rankRepository->findWithoutFail($id); - if (empty($ranking)) { + if (empty($rank)) { Flash::error('Ranking not found'); - - return redirect(route('admin.rankings.index')); + return redirect(route('admin.ranks.index')); } - return view('admin.rankings.edit')->with('ranking', $ranking); + return view('admin.ranks.edit')->with('rank', $rank); } /** @@ -115,19 +111,18 @@ class RankingController extends InfyOmBaseController */ public function update($id, UpdateRankingRequest $request) { - $ranking = $this->rankingRepository->findWithoutFail($id); + $rank = $this->rankRepository->findWithoutFail($id); - if (empty($ranking)) { + if (empty($rank)) { Flash::error('Ranking not found'); - - return redirect(route('admin.rankings.index')); + return redirect(route('admin.ranks.index')); } - $ranking = $this->rankingRepository->update($request->all(), $id); + $rank = $this->rankRepository->update($request->all(), $id); Flash::success('Ranking updated successfully.'); - return redirect(route('admin.rankings.index')); + return redirect(route('admin.ranks.index')); } /** @@ -139,18 +134,17 @@ class RankingController extends InfyOmBaseController */ public function destroy($id) { - $ranking = $this->rankingRepository->findWithoutFail($id); + $rank = $this->rankRepository->findWithoutFail($id); - if (empty($ranking)) { + if (empty($rank)) { Flash::error('Ranking not found'); - - return redirect(route('admin.rankings.index')); + return redirect(route('admin.ranks.index')); } - $this->rankingRepository->delete($id); + $this->rankRepository->delete($id); Flash::success('Ranking deleted successfully.'); - return redirect(route('admin.rankings.index')); + return redirect(route('admin.ranks.index')); } } diff --git a/app/Http/Requests/CreateRankingRequest.php b/app/Http/Requests/CreateRankingRequest.php index b9cb8a40..7c2b33ef 100644 --- a/app/Http/Requests/CreateRankingRequest.php +++ b/app/Http/Requests/CreateRankingRequest.php @@ -3,7 +3,7 @@ namespace App\Http\Requests; use App\Http\Requests\Request; -use App\Models\Ranking; +use App\Models\Rank; class CreateRankingRequest extends Request { @@ -25,6 +25,6 @@ class CreateRankingRequest extends Request */ public function rules() { - return Ranking::$rules; + return Rank::$rules; } } diff --git a/app/Http/Requests/UpdateRankingRequest.php b/app/Http/Requests/UpdateRankingRequest.php index 7d5c7943..7c7971cb 100644 --- a/app/Http/Requests/UpdateRankingRequest.php +++ b/app/Http/Requests/UpdateRankingRequest.php @@ -3,7 +3,7 @@ namespace App\Http\Requests; use App\Http\Requests\Request; -use App\Models\Ranking; +use App\Models\Rank; class UpdateRankingRequest extends Request { @@ -25,6 +25,6 @@ class UpdateRankingRequest extends Request */ public function rules() { - return Ranking::$rules; + return Rank::$rules; } } diff --git a/app/Models/Ranking.php b/app/Models/Rank.php similarity index 90% rename from app/Models/Ranking.php rename to app/Models/Rank.php index d24943ef..e4fb57e0 100644 --- a/app/Models/Ranking.php +++ b/app/Models/Rank.php @@ -8,10 +8,10 @@ use Eloquent as Model; * Class Ranking * @package App\Models */ -class Ranking extends Model +class Rank extends Model { - public $table = 'rankings'; + public $table = 'ranks'; public $fillable = [ 'name', diff --git a/app/Repositories/RankingRepository.php b/app/Repositories/RankRepository.php similarity index 68% rename from app/Repositories/RankingRepository.php rename to app/Repositories/RankRepository.php index a6d649da..063f15d4 100644 --- a/app/Repositories/RankingRepository.php +++ b/app/Repositories/RankRepository.php @@ -2,16 +2,16 @@ namespace App\Repositories; -use App\Models\Ranking; +use App\Models\Rank; use InfyOm\Generator\Common\BaseRepository; -class RankingRepository extends BaseRepository +class RankRepository extends BaseRepository { /** * @var array */ protected $fieldSearchable = [ - + ]; /** @@ -19,6 +19,6 @@ class RankingRepository extends BaseRepository **/ public function model() { - return Ranking::class; + return Rank::class; } } diff --git a/database/migrations/2017_06_08_0000_create_users_table.php b/database/migrations/2017_06_08_0000_create_users_table.php index 3a5ff54e..fe88d606 100755 --- a/database/migrations/2017_06_08_0000_create_users_table.php +++ b/database/migrations/2017_06_08_0000_create_users_table.php @@ -19,6 +19,7 @@ class CreateUsersTable extends Migration $table->string('email')->unique(); $table->string('password'); $table->integer('airline_id')->nullable()->unsigned(); + $table->integer('rank_id')->nullable()->unsigned(); $table->integer('home_airport_id')->nullable()->unsigned(); $table->integer('curr_airport_id')->nullable()->unsigned(); $table->bigInteger('last_pirep_id')->nullable()->unsigned(); diff --git a/database/migrations/2017_06_21_165410_create_rankings_table.php b/database/migrations/2017_06_21_165410_create_ranks_table.php similarity index 56% rename from database/migrations/2017_06_21_165410_create_rankings_table.php rename to database/migrations/2017_06_21_165410_create_ranks_table.php index 99ec6347..9b28849a 100644 --- a/database/migrations/2017_06_21_165410_create_rankings_table.php +++ b/database/migrations/2017_06_21_165410_create_ranks_table.php @@ -3,7 +3,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; -class CreateRankingsTable extends Migration +class CreateRanksTable extends Migration { /** @@ -13,7 +13,7 @@ class CreateRankingsTable extends Migration */ public function up() { - Schema::create('rankings', function (Blueprint $table) { + Schema::create('ranks', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->integer('hours')->default(0); @@ -22,6 +22,14 @@ class CreateRankingsTable extends Migration $table->boolean('auto_promote')->default(true); $table->timestamps(); }); + + Schema::create('flight_rank', function(Blueprint $table) { + $table->increments('id'); + $table->integer('flight_id')->unsigned(); + $table->integer('rank_id')->unsigned(); + $table->double('manual_pay', 19, 2)->default(0.0)->unsigned(); + $table->double('acars_pay', 19, 2)->default(0.0)->unsigned(); + }); } /** @@ -31,6 +39,7 @@ class CreateRankingsTable extends Migration */ public function down() { - Schema::drop('rankings'); + Schema::drop('ranks'); + Schema::drop('flight_rank'); } } diff --git a/database/seeds/DevelopmentSeeder.php b/database/seeds/DevelopmentSeeder.php index a0ff9518..657db1fa 100644 --- a/database/seeds/DevelopmentSeeder.php +++ b/database/seeds/DevelopmentSeeder.php @@ -20,7 +20,7 @@ class DevelopmentSeeder extends Seeder return Carbon::now('UTC')->format('Y-m-d H:i:s'); } - protected function seed_from_yaml(): void + protected function seed_from_yaml(): { $time_fields = ['created_at', 'updated_at']; diff --git a/resources/views/admin/menu.blade.php b/resources/views/admin/menu.blade.php index 6355f6f7..04242827 100644 --- a/resources/views/admin/menu.blade.php +++ b/resources/views/admin/menu.blade.php @@ -16,3 +16,4 @@
  •  airports
  • {{--
  •  aircraft classes
  • --}}
  •  users
  • +
  •  ranks
  • diff --git a/resources/views/admin/rankings/create.blade.php b/resources/views/admin/rankings/create.blade.php deleted file mode 100644 index 62331897..00000000 --- a/resources/views/admin/rankings/create.blade.php +++ /dev/null @@ -1,24 +0,0 @@ -@extends('layouts.app') - -@section('content') -
    -

    - $MODEL_NAME_HUMAN$ -

    -
    -
    - @include('adminlte-templates::common.errors') -
    - -
    -
    - {!! Form::open(['route' => 'admin.rankings.store']) !!} - - @include('admin.rankings.fields') - - {!! Form::close() !!} -
    -
    -
    -
    -@endsection diff --git a/resources/views/admin/rankings/fields.blade.php b/resources/views/admin/rankings/fields.blade.php deleted file mode 100644 index a817c1c8..00000000 --- a/resources/views/admin/rankings/fields.blade.php +++ /dev/null @@ -1,35 +0,0 @@ - -
    - {!! Form::label('name', 'Name:') !!} - {!! Form::text('name', null, ['class' => 'form-control']) !!} -
    - - -
    - {!! Form::label('hours', 'Hours:') !!} - {!! Form::text('hours', null, ['class' => 'form-control']) !!} -
    - - -
    - {!! Form::label('auto_approve_acars', 'Auto Approve Acars:') !!} - {!! Form::text('auto_approve_acars', null, ['class' => 'form-control']) !!} -
    - - -
    - {!! Form::label('auto_approve_manual', 'Auto Approve Manual:') !!} - {!! Form::text('auto_approve_manual', null, ['class' => 'form-control']) !!} -
    - - -
    - {!! Form::label('auto_promote', 'Auto Promote:') !!} - {!! Form::text('auto_promote', null, ['class' => 'form-control']) !!} -
    - - -
    - {!! Form::submit('Save', ['class' => 'btn btn-primary']) !!} - Cancel -
    diff --git a/resources/views/admin/rankings/index.blade.php b/resources/views/admin/rankings/index.blade.php deleted file mode 100644 index 2be0eb9f..00000000 --- a/resources/views/admin/rankings/index.blade.php +++ /dev/null @@ -1,23 +0,0 @@ -@extends('layouts.app') - -@section('content') -
    -

    $MODEL_NAME_PLURAL_HUMAN$

    -

    - Add New -

    -
    -
    -
    - - @include('flash::message') - -
    -
    -
    - @include('admin.rankings.table') -
    -
    -
    -@endsection - diff --git a/resources/views/admin/rankings/table.blade.php b/resources/views/admin/rankings/table.blade.php deleted file mode 100644 index fe0abf1c..00000000 --- a/resources/views/admin/rankings/table.blade.php +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - @foreach($rankings as $ranking) - - - - - - - - - @endforeach - -
    NameHoursAuto Approve AcarsAuto Approve ManualAuto PromoteAction
    {!! $ranking->name !!}{!! $ranking->hours !!}{!! $ranking->auto_approve_acars !!}{!! $ranking->auto_approve_manual !!}{!! $ranking->auto_promote !!} - {!! Form::open(['route' => ['admin.rankings.destroy', $ranking->$PRIMARY_KEY_NAME$], 'method' => 'delete']) !!} -
    - - - {!! Form::button('', ['type' => 'submit', 'class' => 'btn btn-danger btn-xs', 'onclick' => "return confirm('Are you sure?')"]) !!} -
    - {!! Form::close() !!} -
    \ No newline at end of file diff --git a/resources/views/admin/ranks/create.blade.php b/resources/views/admin/ranks/create.blade.php new file mode 100644 index 00000000..75535c54 --- /dev/null +++ b/resources/views/admin/ranks/create.blade.php @@ -0,0 +1,18 @@ +
    +

    Rank

    +
    +
    + @include('adminlte-templates::common.errors') +
    + +
    +
    + {!! Form::open(['route' => 'admin.ranks.store', 'class' => 'add_rank']) !!} + + @include('admin.ranks.fields') + + {!! Form::close() !!} +
    +
    +
    +
    diff --git a/resources/views/admin/rankings/edit.blade.php b/resources/views/admin/ranks/edit.blade.php similarity index 65% rename from resources/views/admin/rankings/edit.blade.php rename to resources/views/admin/ranks/edit.blade.php index b4f2ec7d..ad5511a4 100644 --- a/resources/views/admin/rankings/edit.blade.php +++ b/resources/views/admin/ranks/edit.blade.php @@ -1,23 +1,21 @@ -@extends('layouts.app') +@extends('admin.app') @section('content')
    -

    - $MODEL_NAME_HUMAN$ -

    +

    {!! $rank->name !!}

    @include('adminlte-templates::common.errors')
    - {!! Form::model($ranking, ['route' => ['admin.rankings.update', $ranking->$PRIMARY_KEY_NAME$], 'method' => 'patch']) !!} + {!! Form::model($ranking, ['route' => ['admin.ranks.update', $rank->id], 'method' => 'patch']) !!} - @include('admin.rankings.fields') + @include('admin.ranks.fields') {!! Form::close() !!}
    -@endsection \ No newline at end of file +@endsection diff --git a/resources/views/admin/ranks/fields.blade.php b/resources/views/admin/ranks/fields.blade.php new file mode 100644 index 00000000..6ba6fa47 --- /dev/null +++ b/resources/views/admin/ranks/fields.blade.php @@ -0,0 +1,49 @@ + +
    + {!! Form::label('name', 'Name:') !!} + {!! Form::text('name', null, ['class' => 'form-control']) !!} +
    + + +
    + {!! Form::label('hours', 'Hours:') !!} + {!! Form::text('hours', null, ['class' => 'form-control']) !!} +
    + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    + {!! Form::submit('Add', ['class' => 'btn btn-primary']) !!} +
    diff --git a/resources/views/admin/ranks/index.blade.php b/resources/views/admin/ranks/index.blade.php new file mode 100644 index 00000000..aea51e1f --- /dev/null +++ b/resources/views/admin/ranks/index.blade.php @@ -0,0 +1,52 @@ +@extends('admin.app') + +@section('content') +
    +

    Pilot Ranks

    +

    + Add New +

    +
    +
    +
    + + @include('flash::message') + +
    +
    +
    + @include('admin.ranks.table') +
    +
    + +
    + @include('admin.ranks.create') +
    +
    +@endsection + + +@endsection diff --git a/resources/views/admin/rankings/show.blade.php b/resources/views/admin/ranks/show.blade.php similarity index 56% rename from resources/views/admin/rankings/show.blade.php rename to resources/views/admin/ranks/show.blade.php index 78b0c8d9..1a4f5d8d 100644 --- a/resources/views/admin/rankings/show.blade.php +++ b/resources/views/admin/ranks/show.blade.php @@ -1,17 +1,14 @@ -@extends('layouts.app') +@extends('admin.app') @section('content')
    -

    - $MODEL_NAME_HUMAN$ -

    +

    {!! $rank->name !!}

    - @include('admin.rankings.show_fields') - Back + @include('admin.ranks.show_fields')
    diff --git a/resources/views/admin/rankings/show_fields.blade.php b/resources/views/admin/ranks/show_fields.blade.php similarity index 73% rename from resources/views/admin/rankings/show_fields.blade.php rename to resources/views/admin/ranks/show_fields.blade.php index 252e01ae..f8a95cc2 100644 --- a/resources/views/admin/rankings/show_fields.blade.php +++ b/resources/views/admin/ranks/show_fields.blade.php @@ -1,48 +1,48 @@
    {!! Form::label('id', 'Id:') !!} -

    {!! $ranking->id !!}

    +

    {!! $rank->id !!}

    {!! Form::label('name', 'Name:') !!} -

    {!! $ranking->name !!}

    +

    {!! $rank->name !!}

    {!! Form::label('hours', 'Hours:') !!} -

    {!! $ranking->hours !!}

    +

    {!! $rank->hours !!}

    {!! Form::label('auto_approve_acars', 'Auto Approve Acars:') !!} -

    {!! $ranking->auto_approve_acars !!}

    +

    {!! $rank->auto_approve_acars !!}

    {!! Form::label('auto_approve_manual', 'Auto Approve Manual:') !!} -

    {!! $ranking->auto_approve_manual !!}

    +

    {!! $rank->auto_approve_manual !!}

    {!! Form::label('auto_promote', 'Auto Promote:') !!} -

    {!! $ranking->auto_promote !!}

    +

    {!! $rank->auto_promote !!}

    {!! Form::label('created_at', 'Created At:') !!} -

    {!! $ranking->created_at !!}

    +

    {!! $rank->created_at !!}

    {!! Form::label('updated_at', 'Updated At:') !!} -

    {!! $ranking->updated_at !!}

    +

    {!! $rank->updated_at !!}

    diff --git a/resources/views/admin/ranks/table.blade.php b/resources/views/admin/ranks/table.blade.php new file mode 100644 index 00000000..02c16f24 --- /dev/null +++ b/resources/views/admin/ranks/table.blade.php @@ -0,0 +1,33 @@ + + + + + + + + + + + @foreach($ranks as $rank) + + + + + + + + + @endforeach + +
    NameHoursAuto Approve AcarsAuto Approve ManualAuto PromoteAction
    {!! $rank->name !!}{!! $rank->hours !!}{!! $rank->auto_approve_acars !!}{!! $rank->auto_approve_manual !!}{!! $rank->auto_promote !!} + {!! Form::open(['route' => ['admin.ranks.destroy', $rank->id], 'method' => 'delete']) !!} +
    + + + {!! Form::button('', ['type' => 'submit', 'class' => 'btn btn-danger btn-xs', 'onclick' => "return confirm('Are you sure?')"]) !!} +
    + {!! Form::close() !!} +
    diff --git a/routes/admin.php b/routes/admin.php index 0553db2f..a498bf35 100644 --- a/routes/admin.php +++ b/routes/admin.php @@ -20,6 +20,9 @@ Route::group([ Route::resource('flights', 'FlightController'); Route::match(['get', 'post', 'put', 'delete'], 'flights/{id}/aircraft', 'FlightController@aircraft'); + # rankings + Route::resource('ranks', 'RankController'); + # view/update settings Route::match(['get'], 'settings', 'SettingsController@index'); Route::match(['post', 'put'], 'settings', 'SettingsController@update'); diff --git a/routes/web.php b/routes/web.php index 1425109a..aae2f422 100755 --- a/routes/web.php +++ b/routes/web.php @@ -17,13 +17,3 @@ Route::group([ Auth::routes(); require base_path('routes/admin.php'); - - -Route::get('admin/rankings', ['as'=> 'admin.rankings.index', 'uses' => 'RankingController@index']); -Route::post('admin/rankings', ['as'=> 'admin.rankings.store', 'uses' => 'RankingController@store']); -Route::get('admin/rankings/create', ['as'=> 'admin.rankings.create', 'uses' => 'RankingController@create']); -Route::put('admin/rankings/{rankings}', ['as'=> 'admin.rankings.update', 'uses' => 'RankingController@update']); -Route::patch('admin/rankings/{rankings}', ['as'=> 'admin.rankings.update', 'uses' => 'RankingController@update']); -Route::delete('admin/rankings/{rankings}', ['as'=> 'admin.rankings.destroy', 'uses' => 'RankingController@destroy']); -Route::get('admin/rankings/{rankings}', ['as'=> 'admin.rankings.show', 'uses' => 'RankingController@show']); -Route::get('admin/rankings/{rankings}/edit', ['as'=> 'admin.rankings.edit', 'uses' => 'RankingController@edit']);