Example #1
0
def register_new_user(request, passenger=None):
    logging.info("registration %s" % request.POST)

    name = request.POST.get("name")
    email = request.POST.get("email")
    password = request.POST.get("password")
    phone = request.POST.get("phone")

    if not all([name, email, password, phone]):
        return None

    first_name, last_name = get_name_parts(name)
    user = create_user(email, password, email, first_name, last_name)
    user = authenticate(username=user.username, password=password)
    login(request, user)

    if passenger:
        passenger.user = user
    else:  # create a new one
        country = Country.objects.get(code=settings.DEFAULT_COUNTRY_CODE)
        passenger = create_passenger(request.user, country, phone, save=False)
        passenger.login_token = hashlib.sha1(
            generate_random_token(length=40)).hexdigest()

    passenger.save()

    request.session[CURRENT_PASSENGER_KEY] = passenger

    return user
def register_new_user(request, passenger=None):
    logging.info("registration %s" % request.POST)

    name = request.POST.get("name")
    email = request.POST.get("email")
    password = request.POST.get("password")
    phone = request.POST.get("phone")

    if not all([name, email, password, phone]):
        return None

    first_name, last_name = get_name_parts(name)
    user = create_user(email, password, email, first_name, last_name)
    user = authenticate(username=user.username, password=password)
    login(request, user)

    if passenger:
        passenger.user = user
    else:  # create a new one
        country = Country.objects.get(code=settings.DEFAULT_COUNTRY_CODE)
        passenger = create_passenger(request.user, country, phone, save=False)
        passenger.login_token = hashlib.sha1(generate_random_token(length=40)).hexdigest()

    passenger.save()

    request.session[CURRENT_PASSENGER_KEY] = passenger

    return user
Example #3
0
def account_view(request):
    if not request.user.is_authenticated():
        return HttpResponseRedirect(reverse(registration_view))

    PASSWORD_MASK = "********"

    user = request.user
    passenger = user.passenger

    if request.method == 'GET':
        name = user.get_full_name()
        email = user.email
        password = PASSWORD_MASK
        phone = passenger.phone
        billing_info = passenger.billing_info.card_repr[-4:] if hasattr(
            passenger, "billing_info") else None

        title = _("Your Account")
        credit_card_error = request.session.get('credit_card_error', '')

        promo_activations = PromoCodeActivation.objects.filter(
            passenger=passenger)
        return render_to_response("mobile/account_registration.html", locals(),
                                  RequestContext(request))

    elif request.method == 'POST':
        new_email = request.POST.get("email", "").strip() or None
        new_first_name, new_last_name = get_name_parts(
            request.POST.get("name") or None)
        new_password = request.POST.get("password", "").replace(
            PASSWORD_MASK, "") or None
        new_phone = request.POST.get("phone", "") or None

        try:
            user = update_user_details(user,
                                       first_name=new_first_name,
                                       last_name=new_last_name,
                                       email=new_email,
                                       password=new_password,
                                       phone=new_phone)
            if new_password:
                user = authenticate(username=user.username,
                                    password=new_password)
                login(request, user)
        except UpdateUserError, e:
            return JSONResponse({'error': e.message})

        # success
        return JSONResponse({
            'redirect': reverse(account_view),
            'billing_url': (get_token_url(request))
        })
def user_profile(request):
    page_specific_class = "user_profile"
    user = request.user
    phone_formatted = _("Not Entered")
    bi_formatted = _("Not Entered")

    if request.method == "POST":
        new_email = request.POST.get("email", "").strip() or None
        new_first_name, new_last_name = get_name_parts(request.POST.get("fullname") or None)
        try:
            user = update_user_details(user, first_name=new_first_name, last_name=new_last_name, email=new_email)
        except UpdateUserError, e:
            error = e.message
def user_profile(request):
    page_specific_class = "user_profile"
    user = request.user
    phone_formatted = _("Not Entered")
    bi_formatted = _("Not Entered")

    if request.method == "POST":
        new_email = request.POST.get("email", "").strip() or None
        new_first_name, new_last_name = get_name_parts(
            request.POST.get("fullname") or None)
        try:
            user = update_user_details(user,
                                       first_name=new_first_name,
                                       last_name=new_last_name,
                                       email=new_email)
        except UpdateUserError, e:
            error = e.message
def account_view(request):
    if not request.user.is_authenticated():
        return HttpResponseRedirect(reverse(registration_view))

    PASSWORD_MASK = "********"

    user = request.user
    passenger = user.passenger

    if request.method == "GET":
        name = user.get_full_name()
        email = user.email
        password = PASSWORD_MASK
        phone = passenger.phone
        billing_info = passenger.billing_info.card_repr[-4:] if hasattr(passenger, "billing_info") else None

        title = _("Your Account")
        credit_card_error = request.session.get("credit_card_error", "")

        promo_activations = PromoCodeActivation.objects.filter(passenger=passenger)
        return render_to_response("mobile/account_registration.html", locals(), RequestContext(request))

    elif request.method == "POST":
        new_email = request.POST.get("email", "").strip() or None
        new_first_name, new_last_name = get_name_parts(request.POST.get("name") or None)
        new_password = request.POST.get("password", "").replace(PASSWORD_MASK, "") or None
        new_phone = request.POST.get("phone", "") or None

        try:
            user = update_user_details(
                user,
                first_name=new_first_name,
                last_name=new_last_name,
                email=new_email,
                password=new_password,
                phone=new_phone,
            )
            if new_password:
                user = authenticate(username=user.username, password=new_password)
                login(request, user)
        except UpdateUserError, e:
            return JSONResponse({"error": e.message})

        # success
        return JSONResponse({"redirect": reverse(account_view), "billing_url": (get_token_url(request))})
def do_register_user(request):
    form = UserRegistrationForm(data=request.POST)
    if form.is_valid():
        email = form.cleaned_data["email"]
        password = form.cleaned_data["password"]

        first_name, last_name = get_name_parts(form.cleaned_data["name"])

        user = create_user(email, password, email, first_name, last_name)

        user = authenticate(username=user.username, password=form.cleaned_data["password"])
        login(request, user)

        # redirect to passenger step
        return JSONResponse({"redirect": reverse(post_login_redirect)})
    else:
        errors = [{'field_name': e, 'errors_ul': str(form.errors[e])} for e in form.errors.keys()]
        return JSONResponse({"errors": errors})
def do_register_user(request):
    form = UserRegistrationForm(data=request.POST)
    if form.is_valid():
        email = form.cleaned_data["email"]
        password = form.cleaned_data["password"]

        first_name, last_name = get_name_parts(form.cleaned_data["name"])

        user = create_user(email, password, email, first_name, last_name)

        user = authenticate(username=user.username,
                            password=form.cleaned_data["password"])
        login(request, user)

        # redirect to passenger step
        return JSONResponse({"redirect": reverse(post_login_redirect)})
    else:
        errors = [{
            'field_name': e,
            'errors_ul': str(form.errors[e])
        } for e in form.errors.keys()]
        return JSONResponse({"errors": errors})