/** * Search for opportunities available for Student Talent and aspiring professionals * @param Request $request */ public function searchOpportunities(Request $request) { $state = 'null'; $institution_type = 'null'; $gender = 'null'; $sport_type = 'null'; $country = 'null'; $sport_type = Session::get(SiteSessions::USER_SPORT_TYPE); //If Sport Gender is "Male" if (array_search(Session::get(SiteSessions::USER_GENDER), UserProfileRepository::getUserGender()) == 1) { $gender = SportsRepository::getSportsGender()[1]; } else { if (array_search(Session::get(SiteSessions::USER_GENDER), UserProfileRepository::getUserGender()) == 2) { $gender = SportsRepository::getSportsGender()[2]; } } $talent_management_level = Session::get(SiteSessions::USER_MANAGEMENT_LEVEL); switch ($talent_management_level) { case SiteConstants::USER_TALENT_MANAGEMENT_LEVEL_STUDENT: //If Institution type is "High School" $institution_type = $request->institution_type; $state = BasicSiteRepository::getAmericanState()[$request->state]; break; case SiteConstants::USER_TALENT_MANAGEMENT_LEVEL_ASPIRING_PRO: $country = BasicSiteRepository::getListOfCountries()[$request->country]; break; } //dd($managers); return redirect('database/talent-opportunities/' . $state . '/' . $institution_type . '/' . $gender . '/' . $sport_type . '/' . $country); }
/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { if (SiteConstants::isTalent(Session::get(SiteSessions::USER_TYPE))) { return ['dob' => 'date', 'gender' => 'in:' . implode(",", array_keys(UserProfileRepository::getUserGender())), 'height' => '', 'weight' => '', 'mobile_number' => 'numeric', 'home_number' => 'numeric', 'address_type' => 'in:' . implode(",", array_keys(UserProfileRepository::getAddressTypes())), 'zip' => 'numeric', 'country' => 'in:' . implode(",", array_keys(BasicSiteRepository::getListOfCountries())), 'graduation_year' => 'numeric', 'father_mobile_number' => 'numeric', 'father_living_with' => 'in:' . implode(",", array_keys(UserProfileRepository::getLivingWithType())), 'mother_mobile_number' => 'numeric', 'mother_living_with' => 'in:' . implode(",", array_keys(UserProfileRepository::getLivingWithType())), 'guardian_mobile_number' => 'numeric', 'guardian_living_with' => 'in:' . implode(",", array_keys(UserProfileRepository::getLivingWithType())), 'school_type' => 'in:' . implode(",", array_keys(UserProfileRepository::getInstituteType())), 'school_zip' => 'regex:/^\\d{4,5}$/', 'school_country' => 'in:' . implode(",", array_keys(BasicSiteRepository::getListOfCountries())), 'school_contact_person_phone' => 'numeric', 'grade_avg' => 'in:' . implode(",", array_keys(UserProfileRepository::getGradeAverageType())), 'sat_verbal' => 'regex:/^\\d+(\\.?\\d+)?$/', 'sat_math' => 'regex:/^\\d+(\\.?\\d+)?$/', 'sat_writing' => 'regex:/^\\d+(\\.?\\d+)?$/', 'sat_reading' => 'regex:/^\\d+(\\.?\\d+)?$/', 'sat_overall' => 'regex:/^\\d+(\\.?\\d+)?$/', 'pact' => 'regex:/^\\d+(\\.?\\d+)?$/', 'act' => 'regex:/^\\d+(\\.?\\d+)?$/', 'psat' => 'regex:/^\\d+(\\.?\\d+)?$/']; } else { if (SiteConstants::isManager(Session::get(SiteSessions::USER_TYPE))) { return ['dob' => 'date', 'gender' => 'in:' . implode(",", array_keys(UserProfileRepository::getUserGender())), 'mobile_number' => 'numeric', 'home_number' => 'numeric', 'address_type' => 'in:' . implode(",", array_keys(UserProfileRepository::getAddressTypes())), 'zip' => 'numeric', 'country' => 'in:' . implode(",", array_keys(BasicSiteRepository::getListOfCountries()))]; } } }
/** * Saving Manager Profile Data * @return mixed */ public function updateProfile(Request $request) { $validator = Validator::make($request->all(), ['first_name' => 'required', 'last_name' => 'required', 'dob' => 'required|date', 'gender' => 'required | in:' . strtolower(implode(',', array_diff(UserProfileRepository::getUserGender(), [0 => "--Select Gender--"]))), 'nationality' => 'required', 'street_address' => 'required', 'city' => 'required', 'state' => 'required', 'zip' => 'required', 'country' => 'required', 'bio' => 'required']); if ($validator->fails()) { $this->updateRequestStatus(RequestStatusEnum::DATA_VALIDATION_ERROR); return $this->sendResponse($validator->failed()); } $managerProfile = ManagerProfile::where('user_id', '=', session(SiteSessions::USER_ID))->first(); $managerProfile->UpdateManagerProfile($request); return $this->sendResponse($managerProfile->toArray()); }
/** * Getting Gender * @param $gender */ public function getgenderAttribute($gender) { if ($this->getMutatedData) { return array_search($gender, UserProfileRepository::getUserGender()); } return $gender; }
/** * Show the form for editing the specified resource. * * @param int $id * @return Response */ public function edit() { $user = UserProfile::find(Session::get(SiteSessions::USER_ID)); $gender = UserProfileRepository::getUserGender(); $addressType = UserProfileRepository::getAddressTypes(); $instituteType = UserProfileRepository::getInstituteType(); $country = BasicSiteRepository::getListOfCountries(); $livingWith = UserProfileRepository::getLivingWithType(); $gradeAverage = UserProfileRepository::getGradeAverageType(); $sports = BasicSiteRepository::getSportTypes(); if (SiteConstants::isTalent(Session::get(SiteSessions::USER_TYPE))) { $userProfile = UserProfile::find($user->user_id); return view('profile.talent.edit', compact('userProfile', 'gender', 'addressType', 'instituteType', 'country', 'livingWith', 'gradeAverage')); } else { if (SiteConstants::isCoach(Session::get(SiteSessions::USER_TYPE))) { $managerProfile = ManagerProfile::find($user->user_id); $managerCareerInformation = $managerProfile->managerCareerInformation()->get(); return view('profile.manager.edit', compact('managerProfile', 'gender', 'addressType', 'instituteType', 'country', 'livingWith', 'gradeAverage', 'sports')); } else { if (Session::get(SiteSessions::USER_ID) == "") { return redirect('/'); } } } }