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 ..models import GroupedOrder, OrderAuthor
from .helpers import UserCanAccessGroupedOrderOverviewMixin
from .mixins import UserIsOrgaMixin
class IndexView(LoginRequiredMixin, generic.ListView):
@ -128,7 +128,7 @@ class GroupedOrderDetailView(generic.DetailView):
return context
class GroupedOrderOverview(UserCanAccessGroupedOrderOverviewMixin, generic.DetailView):
class GroupedOrderOverview(UserIsOrgaMixin, generic.DetailView):
model = GroupedOrder
template_name = "order/grouped_order_overview.html"
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"))
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
def get(self, request, *args, **kwargs):
@ -176,9 +176,7 @@ class GroupedOrderCreateView(LoginRequiredMixin, generic.CreateView):
return super().form_valid(form)
class GroupedOrderUpdateView(
UserCanAccessGroupedOrderOverviewMixin, generic.UpdateView
):
class GroupedOrderUpdateView(UserIsOrgaMixin, generic.UpdateView):
model = GroupedOrder
template_name = "order/grouped_order_update.html"
context_object_name = "grouped_order"
@ -193,9 +191,7 @@ class GroupedOrderUpdateView(
return kwargs
class GroupedOrderDuplicateView(
UserCanAccessGroupedOrderOverviewMixin, generic.RedirectView
):
class GroupedOrderDuplicateView(UserIsOrgaMixin, generic.RedirectView):
def get_object(self, queryset=None):
return get_object_or_404(GroupedOrder, code=self.kwargs.get("code"))
@ -235,9 +231,7 @@ class GroupedOrderDuplicateView(
)
class GroupedOrderDeleteView(
UserCanAccessGroupedOrderOverviewMixin, generic.DeleteView
):
class GroupedOrderDeleteView(UserIsOrgaMixin, generic.DeleteView):
model = GroupedOrder
template_name = "order/grouped_order_confirm_delete.html"
context_object_name = "grouped_order"
@ -279,9 +273,7 @@ class GroupedOrderAddItemsView(UserPassesTestMixin, generic.ListView):
return grouped_order.orga == self.request.user
class GroupedOrderExportView(
UserCanAccessGroupedOrderOverviewMixin, generic.DetailView
):
class GroupedOrderExportView(UserIsOrgaMixin, generic.DetailView):
model = GroupedOrder
template_name = "order/grouped_order_sheet.html"
context_object_name = "grouped_order"

View file

@ -1,7 +1,7 @@
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
"""

View file

@ -735,7 +735,7 @@ class TestGroupedOrderOverview:
response = client_log.get(orga_view_url)
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
"""