Teams: Allow admin user to delete the last team

This commit is contained in:
Raphael Michel
2023-06-21 16:51:53 +02:00
parent e8859cb2e2
commit 3f47cf785c

View File

@@ -670,7 +670,7 @@ class TeamDeleteView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMixin,
def is_allowed(self) -> bool: def is_allowed(self) -> bool:
return self.request.organizer.teams.exclude(pk=self.kwargs.get('team')).filter( return self.request.organizer.teams.exclude(pk=self.kwargs.get('team')).filter(
can_change_teams=True, members__isnull=False can_change_teams=True, members__isnull=False
).exists() ).exists() or self.request.user.has_active_staff_session(self.request.session.session_key)
@transaction.atomic @transaction.atomic
def delete(self, request, *args, **kwargs): def delete(self, request, *args, **kwargs):
@@ -754,7 +754,7 @@ class TeamMemberView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMixin,
else: else:
other_admin_teams = self.request.organizer.teams.exclude(pk=self.object.pk).filter( other_admin_teams = self.request.organizer.teams.exclude(pk=self.object.pk).filter(
can_change_teams=True, members__isnull=False can_change_teams=True, members__isnull=False
).exists() ).exists() or self.request.user.has_active_staff_session(self.request.session.session_key)
if not other_admin_teams and self.object.can_change_teams and self.object.members.count() == 1: if not other_admin_teams and self.object.can_change_teams and self.object.members.count() == 1:
messages.error(self.request, _('You cannot remove the last member from this team as no one would ' messages.error(self.request, _('You cannot remove the last member from this team as no one would '
'be left with the permission to change teams.')) 'be left with the permission to change teams.'))