Rename PilotState class to UserState

This commit is contained in:
Nabeel Shahzad
2017-12-30 20:40:32 -06:00
parent 778780f3f2
commit 81e82629ac
13 changed files with 56 additions and 60 deletions
@@ -8,7 +8,7 @@ use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\Enums\PilotState; use App\Models\Enums\UserState;
class LoginController extends Controller class LoginController extends Controller
{ {
@@ -35,21 +35,21 @@ class LoginController extends Controller
$user = Auth::user(); $user = Auth::user();
// TODO: How to handle ON_LEAVE? // TODO: How to handle ON_LEAVE?
if($user->state !== PilotState::ACTIVE) { if($user->state !== UserState::ACTIVE) {
Log::info('Trying to login '. $user->pilot_id .', state ' Log::info('Trying to login '. $user->pilot_id .', state '
. PilotState::label($user->state)); . UserState::label($user->state));
// Log them out // Log them out
$this->guard()->logout(); $this->guard()->logout();
$request->session()->invalidate(); $request->session()->invalidate();
// Redirect to one of the error pages // Redirect to one of the error pages
if($user->state === PilotState::PENDING) { if($user->state === UserState::PENDING) {
return $this->view('auth.pending'); return $this->view('auth.pending');
} elseif ($user->state === PilotState::REJECTED) { } elseif ($user->state === UserState::REJECTED) {
return $this->view('auth.rejected'); return $this->view('auth.rejected');
} elseif ($user->state === PilotState::SUSPENDED) { } elseif ($user->state === UserState::SUSPENDED) {
return $this->view('auth.suspended'); return $this->view('auth.suspended');
} }
} }
@@ -14,7 +14,7 @@ use App\Facades\Utils;
use App\Models\Airport; use App\Models\Airport;
use App\Models\Airline; use App\Models\Airline;
use App\Services\UserService; use App\Services\UserService;
use App\Models\Enums\PilotState; use App\Models\Enums\UserState;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Repositories\AirlineRepository; use App\Repositories\AirlineRepository;
use App\Repositories\AirportRepository; use App\Repositories\AirportRepository;
@@ -118,7 +118,7 @@ class RegisterController extends Controller
$user = $this->create($request->all()); $user = $this->create($request->all());
if($user->state === PilotState::PENDING) { if($user->state === UserState::PENDING) {
return $this->view('auth.pending'); return $this->view('auth.pending');
} }
+8 -8
View File
@@ -5,7 +5,7 @@ namespace App\Listeners;
use Log; use Log;
use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Mail;
use App\Models\Enums\PilotState; use App\Models\Enums\UserState;
/** /**
* Handle sending emails on different events * Handle sending emails on different events
@@ -34,7 +34,7 @@ class NotificationEventListener
{ {
Log::info('onUserRegister: ' Log::info('onUserRegister: '
. $event->user->pilot_id . ' is ' . $event->user->pilot_id . ' is '
. PilotState::label($event->user->state) . UserState::label($event->user->state)
. ', sending active email'); . ', sending active email');
# First send the admin a notification # First send the admin a notification
@@ -45,14 +45,14 @@ class NotificationEventListener
} }
# Then notify the user # Then notify the user
if($event->user->state === PilotState::ACTIVE) { if($event->user->state === UserState::ACTIVE) {
$email = new \App\Mail\UserRegistered( $email = new \App\Mail\UserRegistered(
$event->user, $event->user,
'Welcome to ' . config('app.name') . '!' 'Welcome to ' . config('app.name') . '!'
); );
Mail::to($event->user->email)->send($email); Mail::to($event->user->email)->send($email);
} else if($event->user->state === PilotState::PENDING) { } else if($event->user->state === UserState::PENDING) {
Mail::to($event->user->email)->send(new \App\Mail\UserPending($event->user)); Mail::to($event->user->email)->send(new \App\Mail\UserPending($event->user));
} }
} }
@@ -63,8 +63,8 @@ class NotificationEventListener
*/ */
public function onUserStateChange(UserStateChanged $event) public function onUserStateChange(UserStateChanged $event)
{ {
if ($event->old_state === PilotState::PENDING) { if ($event->old_state === UserState::PENDING) {
if ($event->user->state === PilotState::ACTIVE) if ($event->user->state === UserState::ACTIVE)
{ {
$email = new \App\Mail\UserRegistered( $email = new \App\Mail\UserRegistered(
$event->user, $event->user,
@@ -74,7 +74,7 @@ class NotificationEventListener
Mail::to($event->user->email)->send($email); Mail::to($event->user->email)->send($email);
} }
else if ($event->user->state === PilotState::REJECTED) else if ($event->user->state === UserState::REJECTED)
{ {
$email = new \App\Mail\UserRejected($event->user); $email = new \App\Mail\UserRejected($event->user);
Mail::to($event->user->email)->send($email); Mail::to($event->user->email)->send($email);
@@ -82,7 +82,7 @@ class NotificationEventListener
} }
# TODO: Other state transitions # TODO: Other state transitions
elseif ($event->old_state === PilotState::ACTIVE) elseif ($event->old_state === UserState::ACTIVE)
{ {
} }
-27
View File
@@ -1,27 +0,0 @@
<?php
/**
* Created by IntelliJ IDEA.
* User: nabeelshahzad
* Date: 12/22/17
* Time: 12:14 PM
*/
namespace App\Models\Enums;
class PilotState extends EnumBase
{
const PENDING = 0;
const ACTIVE = 1;
const REJECTED = 2;
const ON_LEAVE = 3;
const SUSPENDED = 4;
protected static $labels = [
PilotState::PENDING => 'Pending',
PilotState::ACTIVE => 'Active',
PilotState::REJECTED => 'Rejected',
PilotState::ON_LEAVE => 'On Leave',
PilotState::SUSPENDED => 'Suspended',
];
}
+23
View File
@@ -0,0 +1,23 @@
<?php
/**
* Hold the user states
*/
namespace App\Models\Enums;
class UserState extends EnumBase
{
const PENDING = 0;
const ACTIVE = 1;
const REJECTED = 2;
const ON_LEAVE = 3;
const SUSPENDED = 4;
protected static $labels = [
UserState::PENDING => 'Pending',
UserState::ACTIVE => 'Active',
UserState::REJECTED => 'Rejected',
UserState::ON_LEAVE => 'On Leave',
UserState::SUSPENDED => 'Suspended',
];
}
+3 -3
View File
@@ -4,7 +4,7 @@ namespace App\Repositories;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Models\User; use App\Models\User;
use App\Models\Enums\PilotState; use App\Models\Enums\UserState;
use App\Repositories\Criteria\WhereCriteria; use App\Repositories\Criteria\WhereCriteria;
class UserRepository extends BaseRepository class UserRepository extends BaseRepository
@@ -29,7 +29,7 @@ class UserRepository extends BaseRepository
public function getPendingCount() public function getPendingCount()
{ {
$where = [ $where = [
'state' => PilotState::PENDING, 'state' => UserState::PENDING,
]; ];
$users = $this->orderBy('created_at', 'desc')->findWhere($where)->count(); $users = $this->orderBy('created_at', 'desc')->findWhere($where)->count();
@@ -48,7 +48,7 @@ class UserRepository extends BaseRepository
$where = []; $where = [];
if($only_active) { if($only_active) {
$where['state'] = PilotState::ACTIVE; $where['state'] = UserState::ACTIVE;
} }
if ($request->filled('name')) { if ($request->filled('name')) {
+5 -5
View File
@@ -9,7 +9,7 @@ use App\Models\Role;
use App\Events\UserRegistered; use App\Events\UserRegistered;
use App\Events\UserStateChanged; use App\Events\UserStateChanged;
use App\Events\UserStatsChanged; use App\Events\UserStatsChanged;
use App\Models\Enums\PilotState; use App\Models\Enums\UserState;
class UserService extends BaseService class UserService extends BaseService
{ {
@@ -24,9 +24,9 @@ class UserService extends BaseService
{ {
# Determine if we want to auto accept # Determine if we want to auto accept
if(setting('pilot.auto_accept') === true) { if(setting('pilot.auto_accept') === true) {
$user->state = PilotState::ACTIVE; $user->state = UserState::ACTIVE;
} else { } else {
$user->state = PilotState::PENDING; $user->state = UserState::PENDING;
} }
$user->save(); $user->save();
@@ -66,8 +66,8 @@ class UserService extends BaseService
} }
Log::info('User ' . $user->pilot_id . ' state changing from ' Log::info('User ' . $user->pilot_id . ' state changing from '
. PilotState::label($old_state) . ' to ' . UserState::label($old_state) . ' to '
. PilotState::label($user->state)); . UserState::label($user->state));
event(new UserStateChanged($user, $old_state)); event(new UserStateChanged($user, $old_state));
} }
+1 -1
View File
@@ -118,7 +118,7 @@ return [
'Yaml' => Symfony\Component\Yaml\Yaml::class, 'Yaml' => Symfony\Component\Yaml\Yaml::class,
# ENUMS # ENUMS
'PilotState' => App\Models\Enums\PilotState::class, 'UserState' => App\Models\Enums\UserState::class,
'PirepSource' => App\Models\Enums\PirepSource::class, 'PirepSource' => App\Models\Enums\PirepSource::class,
'PirepState' => App\Models\Enums\PirepState::class, 'PirepState' => App\Models\Enums\PirepState::class,
'PirepStatus' => App\Models\Enums\PirepStatus::class, 'PirepStatus' => App\Models\Enums\PirepStatus::class,
+1 -1
View File
@@ -52,7 +52,7 @@
<div class="form-group col-sm-6"> <div class="form-group col-sm-6">
{!! Form::label('state', 'State:') !!} {!! Form::label('state', 'State:') !!}
<label class="checkbox-inline"> <label class="checkbox-inline">
{!! Form::select('state', PilotState::labels(), null, ['class' => 'form-control select2']) !!} {!! Form::select('state', UserState::labels(), null, ['class' => 'form-control select2']) !!}
</label> </label>
</div> </div>
+1 -1
View File
@@ -3,7 +3,7 @@
@section('title', 'Users') @section('title', 'Users')
@section('actions') @section('actions')
<li><a href="{!! route('admin.users.index') !!}?search=state:0"> <li><a href="{!! route('admin.users.index') !!}?search=state:0">
<i class="ti-user"></i>{!! PilotState::label(PilotState::PENDING) !!}</a> <i class="ti-user"></i>{!! UserState::label(UserState::PENDING) !!}</a>
</li> </li>
@endsection @endsection
+3 -3
View File
@@ -13,14 +13,14 @@
<td>{!! $user->email !!}</td> <td>{!! $user->email !!}</td>
<td>{!! show_date($user->created_at) !!}</td> <td>{!! show_date($user->created_at) !!}</td>
<td class="text-center"> <td class="text-center">
@if($user->state == PilotState::ACTIVE) @if($user->state == UserState::ACTIVE)
<span class="label label-success"> <span class="label label-success">
@elseif($user->state == PilotState::PENDING) @elseif($user->state == UserState::PENDING)
<span class="label label-warning"> <span class="label label-warning">
@else @else
<span class="label label-default"> <span class="label label-default">
@endif @endif
{!! PilotState::label($user->state) !!}</span> {!! UserState::label($user->state) !!}</span>
</td> </td>
<td class="text-right"> <td class="text-right">
{!! Form::open(['route' => ['admin.users.destroy', $user->id], 'method' => 'delete']) !!} {!! Form::open(['route' => ['admin.users.destroy', $user->id], 'method' => 'delete']) !!}
@@ -3,7 +3,7 @@ A new user has signed up!
Name: {!! $user->name !!}! Name: {!! $user->name !!}!
Email: {!! $user->email !!} Email: {!! $user->email !!}
State: {!! PilotState::label($user->state) !!} State: {!! UserState::label($user->state) !!}
{{ config('app.name') }} {{ config('app.name') }}
@endcomponent @endcomponent
+2 -2
View File
@@ -2,7 +2,7 @@
use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Mail;
use \App\Models\Enums\PilotState; use \App\Models\Enums\UserState;
class RegistrationTest extends TestCase class RegistrationTest extends TestCase
{ {
@@ -23,7 +23,7 @@ class RegistrationTest extends TestCase
$user = factory(App\Models\User::class)->create(); $user = factory(App\Models\User::class)->create();
$user = $userSvc->createPilot($user); $user = $userSvc->createPilot($user);
$this->assertEquals(PilotState::ACTIVE, $user->state); $this->assertEquals(UserState::ACTIVE, $user->state);
Event::assertDispatched(\App\Events\UserRegistered::class, function ($e) use ($user) { Event::assertDispatched(\App\Events\UserRegistered::class, function ($e) use ($user) {
return $e->user->id === $user->id return $e->user->id === $user->id