mirror of
https://github.com/pretix/pretix.git
synced 2026-05-09 15:54:03 +00:00
Improve session inheritation
This commit is contained in:
@@ -73,7 +73,12 @@ def _detect_event(request, require_live=True):
|
||||
)
|
||||
if not can_access and 'pretix_event_access_{}'.format(request.event.pk) in request.session:
|
||||
sparent = SessionStore(request.session.get('pretix_event_access_{}'.format(request.event.pk)))
|
||||
can_access = sparent.exists(request.session.get('pretix_event_access_{}'.format(request.event.pk)))
|
||||
try:
|
||||
parentdata = sparent.load()
|
||||
except:
|
||||
pass
|
||||
else:
|
||||
can_access = 'event_access' in parentdata
|
||||
|
||||
if not can_access:
|
||||
raise PermissionDenied(_('The selected ticket shop is currently not available.'))
|
||||
|
||||
@@ -118,10 +118,15 @@ class EventAuth(View):
|
||||
raise PermissionDenied(_('Please go back and try again.'))
|
||||
|
||||
parent = data.get('pretix_event_access_{}'.format(request.event.pk))
|
||||
sparent = SessionStore(parent)
|
||||
|
||||
if not sparent.exists(parent):
|
||||
sparent = SessionStore(parent)
|
||||
try:
|
||||
parentdata = sparent.load()
|
||||
except:
|
||||
raise PermissionDenied(_('Please go back and try again.'))
|
||||
else:
|
||||
if 'event_access' not in parentdata:
|
||||
raise PermissionDenied(_('Please go back and try again.'))
|
||||
|
||||
request.session['pretix_event_access_{}'.format(request.event.pk)] = parent
|
||||
return redirect(eventreverse(request.event, 'presale:event.index'))
|
||||
|
||||
Reference in New Issue
Block a user