diff --git a/Makefile b/Makefile index 0b289df4..a9b989a5 100644 --- a/Makefile +++ b/Makefile @@ -12,9 +12,19 @@ build: composer install install: + echo "" + +db: + sqlite3 tmp/database.sqlite "" + php artisan migrate + +reset-db: + rm tmp/database.sqlite + make db schema: - php artisan infyom:scaffold Airlines --fieldsFile=database/schema/airlines.json + #php artisan infyom:scaffold Airlines --fieldsFile=database/schema/airlines.json + echo "" docker: @mkdir -p $(CURR_PATH)/tmp/mysql @@ -32,3 +42,5 @@ docker-clean: -docker rm -rf phpvms -rm core/local.config.php -rm -rf tmp/mysql + +.PHONY: all build install db reset-db schema docker docker-clean diff --git a/app/Http/Controllers/Admin/AdminBaseController.php b/app/Http/Controllers/Admin/AdminBaseController.php new file mode 100644 index 00000000..01427cb3 --- /dev/null +++ b/app/Http/Controllers/Admin/AdminBaseController.php @@ -0,0 +1,23 @@ +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')); + } +} diff --git a/app/Http/Requests/CreateAirlinesRequest.php b/app/Http/Requests/CreateAirlinesRequest.php new file mode 100644 index 00000000..19c2d73e --- /dev/null +++ b/app/Http/Requests/CreateAirlinesRequest.php @@ -0,0 +1,30 @@ + 'string', + 'name' => 'string', + 'enabled' => 'boolean' + ]; + + /** + * Validation rules + * + * @var array + */ + public static $rules = [ + 'code' => 'required|max:3', + 'name' => 'required', + ]; + + +} diff --git a/app/Repositories/AirlinesRepository.php b/app/Repositories/AirlinesRepository.php new file mode 100644 index 00000000..5f7488e0 --- /dev/null +++ b/app/Repositories/AirlinesRepository.php @@ -0,0 +1,25 @@ + [ 'driver' => 'sqlite', - 'database' => env('DB_DATABASE', database_path('tmp/database.sqlite')), + 'database' => env('DB_DATABASE', base_path('tmp/database.sqlite')), 'prefix' => '', ], - 'mysql' => [ + /*'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '3306'), @@ -64,7 +64,7 @@ return [ 'prefix' => '', 'strict' => true, 'engine' => null, - ], + ],*/ ], diff --git a/config/infyom/laravel_generator.php b/config/infyom/laravel_generator.php index 62a3ade4..99d7ac25 100644 --- a/config/infyom/laravel_generator.php +++ b/config/infyom/laravel_generator.php @@ -46,7 +46,7 @@ return [ 'prefixes' => [ - 'route' => '', // using admin will create route('admin.?.index') type routes + 'route' => 'admin', // using admin will create route('admin.?.index') type routes 'path' => '', 'view' => 'admin', 'public' => 'admin', diff --git a/database/migrations/0000_create_users_table.php b/database/migrations/2017_06_08_0000_create_users_table.php similarity index 53% rename from database/migrations/0000_create_users_table.php rename to database/migrations/2017_06_08_0000_create_users_table.php index 62573a83..79a63f9f 100755 --- a/database/migrations/0000_create_users_table.php +++ b/database/migrations/2017_06_08_0000_create_users_table.php @@ -15,21 +15,20 @@ class CreateUsersTable extends Migration { Schema::create('users', function (Blueprint $table) { $table->increments('id'); - $table->string('first_name'); - $table->string('last_name'); + $table->string('name'); + $table->string('first_name')->nullable(); + $table->string('last_name')->nullable(); $table->string('email')->unique(); $table->string('password'); - $table->string('code'); - $table->string('location'); - $table->string('hub'); - $table->unsignedBigInteger('flights'); - $table->float('hours'); - $table->float('pay'); - $table->boolean('confirmed'); - $table->boolean('retired'); - $table->dateTime('last_pirep'); - $table->dateTime('created_at'); - $table->dateTime('updated_at'); + $table->string('code')->nullable(); + $table->string('location')->nullable(); + $table->string('hub')->nullable(); + $table->unsignedBigInteger('flights')->nullable(); + $table->float('hours')->nullable(); + $table->float('pay')->nullable(); + $table->boolean('confirmed')->nullable(); + $table->boolean('retired')->nullable(); + $table->dateTime('last_pirep')->nullable(); $table->rememberToken(); $table->timestamps(); }); diff --git a/database/migrations/0001_create_password_resets_table.php b/database/migrations/2017_06_08_0001_create_password_resets_table.php similarity index 100% rename from database/migrations/0001_create_password_resets_table.php rename to database/migrations/2017_06_08_0001_create_password_resets_table.php diff --git a/database/migrations/2017_06_08_191703_create_airlines_table.php b/database/migrations/2017_06_08_191703_create_airlines_table.php new file mode 100644 index 00000000..71d9ed35 --- /dev/null +++ b/database/migrations/2017_06_08_191703_create_airlines_table.php @@ -0,0 +1,35 @@ +increments('id'); + $table->string('code'); + $table->string('name'); + $table->boolean('enabled'); + $table->timestamps(); + $table->softDeletes(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('airlines'); + } +} diff --git a/resources/views/admin/airlines/create.blade.php b/resources/views/admin/airlines/create.blade.php new file mode 100644 index 00000000..b747130e --- /dev/null +++ b/resources/views/admin/airlines/create.blade.php @@ -0,0 +1,24 @@ +@extends('layouts.admin.app') + +@section('content') +
+

+ Airlines +

+
+
+ @include('adminlte-templates::common.errors') +
+ +
+
+ {!! Form::open(['route' => 'airlines.store']) !!} + + @include('admin.airlines.fields') + + {!! Form::close() !!} +
+
+
+
+@endsection diff --git a/resources/views/admin/airlines/edit.blade.php b/resources/views/admin/airlines/edit.blade.php new file mode 100644 index 00000000..1def4188 --- /dev/null +++ b/resources/views/admin/airlines/edit.blade.php @@ -0,0 +1,23 @@ +@extends('layouts.admin.app') + +@section('content') +
+

+ Airlines +

+
+
+ @include('adminlte-templates::common.errors') +
+
+
+ {!! Form::model($airlines, ['route' => ['airlines.update', $airlines->id], 'method' => 'patch']) !!} + + @include('admin.airlines.fields') + + {!! Form::close() !!} +
+
+
+
+@endsection diff --git a/resources/views/admin/airlines/fields.blade.php b/resources/views/admin/airlines/fields.blade.php new file mode 100644 index 00000000..3ed29f76 --- /dev/null +++ b/resources/views/admin/airlines/fields.blade.php @@ -0,0 +1,26 @@ + +
+ {!! Form::label('code', 'Code:') !!} + {!! Form::text('code', null, ['class' => 'form-control']) !!} +
+ + +
+ {!! Form::label('name', 'Name:') !!} + {!! Form::text('name', null, ['class' => 'form-control']) !!} +
+ + +
+ {!! Form::label('enabled', 'Enabled:') !!} + +
+ + +
+ {!! Form::submit('Save', ['class' => 'btn btn-primary']) !!} + Cancel +
diff --git a/resources/views/admin/airlines/index.blade.php b/resources/views/admin/airlines/index.blade.php new file mode 100644 index 00000000..8e2fa7e1 --- /dev/null +++ b/resources/views/admin/airlines/index.blade.php @@ -0,0 +1,23 @@ +@extends('layouts.admin.app') + +@section('content') +
+

Airlines

+

+ Add New +

+
+
+
+ + @include('flash::message') + +
+
+
+ @include('admin.airlines.table') +
+
+
+@endsection + diff --git a/resources/views/admin/airlines/show.blade.php b/resources/views/admin/airlines/show.blade.php new file mode 100644 index 00000000..954b27a2 --- /dev/null +++ b/resources/views/admin/airlines/show.blade.php @@ -0,0 +1,19 @@ +@extends('layouts.admin.app') + +@section('content') +
+

+ Airlines +

+
+
+
+
+
+ @include('admin.airlines.show_fields') + Back +
+
+
+
+@endsection diff --git a/resources/views/admin/airlines/show_fields.blade.php b/resources/views/admin/airlines/show_fields.blade.php new file mode 100644 index 00000000..f4e5c9b7 --- /dev/null +++ b/resources/views/admin/airlines/show_fields.blade.php @@ -0,0 +1,36 @@ + +
+ {!! Form::label('id', 'Id:') !!} +

{!! $airlines->id !!}

+
+ + +
+ {!! Form::label('code', 'Code:') !!} +

{!! $airlines->code !!}

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

{!! $airlines->name !!}

+
+ + +
+ {!! Form::label('enabled', 'Enabled:') !!} +

{!! $airlines->enabled !!}

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

{!! $airlines->created_at !!}

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

{!! $airlines->updated_at !!}

+
+ diff --git a/resources/views/admin/airlines/table.blade.php b/resources/views/admin/airlines/table.blade.php new file mode 100644 index 00000000..0f5d7693 --- /dev/null +++ b/resources/views/admin/airlines/table.blade.php @@ -0,0 +1,26 @@ + + + + + + + + + @foreach($airlines as $airlines) + + + + + + + @endforeach + +
CodeNameEnabledAction
{!! $airlines->code !!}{!! $airlines->name !!}{!! $airlines->enabled !!} + {!! Form::open(['route' => ['airlines.destroy', $airlines->id], '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/layouts/admin/app.blade.php b/resources/views/layouts/admin/app.blade.php new file mode 100644 index 00000000..d9d24372 --- /dev/null +++ b/resources/views/layouts/admin/app.blade.php @@ -0,0 +1,153 @@ + + + + + phpVMS Admin + + + + + + + + + + + + @yield('css') + + + +@if (!Auth::guest()) +
+ +
+ + + + + + +
+ + + @include('layouts.admin.sidebar') + +
+ @yield('content') +
+ + + + +
+@else + + +
+
+
+
+ @yield('content') +
+
+
+
+ @endif + + + + + + + + + + + @yield('scripts') + + diff --git a/resources/views/layouts/admin/menu.blade.php b/resources/views/layouts/admin/menu.blade.php new file mode 100644 index 00000000..3423fabd --- /dev/null +++ b/resources/views/layouts/admin/menu.blade.php @@ -0,0 +1 @@ +
  • airlines
  • diff --git a/resources/views/layouts/sidebar.blade.php b/resources/views/layouts/admin/sidebar.blade.php similarity index 93% rename from resources/views/layouts/sidebar.blade.php rename to resources/views/layouts/admin/sidebar.blade.php index 3a57cc5d..1130eac2 100644 --- a/resources/views/layouts/sidebar.blade.php +++ b/resources/views/layouts/admin/sidebar.blade.php @@ -11,7 +11,7 @@
    @if (Auth::guest()) -

    InfyOm

    +

    phpVMS Admin

    @else

    {{ Auth::user()->name}}

    @endif @@ -33,9 +33,9 @@ - \ No newline at end of file + diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 215a9103..43e8e83d 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -2,7 +2,7 @@ - InfyOm Generator + phpvms @@ -18,126 +18,21 @@ -@if (!Auth::guest())
    - -
    - - - - - - -
    - - - @include('layouts.sidebar') - -
    - @yield('content') -
    - - -
    - Copyright © 2016 Company. All rights reserved. -
    - -
    -@else - - -
    -
    -
    -
    - @yield('content') +
    +
    +
    +
    + @yield('content') +
    - @endif + +
    + Copyright © 2016 Company. All rights reserved. +
    diff --git a/resources/views/layouts/menu.blade.php b/resources/views/layouts/menu.blade.php deleted file mode 100644 index e69de29b..00000000 diff --git a/routes/web.php b/routes/web.php index 367ee6d8..733051d5 100755 --- a/routes/web.php +++ b/routes/web.php @@ -16,5 +16,18 @@ Route::get('/', function () { }); -Auth::routes(); Route::get('/home', 'HomeController@index'); + + +//Auth::routes(); + +/** + * Admin routes + */ +Route::group([ + 'namespace' => 'Admin', + 'middleware' => 'auth', + 'prefix' => 'admin', +], function () { + Route::resource('airlines', 'AirlinesController'); +});