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 52ce87816..43b5439ef 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 088fb9fc7..3d84cb568 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)