Edited membership_order_list.html to allow “become a member” option.Edited membership_order_list.html for new deactivate membership flow.Fixed get_current_membership function .Fixed Reactivated membership view.Fixed Mixin to know if an user is an active member or not.
This commit is contained in:
parent
ba2e231078
commit
56776e8894
5 changed files with 105 additions and 14 deletions
|
|
@ -1,5 +1,11 @@
|
|||
from django.core.urlresolvers import reverse_lazy
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||
from django.views.generic import UpdateView
|
||||
from django.db import models
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.contrib import messages
|
||||
|
||||
|
||||
from membership.models import StripeCustomer
|
||||
from utils.models import BillingAddress
|
||||
|
||||
|
|
@ -50,3 +56,27 @@ class Ordereable(models.Model):
|
|||
instance.cc_brand = stripe_charge.source.brand
|
||||
instance.save()
|
||||
return instance
|
||||
|
||||
|
||||
class ChangeMembershipStatusMixin(LoginRequiredMixin, UpdateView):
|
||||
success_message = None
|
||||
success_url = reverse_lazy('digitalglarus:membership_orders_list')
|
||||
login_url = reverse_lazy('digitalglarus:login')
|
||||
fields = '__all__'
|
||||
|
||||
def get_object(self):
|
||||
from .models import MembershipOrder
|
||||
membership_order = MembershipOrder.objects.\
|
||||
filter(customer__user=self.request.user).last()
|
||||
if not membership_order:
|
||||
raise AttributeError("Membership does not exists")
|
||||
membership = membership_order.membership
|
||||
return membership
|
||||
|
||||
def post(self, *args, **kwargs):
|
||||
membership = self.get_object()
|
||||
membership.activate()
|
||||
|
||||
messages.add_message(self.request, messages.SUCCESS, self.success_message)
|
||||
|
||||
return HttpResponseRedirect(self.success_url)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue