med/med/admin.py

42 lines
1.3 KiB
Python
Raw Normal View History

2019-08-10 06:04:46 +00:00
# -*- mode: python; coding: utf-8 -*-
# Copyright (C) 2017-2019 by BDE ENS Paris-Saclay
# SPDX-License-Identifier: GPL-3.0-or-later
from django.contrib.admin import AdminSite
2019-08-10 07:51:46 +00:00
from django.contrib.auth.admin import Group, GroupAdmin
from django.contrib.sites.admin import Site, SiteAdmin
2019-08-10 06:04:46 +00:00
from django.utils.translation import gettext_lazy as _
from django.views.decorators.cache import never_cache
2021-11-14 13:26:41 +00:00
from media.models import Borrow
2019-08-10 06:04:46 +00:00
class DatabaseAdmin(AdminSite):
index_title = _('Welcome to the Mediatek database')
@never_cache
def index(self, request, extra_context=None):
"""
Add borrowed item to admin index
"""
response = super().index(request, extra_context)
# User is always authenticated
2019-08-10 13:53:23 +00:00
# Get currently borrowed items
2021-11-14 13:26:41 +00:00
user_borrowed = Borrow.objects.filter(user=request.user,
given_back=None)
2019-08-10 06:04:46 +00:00
response.context_data["borrowed_items"] = user_borrowed
return response
2019-08-10 07:51:46 +00:00
def has_permission(self, request):
"""
Authorize all active user to access admin
"""
return request.user.is_active
2019-08-10 06:04:46 +00:00
2019-08-10 07:51:46 +00:00
# Instantiate admin site and register some defaults
2019-08-10 06:04:46 +00:00
admin_site = DatabaseAdmin()
2019-08-10 07:51:46 +00:00
admin_site.register(Group, GroupAdmin)
admin_site.register(Site, SiteAdmin)