Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function submit(Request $request)
- {
- $validator = Validator::make($request->all(), [
- 'kind' => 'required|in:' . FACILITY . ',' . THERAPIST . ',' . PATIENT,
- 'password' => 'required|min:6',
- 'password_r' => 'required|same:password',
- 'name' => 'max:' . config('site.users.maxName', 0) . '|required',
- 'surname' => 'max:' . config('site.users.maxSurname', 0) . '|required',
- 'email' => 'required|email|unique:users,email',
- 'facility_name' => 'max:' . config('site.users.maxFacilityName', 0) . '|required_if:kind,' . FACILITY,
- 'pwz_number' => 'pwz|required_if:kind,' . THERAPIST,
- 'therapist_title' => 'array|required_if:kind,' . THERAPIST,
- 'therapist_title.*' => 'in:1,2,3,4,5,6,7',
- 'accept' => 'accepted',
- 'province' => 'required_if:kind,' . FACILITY,
- 'location' => 'required_if:kind,' . FACILITY,
- 'profile_locations' => 'required_if:kind,' . THERAPIST,
- ], translatedErrors());
- if ($validator->fails()) return redirect()->back()->withErrors($validator)->withInput()->with('msg', ['text' => t('messages', 'Rejestracja nie powiodła się', 'Rejestracja nie powiodła się. Prosimy o sprawdzenie błędnie wypełnionych pól formularza.'), 'state' => 'danger']);
- if ($request->input('kind') == THERAPIST) {
- $user = User::where('pwz_number', $request->input('pwz_number'))->first();
- if (!empty($user)) {
- if ($user->verified) {
- return redirect()->back()->withErrors($validator)->withInput()->with('msg', ['text' => 'Wpisany przez Ciebie numer PWZFz jest już zajęty przez innego użytkownika. Jeśli to Twój numer PWZFz, skontaktuj się z administratorem portalu.', 'state' => 'danger']);
- }
- } else {
- $user = new User;
- $user->initUploads();
- }
- } else {
- $user = new User;
- $user->initUploads();
- }
- $user->name = $request->input('name');
- $user->surname = $request->input('surname');
- $user->email = $request->input('email');
- $user->kind = $request->input('kind', PATIENT);
- $user->facility_name = nullable($request->input('facility_name', ''));
- $user->pwz_number = nullable($request->input('pwz_number', ''));
- $user->therapist_title = nullable(json_encode($request->input('therapist_title', '')));
- $user->active = true;
- $user->address_province = nullable($request->input('province', ''));
- $user->address_city = nullable($request->input('location', ''));
- $user->profile_locations = $request->input('profile_locations', '');
- $user->contact_phone = nullable($request->input('contact_phone', ''));
- $user->contact_phone_2 = nullable($request->input('contact_phone_2', ''));
- $user->confirmed = 0;
- $user->verified = 1;
- $user->password = bcrypt($request->input('password'));
- $user->code = str_random(20);
- if ($request->input('kind', PATIENT) == THERAPIST) {
- $user->premium_to = Carbon::now()->addYear()->timestamp;
- }
- $user->save();
- if (!$user->confirmed) {
- $mailID = $user->isOnlyUser() ? 2 : ($user->isFacility() ? 5 : 4);
- $content = Email::find($mailID)->prepareContent(['user' => $user]);
- Mail::send('site.emails.default', ['user' => $user, 'content' => $content], function ($message) use ($user, $content) {
- $message->subject($content->title);
- $message->from(setting('emails.fromEmail'), setting('emails.fromName'));
- $message->to($user->email);
- });
- }
- Session::flash('showProfileTooltip', 1);
- if ($user->isTherapist()) {
- return redirect()->route('site::registerSuccessTherapist')->with('u', $user->id);
- } elseif ($user->isFacility()) {
- return redirect()->route('site::registerSuccessFacility')->with('u', $user->id);
- } elseif ($user->isOnlyUser()) {
- return redirect()->route('site::registerSuccessPatient')->with('u', $user->id);
- } else {
- abort(404);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement