public function create($input)
{
$data = $input['data'];
$roles = $input['roles'];
$user = $this->createUserStub($data);
DB::transaction(function () use($user, $data, $roles) {
if (parent::save($user)) {
//User Created, Validate Roles
if (!count($roles['assignees_roles'])) {
throw new GeneralException(trans('exceptions.backend.access.users.role_needed_create'));
}
//Attach new roles
$user->attachRoles($roles['assignees_roles']);
//Send confirmation email if requested
if (isset($data['confirmation_email']) && $user->confirmed == 0) {
$user->notify(new UserNeedsConfirmation($user->confirmation_code));
}
event(new UserCreated($user));
return true;
}
throw new GeneralException(trans('exceptions.backend.access.users.create_error'));
});
}