update member view
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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:]):
|
||||
|
||||
Reference in New Issue
Block a user