本文整理汇总了Python中payments.forms.UserForm类的典型用法代码示例。如果您正苦于以下问题:Python UserForm类的具体用法?Python UserForm怎么用?Python UserForm使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了UserForm类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: register
def register(request):
user = None
if request.method == 'POST':
form = UserForm(request.POST)
if form.is_valid():
# update based on your billing method (subscription vs one time)
customer = Customer.create(
email=form.cleaned_data['email'],
description=form.cleaned_data['name'],
card=form.cleaned_data['stripe_token'],
plan="gold",
)
# customer = stripe.Charge.create(
# description=form.cleaned_data['email'],
# card=form.cleaned_data['stripe_token'],
# amount="5000",
# currency="usd"
# )
cd = form.cleaned_data
try:
with transaction.atomic():
user = User.create(
cd['name'],
cd['email'],
cd['password'],
cd['last_4_digits'],
stripe_id=''
)
if customer:
user.stripe_id = customer.id
user.save()
else:
UnpaidUsers(email=cd['email']).save()
except IntegrityError:
import traceback
form.addError(cd['email'] + ' is already a member' + traceback.format_exc())
user = None
else:
request.session['user'] = user.pk
return HttpResponseRedirect('/')
else:
form = UserForm()
return render_to_response(
'payments/register.html',
{
'form': form,
'months': list(range(1, 12)),
'publishable': settings.STRIPE_PUBLISHABLE,
'soon': soon(),
'user': user,
'years': list(range(2011, 2036)),
},
context_instance=RequestContext(request)
)
示例2: register
def register(request):
user = None
# checks if the http request is POST
if request.method == 'POST':
form = UserForm(request.POST)
# form validation
if form.is_valid():
#Uses stripe API to create a customer in stripe
# update based on your billing method (subscription vs one time)
# pdb.set_trace()
customer = stripe.Customer.create(
email=form.cleaned_data['email'],
description=form.cleaned_data['name'],
# card=form.cleaned_data['stripe_token'],
card={
'number': '4242424242424242',
'exp_month': 10,
'exp_year': 2018,
},
plan="gold",
)
# customer = stripe.Charge.create(
# description = form.cleaned_data['email'],
# card = form.cleand_data['stripe_token'],
# amount = "5000"
# currency = "usd"
# )
user = User(
name=form.cleaned_data['name'],
email=form.cleaned_data['email'],
last_4_digits=form.cleaned_data['last_4_digits'],
stripe_id=customer.id,
)
# set_password takes care of password hasing
# ensure encrypted password
user.set_password(form.cleaned_data['password'])
try:
user.save()
except IntegrityError:
form.addError(user.email + ' is already a member')
else:
request.session['user'] = user.pk
return HttpResponseRedirect('/')
else:
form = UserForm()
return render_to_response(
'register.html',
{
'form': form,
'months': range(1, 13),
'publishable': settings.STRIPE_PUBLISHABLE,
'soon': soon(),
'user': user,
'years': range(2011, 2037),
},
context_instance=RequestContext(request)
)
示例3: register
def register(request):
user = None
if request.method == "POST":
# We only talk AJAX posts now
if not request.is_ajax():
return HttpResponseBadRequest("I only speak AJAX nowadays")
data = json.loads(request.body.decode())
form = UserForm(data)
if form.is_valid():
try:
customer = Customer.create(
"subscription",
email=form.cleaned_data["email"],
description=form.cleaned_data["name"],
card=form.cleaned_data["stripe_token"],
plan="gold",
)
except Exception as exp:
form.addError(exp)
cd = form.cleaned_data
try:
with transaction.atomic():
user = User.create(cd["name"], cd["email"], cd["password"], cd["last_4_digits"], stripe_id="")
if customer:
user.stripe_id = customer.id
user.save()
else:
UnpaidUsers(email=cd["email"]).save()
except IntegrityError:
resp = json.dumps({"status": "fail", "errors": cd["email"] + " is already a member"})
else:
request.session["user"] = user.pk
resp = json.dumps({"status": "ok", "url": "/"})
return HttpResponse(resp, content_type="application/json")
else: # form not valid
resp = json.dumps({"status": "form-invalid", "errors": form.errors})
return HttpResponse(resp, content_type="application/json")
else:
form = UserForm()
return render_to_response(
"payments/register.html",
{
"form": form,
"months": list(range(1, 12)),
"publishable": settings.STRIPE_PUBLISHABLE,
"soon": soon(),
"user": user,
"years": list(range(2011, 2036)),
},
context_instance=RequestContext(request),
)
示例4: test_user_form_passwords_match
def test_user_form_passwords_match(self):
form = UserForm({'name' : 'jj', 'email': '[email protected]', 'password' : '1234',
'ver_password' : '1234', 'last_4_digits' : '3333',
'stripe_token': '1'})
self.assertTrue(form.is_valid())
#this will throw an error if it doesn't clean correctly
self.assertIsNotNone(form.clean())
示例5: test_user_form_passwords_dont_match_throws_errors
def test_user_form_passwords_dont_match_throws_errors(self):
form= UserForm(
{'name':'jj', 'email':'[email protected]',
'password':'234', 'ver_password':'1234',#incorrect password
'last_4_digits':'3333','stripe_token':'1' })
# Is the data valid?
self.assertFalse(form.is_valid())
self.assertRaisesMessage(forms.ValidationError,"Passwords do not match",form.clean)
示例6: register
def register(request):
user = None
if request.method == 'POST':
form = UserForm(request.POST)
print("@@@@@@@@@@@@@@@@@@@@@@@@@@@")
print(request)
print("@@@@@@@@@@@@@@@@@@@@@@@@@@@")
print(form)
if form.is_valid():
#update based on your billing method (subscription vs one time)
customer = stripe.Customer.create(
email=form.cleaned_data['email'],
description=form.cleaned_data['name'],
card=form.cleaned_data['stripe_token'],
plan="gold",
)
# customer = stripe.Charge.create(
# description = form.cleaned_data['email'],
# card = form.cleaned_data['stripe_token'],
# amount="5000",
# currency="usd"
# )
user = User(
name=form.cleaned_data['name'],
email=form.cleaned_data['email'],
last_4_digits=form.cleaned_data['last_4_digits'],
stripe_id=customer.id,
)
#ensure encrypted password
user.set_password(form.cleaned_data['password'])
try:
user.save()
except IntegrityError:
form.addError(user.email + ' is already a member')
else:
request.session['user'] = user.pk
return redirect('/')
else:
form = UserForm()
return render(
request,
'register.html',
{
'form': form,
'months': range(1, 12),
'publishable': settings.STRIPE_PUBLISHABLE,
'soon': soon(),
'user': user,
'years': range(2011, 2036),
},
)
示例7: test_user_form_passwords_dont_match_throws_error
def test_user_form_passwords_dont_match_throws_error(self):
form = UserForm({'name' : 'jj', 'email' : '[email protected]',
'password' : '123', 'ver_password' : '1234',
'last_4_digits' : '3333', 'stripe_token': '1',
'sub_type' : 'yearly'})
self.assertFalse(form.is_valid())
self.assertRaisesMessage(forms.ValidationError,
'Passwords do not match', form.clean)
示例8: test_registering_user_twice_cause_error_msg
def test_registering_user_twice_cause_error_msg(self):
# create a user with same email so we get an integrity error
user = User(name='test_user', email='[email protected]')
user.save()
# now create the request used to test the view
self.request.session = {}
self.request.method = 'POST'
self.request.POST = {
'email': '[email protected]',
'name': 'test_user',
'stripe_token': '4242424242424242',
'last_4_digits': '4242',
'password': '123456',
'ver_password': '123456',
}
# create our expected form
expected_form = UserForm(self.request.POST)
expected_form.is_valid()
expected_form.addError('[email protected] is already a member')
# create the expected html
html = render_to_response(
'register.html',
{
'form': expected_form,
'months': range(1, 12),
'publishable': settings.STRIPE_PUBLISHABLE,
'soon': soon(),
'user': None,
'years': range(2011, 2036),
}
)
# mock out stripe so we don't hit their server
with mock.patch('stripe.Customer') as stripe_mock:
config = {'create.return_value': mock.Mock()}
stripe_mock.configure_mock(**config)
# run the test
resp = register(self.request)
# verify that we did things correctly
self.assertEquals(resp.status_code, 200)
self.assertEquals(self.request.session, {})
# assert there is only one record in the database.
users = User.objects.filter(email='[email protected]')
#self.assertEquals(len(users), 1)
# check actual return
self.assertEquals(resp.content, html.content)
示例9: test_user_form_passwords_match
def test_user_form_passwords_match(self):
form=UserForm(
{
'name':'jj', 'email':'[email protected]',
'password':'1234', 'ver_password':'1234',
'last_4_digits':'3333', 'stripe_token':'1' }
)
# Is the data valid? -- if not print out the errors
self.assertTrue(form.is_valid(),form.errors)
#this will throw an error if the form doesn't clean correctly
self.assertIsNotNone(form.clean())
示例10: register
def register(request):
user = None
if request.method == "POST":
form = UserForm(request.POST)
if form.is_valid():
# update based on your billing method (subscription vs one time)
customer = stripe.Customer.create(
email=form.cleaned_data["email"],
description=form.cleaned_data["name"],
card=form.cleaned_data["stripe_token"],
plan="gold",
)
# customer = stripe.Charge.create(
# description=form.cleaned_data['email'],
# card=form.cleaned_data['stripe_token'],
# amount="5000",
# currency="usd"
# )
user = User(
name=form.cleaned_data["name"],
email=form.cleaned_data["email"],
last_4_digits=form.cleaned_data["last_4_digits"],
stripe_id=customer.id,
)
# ensure encrypted password
user.set_password(form.cleaned_data["password"])
try:
user.save()
except IntegrityError:
form.addError(user.email + " is already a member")
else:
request.session["user"] = user.pk
return HttpResponseRedirect("/")
else:
form = UserForm()
return render_to_response(
"register.html",
{
"form": form,
"months": range(1, 13),
"publishable": settings.STRIPE_PUBLISHABLE,
"soon": soon(),
"user": user,
"years": range(2015, 2041),
},
context_instance=RequestContext(request),
)
示例11: test_registering_user_twice_cause_error_msg
def test_registering_user_twice_cause_error_msg(self):
try:
with transaction.atomic():
user = User(name = 'pyRock', email = '[email protected]')
user.save()
self.request.session = {}
self.request.method = 'POST'
self.request.POST = {
'email': '[email protected]',
'name': 'pyRock',
'stripe_token': '...',
'last_4_digits': '4242',
'password': 'bad_password',
'ver_password': 'bad_password',
}
expected_form = UserForm(self.request.POST)
expected_form.is_valid()
expected_form.addError('[email protected] is already a member')
html = render_to_response(
'register.html',
{
'form': expected_form,
'months': list(range(1, 12)),
'publishable': settings.STRIPE_PUBLISHABLE,
'soon': soon(),
'user': None,
'years': list(range(2011, 2036)),
}
)
with mock.patch('stripe.Customer') as stripe_mock:
config = {'create.return_value': mock.Mock()}
stripe_mock.configure_mock(**config)
resp = register(self.request)
users = User.objects.filter(email = '[email protected]')
#self.assertEquals(len(users), 1)
self.assertEqual(resp.status_code, 200)
self.assertEqual(self.request.session, {})
except IntegrityError:
pass
示例12: test_user_form_passwords_match
def test_user_form_passwords_match(self):
form = UserForm(
{
'name': 'jj',
'email': '[email protected]',
'password': '1234',
'ver_password': '1234',
'last_4_digits': '3333',
'stripe_token': '1'
})
self.assertTrue(form.is_valid(), form.errors)
self.assertIsNotNone(form.clean())
示例13: register
def register(request):
user = None
if request.method == "POST":
form = UserForm(request.POST)
if form.is_valid():
if form.cleaned_data["sub_type"] == "monthly":
# update based on your billing method(subscription vs onetime)
customer = Customer.create(
email=form.cleaned_data["email"],
description=form.cleaned_data["name"],
card=form.cleaned_data["stripe_token"],
plan="gold",
)
else:
customer = Customer.create(
email=form.cleaned_data["email"],
description=form.cleaned_data["name"],
card=form.cleaned_data["stripe_token"],
plan="Platinum",
)
cd = form.cleaned_data
try:
with transaction.atomic():
user = User.create(cd["name"], cd["email"], cd["password"], cd["last_4_digits"])
if customer:
user.stripe_id = customer.id
user.save()
else:
UnpaidUsers(email=cd["email"]).save()
except IntegrityError:
form.addError(cd["email"] + " is already a member")
else:
request.session["user"] = user.pk
return HttpResponseRedirect("/")
else:
form = UserForm()
return render_to_response(
"payments/register.html",
{
"form": form,
"months": list(range(1, 12)),
"publishable": settings.STRIPE_PUBLISHABLE,
"soon": soon(),
"user": user,
"years": list(range(2011, 2036)),
},
context_instance=RequestContext(request),
)
示例14: register
def register(request):
user = None
if request.method == 'POST':
form = UserForm(request.POST)
if form.is_valid():
#update based on your billing method (subscription vs one time)
customer = stripe.Customer.create(
email=form.cleaned_data['email'],
description=form.cleaned_data['name'],
card=form.cleaned_data['stripe_token'],
plan='gold',
)
#customer = stripe.Charge.create(
# description = form.cleaned_data['email']
# card=form.cleaned_data['stripe_token'],
# amount="5000",
# currency="usd"
#)
cd = form.cleaned_data
try:
user = User.create(
cd['name'],
cd['email'],
cd['password'],
cd['last_4_digits'],
customer.id
)
except IntegrityError:
form.addError(user.email + ' is already a member')
user = None
else:
request.session['user'] = user.pk
return HttpResponseRedirect('/')
else:
form = UserForm()
return render_to_response(
'register.html',
{
'form':form,
'months':range(1,12),
'publishable': settings.STRIPE_PUBLISHABLE,
'soon':soon(),
'user':user,
'years':range(2011, 2036),
},
context_instance=RequestContext(request)
)
示例15: register
def register(request):
print "USERFORM = " + str(UserForm)
user = None
if request.method == 'POST':
form = UserForm(request.POST)
if form.is_valid():
# subscription billing
print "YO!"
print "STRIPE_PUBLISHABLE = " + str(settings.STRIPE_PUBLISHABLE)
print "stripe_token = " + form.cleaned_data['stripe_token']
customer = stripe.Customer.create(
email=form.cleaned_data['email'],
description=form.cleaned_data['name'],
card=form.cleaned_data['stripe_token'],
plan="gold",
)
user = User(
name=form.cleaned_data['name'],
email=form.cleaned_data['email'],
last_4_digits=form.cleaned_data['last_4_digits'],
stripe_id=customer.id,
)
user.set_password(form.cleaned_data['password'])
try:
user.save()
except IntegrityError:
print "Already a member bro!"
form.addError(user.email + ' is already a member')
else:
print "Save user payment profile"
request.session['user'] = user.pk
print request.session['user']
return HttpResponseRedirect('/')
else:
form = UserForm()
return render_to_response(
'register.html',
{
'form': form,
'months': range(1, 12),
'publishable': settings.STRIPE_PUBLISHABLE,
'soon': soon(),
'user': user,
'years': range(2011, 2036),
},
context_instance=RequestContext(request)
)