From 1e0e16642d4a3e1716f98dc887e3ecc672927ba3 Mon Sep 17 00:00:00 2001 From: George Hickman Date: Fri, 16 Jan 2026 12:36:23 +0000 Subject: [PATCH] Add more log entry types to the org-level logs page (#5787) * Add more log entry types to the org-level logs page all_logentries() limits the QuerySet to LogEntrys whose content object is an Organizer. This change expands that to get any LogEntry linked to the current Organization. It removes those that are linked directly to an Event, since they are already served by the event-level logs page. * Check active plugins with either Event or Organizer --- src/pretix/base/models/log.py | 3 ++- src/pretix/control/views/organizer.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pretix/base/models/log.py b/src/pretix/base/models/log.py index 52ce878169..43b5439ef9 100644 --- a/src/pretix/base/models/log.py +++ b/src/pretix/base/models/log.py @@ -141,8 +141,9 @@ class LogEntry(models.Model): log_entry_type, meta = log_entry_types.get(action_type=self.action_type) if log_entry_type: + sender = self.event if self.event else self.organizer link_info = log_entry_type.get_object_link_info(self) - if is_app_active(self.event, meta['plugin']): + if is_app_active(sender, meta['plugin']): return make_link(link_info, log_entry_type.object_link_wrapper) else: return make_link(link_info, log_entry_type.object_link_wrapper, is_active=False, diff --git a/src/pretix/control/views/organizer.py b/src/pretix/control/views/organizer.py index 088fb9fc70..3d84cb5687 100644 --- a/src/pretix/control/views/organizer.py +++ b/src/pretix/control/views/organizer.py @@ -2583,7 +2583,7 @@ class LogView(OrganizerPermissionRequiredMixin, PaginationMixin, ListView): def get_queryset(self): # technically, we'd also need to sort by pk since this is a paginated list, but in this case we just can't # bear the performance cost - qs = self.request.organizer.all_logentries().select_related( + qs = self.request.organizer.logentry_set.filter(event=None).select_related( 'user', 'content_type', 'api_token', 'oauth_application', 'device' ).order_by('-datetime') qs = qs.exclude(action_type__in=OVERVIEW_BANLIST)