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
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})