/**
  * Storing corresponding text of the index selected by the admin
  * @param $manager_type
  */
 public function setmanagerTypeAttribute($manager_type)
 {
     if ($this->setMutatedData) {
         $this->attributes["manager_type"] = $manager_type != null && $manager_type != "" ? BasicSiteRepository::getManagerTypes()[$manager_type] : "";
     } else {
         $this->attributes["manager_type"] = BasicSiteRepository::getManagerTypes()[$manager_type];
     }
 }
 /**
  * Redirect the user to Sign Up page
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Illuminate\View\View
  */
 public function signUp()
 {
     if (Auth::user()) {
         return redirect('/home');
     }
     $sport_types = BasicSiteRepository::getSportTypes();
     $userManagerManagementLevel = BasicSiteRepository::getUserManagementLevelType(SiteConstants::USER_MANAGER);
     $managerTypes = array_merge(["0" => "-- Select Option --"], BasicSiteRepository::getManagerTypes());
     return view('sign_up', compact('sport_types', 'userManagerManagementLevel', 'managerTypes'));
 }
 /**
  * Create a new user instance after a valid registration.
  *
  * @param  array  $data
  * @return User
  */
 public function create(array $data)
 {
     if (SiteConstants::isManager($data["user_type"])) {
         $userType = BasicSiteRepository::getManagerTypes()[$data["managerType"]];
         return User::create(['username' => $data['username'], 'password' => $data['password'], 'active' => 0, 'user_type' => $userType, 'management_level' => $data['management_level'], 'sport_type' => $data['sport_type'], 'profile_image_path' => $data['profile_image_path'], 'confirmation_token' => bcrypt(time())]);
     } else {
         if (SiteConstants::isTalent($data["user_type"])) {
             return User::create(['username' => $data['username'], 'password' => $data['password'], 'active' => 0, 'user_type' => $data['user_type'], 'management_level' => $data['management_level'], 'sport_type' => $data['sport_type'], 'profile_image_path' => $data['profile_image_path'], 'confirmation_token' => bcrypt(time())]);
         }
     }
 }
 /**
  * Create a new user instance after a valid registration.
  *
  * @param  array  $data
  * @return User
  */
 public function create(array $data)
 {
     if (SiteConstants::isManager($data["user_type"])) {
         $userType = BasicSiteRepository::getManagerTypes()[$data["managerType"]];
         $user = null;
         $user = DB::transaction(function () use($data, $user, $userType) {
             $user = User::create(['username' => $data['username'], 'password' => $data['password'], 'active' => 0, 'user_type' => $userType, 'management_level' => $data['management_level'], 'sport_type' => $data['sport_type'], 'profile_image_path' => $data['profile_image_path'], 'confirmation_token' => bcrypt(time())]);
             $user->managerProfile()->create(['first_name' => '', 'middle_name' => '', 'last_name' => '']);
             return $user;
         });
         return $user;
     } else {
         if (SiteConstants::isTalent($data["user_type"])) {
             return User::create(['username' => $data['username'], 'password' => $data['password'], 'active' => 0, 'user_type' => $data['user_type'], 'management_level' => $data['management_level'], 'sport_type' => $data['sport_type'], 'profile_image_path' => $data['profile_image_path'], 'confirmation_token' => bcrypt(time())]);
         }
     }
 }
 /**
  * Searching Managers based upon the parameters submitted by the user
  * @param Request $request
  */
 public function searchManagers(Request $request)
 {
     $name = 'null';
     $manager_type = 'null';
     $sport = 'null';
     $sport_gender = 'null';
     $country = 'null';
     $state = 'null';
     if ($request->has("coach_name") && trim($request->get("coach_name")) != "") {
         $name = $request->get("coach_name");
     }
     if ($request->has("manager_type") && trim($request->get("manager_type")) != "" && $request->get("manager_type") != 0) {
         $manager_type = BasicSiteRepository::getManagerTypes()[$request->get("manager_type")];
     }
     if ($request->has("sport_type") && trim($request->get("sport_type")) != "" && $request->get("sport_type") != 0) {
         $sport = BasicSiteRepository::getSportTypes()[$request->get("sport_type")];
     }
     if ($request->has("sport_gender") && trim($request->get("sport_gender")) != "" && $request->get("sport_gender") != 0) {
         $sport_gender = SportsRepository::getSportsGender()[$request->get("sport_gender")];
     }
     if ($request->has("country") && trim($request->get("country")) != "" && $request->get("country") != 0) {
         $state = BasicSiteRepository::getListOfCountries()[$request->get("country")];
     }
     if ($request->has("state") && trim($request->get("state")) != "" && $request->get("state") != 0) {
         $state = BasicSiteRepository::getAmericanState()[$request->get("state")];
     }
     return redirect('admin/viewManager/' . $name . '/' . $manager_type . '/' . $sport . '/' . $sport_gender . '/' . $state);
 }