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!');
}
}