Migrate log action types to registry

This commit is contained in:
Mira Weller
2025-11-18 18:15:23 +01:00
parent 2121566ae5
commit 7d8bcd4b10
2 changed files with 36 additions and 41 deletions
+8 -13
View File
@@ -26,6 +26,7 @@ from django.dispatch import receiver
from django.urls import reverse from django.urls import reverse
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from pretix.base.logentrytype_registry import LogEntryType, log_entry_types
from pretix.base.models import Checkin, OrderPayment from pretix.base.models import Checkin, OrderPayment
from pretix.base.signals import ( from pretix.base.signals import (
checkin_created, event_copy_data, item_copy_data, logentry_display, checkin_created, event_copy_data, item_copy_data, logentry_display,
@@ -64,19 +65,13 @@ def nav_event_receiver(sender, request, **kwargs):
] ]
@receiver(signal=logentry_display) @log_entry_types.new_from_dict({
def logentry_display_receiver(sender, logentry, **kwargs): "pretix.plugins.autocheckin.rule.added": _("An auto check-in rule was created"),
plains = { "pretix.plugins.autocheckin.rule.changed": _("An auto check-in rule was updated"),
"pretix.plugins.autocheckin.rule.added": _("An auto check-in rule was created"), "pretix.plugins.autocheckin.rule.deleted": _("An auto check-in rule was deleted"),
"pretix.plugins.autocheckin.rule.changed": _( })
"An auto check-in rule was updated" class AutocheckinLogEntryType(LogEntryType):
), pass
"pretix.plugins.autocheckin.rule.deleted": _(
"An auto check-in rule was deleted"
),
}
if logentry.action_type in plains:
return plains[logentry.action_type]
@receiver(item_copy_data, dispatch_uid="autocheckin_item_copy") @receiver(item_copy_data, dispatch_uid="autocheckin_item_copy")
+28 -28
View File
@@ -31,6 +31,7 @@ from django.utils.translation import gettext_lazy as _
from paypalhttp import HttpResponse from paypalhttp import HttpResponse
from pretix.base.forms import SecretKeySettingsField from pretix.base.forms import SecretKeySettingsField
from pretix.base.logentrytype_registry import LogEntryType, log_entry_types
from pretix.base.middleware import _merge_csp, _parse_csp, _render_csp from pretix.base.middleware import _merge_csp, _parse_csp, _render_csp
from pretix.base.settings import settings_hierarkey from pretix.base.settings import settings_hierarkey
from pretix.base.signals import ( from pretix.base.signals import (
@@ -80,37 +81,36 @@ def html_head_presale(sender, request=None, **kwargs):
return "" return ""
@receiver(signal=logentry_display, dispatch_uid="stripe_logentry_display") @log_entry_types.new()
def pretixcontrol_logentry_display(sender, logentry, **kwargs): class StripeEvent(LogEntryType):
if logentry.action_type != 'pretix.plugins.stripe.event': action_type = 'pretix.plugins.stripe.event'
return
data = json.loads(logentry.data) def display(self, logentry, data):
event_type = data.get('type') event_type = data.get('type')
text = None text = None
plains = { plains = {
'charge.succeeded': _('Charge succeeded.'), 'charge.succeeded': _('Charge succeeded.'),
'charge.refunded': _('Charge refunded.'), 'charge.refunded': _('Charge refunded.'),
'charge.updated': _('Charge updated.'), 'charge.updated': _('Charge updated.'),
'charge.pending': _('Charge pending'), 'charge.pending': _('Charge pending'),
'source.chargeable': _('Payment authorized.'), 'source.chargeable': _('Payment authorized.'),
'source.canceled': _('Payment authorization canceled.'), 'source.canceled': _('Payment authorization canceled.'),
'source.failed': _('Payment authorization failed.') 'source.failed': _('Payment authorization failed.')
} }
if event_type in plains: if event_type in plains:
text = plains[event_type] text = plains[event_type]
elif event_type == 'charge.failed': elif event_type == 'charge.failed':
text = _('Charge failed. Reason: {}').format(data['data']['object']['failure_message']) text = _('Charge failed. Reason: {}').format(data['data']['object']['failure_message'])
elif event_type == 'charge.dispute.created': elif event_type == 'charge.dispute.created':
text = _('Dispute created. Reason: {}').format(data['data']['object']['reason']) text = _('Dispute created. Reason: {}').format(data['data']['object']['reason'])
elif event_type == 'charge.dispute.updated': elif event_type == 'charge.dispute.updated':
text = _('Dispute updated. Reason: {}').format(data['data']['object']['reason']) text = _('Dispute updated. Reason: {}').format(data['data']['object']['reason'])
elif event_type == 'charge.dispute.closed': elif event_type == 'charge.dispute.closed':
text = _('Dispute closed. Status: {}').format(data['data']['object']['status']) text = _('Dispute closed. Status: {}').format(data['data']['object']['status'])
if text: if text:
return _('Stripe reported an event: {}').format(text) return _('Stripe reported an event: {}').format(text)
settings_hierarkey.add_default('payment_stripe_method_card', True, bool) settings_hierarkey.add_default('payment_stripe_method_card', True, bool)