diff --git a/combo/public/admin.py b/combo/public/admin.py index e6246dca..a669dd9d 100644 --- a/combo/public/admin.py +++ b/combo/public/admin.py @@ -17,19 +17,31 @@ from django.contrib import admin from django.core.urlresolvers import reverse from django.shortcuts import redirect +from django.urls.exceptions import NoReverseMatch from django.views.decorators.cache import never_cache @never_cache -def login(request, extra_context=None): - auth_login_url = reverse('auth_login') +def login(request, *args, **kwargs): + try: + auth_login_url = reverse('auth_login') + except NoReverseMatch: + return admin.site.orig_login(request, *args, **kwargs) auth_login_url += '?%s' % request.GET.urlencode() return redirect(auth_login_url) -admin.site.login = login - @never_cache -def logout(request, extra_context=None): - return redirect(reverse('auth_logout')) +def logout(request, *args, **kwargs): + try: + return redirect(reverse('auth_logout')) + except NoReverseMatch: + return admin.site.orig_logout(request, *args, **kwargs) -admin.site.logout = logout + +if admin.site.login != login: + admin.site.orig_login = admin.site.login + admin.site.login = login + +if admin.site.logout != logout: + admin.site.orig_logout = admin.site.logout + admin.site.logout = logout