Respect home hubs setting for registration #580 (#581)

Respect home hubs setting for registration #580
This commit is contained in:
Nabeel S
2020-02-23 17:21:26 -05:00
committed by GitHub
parent b34dc4868e
commit a1d6fa17ad
11 changed files with 62 additions and 64 deletions

View File

@@ -3,6 +3,7 @@
namespace App\Http\Controllers\Auth;
use App\Contracts\Controller;
use App\Http\Requests\CreateUserRequest;
use App\Models\Enums\UserState;
use App\Models\User;
use App\Repositories\AirlineRepository;
@@ -10,7 +11,6 @@ use App\Repositories\AirportRepository;
use App\Services\UserService;
use App\Support\Countries;
use App\Support\Timezonelist;
use App\Support\Utils;
use Illuminate\Contracts\Validation\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Http\Request;
@@ -59,7 +59,7 @@ class RegisterController extends Controller
*/
public function showRegistrationForm()
{
$airports = $this->airportRepo->selectBoxList(false, true);
$airports = $this->airportRepo->selectBoxList(false, setting('pilots.home_hubs_only'));
$airlines = $this->airlineRepo->selectBoxList();
return view('auth.register', [
@@ -81,7 +81,7 @@ class RegisterController extends Controller
{
$rules = [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'email' => 'required|email|max:255|unique:users, email',
'airline_id' => 'required',
'home_airport_id' => 'required',
'password' => 'required|min:5|confirmed',
@@ -98,30 +98,24 @@ class RegisterController extends Controller
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @param array $opts
*
* @throws \RuntimeException
* @throws \Exception
*
* @return User
*/
protected function create(array $data)
protected function create(array $opts)
{
// Default options
$opts = array_merge([
'api_key' => Utils::generateApiKey(),
], $data);
$opts['curr_airport_id'] = $data['home_airport_id'];
$opts['password'] = Hash::make($data['password']);
$opts['password'] = Hash::make($opts['password']);
// Convert transfer hours into minutes
if (isset($opts['transfer_time'])) {
$opts['transfer_time'] *= 60;
}
$user = User::create($opts);
$user = $this->userService->createUser($user);
$user = $this->userService->createUser($opts);
Log::info('User registered: ', $user->toArray());
@@ -137,26 +131,8 @@ class RegisterController extends Controller
*
* @return mixed
*/
public function register(Request $request)
public function register(CreateUserRequest $request)
{
$rules = [
'name' => 'required',
'email' => 'required|email|unique:users,email',
'airline_id' => 'required',
'home_airport_id' => 'required',
'password' => 'required|confirmed',
'timezone' => 'required',
'country' => 'required',
'transfer_time' => 'integer|min:0',
'toc_accepted' => 'accepted',
];
if (config('captcha.enabled')) {
$rules['g-recaptcha-response'] = 'required|captcha';
}
$this->validate(request(), $rules);
$user = $this->create($request->all());
if ($user->state === UserState::PENDING) {
return view('auth.pending');