From e0adc53dd3ee4b79f5829989e5b0fa0944a342c3 Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 24 Nov 2020 20:31:06 +0000 Subject: [PATCH] update member view --- fet2020/fet2020/settings.py | 2 ++ fet2020/members/models.py | 16 ++++++------ fet2020/members/views.py | 13 ++++++++++ fet2020/templates/members/index.html | 22 ++++++++-------- fet2020/templates/members/members_list.html | 4 +-- .../partials/_job_membership_grid.html | 26 +++++++++++-------- .../templates/members/partials/_member.html | 1 - 7 files changed, 51 insertions(+), 33 deletions(-) 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 @@
{% for job in pinned_job_groups %} - + {% endfor %} {% for job in unpinned_job_groups %} {% endfor %} - - + +
@@ -72,20 +76,16 @@ {% for jobmem in all_jobmem_list %} -
+

{{jobmem.grouper}} #

Aktuelle Mitglieder: -
+
{% for jm in jobmem.list %} {% with member=jm.member %} -
-

{{member.firstname}} {{member.surname}}

- {% include 'members/partials/_member.html' %} - {{jm.get_job_role_display}} ({{jm.job_start|date}} - {{jm.job_end|date}}) -
+ {% include 'members/partials/_job_membership_grid.html' %} {% endwith %} {% endfor %} diff --git a/fet2020/templates/members/members_list.html b/fet2020/templates/members/members_list.html index 868a71ba..ec252ed1 100644 --- a/fet2020/templates/members/members_list.html +++ b/fet2020/templates/members/members_list.html @@ -1,7 +1,7 @@ -
+
{% for member in members %} -
+

{{member.firstname}} {{member.surname}}

{% include 'members/partials/_member.html' %}
diff --git a/fet2020/templates/members/partials/_job_membership_grid.html b/fet2020/templates/members/partials/_job_membership_grid.html index 7872f4bb..ee3180d3 100644 --- a/fet2020/templates/members/partials/_job_membership_grid.html +++ b/fet2020/templates/members/partials/_job_membership_grid.html @@ -1,11 +1,15 @@ -
- {% for mem in job_memberships %} - {% with member=mem.member %} -
-

{{member.firstname}} {{member.surname}}

- {% include 'members/partials/_member.html' %} -

{{mem.get_job_role_display}} ({{mem.job_start|date}} - {{mem.job_end|date}})

-
- {% endwith %} - {% endfor %} -
\ No newline at end of file +{% load i18n %} + +
+

{{member.firstname}} {{member.surname}}

+ {% include 'members/partials/_member.html' %} +
+ {{ jm.get_job_role_display }}
+ ({{ jm.job_start|date }} - + + {% if jm.job_end %} + {{ jm.job_end|date }})
+ {% else %} + )

+ {% endif %} +
diff --git a/fet2020/templates/members/partials/_member.html b/fet2020/templates/members/partials/_member.html index 4ed16643..57df88c5 100644 --- a/fet2020/templates/members/partials/_member.html +++ b/fet2020/templates/members/partials/_member.html @@ -4,7 +4,6 @@

{{member.nickname}}

-

{{member.firstname}} {{member.surname}}