diff --git a/fargo/fargo/admin.py b/fargo/fargo/admin.py index e1a72d7..26b2ef5 100644 --- a/fargo/fargo/admin.py +++ b/fargo/fargo/admin.py @@ -16,11 +16,42 @@ from django.contrib import admin from django.contrib.auth import get_user_model +from django.shortcuts import redirect +from django.urls import reverse +from django.urls.exceptions import NoReverseMatch from django.utils.translation import ugettext_lazy as _ +from django.views.decorators.cache import never_cache from . import models +@never_cache +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) + + +@never_cache +def logout(request, *args, **kwargs): + try: + return redirect(reverse('auth_logout')) + except NoReverseMatch: + return admin.site.orig_logout(request, *args, **kwargs) + + +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 + + class UserDocumentAdmin(admin.ModelAdmin): list_display = ['user', 'filename', 'thumbnail', 'created', 'origin'] fields = ['id', 'user', 'filename', 'thumbnail', 'created', 'origin']