add profile view of a member

This commit is contained in:
2020-08-27 16:55:55 +00:00
parent c9491f4d43
commit 18d519c157
6 changed files with 82 additions and 44 deletions

View File

@@ -5,6 +5,7 @@ from . import views
urlpatterns = [
path('', views.index, name='members'),
path('<str:filter>', views.index),
path('jobs/<str:slug>', views.index),
path('<str:filter>', views.members_view),
path('jobs/<str:slug>', views.jobs_view),
path('member/<str:member_name>', views.profile_view),
]

View File

@@ -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.