add anchor tags to jobs, add http404 response
This commit is contained in:
@@ -72,11 +72,13 @@ class MemberManager(models.Manager):
|
|||||||
|
|
||||||
class JobManager(models.Manager):
|
class JobManager(models.Manager):
|
||||||
def get_job_names(self, slug):
|
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)):
|
for i in self.get_queryset().filter(Q(job__job_group__slug=slug)):
|
||||||
if i.job.name not in tmp_list:
|
if i.job.name not in job_list:
|
||||||
tmp_list.append(i.job.name)
|
job_list.append(i.job.name)
|
||||||
return tmp_list
|
slug_list.append(i.job.slug)
|
||||||
|
return job_list, slug_list
|
||||||
|
|
||||||
|
|
||||||
class Member(models.Model):
|
class Member(models.Model):
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
from django.http import Http404
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
|
|
||||||
from collections import deque
|
from collections import deque
|
||||||
@@ -9,16 +10,9 @@ from rest_framework import permissions
|
|||||||
# from django_filters.rest_framework import DjangoFilterBackend
|
# from django_filters.rest_framework import DjangoFilterBackend
|
||||||
|
|
||||||
|
|
||||||
def index(request, slug=None, filter=None):
|
def index(request):
|
||||||
job_group = deque(JobGroup.objects.all())
|
job_group = deque(JobGroup.objects.all())
|
||||||
members = None
|
|
||||||
|
|
||||||
if filter is None:
|
|
||||||
members = deque(Member.all_members.all())
|
members = deque(Member.all_members.all())
|
||||||
elif filter in Member.MemberRole:
|
|
||||||
members = deque(Member.all_members.filter(role=filter))
|
|
||||||
else:
|
|
||||||
members = None
|
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
"job_group": job_group,
|
"job_group": job_group,
|
||||||
@@ -32,12 +26,18 @@ def jobs_view(request, slug=None):
|
|||||||
job_group = deque(JobGroup.objects.all())
|
job_group = deque(JobGroup.objects.all())
|
||||||
job_list = []
|
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)
|
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)
|
inactive_members = JobMember.inactive_member.get_members_of_job(job_names=job_names)
|
||||||
|
|
||||||
for idx, item in enumerate(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 = {
|
context = {
|
||||||
"job_group": job_group,
|
"job_group": job_group,
|
||||||
@@ -49,12 +49,10 @@ def jobs_view(request, slug=None):
|
|||||||
def members_view(request, filter=None):
|
def members_view(request, filter=None):
|
||||||
job_group = deque(JobGroup.objects.all())
|
job_group = deque(JobGroup.objects.all())
|
||||||
|
|
||||||
if filter is None:
|
if filter in Member.MemberRole:
|
||||||
members = deque(Member.all_members.all())
|
|
||||||
elif filter in Member.MemberRole:
|
|
||||||
members = deque(Member.all_members.filter(role=filter))
|
members = deque(Member.all_members.filter(role=filter))
|
||||||
else:
|
else:
|
||||||
members = None
|
raise Http404("no member role")
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
"job_group": job_group,
|
"job_group": job_group,
|
||||||
@@ -66,10 +64,10 @@ def members_view(request, filter=None):
|
|||||||
|
|
||||||
def profile_view(request, member_name=None):
|
def profile_view(request, member_name=None):
|
||||||
job_group = deque(JobGroup.objects.all())
|
job_group = deque(JobGroup.objects.all())
|
||||||
member = None
|
|
||||||
jobs = None
|
|
||||||
|
|
||||||
member = deque(Member.all_members.filter(nickname=member_name))
|
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))
|
jobs = deque(JobMember.members.filter(member__nickname=member_name))
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
|
|||||||
@@ -24,17 +24,17 @@
|
|||||||
{% endwith %}
|
{% endwith %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
<div id="members" class="tab-pane fade in active">
|
|
||||||
{% if members is not None %}
|
{% if members is not None %}
|
||||||
|
<div id="members" class="tab-pane">
|
||||||
{% include 'members/members_list.html' %}
|
{% include 'members/members_list.html' %}
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% for job in job_list %}
|
{% for job in job_list %}
|
||||||
<div id="jobs-{{job.slug}}" class="tab-pane">
|
<div id="jobs" class="tab-pane">
|
||||||
<div class="grid-container">
|
<div class="grid-container">
|
||||||
|
|
||||||
<h2>{{job.0}}</h2>
|
<div id="{{job.3}}"><a href="#{{job.3}}"><h2>{{job.0}}</h2></a></div>
|
||||||
|
|
||||||
{% with active_members=job.1 inactive_members=job.2 %}
|
{% with active_members=job.1 inactive_members=job.2 %}
|
||||||
{% include 'members/jobs_list.html' %}
|
{% include 'members/jobs_list.html' %}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<div class="medium-3 large-2 small-6 cell">
|
<div class="medium-3 large-2 small-6 cell">
|
||||||
<h2>{{mem.member.surname}}</h2>
|
<h2>{{mem.member.surname}}</h2>
|
||||||
{% include 'members/partials/_member.html' %}
|
{% include 'members/partials/_member.html' %}
|
||||||
<h2>{{mem.get_job_role_display}} ({{mem.job_start}} - {{mem.job_end}})</h2>
|
<h2>{{mem.get_job_role_display}} ({{mem.job_start|date}} - {{mem.job_end|date}})</h2>
|
||||||
</div>
|
</div>
|
||||||
{%endwith %}
|
{%endwith %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
Reference in New Issue
Block a user