update member view

This commit is contained in:
2020-11-24 20:31:06 +00:00
parent b6847ab9fa
commit e0adc53dd3
7 changed files with 51 additions and 33 deletions

View File

@@ -14,7 +14,7 @@ class ActiveJobMemberManager(models.Manager):
return a list of active member, and members who are still working
'''
def get_all_by_slug(self, slug):
return self.get_queryset().filter(job__job_group__slug=slug)
return self.get_queryset().filter(job__job_group__slug=slug).order_by('job__slug', 'job_role', 'member__firstname')
def get_queryset(self):
date_today = timezone.now().date()
@@ -31,7 +31,7 @@ class InactiveJobMemberManager(models.Manager):
return a list of inactive member
'''
def get_all_by_slug(self, slug):
return self.get_queryset().filter(job__job_group__slug=slug)
return self.get_queryset().filter(job__job_group__slug=slug).order_by('job__slug', 'job_role', 'member__firstname')
def get_queryset(self):
date_today = timezone.now().date()
@@ -221,12 +221,12 @@ class JobMember(models.Model):
job_end = models.DateField('Job Ende', null=True, blank=True)
class JobRole(models.TextChoices):
PRESIDENT = '1V', _('VorsitzendeR')
VICE_PRESIDENT = '2V', _('stv VorsitzendeR')
SECOND_VICE_PRESIDENT = '3V', _('2. stv VorsitzendeR')
MEMBER = 'M', _('Mitglied')
SUBSTITUTE_MEMBER = 'E', _('Ersatzmitglied')
PERSON_RESPONSIBLE = 'V', _('VerantwortlicheR')
PRESIDENT = ('10', _('VorsitzendeR'))
VICE_PRESIDENT = ('20', _('stv VorsitzendeR'))
SECOND_VICE_PRESIDENT = ('30', _('2. stv VorsitzendeR'))
PERSON_RESPONSIBLE = ('40', _('VerantwortlicheR'))
MEMBER = ('50', _('Mitglied'))
SUBSTITUTE_MEMBER = ('60', _('Ersatzmitglied'))
job_role = models.CharField(max_length=2, choices=JobRole.choices, default=JobRole.MEMBER)

View File

@@ -11,10 +11,23 @@ from rest_framework import viewsets
#from rest_framework import permissions
def __remove_if_zero_active_mem(job_group):
for elem in job_group:
job_members = JobMember.active_member.get_all_by_slug(slug=elem.slug)
if not job_members:
job_group.remove(elem)
return job_group
def __get_job_groups():
pinned_job_groups = JobGroup.all_jobgroups.get_pinned_active_jobgroups()
unpinned_job_groups = JobGroup.all_jobgroups.get_unpinned_active_jobgroups()
# remove job group if there is no longer an active member
pinned_job_groups = __remove_if_zero_active_mem(pinned_job_groups)
unpinned_job_groups = __remove_if_zero_active_mem(unpinned_job_groups)
# show max 5 pinned jobgroups
if len(pinned_job_groups) > 5:
for idx, val in enumerate(pinned_job_groups[5:]):