Now booking is only for users with memberships. Added method to know if a membership is active or not. Added new formula for booking pricing. handling border cases when an user want to book. Added booking order detail view. Added booking order detail html.
This commit is contained in:
parent
2eb2c90b1f
commit
e3d1761d45
14 changed files with 345 additions and 45 deletions
|
|
@ -1,8 +1,20 @@
|
|||
from django.db import models
|
||||
from django.http import HttpResponseRedirect
|
||||
from membership.models import StripeCustomer
|
||||
from utils.models import BillingAddress
|
||||
|
||||
|
||||
class MembershipRequired(object):
|
||||
membership_redirect_url = None
|
||||
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
from .models import Membership
|
||||
if not Membership.is_digitalglarus_member(request.user):
|
||||
return HttpResponseRedirect(self.membership_redirect_url)
|
||||
|
||||
return super(MembershipRequired, self).dispatch(request, *args, **kwargs)
|
||||
|
||||
|
||||
class Ordereable(models.Model):
|
||||
customer = models.ForeignKey(StripeCustomer)
|
||||
billing_address = models.ForeignKey(BillingAddress)
|
||||
|
|
@ -22,4 +34,5 @@ class Ordereable(models.Model):
|
|||
instance.stripe_charge_id = stripe_charge.id
|
||||
instance.last4 = stripe_charge.source.last4
|
||||
instance.cc_brand = stripe_charge.source.brand
|
||||
instance.save()
|
||||
return instance
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue