diff --git a/fet2020/fet2020/settings.py b/fet2020/fet2020/settings.py index f16325d5..312e7403 100644 --- a/fet2020/fet2020/settings.py +++ b/fet2020/fet2020/settings.py @@ -98,6 +98,7 @@ INSTALLED_APPS = [ MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', @@ -121,6 +122,7 @@ TEMPLATES = [ 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', + 'django.template.context_processors.i18n', ], }, }, diff --git a/fet2020/members/models.py b/fet2020/members/models.py index 3f7b280f..1e587eab 100644 --- a/fet2020/members/models.py +++ b/fet2020/members/models.py @@ -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) diff --git a/fet2020/members/views.py b/fet2020/members/views.py index 19bac1fb..3be37b71 100644 --- a/fet2020/members/views.py +++ b/fet2020/members/views.py @@ -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:]): diff --git a/fet2020/templates/members/index.html b/fet2020/templates/members/index.html index d9301c8d..7f62c9d0 100644 --- a/fet2020/templates/members/index.html +++ b/fet2020/templates/members/index.html @@ -23,19 +23,23 @@
{{member.firstname}} {{member.surname}}