from django.conf.urls import url from django.contrib import admin import django.contrib.auth.views from django.http import HttpResponse from django.views.generic.base import View import django_otp.views from django_otp.admin import OTPAdminSite otp_admin_site = OTPAdminSite(OTPAdminSite.name) for model_cls, model_admin in admin.site._registry.items(): otp_admin_site.register(model_cls, model_admin.__class__) class HomeView(View): def get(self, request, *args, **kwargs): return HttpResponse(request.user.get_username()) urlpatterns = [ url(r'^$', HomeView.as_view()), url(r'^login/$', django_otp.views.LoginView.as_view()), url(r'^logout/$', django.contrib.auth.views.LogoutView.as_view()), url(r'^admin/', admin.site.urls), url(r'^otpadmin/', otp_admin_site.urls), ]
PeriodicTask, SolarSchedule, ) from django_otp.admin import OTPAdminSite from magicauth.models import MagicToken from aidants_connect_web.models import ( DatavizDepartment, DatavizDepartmentsToRegion, DatavizRegion, ) admin_site = OTPAdminSite(OTPAdminSite.name) admin_site.login_template = "aidants_connect_web/admin/login.html" admin_site.register(HoneypotLoginAttempt, HoneypotLoginAttemptAdmin) class VisibleToAdminMetier: """A mixin to make a model registered in the Admin visible to Admin Métier. Admin Métier corresponds to the traditional django `is_staff` """ def has_module_permission(self, request): return request.user.is_staff or request.user.is_superuser def has_view_permission(self, request, obj=None): return self.has_module_permission(request) def has_add_permission(self, request, obj=None): return self.has_module_permission(request)
) # add_fieldsets is not a standard ModelAdmin attribute. AidantAdmin # overrides get_fieldsets to use this attribute when creating an aidant. add_fieldsets = ( ( "Informations personnelles", { "fields": ("first_name", "last_name", "email", "password", "username") }, ), ("Informations professionnelles", { "fields": ("profession", "organisation") }), ) search_fields = ("email", "organisation") ordering = ("email", ) # Display the following tables in the admin admin_site.register(Aidant, AidantAdmin) admin_site.register(Usager) admin_site.register(Mandat) admin_site.register(Journal) admin_site.register(Connection) admin_site.register(Organisation) admin_site.register(MagicToken) admin_site.register(StaticDevice, StaticDeviceAdmin) admin_site.register(TOTPDevice, TOTPDeviceAdmin)
inlines = (MandatAutorisationInline, ) class ConnectionAdmin(ModelAdmin): list_display = ("id", "usager", "aidant", "complete") class JournalAdmin(ModelAdmin): list_display = ("id", "action", "initiator", "creation_date") list_filter = ("action", ) search_fields = ("action", "initiator") ordering = ("-creation_date", ) # Display the following tables in the admin admin_site.register(Organisation, OrganisationAdmin) admin_site.register(Aidant, AidantAdmin) admin_site.register(Usager, UsagerAdmin) admin_site.register(Mandat, MandatAdmin) admin_site.register(Journal, JournalAdmin) admin_site.register(Connection, ConnectionAdmin) admin_site.register(MagicToken) admin_site.register(StaticDevice, StaticDeviceAdmin) admin_site.register(TOTPDevice, TOTPDeviceAdmin) # Also register the Django Celery Beat models admin_site.register(PeriodicTask, PeriodicTaskAdmin) admin_site.register(IntervalSchedule) admin_site.register(CrontabSchedule) admin_site.register(SolarSchedule)