'Create a new, inactive ``User``, generate a
``RegistrationProfile`` and email its activation key to the
``User``, returning the new ``User``.
By default, an activation email will be sent to the new
user. To disable this, pass ``send_email=False``.
Additionally, if email is sent and ``request`` is supplied,
it will be passed to the email template.'

def create_inactive_user(self, site, new_user=None, send_email=True, request=None, profile_info={}, **user_info):

    if (new_user is None):
        password = user_info.pop(u'password')
        new_user = UserModel()(**user_info)
        new_user.set_password(password)
    new_user.is_active = False
    new_user.date_joined = datetime_now()
    with transaction.atomic():
        new_user.save()
        registration_profile = self.create_profile(new_user, **profile_info)
    if send_email:
        registration_profile.send_activation_email(site, request)
    return new_user
