Private
Public Access
1
0

simple upgrade/billing address form

This commit is contained in:
Sander Roosendaal
2018-12-19 10:33:43 +01:00
parent 0b79b0de98
commit fa61957be7
8 changed files with 126 additions and 7 deletions

View File

@@ -28,7 +28,7 @@ import isodate
import re
import cgi
from icalendar import Calendar, Event
import braintree
import rowers.braintreestuff as braintreestuff
from django.shortcuts import render
from django.template.loader import render_to_string
@@ -51,7 +51,7 @@ from rowers.forms import (
RaceResultFilterForm,PowerIntervalUpdateForm,FlexAxesForm,
FlexOptionsForm,DataFrameColumnsForm,OteWorkoutTypeForm,
MetricsForm,DisqualificationForm,disqualificationreasons,
disqualifiers,SearchForm,BillingForm
disqualifiers,SearchForm,BillingForm,PlanSelectForm
)
from django.core.urlresolvers import reverse, reverse_lazy
@@ -84,7 +84,7 @@ from rowers.models import (
createmicrofillers, createmesofillers,
microcyclecheckdates,mesocyclecheckdates,macrocyclecheckdates,
TrainingMesoCycleForm, TrainingMicroCycleForm,
RaceLogo,
RaceLogo,RowerBillingAddressForm,
)
from rowers.models import (
RowerPowerForm,RowerForm,GraphImage,AdvancedWorkoutForm,
@@ -1034,12 +1034,41 @@ def paidplans_view(request):
r = getrequestrower(request)
else:
r = None
return render(request,
'paidplans.html',
{'rower':r})
@login_required()
def billing_view(request):
r = getrequestrower(request)
if request.method == 'POST':
billingaddressform = RowerBillingAddressForm(request.POST)
planselectform = PlanSelectForm(request.POST,paymentprocessor='braintree')
if billingaddressform.is_valid():
cd = billingaddressform.cleaned_data
for attr, value in cd.items():
setattr(r, attr, value)
r.save()
if planselectform.is_valid():
plan = planselectform.cleaned_data['plan']
else:
billingaddressform = RowerBillingAddressForm(instance=r)
planselectform = PlanSelectForm(paymentprocessor='braintree')
return render(request,
'billing.html',
{'rower':r,
'billingaddressform':billingaddressform,
'planselectform':planselectform,
})
# Experimental - Payments
@login_required()
def payments_view(request):