diff options
author | Matthew Lemon <lemon@matthewlemon.com> | 2020-10-23 14:18:42 +0100 |
---|---|---|
committer | Matthew Lemon <lemon@matthewlemon.com> | 2020-10-23 14:18:42 +0100 |
commit | e83a49075bf57c09579fc14b9e10637e17cd35f5 (patch) | |
tree | 17bea0a01f58298072271310cb0320842d9b8cd5 /ctrack/users | |
parent | 8ffb8fa05b2a45704412e9fd4edcdb41049b9c18 (diff) |
nice tweaks to the profile page
Diffstat (limited to 'ctrack/users')
-rw-r--r-- | ctrack/users/views.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/ctrack/users/views.py b/ctrack/users/views.py index de3f4d1..693318b 100644 --- a/ctrack/users/views.py +++ b/ctrack/users/views.py @@ -1,3 +1,4 @@ +import datetime import itertools from django.contrib import messages @@ -7,6 +8,7 @@ from django.urls import reverse from django.utils.translation import ugettext_lazy as _ from django.views.generic import DetailView, RedirectView, UpdateView +from ctrack.organisations.models import Organisation from ctrack.register.models import SingleDateTimeEvent, CAFSingleDateEvent, CAFTwinDateEvent User = get_user_model() @@ -23,15 +25,23 @@ class UserDetailView(DetailView): # we have to pass 'username' as the argument when testing UserDetailView because of this. slug_url_kwarg = "username" + def _comp_dates(self, event): + if isinstance(event.date, datetime.datetime): + return event.date.date() + else: + return event.date + def get_context_data(self, **kwargs): context = super().get_context_data() user = self.request.user + lead_oes = Organisation.objects.filter(lead_inspector=user).order_by("name") _single_date_events = SingleDateTimeEvent.objects.filter(user=user).all() _caf_single_date_events = CAFSingleDateEvent.objects.all() _caf_twin_date_events = CAFTwinDateEvent.objects.all() _combined = list(itertools.chain(_caf_twin_date_events, _caf_single_date_events, _single_date_events)) - all_events = sorted(_combined, key=lambda x: x.date, reverse=True) + all_events = sorted(_combined, key=self._comp_dates, reverse=True) context["all_events"] = all_events + context["lead_oes"] = lead_oes return context |