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
|
|
@ -17,6 +17,7 @@ from django.views.generic import View, DetailView, ListView
|
|||
|
||||
|
||||
from .models import Supporter
|
||||
from .mixins import ChangeMembershipStatusMixin
|
||||
from utils.forms import ContactUsForm
|
||||
from utils.mailer import BaseEmail
|
||||
|
||||
|
|
@ -357,13 +358,14 @@ class MembershipPaymentView(LoginRequiredMixin, IsNotMemberMixin, FormView):
|
|||
# Get membership dates
|
||||
membership_start_date, membership_end_date = membership_type.first_month_range
|
||||
|
||||
# Create membership plan
|
||||
# Create or update membership plan
|
||||
membership_data = {
|
||||
'type': membership_type,
|
||||
'active': True,
|
||||
'start_date': membership_start_date,
|
||||
'end_date': membership_end_date
|
||||
}
|
||||
membership = Membership.create(membership_data)
|
||||
membership = Membership.activate_or_crete(membership_data, self.request.user)
|
||||
|
||||
# Create membership order
|
||||
order_data = {
|
||||
|
|
@ -446,6 +448,16 @@ class MembershipDeactivateView(LoginRequiredMixin, UpdateView):
|
|||
return HttpResponseRedirect(self.success_url)
|
||||
|
||||
|
||||
class MembershipReactivateView(ChangeMembershipStatusMixin):
|
||||
success_message = "Your membership has been reactivate :)"
|
||||
template_name = "digitalglarus/membership_orders_list.html"
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
membership = self.get_object()
|
||||
membership.activate()
|
||||
return super(MembershipReactivateView, self).post(request, *args, **kwargs)
|
||||
|
||||
|
||||
class UserBillingAddressView(LoginRequiredMixin, UpdateView):
|
||||
model = UserBillingAddress
|
||||
form_class = UserBillingAddressForm
|
||||
|
|
@ -504,12 +516,16 @@ class MembershipOrdersListView(LoginRequiredMixin, ListView):
|
|||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(MembershipOrdersListView, self).get_context_data(**kwargs)
|
||||
start_date, end_date = MembershipOrder.current_membership_dates(self.request.user)
|
||||
current_membership = Membership.get_current_membership(self.request.user)
|
||||
start_date, end_date = (current_membership.start_date, current_membership.end_date)\
|
||||
if current_membership else [None, None]
|
||||
|
||||
next_start_date, next_end_date = MembershipOrder.next_membership_dates(self.request.user)
|
||||
current_billing_address = self.request.user.billing_addresses.filter(current=True).last()
|
||||
context.update({
|
||||
'membership_start_date': start_date,
|
||||
'membership_end_date': end_date,
|
||||
'current_membership': current_membership,
|
||||
'next_membership_start_date': next_start_date,
|
||||
'next_membership_end_date': next_end_date,
|
||||
'billing_address': current_billing_address
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue