namespace BookStack\Http\Controllers\Auth;
+use BookStack\Actions\ActivityType;
use BookStack\Auth\Access\RegistrationService;
use BookStack\Auth\Access\SocialAuthService;
use BookStack\Auth\User;
use BookStack\Exceptions\UserRegistrationException;
+use BookStack\Facades\Theme;
use BookStack\Http\Controllers\Controller;
+use BookStack\Theming\ThemeEvents;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
protected function validator(array $data)
{
return Validator::make($data, [
- 'name' => 'required|min:2|max:255',
- 'email' => 'required|email|max:255|unique:users',
+ 'name' => 'required|min:2|max:255',
+ 'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:8',
]);
}
/**
* Show the application registration form.
+ *
* @throws UserRegistrationException
*/
public function getRegister()
{
$this->registrationService->ensureRegistrationAllowed();
$socialDrivers = $this->socialAuthService->getActiveDrivers();
+
return view('auth.register', [
'socialDrivers' => $socialDrivers,
]);
/**
* Handle a registration request for the application.
+ *
* @throws UserRegistrationException
*/
public function postRegister(Request $request)
try {
$user = $this->registrationService->registerUser($userData);
auth()->login($user);
+ Theme::dispatch(ThemeEvents::AUTH_LOGIN, auth()->getDefaultDriver(), $user);
+ $this->logActivity(ActivityType::AUTH_LOGIN, $user);
} catch (UserRegistrationException $exception) {
if ($exception->getMessage()) {
$this->showErrorNotification($exception->getMessage());
}
+
return redirect($exception->redirectLocation);
}
$this->showSuccessNotification(trans('auth.register_success'));
+
return redirect($this->redirectPath());
}
/**
* Create a new user instance after a valid registration.
- * @param array $data
+ *
+ * @param array $data
+ *
* @return User
*/
protected function create(array $data)
{
return User::create([
- 'name' => $data['name'],
- 'email' => $data['email'],
+ 'name' => $data['name'],
+ 'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
-
}