forked from CGM_Public/pretix_original
pretixdroid: Add Check-Ins to log
This commit is contained in:
@@ -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')
|
||||
))
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user