diff --git a/app/Database/migrations/2017_06_08_0000_create_users_table.php b/app/Database/migrations/2017_06_08_0000_create_users_table.php
index 61814028..94a47f4a 100755
--- a/app/Database/migrations/2017_06_08_0000_create_users_table.php
+++ b/app/Database/migrations/2017_06_08_0000_create_users_table.php
@@ -31,6 +31,7 @@ class CreateUsersTable extends Migration
$table->unsignedTinyInteger('status')->default(0);
$table->unsignedTinyInteger('state')->default(0);
$table->boolean('active')->nullable();
+ $table->ipAddress('last_ip')->nullable();
$table->rememberToken();
$table->timestamps();
$table->softDeletes();
diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php
index 2d8bd28d..7c3db522 100644
--- a/app/Http/Controllers/Admin/UserController.php
+++ b/app/Http/Controllers/Admin/UserController.php
@@ -2,16 +2,22 @@
namespace App\Http\Controllers\Admin;
+use App\Facades\Utils;
+use App\Models\User;
use DB;
use Hash;
+use Illuminate\Support\Facades\Auth;
use Log;
use Flash;
+use Prettus\Repository\Exceptions\RepositoryException;
use Response;
use Jackiedo\Timezonelist\Facades\Timezonelist;
use Illuminate\Http\Request;
use App\Http\Requests\CreateUserRequest;
use App\Http\Requests\UpdateUserRequest;
+
+use App\Repositories\PirepRepository;
use App\Repositories\UserRepository;
use App\Services\UserService;
@@ -22,8 +28,8 @@ use App\Models\Role;
class UserController extends BaseController
{
- /** @var UserRepository */
- private $userRepo,
+ private $pirepRepo,
+ $userRepo,
$userSvc;
/**
@@ -32,18 +38,23 @@ class UserController extends BaseController
* @param UserRepository $userRepo
*/
public function __construct(
+ PirepRepository $pirepRepo,
UserRepository $userRepo,
UserService $userSvc
) {
+ $this->pirepRepo = $pirepRepo;
$this->userSvc = $userSvc;
$this->userRepo = $userRepo;
}
public function index(Request $request)
{
- $users = $this->userRepo->searchCriteria($request, false)
- ->orderBy('created_at', 'desc')
- ->paginate();
+ try {
+ $users = $this->userRepo->searchCriteria($request, false)
+ ->orderBy('created_at', 'desc')
+ ->paginate();
+ } catch (RepositoryException $e) {
+ }
return view('admin.users.index', [
'users' => $users,
@@ -52,7 +63,6 @@ class UserController extends BaseController
/**
* Show the form for creating a new User.
- *
* @return Response
*/
public function create()
@@ -64,10 +74,9 @@ class UserController extends BaseController
/**
* Store a newly created User in storage.
- *
* @param CreateUserRequest $request
- *
* @return Response
+ * @throws \Prettus\Validator\Exceptions\ValidatorException
*/
public function store(CreateUserRequest $request)
{
@@ -80,9 +89,7 @@ class UserController extends BaseController
/**
* Display the specified User.
- *
* @param int $id
- *
* @return Response
*/
public function show($id)
@@ -94,8 +101,13 @@ class UserController extends BaseController
return redirect(route('admin.users.index'));
}
+ $pireps = $this->pirepRepo
+ ->whereOrder(['user_id' => $id], 'created_at', 'desc')
+ ->paginate();
+
return view('admin.users.show', [
'user' => $user,
+ 'pireps' => $pireps,
'airlines' => Airline::all(),
'timezones' => Timezonelist::toArray(),
'airports' => Airport::all()->pluck('icao', 'id'),
@@ -120,8 +132,13 @@ class UserController extends BaseController
return redirect(route('admin.users.index'));
}
+ $pireps = $this->pirepRepo
+ ->whereOrder(['user_id' => $id], 'created_at', 'desc')
+ ->paginate();
+
return view('admin.users.edit', [
'user' => $user,
+ 'pireps' => $pireps,
'timezones' => Timezonelist::toArray(),
'airports' => Airport::all()->pluck('icao', 'id'),
'airlines' => Airline::all()->pluck('name', 'id'),
@@ -193,4 +210,19 @@ class UserController extends BaseController
Flash::success('User deleted successfully.');
return redirect(route('admin.users.index'));
}
+
+ /**
+ * Regenerate the user's API key
+ */
+ public function regen_apikey($id, Request $request)
+ {
+ $user = User::find($id);
+ Log::info('Regenerating API key "' . $user->pilot_id . '"');
+
+ $user->api_key = Utils::generateApiKey();
+ $user->save();
+
+ flash('New API key generated!')->success();
+ return redirect(route('admin.users.edit', ['id' => $id]));
+ }
}
diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php
index 1ee5b445..4e45c170 100755
--- a/app/Http/Controllers/Auth/LoginController.php
+++ b/app/Http/Controllers/Auth/LoginController.php
@@ -34,6 +34,9 @@ class LoginController extends Controller
{
$user = Auth::user();
+ $user->last_ip = $request->ip();
+ $user->save();
+
// TODO: How to handle ON_LEAVE?
if($user->state !== UserState::ACTIVE) {
diff --git a/app/Routes/admin.php b/app/Routes/admin.php
index 472726ef..848cbf0a 100644
--- a/app/Routes/admin.php
+++ b/app/Routes/admin.php
@@ -44,6 +44,8 @@ Route::group([
Route::resource('pirepfields', 'PirepFieldController');
Route::resource('users', 'UserController');
+ Route::get('users/{id}/regen_apikey',
+ 'UserController@regen_apikey')->name('users.regen_apikey');
# defaults
Route::get('', ['uses' => 'DashboardController@index']);
diff --git a/resources/views/admin/aircraft/create.blade.php b/resources/views/admin/aircraft/create.blade.php
index 10e451ec..187987a8 100644
--- a/resources/views/admin/aircraft/create.blade.php
+++ b/resources/views/admin/aircraft/create.blade.php
@@ -3,7 +3,6 @@
@section('content')
- @include('admin.flash.message')
{!! Form::open(['route' => 'admin.aircraft.store']) !!}
@include('admin.aircraft.fields')
{!! Form::close() !!}
diff --git a/resources/views/admin/aircraft/edit.blade.php b/resources/views/admin/aircraft/edit.blade.php
index c82078df..70a1ce3c 100644
--- a/resources/views/admin/aircraft/edit.blade.php
+++ b/resources/views/admin/aircraft/edit.blade.php
@@ -3,7 +3,6 @@
@section('content')
- @include('admin.flash.message')
{!! Form::model($aircraft, ['route' => ['admin.aircraft.update', $aircraft->id], 'method' => 'patch']) !!}
@include('admin.aircraft.fields')
{!! Form::close() !!}
diff --git a/resources/views/admin/airlines/create.blade.php b/resources/views/admin/airlines/create.blade.php
index 314e0eda..42a16add 100644
--- a/resources/views/admin/airlines/create.blade.php
+++ b/resources/views/admin/airlines/create.blade.php
@@ -3,7 +3,6 @@
@section('content')
- @include('admin.flash.message')
{!! Form::open(['route' => 'admin.airlines.store']) !!}
@include('admin.airlines.fields')
{!! Form::close() !!}
diff --git a/resources/views/admin/airlines/edit.blade.php b/resources/views/admin/airlines/edit.blade.php
index 6e22fa32..66f758ee 100644
--- a/resources/views/admin/airlines/edit.blade.php
+++ b/resources/views/admin/airlines/edit.blade.php
@@ -3,7 +3,6 @@
@section('content')
- @include('admin.flash.message')
{!! Form::model($airline, ['route' => ['admin.airlines.update', $airline->id], 'method' => 'patch']) !!}
@include('admin.airlines.fields')
{!! Form::close() !!}
diff --git a/resources/views/admin/airports/create.blade.php b/resources/views/admin/airports/create.blade.php
index 5f0b574d..4bd9011a 100644
--- a/resources/views/admin/airports/create.blade.php
+++ b/resources/views/admin/airports/create.blade.php
@@ -1,9 +1,9 @@
@extends('admin.app')
@section('title', 'Add Airport')
+
@section('content')
- @include('admin.flash.message')
{!! Form::open(['route' => 'admin.airports.store', 'id' => 'airportForm']) !!}
@include('admin.airports.fields')
{!! Form::close() !!}
diff --git a/resources/views/admin/airports/edit.blade.php b/resources/views/admin/airports/edit.blade.php
index 9f1188e0..1df30525 100644
--- a/resources/views/admin/airports/edit.blade.php
+++ b/resources/views/admin/airports/edit.blade.php
@@ -3,7 +3,6 @@
@section('content')
- @include('admin.flash.message')
{!! Form::model($airport, ['route' => ['admin.airports.update', $airport->id], 'method' => 'patch', 'id' => 'airportForm']) !!}
@include('admin.airports.fields')
{!! Form::close() !!}
diff --git a/resources/views/admin/app.blade.php b/resources/views/admin/app.blade.php
index f3f4e414..1d4f376d 100644
--- a/resources/views/admin/app.blade.php
+++ b/resources/views/admin/app.blade.php
@@ -63,7 +63,7 @@
- @include('flash::message')
+ @include('admin.flash.message')
@yield('content')
diff --git a/resources/views/admin/fares/create.blade.php b/resources/views/admin/fares/create.blade.php
index 3908c2e6..4c658127 100644
--- a/resources/views/admin/fares/create.blade.php
+++ b/resources/views/admin/fares/create.blade.php
@@ -3,7 +3,6 @@
@section('content')
- @include('admin.flash.message')
{!! Form::open(['route' => 'admin.fares.store']) !!}
@include('admin.fares.fields')
{!! Form::close() !!}
diff --git a/resources/views/admin/fares/edit.blade.php b/resources/views/admin/fares/edit.blade.php
index 78252edd..053146be 100644
--- a/resources/views/admin/fares/edit.blade.php
+++ b/resources/views/admin/fares/edit.blade.php
@@ -3,7 +3,6 @@
@section('content')
- @include('admin.flash.message')
{!! Form::model($fare, ['route' => ['admin.fares.update', $fare->id], 'method' => 'patch']) !!}
@include('admin.fares.fields')
{!! Form::close() !!}
diff --git a/resources/views/admin/fares/show.blade.php b/resources/views/admin/fares/show.blade.php
index e9e6da90..f60aeee7 100644
--- a/resources/views/admin/fares/show.blade.php
+++ b/resources/views/admin/fares/show.blade.php
@@ -1,19 +1,9 @@
@extends('admin.app')
@section('content')
-
+
-
-
-
- @include('admin.fares.show_fields')
-
Back
-
-
-
+ @include('admin.fares.show_fields')
+
@endsection
diff --git a/resources/views/admin/flash/message.blade.php b/resources/views/admin/flash/message.blade.php
index 894e8e60..f9833e34 100644
--- a/resources/views/admin/flash/message.blade.php
+++ b/resources/views/admin/flash/message.blade.php
@@ -8,4 +8,23 @@
@endforeach
+@if (session()->has('flash_notification.message'))
+
+ @if(session()->has('flash_notification.important'))
+
+ @endif
+
+
+
+
+
+
+ {!! session('flash_notification.message') !!}
+
+
+
+
+@endif
{{ session()->forget('flash_notification') }}
diff --git a/resources/views/admin/flights/create.blade.php b/resources/views/admin/flights/create.blade.php
index a106c46c..2fa13424 100644
--- a/resources/views/admin/flights/create.blade.php
+++ b/resources/views/admin/flights/create.blade.php
@@ -3,7 +3,6 @@
@section('content')
- @include('admin.flash.message')
{!! Form::model($flight, ['route' => ['admin.flights.store']]) !!}
@include('admin.flights.fields')
{!! Form::close() !!}
diff --git a/resources/views/admin/flights/edit.blade.php b/resources/views/admin/flights/edit.blade.php
index 3625ff4c..a90fd7cc 100644
--- a/resources/views/admin/flights/edit.blade.php
+++ b/resources/views/admin/flights/edit.blade.php
@@ -3,7 +3,6 @@
@section('title', 'Edit Flight')
@section('content')
- @include('admin.flash.message')
{!! Form::model($flight, ['route' => ['admin.flights.update', $flight->id], 'method' => 'patch']) !!}
@include('admin.flights.fields')
diff --git a/resources/views/admin/pirepfields/create.blade.php b/resources/views/admin/pirepfields/create.blade.php
index ce1a9fa2..00fa5f0f 100644
--- a/resources/views/admin/pirepfields/create.blade.php
+++ b/resources/views/admin/pirepfields/create.blade.php
@@ -3,7 +3,6 @@
@section('content')
- @include('admin.flash.message')
{!! Form::open(['route' => 'admin.pirepfields.store']) !!}
@include('admin.pirepfields.fields')
{!! Form::close() !!}
diff --git a/resources/views/admin/pirepfields/edit.blade.php b/resources/views/admin/pirepfields/edit.blade.php
index 3e8b1308..c2d2853b 100644
--- a/resources/views/admin/pirepfields/edit.blade.php
+++ b/resources/views/admin/pirepfields/edit.blade.php
@@ -3,7 +3,6 @@
@section('content')
- @include('admin.flash.message')
{!! Form::model($field, ['route' => ['admin.pirepfields.update', $field->id], 'method' => 'patch']) !!}
@include('admin.pirepfields.fields')
{!! Form::close() !!}
diff --git a/resources/views/admin/pirepfields/index.blade.php b/resources/views/admin/pirepfields/index.blade.php
index e6082920..6ef888dd 100644
--- a/resources/views/admin/pirepfields/index.blade.php
+++ b/resources/views/admin/pirepfields/index.blade.php
@@ -7,7 +7,6 @@
@section('content')
- @include('admin.flash.message')
@include('admin.pirepfields.table')
diff --git a/resources/views/admin/pireps/create.blade.php b/resources/views/admin/pireps/create.blade.php
index f23b7ff3..ceb2c7e5 100644
--- a/resources/views/admin/pireps/create.blade.php
+++ b/resources/views/admin/pireps/create.blade.php
@@ -7,7 +7,6 @@
- @include('admin.flash.message')
diff --git a/resources/views/admin/pireps/edit.blade.php b/resources/views/admin/pireps/edit.blade.php
index ef4f787a..17b45bae 100644
--- a/resources/views/admin/pireps/edit.blade.php
+++ b/resources/views/admin/pireps/edit.blade.php
@@ -3,7 +3,6 @@
@section('title', 'Edit ' . $pirep->ident )
@section('content')
- @include('admin.flash.message')
{!! Form::model($pirep, ['route' => ['admin.pireps.update', $pirep->id], 'method' => 'patch']) !!}
diff --git a/resources/views/admin/ranks/create.blade.php b/resources/views/admin/ranks/create.blade.php
index 15399a48..3b77cf9a 100644
--- a/resources/views/admin/ranks/create.blade.php
+++ b/resources/views/admin/ranks/create.blade.php
@@ -3,7 +3,6 @@
@section('content')
- @include('admin.flash.message')
{!! Form::open(['route' => 'admin.ranks.store', 'class' => 'add_rank', 'method'=>'POST']) !!}
@include('admin.ranks.fields')
{!! Form::close() !!}
diff --git a/resources/views/admin/ranks/edit.blade.php b/resources/views/admin/ranks/edit.blade.php
index 606b673f..52200626 100644
--- a/resources/views/admin/ranks/edit.blade.php
+++ b/resources/views/admin/ranks/edit.blade.php
@@ -3,7 +3,6 @@
@section('content')
- @include('admin.flash.message')
{!! Form::model($rank, ['route' => ['admin.ranks.update', $rank->id], 'method' => 'patch']) !!}
@include('admin.ranks.fields')
{!! Form::close() !!}
diff --git a/resources/views/admin/subfleets/create.blade.php b/resources/views/admin/subfleets/create.blade.php
index ae2e59c0..7ad8887d 100644
--- a/resources/views/admin/subfleets/create.blade.php
+++ b/resources/views/admin/subfleets/create.blade.php
@@ -3,7 +3,6 @@
@section('content')
- @include('admin.flash.message')
{!! Form::open(['route' => 'admin.subfleets.store']) !!}
@include('admin.subfleets.fields')
{!! Form::close() !!}
diff --git a/resources/views/admin/subfleets/edit.blade.php b/resources/views/admin/subfleets/edit.blade.php
index 4a17a226..bc3bf845 100644
--- a/resources/views/admin/subfleets/edit.blade.php
+++ b/resources/views/admin/subfleets/edit.blade.php
@@ -2,7 +2,6 @@
@section('title', "Edit $subfleet->name")
@section('content')
- @include('admin.flash.message')
{!! Form::model($subfleet, ['route' => ['admin.subfleets.update', $subfleet->id], 'method' => 'patch']) !!}
diff --git a/resources/views/admin/subfleets/index.blade.php b/resources/views/admin/subfleets/index.blade.php
index aa94abf1..248c7255 100644
--- a/resources/views/admin/subfleets/index.blade.php
+++ b/resources/views/admin/subfleets/index.blade.php
@@ -1,12 +1,13 @@
@extends('admin.app')
-
@section('title', 'Subfleets')
+
@section('actions')
Add New
@endsection
+
@section('content')
diff --git a/resources/views/admin/users/create.blade.php b/resources/views/admin/users/create.blade.php
index 739cbbbd..471fe3ea 100644
--- a/resources/views/admin/users/create.blade.php
+++ b/resources/views/admin/users/create.blade.php
@@ -3,7 +3,6 @@
@section('content')
- @include('admin.flash.message')
{!! Form::open(['route' => 'admin.airlines.store']) !!}
@include('admin.airlines.fields')
{!! Form::close() !!}
diff --git a/resources/views/admin/users/edit.blade.php b/resources/views/admin/users/edit.blade.php
index d0a0b5f0..e6602f88 100644
--- a/resources/views/admin/users/edit.blade.php
+++ b/resources/views/admin/users/edit.blade.php
@@ -1,13 +1,27 @@
@extends('admin.app')
-@section('title', "Edit \"$user->name\"")
@section('title', 'Edit '. $user->name)
@section('content')
- @include('admin.flash.message')
{!! Form::model($user, ['route' => ['admin.users.update', $user->id], 'method' => 'patch']) !!}
@include('admin.users.fields')
{!! Form::close() !!}
+
+
+
+
+
+ @include('admin.pireps.table')
+
+
+
+ {{ $pireps->links('admin.pagination.default') }}
+
+
+
+
@endsection
diff --git a/resources/views/admin/users/fields.blade.php b/resources/views/admin/users/fields.blade.php
index 4240839e..29dd58ff 100644
--- a/resources/views/admin/users/fields.blade.php
+++ b/resources/views/admin/users/fields.blade.php
@@ -57,10 +57,42 @@
-
+
+
diff --git a/resources/views/admin/users/show.blade.php b/resources/views/admin/users/show.blade.php
index 69c298a4..281add2d 100644
--- a/resources/views/admin/users/show.blade.php
+++ b/resources/views/admin/users/show.blade.php
@@ -1,5 +1,5 @@
@extends('admin.app')
-
+@section('title', 'Edit '. $user->name)
@section('content')
diff --git a/resources/views/admin/users/table.blade.php b/resources/views/admin/users/table.blade.php
index dbd0bfc8..06d7d8d3 100644
--- a/resources/views/admin/users/table.blade.php
+++ b/resources/views/admin/users/table.blade.php
@@ -9,13 +9,13 @@
@foreach($users as $user)
- | {!! $user->name !!} |
+ {!! $user->name !!} |
{!! $user->email !!} |
{!! show_date($user->created_at) !!} |
- @if($user->state == UserState::ACTIVE)
+ @if($user->state === UserState::ACTIVE)
- @elseif($user->state == UserState::PENDING)
+ @elseif($user->state === UserState::PENDING)
@else
|