mirror of
https://github.com/pretix/pretix.git
synced 2026-05-08 15:44:02 +00:00
Redirect case-insensitive versions of event/organizer slugs
This commit is contained in:
@@ -97,6 +97,31 @@ def _detect_event(request, require_live=True, require_plugin=None):
|
|||||||
return response
|
return response
|
||||||
|
|
||||||
except Event.DoesNotExist:
|
except Event.DoesNotExist:
|
||||||
|
if hasattr(request, 'organizer_domain'):
|
||||||
|
event = request.organizer.events.get(
|
||||||
|
slug__iexact=url.kwargs['event'],
|
||||||
|
organizer=request.organizer,
|
||||||
|
)
|
||||||
|
pathparts = request.get_full_path().split('/')
|
||||||
|
pathparts[1] = event.slug
|
||||||
|
return redirect('/'.join(pathparts))
|
||||||
|
else:
|
||||||
|
if 'event' in url.kwargs and 'organizer' in url.kwargs:
|
||||||
|
event = Event.objects.select_related('organizer').get(
|
||||||
|
slug__iexact=url.kwargs['event'],
|
||||||
|
organizer__slug__iexact=url.kwargs['organizer']
|
||||||
|
)
|
||||||
|
pathparts = request.get_full_path().split('/')
|
||||||
|
pathparts[1] = event.organizer.slug
|
||||||
|
pathparts[2] = event.slug
|
||||||
|
return redirect('/'.join(pathparts))
|
||||||
|
elif 'organizer' in url.kwargs:
|
||||||
|
organizer = Organizer.objects.get(
|
||||||
|
slug__iexact=url.kwargs['organizer']
|
||||||
|
)
|
||||||
|
pathparts = request.get_full_path().split('/')
|
||||||
|
pathparts[1] = organizer.slug
|
||||||
|
return redirect('/'.join(pathparts))
|
||||||
raise Http404(_('The selected event was not found.'))
|
raise Http404(_('The selected event was not found.'))
|
||||||
except Organizer.DoesNotExist:
|
except Organizer.DoesNotExist:
|
||||||
raise Http404(_('The selected organizer was not found.'))
|
raise Http404(_('The selected organizer was not found.'))
|
||||||
|
|||||||
Reference in New Issue
Block a user