From a04e4018c8c788a8348a62fad20fff14a088ba85 Mon Sep 17 00:00:00 2001 From: Patrick Mayr Date: Thu, 12 Jan 2023 11:18:57 +0000 Subject: [PATCH] sorted jobs in member profile --- fet2020/members/admin.py | 3 +++ fet2020/members/managers.py | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/fet2020/members/admin.py b/fet2020/members/admin.py index efe528de..4da4b3f5 100644 --- a/fet2020/members/admin.py +++ b/fet2020/members/admin.py @@ -35,6 +35,9 @@ class JobOverviewInline(JobMemberInline): verbose_name = "Tätigkeit" verbose_name_plural = "Tätigkeitsübersicht" + def get_queryset(self, request): + return JobMember.members.get_all_jobs_sorted() + class ActiveMemberInline(JobMemberInline): form = ActiveMemberForm diff --git a/fet2020/members/managers.py b/fet2020/members/managers.py index 435078c0..e697a7d6 100644 --- a/fet2020/members/managers.py +++ b/fet2020/members/managers.py @@ -1,7 +1,7 @@ from datetime import timedelta from django.db import models -from django.db.models import Q +from django.db.models import F, Q from django.utils import timezone @@ -58,6 +58,12 @@ class JobMemberManager(models.Manager): return qs.filter(Q(member__role=role)) + def get_all_jobs_sorted(self): + qs = self.get_queryset().order_by( + F("job_end").desc(nulls_first=True), "-job_start", "job__name" + ) + return qs + def get_active_jobs(self, member_id): date_today = timezone.now().date() qs = (