def login (request): if request.user.is_authenticated(): return HttpResponseRedirect('/members/') if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): username = form.cleaned_data['username'] password = form.cleaned_data['password'] user = authenticate(username=username, password=password) if user is None: form.errors["username"] = ErrorList([u'Invalid Username or Password']) else: s_user = User.objects.get(id=user.id) if s_user.verification.verified == False: form.errors["username"] = ErrorList([u'User must be verified first due to "%s"' % (s_user.verification.purpose)]) elif user.is_active: userlogin(request,user) return Response.send_to_destination(request) else: form.errors["username"] = ErrorList([u'Account Disabled']) else: form = LoginForm() return Response.render_form (request,'members/login.html',form)
def invitation_landing(request,invid,name): if request.user.is_authenticated(): return HttpResponseRedirect('/members/') first_name = "" last_name = "" parts = name.split("/") if len(parts) == 1: first_name = parts[0] elif len(parts) > 1: first_name = parts[0] last_name = parts[1] try: i = Invitation.objects.get(curl=invid) except: raise Http404() if i.prospect.first_name == first_name and i.prospect.last_name == last_name and (i.status == 'SENT' or i.status == 'VISITED'): form = SignupForm( { "email" : i.prospect.email, "first_name" : i.prospect.first_name, "last_name" : i.prospect.last_name, } ) request.session["invitation"] = i.id i.status = 'VISITED' i.save() return Response.render_form(request,'members/signup.html',form,errors=False) else: raise Http404() #p = Prospect.objects.get(id=invid,first_name=first_name,last_name=last_name,source="Invitation") return HttpResponse(i)
def signup (request): if request.user.is_authenticated(): return HttpResponseRedirect('/members/') if request.method == 'POST': form = SignupForm(request.POST) if form.is_valid(): email1 = form.cleaned_data['email'] email2 = form.cleaned_data['email2'] if email1 != email2: form.errors['email2'] = ErrorList([u'Emails do not match']) try: User.objects.get(email=email1) form.errors['email'] = ErrorList([u'Username with this email already exists']) except: pass username = form.cleaned_data['username'] try: User.objects.get(username=username) form.errors['username'] = ErrorList([u'Username already exists']) except: pass password = form.cleaned_data['password'] if not form.errors: first_name = form.cleaned_data['first_name'] last_name = form.cleaned_data['last_name'] gender = form.cleaned_data['gender'] dob = form.cleaned_data['dob'] country = Country.objects.get(id=1) phonenumber = PhoneNumber( countrycode = 0, carriercode = 0, number = 0, ) phonenumber.save() address = Address( zipcode = "", street_line_1 = "", street_line_2 = "", city = "", state = "", country = country, location = country.location, phonenumebr = phonenumber ) address.save() user = User ( username = username, email = email1, password = User.encode_pass(password), first_name = first_name, last_name = last_name, dob = dob, gender = gender, address = address, verification = User.create_verification("1"), points = 0, ) user.save() reffered_by = False try: ref_id = request.session["f"] reffered_by = User.objects.get(id=ref_id) del request.session["f"] except: pass invitation = False try: invitation = Invitation.objects.get(id=request.session["invitation"]) del request.session["invitation"] except: try: invitation = Invitation.objects.get(prospect=Prospect.objects.get(email=user.email)) except: pass if invitation: reffered_by = invitation.sender invitation.status = "SIGNUP" invitation.save() if reffered_by: ref = Referral(reffered_by=reffered_by,reffered_to=user) ref.save() user.send_verification_mail() return HttpResponseRedirect('/members/') else: try: request.session["f"] = request.GET["f"] return HttpResponseRedirect("/members/signup/") except: pass form = SignupForm() return Response.render_form (request,'members/signup.html',form)