diff --git a/src/backoffice/views/assemblies/assemblies.py b/src/backoffice/views/assemblies/assemblies.py index ec599581d02be8af369a879f53f27fca57758e5c..da774083f4affaef9a888e1d588cd80435c06e9c 100644 --- a/src/backoffice/views/assemblies/assemblies.py +++ b/src/backoffice/views/assemblies/assemblies.py @@ -32,7 +32,7 @@ class AssemblyListView(ConferenceLoginRequiredMixin, View): def get(self, *args, **kwargs): if self.request.user.is_authenticated: - myassemblies = list(Assembly.objects.associated_with_user(conference=self.conference, user=self.request.user)) + myassemblies = list(Assembly.objects.associated_with_user(conference=self.conference, user=self.request.user, staff_can_see=False)) # remove stored backlink for assembly pages from the session if it is set, so the backlink will go to the overview, which is the default self.request.session.pop('assembly_back', None) diff --git a/src/core/models/events.py b/src/core/models/events.py index 46cda3b3e026f07c0a3750887e3ecd51fa2845af..3d458d1bdfc12cb7a4576e94f33a4c14fde0ac71 100644 --- a/src/core/models/events.py +++ b/src/core/models/events.py @@ -71,10 +71,17 @@ class EventManager(ConferenceManagerMixin['Event']): & Q(is_public=True) ) - def apply_manage_filter(self, queryset: 'QuerySet[Event]', member: ConferenceMember) -> 'QuerySet[Event]': - return queryset.filter( - Q(assembly__members__member=member, assembly__members__can_manage_assembly=True) | Q(owner=member.user, kind=Event.Kind.SELF_ORGANIZED) - ) + def apply_assembly_rights_filter(self, queryset: QuerySet['Event'], member: ConferenceMember, *, only_manageable: bool | None) -> QuerySet['Event']: + return super().apply_assembly_rights_filter(queryset, member, only_manageable=only_manageable) + + def apply_self_organized_rights_filter( + self, + queryset: QuerySet['Event'], + member: ConferenceMember, + *, + only_manageable: bool | None = None, + ) -> QuerySet['Event']: + return queryset.filter(owner=member.user, kind=Event.Kind.SELF_ORGANIZED) class Event(TaggedItemMixin, BackendMixin, ActivityLogMixin, models.Model):