From 76e48b1acffdf0ed5fe1376907b3feccc2b581c3 Mon Sep 17 00:00:00 2001
From: Zack Wong <coffee@ucc.asn.au>
Date: Mon, 9 Mar 2020 12:10:25 +0800
Subject: [PATCH] fix member sidebar

---
 src/gms/admin.py                                 |  1 -
 src/memberdb/views.py                            | 15 ++++++++++++++-
 .../components/membership_sidebar_component.html |  4 ++++
 .../components/membership_status_component.html  | 16 +++++++++++-----
 4 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/src/gms/admin.py b/src/gms/admin.py
index aeb672a..92c512b 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 18a5d74..ac99235 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 ad1edcb..148795c 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 3b96d68..ed884ab 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>
-- 
GitLab