Coverage for website/thaliawebsite/admin.py: 100.00%

9 statements  

« prev     ^ index     » next       coverage.py v7.6.7, created at 2025-08-14 10:31 +0000

1"""Settings for the admin site.""" 

2 

3from django.conf import settings 

4from django.contrib import admin 

5from django.utils.translation import gettext_lazy as _ 

6 

7from django_otp import user_has_device 

8 

9 

10class ThaliaAdminSite(admin.AdminSite): 

11 site_header = _("Thalia administration") 

12 site_title = _("Thalia") 

13 

14 def has_permission(self, request): 

15 return super().has_permission(request) and ( 

16 not settings.ADMIN_REQUIRE_2FA or user_has_device(request.user) 

17 )