From 18d519c1571a1cb2e1a2ab702df17eb0d81c5a82 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 27 Aug 2020 16:55:55 +0000 Subject: [PATCH] add profile view of a member --- fet2020/members/urls.py | 5 +- fet2020/members/views.py | 71 +++++++++++++++---- fet2020/templates/members/index.html | 34 +++++---- fet2020/templates/members/jobs_list.html | 2 - fet2020/templates/members/members_list.html | 8 --- .../templates/members/partials/_member.html | 6 +- 6 files changed, 82 insertions(+), 44 deletions(-) diff --git a/fet2020/members/urls.py b/fet2020/members/urls.py index 9a379aa5..9f671530 100644 --- a/fet2020/members/urls.py +++ b/fet2020/members/urls.py @@ -5,6 +5,7 @@ from . import views urlpatterns = [ path('', views.index, name='members'), - path('', views.index), - path('jobs/', views.index), + path('', views.members_view), + path('jobs/', views.jobs_view), + path('member/', views.profile_view), ] diff --git a/fet2020/members/views.py b/fet2020/members/views.py index be26658b..746d6b22 100644 --- a/fet2020/members/views.py +++ b/fet2020/members/views.py @@ -10,35 +10,76 @@ from rest_framework import permissions # from django_filters.rest_framework import DjangoFilterBackend -def index(request, slug=None, filter=None): +def index(request, filter=None): job_group = deque(JobGroup.objects.all()) - job_list = [] members = None - if slug is not None: - job_names = JobMember.jobs.get_job_names(slug=slug) - active_members = JobMember.active_member.get_members_of_job(job_names=job_names) - inactive_members = JobMember.inactive_member.get_members_of_job(job_names=job_names) - - for idx, item in enumerate(job_names): - job_list.append((job_names[idx], active_members[idx], inactive_members[idx])) + if filter is None: + members = deque(Member.all_members.all()) + elif filter in Member.MemberRole: + members = deque(Member.all_members.filter(role=filter)) else: - if filter is None: - members = deque(Member.all_members.all()) - elif filter in Member.MemberRole: - members = deque(Member.all_members.filter(role=filter)) - else: - members = None + members = None + + context = { + "job_group": job_group, + "members": members, + } + + return render(request, 'members/index.html', context) + + +def jobs_view(request, slug=None): + job_group = deque(JobGroup.objects.all()) + job_list = [] + + job_names = JobMember.jobs.get_job_names(slug=slug) + active_members = JobMember.active_member.get_members_of_job(job_names=job_names) + inactive_members = JobMember.inactive_member.get_members_of_job(job_names=job_names) + + for idx, item in enumerate(job_names): + job_list.append((job_names[idx], active_members[idx], inactive_members[idx])) context = { "job_group": job_group, "job_list": job_list, + } + + return render(request, 'members/index.html', context) + + +def members_view(request, filter=None): + job_group = deque(JobGroup.objects.all()) + + if filter is None: + members = deque(Member.all_members.all()) + elif filter in Member.MemberRole: + members = deque(Member.all_members.filter(role=filter)) + else: + members = None + + context = { + "job_group": job_group, "members": members, } return render(request, 'members/index.html', context) +def profile_view(request, member_name=None): + job_group = deque(JobGroup.objects.all()) + member = None + + member = deque(Member.all_members.filter(mailaccount=member_name)) + + context = { + "job_group": job_group, + "member": member, + } + + return render(request, 'members/index.html', context) + + class MemberViewSet(viewsets.ModelViewSet): """ API endpoint that allows users to be viewed or edited. diff --git a/fet2020/templates/members/index.html b/fet2020/templates/members/index.html index 7e4faf19..7e3fdb99 100644 --- a/fet2020/templates/members/index.html +++ b/fet2020/templates/members/index.html @@ -11,34 +11,38 @@ Aktive Mitglieder Inaktive Mitglieder {% for job in job_group %} - {{job.name}} + {{job.name}} {% endfor %} diff --git a/fet2020/templates/members/jobs_list.html b/fet2020/templates/members/jobs_list.html index 23ddb329..0955a987 100644 --- a/fet2020/templates/members/jobs_list.html +++ b/fet2020/templates/members/jobs_list.html @@ -1,6 +1,4 @@ -
- Aktuelle Mitglieder: {{active_members.count}}
{% for mem in active_members %} diff --git a/fet2020/templates/members/members_list.html b/fet2020/templates/members/members_list.html index b238a7b0..e97af0d6 100644 --- a/fet2020/templates/members/members_list.html +++ b/fet2020/templates/members/members_list.html @@ -1,6 +1,5 @@
-

Mitarbeiter Liste

Grid Style

{% for member in members %} @@ -16,11 +15,4 @@ {% include 'members/partials/_member.html' %} {% endfor %}
- -

Detail List

-
- {% for member in members %} - {% include 'members/partials/_member_details.html' %} - {% endfor %} -
diff --git a/fet2020/templates/members/partials/_member.html b/fet2020/templates/members/partials/_member.html index 9d598808..428e9a97 100644 --- a/fet2020/templates/members/partials/_member.html +++ b/fet2020/templates/members/partials/_member.html @@ -2,7 +2,9 @@ {# only thumb and name of member #} {% load thumbnail %} - -{% if member.image %}{% endif %} + +{% if member.image %} + +{% endif %}

{{member.nickname}}

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

\ No newline at end of file