Skip to content
Snippets Groups Projects
Select Git revision
  • main
  • renovate/sentry-sdk-2.x
  • renovate/django-5.x
  • renovate/whitenoise-6.x
  • develop protected
  • new-changes
  • v3.0.3
  • v3.0.2
  • v3.0.2-develop.1
  • v3.0.1
  • v3.0.0-develop.1
  • v3.0.0
  • v2.1.0
  • v2.0.3
  • v2.0.2
  • v2.0.1
  • v2.0.0
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.0.1
  • v1.0.0
22 results

requirements.txt

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    This project manages its dependencies using pip. Learn more
    views.py 2.85 KiB
    from django.http import Http404
    from django.utils.translation import gettext_lazy as _
    from django.views.generic import ListView, DetailView
    
    from AKModel.models import AK, AKCategory, AKTag
    from AKModel.views import FilterByEventSlugMixin
    from django.conf import settings
    
    
    class SubmissionOverviewView(FilterByEventSlugMixin, ListView):
        model = AK
        context_object_name = "AKs"
        template_name = "AKSubmission/submission_overview.html"
        ordering = ['category']
    
        def get_context_data(self, *, object_list=None, **kwargs):
            context = super().get_context_data(object_list=object_list, **kwargs)
    
            # Sort AKs into different lists (by their category)
            categories = []
            aks_for_category = []
            ak_wishes = []
            current_category = None
            for ak in context["AKs"]:
                if ak.category != current_category:
                    current_category = ak.category
                    aks_for_category = []
                    categories.append((current_category, aks_for_category))
                if settings.WISHES_AS_CATEGORY and ak.wish:
                    ak_wishes.append(ak)
                else:
                    aks_for_category.append(ak)
    
            if settings.WISHES_AS_CATEGORY:
                categories.append(({"name":_("Wishes"), "pk": "wish", "description": _("AKs one would like to have")}, ak_wishes))
            context["categories"] = categories
    
            return context
    
    
    class AKDetailView(DetailView):
        model = AK
        context_object_name = "ak"
        template_name = "AKSubmission/ak_detail.html"
    
    
    class AKListView(FilterByEventSlugMixin, ListView):
        model = AK
        context_object_name = "AKs"
        template_name = "AKSubmission/ak_list.html"
        filter_condition_string = ""
    
        def get_context_data(self, *, object_list=None, **kwargs):
            context = super().get_context_data(object_list=object_list, **kwargs)
            context['categories'] = AKCategory.objects.all()
            context["tags"] = AKTag.objects.all()
            context["filter_condition_string"] = self.filter_condition_string
            return context
    
    
    class AKListByCategoryView(AKListView):
        category = None
    
        def get_queryset(self):
            # Find category based on event slug
            try:
                self.category = AKCategory.objects.get(pk=self.kwargs['category_pk'])
                self.filter_condition_string = f"{_('Category')} = {self.category.name}"
            except AKCategory.DoesNotExist:
                raise Http404
            return super().get_queryset().filter(category=self.category)
    
    
    class AKListByTagView(AKListView):
        tag = None
    
        def get_queryset(self):
            # Find category based on event slug
            try:
                self.tag = AKTag.objects.get(pk=self.kwargs['tag_pk'])
                self.filter_condition_string = f"{_('Tag')} = {self.tag.name}"
            except AKTag.DoesNotExist:
                raise Http404
            return super().get_queryset().filter(tags=self.tag)