App\Http\Controllers\UsersManagementController::store PHP Method

store() public method

Store a newly created resource in storage.
public store ( Illuminate\Http\Request $request ) : Illuminate\Http\Response
$request Illuminate\Http\Request
return Illuminate\Http\Response
    public function store(Request $request)
    {
        $create_new_validator = $this->create_new_validator($request->all());
        if ($create_new_validator->fails()) {
            $this->throwValidationException($request, $create_new_validator);
        } else {
            $activation_code = str_random(60) . $request->input('email');
            $user = new User();
            $user->email = $request->input('email');
            $user->name = $request->input('name');
            $user->first_name = $request->input('first_name');
            $user->last_name = $request->input('last_name');
            $userAccessLevel = $request->input('user_level');
            $user->password = bcrypt($request->input('password'));
            // GET ACTIVATION CODE
            $user->activation_code = $activation_code;
            $user->active = '1';
            // GET IP ADDRESS
            $userIpAddress = new CaptureIp();
            $user->admin_ip_address = $userIpAddress->getClientIp();
            // SAVE THE USER
            $user->save();
            // ADD ROLE
            $user->assignRole($userAccessLevel);
            // CREATE PROFILE LINK TO TABLE
            $profile = new Profile();
            $profileInputs = Input::only('location', 'bio', 'twitter_username', 'github_username');
            $profile->fill($profileInputs);
            $user->profile()->save($profile);
            // THE SUCCESSFUL RETURN
            return redirect('edit-users')->with('status', 'Successfully created user!');
        }
    }