mirror of
https://github.com/pretix/pretix.git
synced 2026-08-26 13:14:40 +00:00
Fix #232 -- display log text for stripe events
This commit is contained in:
@@ -1,9 +1,12 @@
|
|||||||
|
import json
|
||||||
|
|
||||||
from django.core.urlresolvers import resolve
|
from django.core.urlresolvers import resolve
|
||||||
from django.dispatch import receiver
|
from django.dispatch import receiver
|
||||||
from django.template import Context
|
from django.template import Context
|
||||||
from django.template.loader import get_template
|
from django.template.loader import get_template
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from pretix.base.signals import register_payment_providers
|
from pretix.base.signals import logentry_display, register_payment_providers
|
||||||
from pretix.presale.signals import html_head
|
from pretix.presale.signals import html_head
|
||||||
|
|
||||||
|
|
||||||
@@ -26,3 +29,32 @@ def html_head_presale(sender, request=None, **kwargs):
|
|||||||
return template.render(ctx)
|
return template.render(ctx)
|
||||||
else:
|
else:
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
|
||||||
|
@receiver(signal=logentry_display, dispatch_uid="stripe_logentry_display")
|
||||||
|
def pretixcontrol_logentry_display(sender, logentry, **kwargs):
|
||||||
|
if logentry.action_type != 'pretix.plugins.stripe.event':
|
||||||
|
return
|
||||||
|
|
||||||
|
data = json.loads(logentry.data)
|
||||||
|
event_type = data.get('type')
|
||||||
|
text = None
|
||||||
|
plains = {
|
||||||
|
'charge.succeeded': _('Charge succeeded.'),
|
||||||
|
'charge.refunded': _('Charge refunded.'),
|
||||||
|
'charge.updated': _('Charge updated.'),
|
||||||
|
}
|
||||||
|
|
||||||
|
if event_type in plains:
|
||||||
|
text = plains[event_type]
|
||||||
|
elif event_type == 'charge.failed':
|
||||||
|
text = _('Charge failed. Reason: {}').format(data['data']['object']['failure_message'])
|
||||||
|
elif event_type == 'charge.dispute.created':
|
||||||
|
text = _('Dispute created. Reason: {}').format(data['data']['object']['reason'])
|
||||||
|
elif event_type == 'charge.dispute.updated':
|
||||||
|
text = _('Dispute updated. Reason: {}').format(data['data']['object']['reason'])
|
||||||
|
elif event_type == 'charge.dispute.closed':
|
||||||
|
text = _('Dispute closed. Status: {}').format(data['data']['object']['status'])
|
||||||
|
|
||||||
|
if text:
|
||||||
|
return _('Stripe reported an event: {}').format(text)
|
||||||
|
|||||||
Reference in New Issue
Block a user