ants-hub/src/ants_hub/admin.py

34 lines
1.0 KiB
Python

# ANTS-Hub - Copyright (C) Entr'ouvert
from django.conf import settings
from django.contrib import admin
from django.contrib.auth import get_user_model
from django.contrib.auth.admin import UserAdmin
from django.utils.module_loading import autodiscover_modules
from django.views.decorators.cache import never_cache
if 'mellon' in settings.INSTALLED_APPS:
import mellon.views as mellon_views # pylint: disable=import-error
else:
mellon_views = None
class AdminSite(admin.AdminSite):
@never_cache
def login(self, request, extra_context=None):
if mellon_views:
return mellon_views.login(request)
return super().login(request, extra_context=extra_context)
@never_cache
def logout(self, request, extra_context=None):
if mellon_views:
return mellon_views.logout(request)
return super().logout(request, extra_context=extra_context)
site = AdminSite()
if not mellon_views:
site.register(get_user_model(), UserAdmin)
autodiscover_modules('admin', register_to=site)