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:
0
backend/members/__init__.py
Normal file
0
backend/members/__init__.py
Normal file
12
backend/members/urls.py
Normal file
12
backend/members/urls.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from django.urls import include, path
|
||||
|
||||
from .views import MemberAddView, MemberDeleteView, MemberEditView, MemberListView, MemberLoadView
|
||||
|
||||
app_name = "members"
|
||||
urlpatterns = [
|
||||
path("", MemberListView.as_view(), name="list"),
|
||||
# path("add/", MemberAddView.as_view(), name="add"),
|
||||
# path("<int:pk>/edit/", MemberEditView.as_view(), name="edit"),
|
||||
# path("<int:pk>/delete/", MemberDeleteView.as_view(), name="delete"),
|
||||
# path("load/", MemberLoadView.as_view(), name="load"),
|
||||
]
|
||||
34
backend/members/views.py
Normal file
34
backend/members/views.py
Normal 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: ...
|
||||
Reference in New Issue
Block a user