diff --git a/fet2020/members/admin.py b/fet2020/members/admin.py index fb3a710b..ce5e739d 100644 --- a/fet2020/members/admin.py +++ b/fet2020/members/admin.py @@ -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,) diff --git a/fet2020/members/forms.py b/fet2020/members/forms.py index eff839fb..efe0f81e 100644 --- a/fet2020/members/forms.py +++ b/fet2020/members/forms.py @@ -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")} diff --git a/fet2020/members/managers.py b/fet2020/members/managers.py index f7c6cae4..af654b02 100644 --- a/fet2020/members/managers.py +++ b/fet2020/members/managers.py @@ -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") diff --git a/fet2020/members/models.py b/fet2020/members/models.py index 54012741..555f280e 100644 --- a/fet2020/members/models.py +++ b/fet2020/members/models.py @@ -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" diff --git a/fet2020/members/views.py b/fet2020/members/views.py index e4e97c7f..5fd4fb35 100644 --- a/fet2020/members/views.py +++ b/fet2020/members/views.py @@ -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, diff --git a/fet2020/members/viewsets.py b/fet2020/members/viewsets.py index 92a0cf69..41979293 100644 --- a/fet2020/members/viewsets.py +++ b/fet2020/members/viewsets.py @@ -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] diff --git a/fet2020/templates/members/index.html b/fet2020/templates/members/index.html index 869a9b6d..da7a3367 100644 --- a/fet2020/templates/members/index.html +++ b/fet2020/templates/members/index.html @@ -41,11 +41,7 @@