ordering member
This commit is contained in:
@@ -1,6 +1,13 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
|
||||||
from .forms import JobForm, JobGroupForm, JobInlineForm, MemberForm
|
from .forms import (
|
||||||
|
ActiveMemberForm,
|
||||||
|
InactiveMemberForm,
|
||||||
|
JobForm,
|
||||||
|
JobGroupForm,
|
||||||
|
JobInlineForm,
|
||||||
|
MemberForm,
|
||||||
|
)
|
||||||
from .models import Job, JobGroup, JobMember, Member
|
from .models import Job, JobGroup, JobMember, Member
|
||||||
|
|
||||||
|
|
||||||
@@ -30,6 +37,7 @@ class JobOverviewInline(JobMemberInline):
|
|||||||
|
|
||||||
|
|
||||||
class ActiveMemberInline(JobMemberInline):
|
class ActiveMemberInline(JobMemberInline):
|
||||||
|
form = ActiveMemberForm
|
||||||
verbose_name = "Mitglied"
|
verbose_name = "Mitglied"
|
||||||
verbose_name_plural = "Aktive Mitglieder Liste"
|
verbose_name_plural = "Aktive Mitglieder Liste"
|
||||||
|
|
||||||
@@ -38,6 +46,7 @@ class ActiveMemberInline(JobMemberInline):
|
|||||||
|
|
||||||
|
|
||||||
class InactiveMemberInline(JobMemberInline):
|
class InactiveMemberInline(JobMemberInline):
|
||||||
|
form = InactiveMemberForm
|
||||||
verbose_name = "Mitglied"
|
verbose_name = "Mitglied"
|
||||||
verbose_name_plural = "Inaktive Mitglieder Liste"
|
verbose_name_plural = "Inaktive Mitglieder Liste"
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
from ckeditor_uploader.widgets import CKEditorUploadingWidget
|
from ckeditor_uploader.widgets import CKEditorUploadingWidget
|
||||||
from django import forms
|
from django import forms
|
||||||
|
|
||||||
from .models import Job, JobGroup, Member
|
from .models import Job, JobGroup, JobMember, Member
|
||||||
|
|
||||||
|
|
||||||
class JobInlineForm(forms.ModelForm):
|
class JobInlineForm(forms.ModelForm):
|
||||||
@@ -10,6 +10,31 @@ class JobInlineForm(forms.ModelForm):
|
|||||||
fields = ["name"]
|
fields = ["name"]
|
||||||
|
|
||||||
|
|
||||||
|
class ActiveMemberForm(forms.ModelForm):
|
||||||
|
class Meta:
|
||||||
|
fields = "__all__"
|
||||||
|
model = JobMember
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super().__init__(*args, **kwargs)
|
||||||
|
self.fields["member"].queryset = (
|
||||||
|
self.fields["member"]
|
||||||
|
.queryset.filter(role="A")
|
||||||
|
.order_by("firstname", "surname")
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class InactiveMemberForm(forms.ModelForm):
|
||||||
|
class Meta:
|
||||||
|
fields = "__all__"
|
||||||
|
model = JobMember
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super().__init__(*args, **kwargs)
|
||||||
|
member_qs = self.fields["member"].queryset.order_by("firstname", "surname")
|
||||||
|
self.fields["member"].queryset = member_qs
|
||||||
|
|
||||||
|
|
||||||
class MemberForm(forms.ModelForm):
|
class MemberForm(forms.ModelForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
fields = "__all__"
|
fields = "__all__"
|
||||||
|
|||||||
@@ -12,12 +12,16 @@ class ActiveJobMemberManager(models.Manager):
|
|||||||
return (
|
return (
|
||||||
self.get_queryset()
|
self.get_queryset()
|
||||||
.filter(job__job_group__slug=slug)
|
.filter(job__job_group__slug=slug)
|
||||||
.order_by("job__slug", "job_role", "member__firstname")
|
.order_by("job__slug", "job_role", "member__firstname", "member__surname")
|
||||||
)
|
)
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
date_today = timezone.now().date()
|
date_today = timezone.now().date()
|
||||||
qs = super().get_queryset().order_by("member__firstname")
|
qs = (
|
||||||
|
super()
|
||||||
|
.get_queryset()
|
||||||
|
.order_by("job_role", "member__firstname", "member__surname", "job_start")
|
||||||
|
)
|
||||||
|
|
||||||
return qs.filter(
|
return qs.filter(
|
||||||
Q(member__role="A") & (Q(job_end__gt=date_today) | Q(job_end__isnull=True))
|
Q(member__role="A") & (Q(job_end__gt=date_today) | Q(job_end__isnull=True))
|
||||||
@@ -36,7 +40,11 @@ class InactiveJobMemberManager(models.Manager):
|
|||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
date_today = timezone.now().date()
|
date_today = timezone.now().date()
|
||||||
qs = super().get_queryset().order_by("member__firstname")
|
qs = (
|
||||||
|
super()
|
||||||
|
.get_queryset()
|
||||||
|
.order_by("member__firstname", "member__surname", "-job_start")
|
||||||
|
)
|
||||||
|
|
||||||
return qs.filter(
|
return qs.filter(
|
||||||
Q(member__role="P")
|
Q(member__role="P")
|
||||||
|
|||||||
Reference in New Issue
Block a user