|
31 | 31 | from utils.mixins import IsTeamPermContextMixin |
32 | 32 |
|
33 | 33 | from .mixins import EnsureTeamLeadMixin |
| 34 | +from .mixins import EnsureTeamMemberMixin |
34 | 35 |
|
35 | 36 | if TYPE_CHECKING: |
36 | 37 | from django.db.models import QuerySet |
@@ -312,7 +313,7 @@ def get_context_data(self, **kwargs) -> dict: |
312 | 313 | return context |
313 | 314 |
|
314 | 315 |
|
315 | | -class MemberTakesShift(LoginRequiredMixin, CampViewMixin, UpdateView): |
| 316 | +class MemberTakesShift(LoginRequiredMixin, CampViewMixin, EnsureTeamMemberMixin, UpdateView): |
316 | 317 | """View for adding a user to a shift.""" |
317 | 318 | model = TeamShift |
318 | 319 | fields = [] |
@@ -365,7 +366,7 @@ def form_valid(self, form: ModelForm[TeamShift]) -> HttpResponseRedirect: |
365 | 366 | return HttpResponseRedirect(reverse("teams:shifts", kwargs=self.kwargs)) |
366 | 367 |
|
367 | 368 |
|
368 | | -class MemberDropsShift(LoginRequiredMixin, CampViewMixin, UpdateView): |
| 369 | +class MemberDropsShift(LoginRequiredMixin, CampViewMixin, EnsureTeamMemberMixin, UpdateView): |
369 | 370 | model = TeamShift |
370 | 371 | fields = [] |
371 | 372 | template_name = "team_shift_confirm_action.html" |
@@ -394,7 +395,7 @@ def form_valid(self, form: ModelForm[TeamShift]) -> HttpResponseRedirect: |
394 | 395 | return HttpResponseRedirect(reverse("teams:shifts", kwargs=self.kwargs)) |
395 | 396 |
|
396 | 397 |
|
397 | | -class MemberSellsShift(LoginRequiredMixin, CampViewMixin, UpdateView): |
| 398 | +class MemberSellsShift(LoginRequiredMixin, CampViewMixin, EnsureTeamMemberMixin, UpdateView): |
398 | 399 | """View for making a shift available for other user to take.""" |
399 | 400 | model = TeamShift |
400 | 401 | fields = [] |
|
0 commit comments