diff --git a/club/models.py b/club/models.py index f8698d6b..408090b2 100644 --- a/club/models.py +++ b/club/models.py @@ -238,6 +238,13 @@ class Club(models.Model): """Method to see if that object can be edited by the given user.""" return self.has_rights_in_club(user) + def can_roles_be_edited_by(self, user: User) -> bool: + """Return True if the given user can edit the roles of this club""" + return ( + user.has_perm("club.change_clubrole") + or self.members.ongoing().filter(user=user, role__is_presidency=True).exists() + ) + @cached_property def current_members(self) -> list[Membership]: return list( diff --git a/club/templates/club/club_members.jinja b/club/templates/club/club_members.jinja index 3e134442..684326e4 100644 --- a/club/templates/club/club_members.jinja +++ b/club/templates/club/club_members.jinja @@ -12,6 +12,15 @@