/** * Retrieves ManagerProfile Model, and send back to the client * @return JSON result */ public function getProfileData() { $manager = []; try { $manager = ManagerProfile::where('user_id', '=', session(SiteSessions::USER_ID))->firstOrFail(); $manager = $manager->toArray(); $manager_additional_info = User::find(session(SiteSessions::USER_ID)); //Selecting Required Fields from User table $manager = array_merge($manager, ["user_type" => $manager_additional_info->user_type, "sport_type" => $manager_additional_info->sport_type, "management_level" => $manager_additional_info->management_level, "profile_image_path" => $manager_additional_info->profile_image_path]); } catch (ModelNotFoundException $e) { $this->error_message = "Manager not found"; $this->updateRequestStatus(RequestStatusEnum::MODEL_NOT_FOUND); } return $this->sendResponse($manager); }
/** * Updating Email or Password of a user as per selected choice of a user * @param Request $request */ public function updateGeneralSettings(Request $request) { $settingType = $request->has("setting_type") ? $request->get("setting_type") : null; if ($settingType == null) { return redirect()->back()->withErrors(['Setting Type not specified by the user.']); } switch ($settingType) { case UserSettings::GENERAL_TYPE_EMAIL: $validator = Validator::make($request->all(), ['email' => 'required|email|unique:users,username']); if ($validator->fails()) { return redirect()->back()->with(['setting_type' => UserSettings::GENERAL_TYPE_EMAIL])->withErrors($validator->errors()); } $userProfile = User::find(Session::get(SiteSessions::USER_ID)); $userProfile->username = $request->get("email"); $userProfile->save(); return redirect('settings/general')->with(["setting_type" => UserSettings::GENERAL_TYPE_EMAIL, "general_update_status" => "successful"]); break; case UserSettings::GENERAL_TYPE_PASSWORD: $validator = Validator::make($request->all(), ['password' => 'required|confirmed|min:6']); if ($validator->fails()) { return redirect()->back()->with(['setting_type' => UserSettings::GENERAL_TYPE_PASSWORD])->withErrors($validator->errors()); } $userProfile = User::find(Session::get(SiteSessions::USER_ID)); $userProfile->password = $request->get("password"); $userProfile->save(); return redirect('settings/general')->with(["setting_type" => UserSettings::GENERAL_TYPE_PASSWORD, "general_update_status" => "successful"]); break; } return redirect('settings/general')->with(["general_update_status" => "error"]); }
/** * Contacting Manager by Talent * @param Request $request */ public function contactManager(Request $request) { $validator = Validator::make($request->all(), ['manager_id' => 'required', 'talent_id' => 'required', 'message' => 'required']); if ($validator->fails()) { return response()->json(['status' => 'error', 'error_type' => 'ID_MISSING']); } if (Session::get(SiteSessions::USER_ID) != $request->talent_id) { return response()->json(['status' => 'error', 'error_type' => 'TALENT_ID_INVALID']); } try { $user = User::find(Session::get(SiteSessions::USER_ID)); $manager = ManagersDatabase::find($request->manager_id); Event::fire(new SendMail(SendMail::MAIL_TYPE_CONTACT_MANAGER, $manager->email, [], ["manager" => $manager, "talent" => $user, "message" => $request->message])); DB::table('managers_contacted')->insert(['user_id' => $request->talent_id, 'manager_id' => $request->manager_id, 'message_to_manager' => $request->message, 'contacted_on' => Carbon::now()]); } catch (QueryException $e) { return response()->json(['status' => 'error', 'error_type' => 'DATABASE_ERROR']); } return response()->json(['status' => 'successful']); }
/** *Resending confirmation link to the User */ public function resendConfirmationLink() { $user = User::find(Session::get(SiteSessions::USER_ID)); $user->confirmation_token = bcrypt(time()); $user->save(); Event::fire(new SendMail(SendMail::MAIL_TYPE_USER_CONFIRMATION, $user->username, [], $user)); Session::flash("resent_confirmation_link", 'successful'); return redirect('account-not-confirmed'); }