pretixdroid: Add Check-Ins to log

This commit is contained in:
Raphael Michel
2016-12-21 19:13:13 +01:00
parent 888cce78a5
commit d4aa3e62a5
2 changed files with 29 additions and 0 deletions

View File

@@ -1,6 +1,9 @@
import json
from django.core.urlresolvers import resolve, reverse
from django.dispatch import receiver
from django.utils.translation import ugettext_lazy as _
from pretix.base.signals import logentry_display
from pretix.control.signals import nav_event
@@ -21,3 +24,19 @@ def control_nav_import(sender, request=None, **kwargs):
'icon': 'android',
}
]
@receiver(signal=logentry_display, dispatch_uid="pretixdroid_logentry_display")
def pretixcontrol_logentry_display(sender, logentry, **kwargs):
if logentry.action_type != 'pretix.plugins.pretixdroid.scan':
return
data = json.loads(logentry.data)
if data.get('first'):
return _('Position #{posid} has been scanned.'.format(
posid=data.get('positionid')
))
else:
return _('Position #{posid} has been scanned and rejected because it has already been scanned before.'.format(
posid=data.get('positionid')
))

View File

@@ -86,9 +86,19 @@ class ApiRedeemView(ApiView):
if 'status' not in response:
if created:
response['status'] = 'ok'
op.order.log_action('pretix.plugins.pretixdroid.scan', data={
'position': op.id,
'positionid': op.positionid,
'first': True,
})
else:
response['status'] = 'error'
response['reason'] = 'already_redeemed'
op.order.log_action('pretix.plugins.pretixdroid.scan', data={
'position': op.id,
'positionid': op.positionid,
'first': False,
})
response['data'] = {
'secret': op.secret,