/** * Handle a registration request for the application. * * @param $school * @param CreateAdministratorRequest|Request $request * @return \Illuminate\Http\Response */ public function postRegister($school, CreateAdministratorRequest $request) { $validator = $this->validator($request->all()); if ($validator->fails()) { $this->throwValidationException($request, $validator); } $data = $request->all(); $user = User::where('email', $request->email)->where('password', bcrypt($request->password))->first(); if ($user != null) { if (Administrator::where('user_id', $user->id)->first()) { return redirect($school->username)->withInput($request->only('email', 'remember'))->withErrors(['email' => 'Administrator already exists.']); } else { Administrator::create(['name' => $data['name'], 'class' => $data['class'], 'role' => $data['role'], 'user_id' => $user->id, 'school_id' => $school->id]); return redirect($school->username); } } else { return redirect($school->username)->withInput($request->only('email', 'remember'))->withErrors(['email' => $this->getFailedLoginMessage()]); } }