rename mixin and files

This commit is contained in:
Laetitia 2024-04-13 18:49:14 +02:00
parent 6b3b361e07
commit b9e66a5f2b
3 changed files with 9 additions and 17 deletions

View file

@ -13,7 +13,7 @@ from icalendar import Calendar, Event, vCalAddress, vText
from ..forms import GroupedOrderForm, Item, JoinGroupedOrderForm from ..forms import GroupedOrderForm, Item, JoinGroupedOrderForm
from ..models import GroupedOrder, OrderAuthor from ..models import GroupedOrder, OrderAuthor
from .helpers import UserCanAccessGroupedOrderOverviewMixin from .mixins import UserIsOrgaMixin
class IndexView(LoginRequiredMixin, generic.ListView): class IndexView(LoginRequiredMixin, generic.ListView):
@ -128,7 +128,7 @@ class GroupedOrderDetailView(generic.DetailView):
return context return context
class GroupedOrderOverview(UserCanAccessGroupedOrderOverviewMixin, generic.DetailView): class GroupedOrderOverview(UserIsOrgaMixin, generic.DetailView):
model = GroupedOrder model = GroupedOrder
template_name = "order/grouped_order_overview.html" template_name = "order/grouped_order_overview.html"
context_object_name = "grouped_order" context_object_name = "grouped_order"
@ -137,7 +137,7 @@ class GroupedOrderOverview(UserCanAccessGroupedOrderOverviewMixin, generic.Detai
return get_object_or_404(GroupedOrder, code=self.kwargs.get("code")) return get_object_or_404(GroupedOrder, code=self.kwargs.get("code"))
def test_func(self): def test_func(self):
# Access for grouped order manager, superuser, and staff (staff can see but not edit grouped orders) # Staff can see but not edit grouped orders
return super().test_func() or self.request.user.is_staff return super().test_func() or self.request.user.is_staff
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
@ -176,9 +176,7 @@ class GroupedOrderCreateView(LoginRequiredMixin, generic.CreateView):
return super().form_valid(form) return super().form_valid(form)
class GroupedOrderUpdateView( class GroupedOrderUpdateView(UserIsOrgaMixin, generic.UpdateView):
UserCanAccessGroupedOrderOverviewMixin, generic.UpdateView
):
model = GroupedOrder model = GroupedOrder
template_name = "order/grouped_order_update.html" template_name = "order/grouped_order_update.html"
context_object_name = "grouped_order" context_object_name = "grouped_order"
@ -193,9 +191,7 @@ class GroupedOrderUpdateView(
return kwargs return kwargs
class GroupedOrderDuplicateView( class GroupedOrderDuplicateView(UserIsOrgaMixin, generic.RedirectView):
UserCanAccessGroupedOrderOverviewMixin, generic.RedirectView
):
def get_object(self, queryset=None): def get_object(self, queryset=None):
return get_object_or_404(GroupedOrder, code=self.kwargs.get("code")) return get_object_or_404(GroupedOrder, code=self.kwargs.get("code"))
@ -235,9 +231,7 @@ class GroupedOrderDuplicateView(
) )
class GroupedOrderDeleteView( class GroupedOrderDeleteView(UserIsOrgaMixin, generic.DeleteView):
UserCanAccessGroupedOrderOverviewMixin, generic.DeleteView
):
model = GroupedOrder model = GroupedOrder
template_name = "order/grouped_order_confirm_delete.html" template_name = "order/grouped_order_confirm_delete.html"
context_object_name = "grouped_order" context_object_name = "grouped_order"
@ -279,9 +273,7 @@ class GroupedOrderAddItemsView(UserPassesTestMixin, generic.ListView):
return grouped_order.orga == self.request.user return grouped_order.orga == self.request.user
class GroupedOrderExportView( class GroupedOrderExportView(UserIsOrgaMixin, generic.DetailView):
UserCanAccessGroupedOrderOverviewMixin, generic.DetailView
):
model = GroupedOrder model = GroupedOrder
template_name = "order/grouped_order_sheet.html" template_name = "order/grouped_order_sheet.html"
context_object_name = "grouped_order" context_object_name = "grouped_order"

View file

@ -1,7 +1,7 @@
from django.contrib.auth.mixins import UserPassesTestMixin from django.contrib.auth.mixins import UserPassesTestMixin
class UserCanAccessGroupedOrderOverviewMixin(UserPassesTestMixin): class UserIsOrgaMixin(UserPassesTestMixin):
""" """
The view is accessible only if the request user is orga or superuser The view is accessible only if the request user is orga or superuser
""" """

View file

@ -735,7 +735,7 @@ class TestGroupedOrderOverview:
response = client_log.get(orga_view_url) response = client_log.get(orga_view_url)
assert response.status_code == 403 assert response.status_code == 403
def test_user_superuser_ok(self, other_user, admin_client): def test_superuser_can_access_overview(self, other_user, admin_client):
""" """
A superuser that is not orga can get the GroupedOrderOverview A superuser that is not orga can get the GroupedOrderOverview
""" """