/** * Handle a register request to the application. * * @Post("auth/register") * * @param RegisterRequest $request * @return \Illuminate\Http\RedirectResponse * @author Bertrand Kintanar */ public function postRegister(RegisterRequest $request) { $auth = $this->auth; $email = $request->get('email'); $credentials = ['email' => $email, 'password' => $request->get('password')]; $user = $auth::register($credentials); $role = $auth::findRoleBySlug('ess'); $role->users()->attach($user); $activation = Activation::create($user); $email_data = ['first_name' => $request->get('first_name'), 'last_name' => $request->get('last_name'), 'user_id' => $user->id, 'email' => $email, 'activation_code' => $activation->code]; // Add to queue the user activation email. Mail::queue('emails.activate-user', $email_data, function ($message) use($email) { $message->from(env('MAIL_ADDRESS', '*****@*****.**'), env('MAIL_NAME', 'Wizard Mailer')); $message->to($email); $message->subject(trans('app.account_activation')); }); $employee_data = ['employee_id' => Config::get('company.employee_id_prefix') . $user->id, 'user_id' => $user->id, 'first_name' => $request->get('first_name'), 'last_name' => $request->get('last_name'), 'gender' => 'M', 'work_email' => $request->get('email')]; $employee = new Employee($employee_data); $employee->save(); $activation_message = 'Please check your email address (' . $email . ') to activate your account.'; return redirect('/auth/login')->with('activation', $activation_message); }