Extend members app: add filtering with django-filter, MemberFilter class, and initial view setup. Update URLs, templates, and dependencies for integration.

This commit is contained in:
2026-01-04 23:24:53 +01:00
parent e67ef526f4
commit 40ddab4627
14 changed files with 94 additions and 7 deletions

34
backend/members/views.py Normal file
View File

@@ -0,0 +1,34 @@
from typing import Any
from django.contrib import messages
from django.http import HttpResponse, HttpResponseRedirect
from django.urls import reverse_lazy
from django.utils.translation import gettext_lazy as _
from django_filters.views import FilterView
from rules.contrib.views import PermissionRequiredMixin
from members.filters import MemberFilter
from members.models import Member
class MemberListView(PermissionRequiredMixin, FilterView):
filterset_class = MemberFilter
paginate_by = 50
permission_denied_message = _("You do not have permission to view this page.")
permission_required = "members.view_member"
def handle_no_permission(self) -> HttpResponseRedirect:
messages.error(self.request, self.get_permission_denied_message())
return HttpResponseRedirect(reverse_lazy("backend:index"))
class MemberAddView: ...
class MemberEditView: ...
class MemberDeleteView: ...
class MemberLoadView: ...