ask for user confirmation if its role was moved out of presidency

This commit is contained in:
imperosol
2026-04-17 22:49:45 +02:00
parent 33902b4e15
commit 9c924c5b14
3 changed files with 46 additions and 11 deletions

View File

@@ -431,12 +431,10 @@ class ClubRoleUpdateView(
success_message = _("Club roles updated")
def test_func(self):
if self.request.user.has_perm("club.change_clubrole"):
return True
club: Club = self.get_object()
return club.members.filter(
user=self.request.user, role__is_presidency=True
).exists()
return (
self.request.user.is_authenticated
and self.get_object().can_roles_be_edited_by(self.request.user)
)
def get_form_kwargs(self):
return super().get_form_kwargs() | {"form_kwargs": {"label_suffix": ""}}
@@ -444,6 +442,17 @@ class ClubRoleUpdateView(
def get_success_url(self):
return self.request.path
def get_context_data(self, **kwargs):
return super().get_context_data(**kwargs) | {
"user_role": ClubRole.objects.filter(
club=self.object,
members__user=self.request.user,
members__end_date=None,
)
.values_list("id", flat=True)
.first()
}
class ClubRoleBaseCreateView(UserPassesTestMixin, SuccessMessageMixin, CreateView):
"""View to create a new Club Role, using [][club.forms.ClubRoleCreateForm].