Compare commits

...

1 Commits

Author SHA1 Message Date
Raphael Michel
0e20687331 Permissions: Fix staff session handling for organizer exports 2026-03-18 09:50:43 +01:00
3 changed files with 10 additions and 4 deletions

View File

@@ -257,7 +257,7 @@ def init_organizer_exporters(
if permission_name not in _event_list_cache:
if staff_session:
events = event_qs.all()
events = event_qs.all() if event_qs else organizer.events.all()
elif event_qs is not None:
events = event_qs.filter(
pk__in=perm_holder.get_events_with_permission(
@@ -292,7 +292,7 @@ def init_organizer_exporters(
elif device:
_has_permission_on_any_team_cache[permission_name] = device.has_event_permission(permission_name)
if not _has_permission_on_any_team_cache[permission_name]:
if not _has_permission_on_any_team_cache[permission_name] and not staff_session:
continue
exporter: BaseExporter = response(event=_event_list_cache[permission_name], organizer=organizer, **kwargs)

View File

@@ -2649,7 +2649,10 @@ class OrderGo(EventPermissionRequiredMixin, View):
class ExportMixin:
@cached_property
def exporters(self):
raw_exporters = list(init_event_exporters(self.request.event, user=self.request.user, request=self.request))
raw_exporters = list(init_event_exporters(
self.request.event, user=self.request.user, request=self.request,
staff_session=self.request.user.has_active_staff_session(self.request.session.session_key),
))
return sorted(
raw_exporters,
key=lambda ex: (0 if ex.category else 1, ex.category or "", 0 if ex.featured else 1, str(ex.verbose_name).lower())

View File

@@ -2025,7 +2025,10 @@ class ExportMixin:
@cached_property
def exporters(self):
raw_exporters = list(init_organizer_exporters(self.request.organizer, user=self.request.user, request=self.request))
raw_exporters = list(init_organizer_exporters(
self.request.organizer, user=self.request.user, request=self.request,
staff_session=self.request.user.has_active_staff_session(self.request.session.session_key),
))
return sorted(
raw_exporters,
key=lambda ex: (