updated models to add paid plan complexity
This commit is contained in:
@@ -550,14 +550,36 @@ paymenttypes = (
|
||||
('recurring','recurring')
|
||||
)
|
||||
|
||||
paymentprocessors = (
|
||||
('paypal','PayPal'),
|
||||
('braintree','BrainTree')
|
||||
)
|
||||
|
||||
class PaidPlan(models.Model):
|
||||
shortname = models.CharField(max_length=50,choices=plans)
|
||||
name = models.CharField(max_length=200)
|
||||
braintree_id = models.IntegerField(blank=True,null=True,default=None)
|
||||
external_id = models.IntegerField(blank=True,null=True,default=None)
|
||||
price = models.FloatField(blank=True,null=True,default=None)
|
||||
paymenttype = models.CharField(max_length=50,choices=paymenttypes)
|
||||
paymentprocessor = models.CharField(
|
||||
max_length=50,choices=paymentprocessors,default='braintree')
|
||||
paymenttype = models.CharField(
|
||||
default='single',max_length=30,
|
||||
verbose_name='Payment Type',
|
||||
choices=paymenttypes,
|
||||
)
|
||||
|
||||
clubsize = models.IntegerField(default=0)
|
||||
|
||||
def __unicode__(self):
|
||||
return '{name} - {shortname} at {price} EURO ({paymenttype} payment) / {paymentprocessor}'.format(
|
||||
name = self.name,
|
||||
shortname = self.shortname,
|
||||
price = self.price,
|
||||
paymenttype = self.paymenttype,
|
||||
paymentprocessor = self.paymentprocessor,
|
||||
)
|
||||
|
||||
|
||||
# Extension of User with rowing specific data
|
||||
class Rower(models.Model):
|
||||
adaptivetypes = mytypes.adaptivetypes
|
||||
@@ -599,12 +621,33 @@ class Rower(models.Model):
|
||||
street_address = models.CharField(default='',blank=True,null=True,max_length=200)
|
||||
city = models.CharField(default='',blank=True,null=True,max_length=200)
|
||||
postal_code = models.CharField(default='',blank=True,null=True,max_length=200)
|
||||
|
||||
customer_id = models.CharField(default=None,null=True,blank=True,max_length=200)
|
||||
|
||||
rowerplan = models.CharField(default='basic',max_length=30,
|
||||
choices=plans)
|
||||
paymenttype = models.CharField(
|
||||
default='single',max_length=30,
|
||||
verbose_name='Payment Type',
|
||||
choices=paymenttypes,
|
||||
)
|
||||
paymentprocessor = models.CharField(max_length=50,
|
||||
choices=paymentprocessors,
|
||||
default='braintree')
|
||||
|
||||
paidplan = models.ForeignKey(PaidPlan,null=True,default=None)
|
||||
|
||||
planexpires = models.DateField(default=timezone.now)
|
||||
teamplanexpires = models.DateField(default=timezone.now)
|
||||
clubsize = models.IntegerField(default=0)
|
||||
protrialexpires = models.DateField(blank=True,null=True)
|
||||
plantrialexpires = models.DateField(blank=True,null=True)
|
||||
|
||||
|
||||
# Privacy Data
|
||||
gdproptin = models.BooleanField(default=False)
|
||||
gdproptindate = models.DateTimeField(blank=True,null=True)
|
||||
|
||||
# customer data
|
||||
customer_id = models.IntegerField(default=None,null=True,blank=True)
|
||||
|
||||
# Heart Rate Zone data
|
||||
max = models.IntegerField(default=192,verbose_name="Max Heart Rate")
|
||||
@@ -729,20 +772,6 @@ class Rower(models.Model):
|
||||
getimportantemails = models.BooleanField(default=True,
|
||||
verbose_name='Get Important Emails')
|
||||
|
||||
rowerplan = models.CharField(default='basic',max_length=30,
|
||||
choices=plans)
|
||||
paymenttype = models.CharField(
|
||||
default='single',max_length=30,
|
||||
verbose_name='Payment Type',
|
||||
choices=paymenttypes,
|
||||
)
|
||||
|
||||
planexpires = models.DateField(default=timezone.now)
|
||||
teamplanexpires = models.DateField(default=timezone.now)
|
||||
clubsize = models.IntegerField(default=0)
|
||||
protrialexpires = models.DateField(blank=True,null=True)
|
||||
plantrialexpires = models.DateField(blank=True,null=True)
|
||||
|
||||
|
||||
# Friends/Team
|
||||
friends = models.ManyToManyField("self",blank=True)
|
||||
|
||||
Reference in New Issue
Block a user