diff --git a/src/gms/admin.py b/src/gms/admin.py index aeb672aaad861c70b5f682860044a286a925cc1c..92c512ba448b66f3a3ae49aecdedabdcc99dfc34 100644 --- a/src/gms/admin.py +++ b/src/gms/admin.py @@ -1,5 +1,4 @@ from django.contrib.admin import * -from material.admin.apps import * """ Here we define our own customised admin interface """ diff --git a/src/memberdb/views.py b/src/memberdb/views.py index 18a5d74c9abce8eec2531044a759de239c2adcdc..ac99235604a35889d574c78db9598fc8fb9a7d6b 100644 --- a/src/memberdb/views.py +++ b/src/memberdb/views.py @@ -1,4 +1,5 @@ from datetime import date, timedelta +import pdb; from django.http import HttpResponse, HttpResponseRedirect, Http404 from django.shortcuts import render @@ -35,7 +36,8 @@ class MemberMiddleware: if request.user.is_authenticated: # get the username only when a user is logged in # note that request.user will still exist even when the user isn't logged in - request.member = Member.objects.filter(username__exact=request.user.username).first() + tmp = Member.objects.filter(username__iexact=request.user.username).first() + request.member = tmp if request.member is not None: # clean the member's auth token because they now have a working login @@ -89,6 +91,14 @@ class MyUpdateView(UpdateView): except: pass return None + + def get_context_data(self, **kwargs): + """ update view context with current renewal year """ + context = super().get_context_data(**kwargs) + context['year'] = timezone.now().year + return context + + def get_form_kwargs(self, **kwargs): kwargs.update(super().get_form_kwargs()) @@ -157,7 +167,10 @@ class MembershipSummary(MemberAccessMixin, MyUpdateView): if member is not None: # get a list of all the membership records associated with this member ms_list = member.memberships.all() + last_renewal = self.object.get_last_renewal() + context.update({ + 'last_renewal': last_renewal.date_submitted.year, 'memberships': ms_list, 'membership_summary': 'selected', 'membership': 'active', diff --git a/src/templates/components/membership_sidebar_component.html b/src/templates/components/membership_sidebar_component.html index ad1edcb30337d5ef389a7fd6b198a9543defb210..148795c666edb03979e678c6678713ce503d560d 100644 --- a/src/templates/components/membership_sidebar_component.html +++ b/src/templates/components/membership_sidebar_component.html @@ -9,4 +9,8 @@ <a class="collapsible-header sidebar-heading pl-3 border-0 " href="{% url 'memberdb:renew' %}"><i class="icon md-18 mr-1 ico-center" data-feather="refresh-cw"></i> Renewal</a> </li> + <li class="mt-0 {{membership_edit}}"> + <a class="collapsible-header sidebar-heading pl-3 border-0 " + href="{% url 'memberdb:renew' %}"><i class="icon md-18 mr-1 ico-center" data-feather="edit-3"></i> Update Details</a> + </li> </ul> \ No newline at end of file diff --git a/src/templates/components/membership_status_component.html b/src/templates/components/membership_status_component.html index 3b96d6859b2147d31c11652208d3ac5fc0a0591f..ed884abb03a0f6b4a7c70c57743eff962c9866e8 100644 --- a/src/templates/components/membership_status_component.html +++ b/src/templates/components/membership_status_component.html @@ -1,14 +1,20 @@ {% load static %} {% with memberships|dictsortreversed:'date_submitted'|first as ms%} - {% if not last_renewal == year %} -<i class="icon ico-huge text-danger" data-feather="x-circle"></i> +<div class="center py-3"> + <i class="icon ico-huge text-danger" data-feather="x-circle"></i> +</div> You have not submitted a membership renewal for {{year}} yet. -{% elif ms.state == 'approved'%} +{{member.last_renewal}} -<i class="icon ico-center text-success" data-feather="check-circle"></i> -You have a valid membership for {{year}}. +{% elif ms.state == 'approved'%} +<div class="center py-3"> + <i class="icon ico-huge text-success" data-feather="check-circle"></i> +</div> +<div class="center"> +Your membership is valid for {{year}}. +</div> {% elif ms.state == 'rework'%} <i class="icon ico-center text-warning" data-feather="alert-circle"></i>