diff --git a/digitalglarus/models.py b/digitalglarus/models.py index c1e50308..876df6d7 100644 --- a/digitalglarus/models.py +++ b/digitalglarus/models.py @@ -102,16 +102,26 @@ class MembershipOrder(Ordereable, models.Model): end_date = models.DateField() @classmethod - def current_membership(cls, user): + def current_membership_dates(cls, user): last_membership_payment = cls.objects.\ filter(customer__user=user).last() - # start_date = last_payment.created_at - # _, days_in_month = calendar.monthrange(start_date.year, - # start_date.month) - # start_date.replace(day=1) - # end_date = start_date + timedelta(days=days_in_month) + if not last_membership_payment: + return [None, None] + return last_membership_payment.start_date, last_membership_payment.end_date + @classmethod + def next_membership_dates(cls, user): + current_start_date, current_end_date = cls.current_membership_dates(user) + if not current_start_date or not current_end_date: + return [None, None] + next_start_date = current_end_date + relativedelta(months=1) + _, days_in_month = calendar.monthrange(next_start_date.year, + next_start_date.month) + next_start_date = next_start_date.replace(day=1) + next_end_date = next_start_date + timedelta(days=days_in_month) + return next_start_date, next_end_date + def first_membership_range_date(self): start_date = self.created_at _, days_in_month = calendar.monthrange(start_date.year, diff --git a/digitalglarus/templates/digitalglarus/index.html b/digitalglarus/templates/digitalglarus/index.html index a2ad5827..152dd48e 100644 --- a/digitalglarus/templates/digitalglarus/index.html +++ b/digitalglarus/templates/digitalglarus/index.html @@ -20,7 +20,8 @@ <div class="container-fluid darkened-container"> <h3 class="intro-small"> Book a date today and dive in</h3> - <form class="form-inline"> + <a href="{% url 'digitalglarus:booking' %}" class="btn btn-primary">Join now</a> +<!-- <form class="form-inline"> <div class="form-group"> <label class="sr-only" for="exampleInputPassword3">Pick a date</label> <input type="password" class="form-control" id="exampleInputPassword3" placeholder="Pick a date"> @@ -30,7 +31,7 @@ </div> </div> <button type="submit" class="btn btn-primary">book a date</button> - </form> + </form> --> </div> </header> @@ -187,7 +188,7 @@ Join our community. Be our member now! <br> <br> - <a href="http://startbootstrap.com/template-overviews/creative/" class="btn btn-default btn-primary sr-button"> Sign Up </a> + <a href="{% url 'digitalglarus:signup' %}" class="btn btn-default btn-primary sr-button"> Sign Up </a> </div> </div> </aside> diff --git a/digitalglarus/templates/digitalglarus/membership_deactivated.html b/digitalglarus/templates/digitalglarus/membership_deactivated.html index 0ec0295b..977c467c 100644 --- a/digitalglarus/templates/digitalglarus/membership_deactivated.html +++ b/digitalglarus/templates/digitalglarus/membership_deactivated.html @@ -10,6 +10,15 @@ margin-top:10%; } + #cancel-subscription-modal .modal-header{ + border-bottom: none; + } + + #cancel-subscription-modal .modal-footer{ + border-top: none; + text-align: center; + } + </style> <section id="price"> @@ -46,7 +55,7 @@ <div class="modal-body"> <p>Do you want to cancel your subscription?</p> </div> - <div class="modal-footer"> + <div class="modal-footer text-center"> <button type="button" class="btn btn-primary btn-grey" data-dismiss="modal">No</button> <button type="submit" class="btn btn-primary">Yes</button> </div> diff --git a/digitalglarus/templates/digitalglarus/membership_orders_list.html b/digitalglarus/templates/digitalglarus/membership_orders_list.html index 5fc92329..57284121 100644 --- a/digitalglarus/templates/digitalglarus/membership_orders_list.html +++ b/digitalglarus/templates/digitalglarus/membership_orders_list.html @@ -15,7 +15,11 @@ <h2 class="member-name">{{request.user.name}}</h2> <hr class="greyline-long"> <h2 class="order-head">Current Membership</h2> - <h2 class="member-name">{{membership_start_date|date}}-{{membership_end_date|date}}</h2> + {% if membership_start_date and membership_end_date%} + <h2 class="member-name">{{membership_start_date|date}}-{{membership_end_date|date}}</h2> + {% else %} + <h2 class="member-name">You don't have an active membership</h2> + {% endif %} <hr class="greyline-long"> <h2 class="order-head">Orders history</h2> <table class="table"> @@ -43,16 +47,30 @@ <h2 class="history-name"> {{request.user.name}} </h2> + {% if billing_address %} <h2 class="history-name"> {{billing_address.street_address}},{{billing_address.postal_code}}<br> {{billing_address.city}}, {{billing_address.country}}. </h2> - + {% else %} + <h2 class="history-name"> + Edit your billing address + </h2> + {% endif %} <hr class="greyline-long"> <h2 class="order-head">Your Next Membership</h2> + {% if next_membership_start_date and next_membership_end_date%} + + + <h2 class="history-name"> - Dates: {{membership_start_date|date}} - {{membership_end_date|date}}<br> + Dates: {{next_membership_start_date|date}} - {{next_membership_end_date|date}}<br> </h2> + {% else %} + <h2 class="history-name"> + You are not a member yet + </h2> + {% endif %} <div class="edit-button"> <a class="btn btn-primary btn-grey btn-deactivate print" href="{% url 'digitalglarus:membership_deactivate' %}">Deactivate</a> diff --git a/digitalglarus/views.py b/digitalglarus/views.py index 1a901c80..73af4ca2 100644 --- a/digitalglarus/views.py +++ b/digitalglarus/views.py @@ -42,7 +42,7 @@ from .mixins import MembershipRequiredMixin, IsNotMemberMixin class IndexView(TemplateView): - template_name = "digitalglarus/old_index.html" + template_name = "digitalglarus/index.html" class LoginView(LoginViewMixin): @@ -488,11 +488,14 @@ 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(self.request.user) + start_date, end_date = MembershipOrder.current_membership_dates(self.request.user) + 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, + 'next_membership_start_date': next_start_date, + 'next_membership_end_date': next_end_date, 'billing_address': current_billing_address }) return context @@ -602,7 +605,6 @@ class ContactView(FormView): return super(ContactView, self).form_valid(form) - class AboutView(TemplateView): template_name = "digitalglarus/about.html"