add anchor tags to jobs, add http404 response

This commit is contained in:
2020-09-06 10:00:34 +00:00
parent 91c127b0db
commit 6fb036d0f1
4 changed files with 32 additions and 32 deletions

View File

@@ -72,11 +72,13 @@ class MemberManager(models.Manager):
class JobManager(models.Manager):
def get_job_names(self, slug):
tmp_list = []
job_list = []
slug_list = []
for i in self.get_queryset().filter(Q(job__job_group__slug=slug)):
if i.job.name not in tmp_list:
tmp_list.append(i.job.name)
return tmp_list
if i.job.name not in job_list:
job_list.append(i.job.name)
slug_list.append(i.job.slug)
return job_list, slug_list
class Member(models.Model):

View File

@@ -1,3 +1,4 @@
from django.http import Http404
from django.shortcuts import render
from collections import deque
@@ -9,16 +10,9 @@ from rest_framework import permissions
# from django_filters.rest_framework import DjangoFilterBackend
def index(request, slug=None, filter=None):
def index(request):
job_group = deque(JobGroup.objects.all())
members = None
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 = deque(Member.all_members.all())
context = {
"job_group": job_group,
@@ -32,12 +26,18 @@ def jobs_view(request, slug=None):
job_group = deque(JobGroup.objects.all())
job_list = []
job_names = JobMember.jobs.get_job_names(slug=slug)
job_names, slug_list = JobMember.jobs.get_job_names(slug=slug)
if not job_names:
raise Http404("no jobs")
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]))
job_list.append(
(job_names[idx], active_members[idx], inactive_members[idx], slug_list[idx])
)
context = {
"job_group": job_group,
@@ -49,12 +49,10 @@ def jobs_view(request, slug=None):
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:
if filter in Member.MemberRole:
members = deque(Member.all_members.filter(role=filter))
else:
members = None
raise Http404("no member role")
context = {
"job_group": job_group,
@@ -66,10 +64,10 @@ def members_view(request, filter=None):
def profile_view(request, member_name=None):
job_group = deque(JobGroup.objects.all())
member = None
jobs = None
member = deque(Member.all_members.filter(nickname=member_name))
if not member:
raise Http404("no member")
jobs = deque(JobMember.members.filter(member__nickname=member_name))
context = {