예제 #1
0
def create_new_mobile_user(request):
    """
    Request contains:
    phoneNumber - the phone number of the new user
    secretCode - secret code to make sure only actual user creations send a text

    returns:
    error code
    """
    try:
        obj = simplejson.loads(request.body)
    except ValueError:
        obj = simplejson.loads(request.POST["json"])
    error = 0 # success code
    try:
        phone_number = normalize_phone_number(obj["phoneNumber"])
        secret_code = obj["secretCode"]

        try:
            user_profile = UserProfile.objects.get(phone_number=phone_number)
            user = user_profile.user
            # generate new pin
            user_profile.pin = generate_new_pin()
            user_profile.save()
        except ObjectDoesNotExist:
            user = User.objects.create_user(phone_number)
            user_profile = user.get_profile()
        
        send_pin(phone_number, secret_code, user_profile)
    except Exception, e:
        print 'Error with creating new app user: %s' % e
        error = 1 # error code
예제 #2
0
def create_user_profile(sender, instance, created, **kwargs):
    if created and not kwargs.get('raw', False):
        profile = UserProfile.objects.create(user=instance,
            phone_number=normalize_phone_number(instance.username),
                # set phone number to username
            pin=generate_new_pin())