delete option is_pinned
This commit is contained in:
@@ -135,7 +135,7 @@ class JobAdmin(admin.ModelAdmin):
|
||||
"shortterm",
|
||||
"slug",
|
||||
)
|
||||
}
|
||||
},
|
||||
),
|
||||
)
|
||||
inlines = (ActiveMemberInline, InactiveMemberInline)
|
||||
@@ -169,7 +169,7 @@ class JobGroupAdmin(admin.ModelAdmin):
|
||||
form = JobGroupForm
|
||||
model = JobGroup
|
||||
|
||||
list_display = ["name", "is_pinned"]
|
||||
list_display = ["name"]
|
||||
ordering = ["name"]
|
||||
search_fields = ["name"]
|
||||
|
||||
@@ -180,7 +180,6 @@ class JobGroupAdmin(admin.ModelAdmin):
|
||||
"fields": (
|
||||
"name",
|
||||
"description",
|
||||
"is_pinned",
|
||||
)
|
||||
},
|
||||
),
|
||||
@@ -191,7 +190,7 @@ class JobGroupAdmin(admin.ModelAdmin):
|
||||
"shortterm",
|
||||
"slug",
|
||||
)
|
||||
}
|
||||
},
|
||||
),
|
||||
)
|
||||
inlines = (JobInline,)
|
||||
|
||||
@@ -57,10 +57,6 @@ class JobGroupForm(forms.ModelForm):
|
||||
"shortterm": _("Kürzel des Tätigkeitsbereichs"),
|
||||
"slug": _("Permalink"),
|
||||
"description": _("Beschreibung des Tätigkeitsbereichs"),
|
||||
"is_pinned": _(
|
||||
"Dieser Tätigkeitsbereich soll im Fachschaftsbereich angeheftet werden, "
|
||||
"damit es sofort ersichtlich ist."
|
||||
),
|
||||
}
|
||||
|
||||
widgets = {"description": CKEditorUploadingWidget(config_name="default")}
|
||||
|
||||
@@ -65,14 +65,6 @@ class JobMemberManager(models.Manager):
|
||||
)
|
||||
|
||||
|
||||
class JobGroupManager(models.Manager):
|
||||
def get_pinned_jobgroups(self):
|
||||
return self.get_queryset().filter(is_pinned=True)
|
||||
|
||||
def get_unpinned_jobgroups(self):
|
||||
return self.get_queryset().filter(is_pinned=False)
|
||||
|
||||
|
||||
class MemberManager(models.Manager):
|
||||
def get_queryset(self):
|
||||
return super().get_queryset().order_by("firstname")
|
||||
|
||||
@@ -13,7 +13,6 @@ from .managers import (
|
||||
ActiveJobMemberManager,
|
||||
InactiveJobMemberManager,
|
||||
JobMemberManager,
|
||||
JobGroupManager,
|
||||
MemberManager,
|
||||
)
|
||||
from .validators import (
|
||||
@@ -116,11 +115,8 @@ class JobGroup(models.Model):
|
||||
|
||||
description = models.TextField(null=True, blank=True)
|
||||
|
||||
is_pinned = models.BooleanField(verbose_name="ANGEHEFTET", default=False)
|
||||
|
||||
# Managers
|
||||
objects = models.Manager()
|
||||
all_jobgroups = JobGroupManager()
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Tätigkeitsbereich"
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import logging
|
||||
from collections import deque
|
||||
|
||||
from django.http import Http404
|
||||
from django.shortcuts import render
|
||||
@@ -9,40 +8,24 @@ from .models import Member, JobMember, JobGroup
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def __remove_if_zero_active_mem(job_group):
|
||||
for elem in list(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 = deque(JobGroup.all_jobgroups.get_pinned_jobgroups())
|
||||
unpinned_job_groups = deque(JobGroup.all_jobgroups.get_unpinned_jobgroups())
|
||||
job_groups = list(JobGroup.objects.all())
|
||||
|
||||
# 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)
|
||||
for elem in job_groups:
|
||||
job_members = JobMember.active_member.get_all_by_slug(slug=elem.slug)
|
||||
if not job_members:
|
||||
job_groups.remove(elem)
|
||||
|
||||
# show max 5 pinned jobgroups
|
||||
if len(pinned_job_groups) > 5:
|
||||
for idx, val in enumerate(pinned_job_groups[5:]):
|
||||
unpinned_job_groups.append(val)
|
||||
|
||||
pinned_job_groups = pinned_job_groups[:5]
|
||||
|
||||
return pinned_job_groups, unpinned_job_groups
|
||||
return job_groups
|
||||
|
||||
|
||||
def index(request):
|
||||
pinned_job_groups, unpinned_job_groups = __get_job_groups()
|
||||
job_groups = __get_job_groups()
|
||||
members = Member.all_members.all()
|
||||
|
||||
context = {
|
||||
"pinned_job_groups": pinned_job_groups,
|
||||
"unpinned_job_groups": unpinned_job_groups,
|
||||
"job_groups": job_groups,
|
||||
"members": members,
|
||||
}
|
||||
|
||||
@@ -50,12 +33,10 @@ def index(request):
|
||||
|
||||
|
||||
def jobs(request, slug=None):
|
||||
pinned_job_groups, unpinned_job_groups = __get_job_groups()
|
||||
job_groups = __get_job_groups()
|
||||
|
||||
try:
|
||||
description = (
|
||||
JobGroup.all_jobgroups.filter(slug=slug).values().first()["description"]
|
||||
)
|
||||
description = JobGroup.objects.filter(slug=slug).values().first()["description"]
|
||||
except Exception:
|
||||
logger.info("Wrong job '{}'".format(slug))
|
||||
raise Http404("wrong job")
|
||||
@@ -64,8 +45,7 @@ def jobs(request, slug=None):
|
||||
active_job_group = JobGroup.objects.filter(slug=slug).first()
|
||||
|
||||
context = {
|
||||
"pinned_job_groups": pinned_job_groups,
|
||||
"unpinned_job_groups": unpinned_job_groups,
|
||||
"job_groups": job_groups,
|
||||
"description": description,
|
||||
"job_members": job_members,
|
||||
"active_job_group": active_job_group,
|
||||
@@ -75,7 +55,7 @@ def jobs(request, slug=None):
|
||||
|
||||
|
||||
def members(request, filter=None):
|
||||
pinned_job_groups, unpinned_job_groups = __get_job_groups()
|
||||
job_groups = __get_job_groups()
|
||||
|
||||
for elem in Member.MemberRole:
|
||||
if filter == elem.label.lower():
|
||||
@@ -86,8 +66,7 @@ def members(request, filter=None):
|
||||
raise Http404("no member role")
|
||||
|
||||
context = {
|
||||
"pinned_job_groups": pinned_job_groups,
|
||||
"unpinned_job_groups": unpinned_job_groups,
|
||||
"job_groups": job_groups,
|
||||
"members": members,
|
||||
}
|
||||
|
||||
@@ -95,7 +74,7 @@ def members(request, filter=None):
|
||||
|
||||
|
||||
def profile(request, member_id=None):
|
||||
pinned_job_groups, unpinned_job_groups = __get_job_groups()
|
||||
job_groups = __get_job_groups()
|
||||
|
||||
member = Member.all_members.filter(id=member_id).first()
|
||||
if not member:
|
||||
@@ -106,8 +85,7 @@ def profile(request, member_id=None):
|
||||
inactive_jobs = JobMember.members.get_inactive_jobs(member_id)
|
||||
|
||||
context = {
|
||||
"pinned_job_groups": pinned_job_groups,
|
||||
"unpinned_job_groups": unpinned_job_groups,
|
||||
"job_groups": job_groups,
|
||||
"member": member,
|
||||
"active_jobs": active_jobs,
|
||||
"inactive_jobs": inactive_jobs,
|
||||
|
||||
@@ -32,7 +32,7 @@ class JobGroupViewSet(viewsets.ModelViewSet):
|
||||
API endpoint that allows users to be viewed or edited.
|
||||
"""
|
||||
|
||||
queryset = JobGroup.all_jobgroups.all()
|
||||
queryset = JobGroup.objects.all()
|
||||
serializer_class = JobGroupSerializer
|
||||
|
||||
filter_backends = [DjangoFilterBackend]
|
||||
|
||||
@@ -41,11 +41,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<ul class="sideBarNav">
|
||||
{% for job in pinned_job_groups %}
|
||||
{% include 'members/partials/_jobs_side_bar.html' %}
|
||||
{% endfor %}
|
||||
|
||||
{% for job in unpinned_job_groups %}
|
||||
{% for job in job_groups %}
|
||||
{% include 'members/partials/_jobs_side_bar.html' %}
|
||||
{% endfor %}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user