def setUpTestData(cls): cls.admin = OTPAdminSite(OTPAdminSite.name) cls.url = reverse( "otpadmin:aidants_connect_web_habilitation_request_mass_validate") cls.list_url = reverse( "otpadmin:aidants_connect_web_habilitationrequest_changelist") cls.bizdev_user = AidantFactory( is_staff=True, is_superuser=False, ) cls.bizdev_user.set_password("password") cls.bizdev_user.save() cls.bizdev_device = StaticDevice.objects.create(user=cls.bizdev_user, name="Device") cls.bizdev_client = Client() cls.bizdev_client.force_login(cls.bizdev_user) bizdev_session = cls.bizdev_client.session bizdev_session[DEVICE_ID_SESSION_KEY] = cls.bizdev_device.persistent_id bizdev_session.save()
def setUpTestData(cls): cls.admin = OTPAdminSite(OTPAdminSite.name) cls.tested = CarteTOTPAdmin(CarteTOTP, cls.admin) cls.bizdev_user = AidantFactory( is_staff=True, is_superuser=False, ) cls.bizdev_user.set_password("password") cls.bizdev_user.save() cls.bizdev_device = StaticDevice.objects.create(user=cls.bizdev_user, name="Device") cls.usager = UsagerFactory() cls.bizdev_client = Client() cls.bizdev_client.force_login(cls.bizdev_user) bizdev_session = cls.bizdev_client.session bizdev_session[DEVICE_ID_SESSION_KEY] = cls.bizdev_device.persistent_id bizdev_session.save()
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), ]
from magicauth.models import MagicToken from django_otp.plugins.otp_static.models import StaticDevice from django_otp.plugins.otp_static.admin import StaticDeviceAdmin from django_otp.plugins.otp_totp.models import TOTPDevice from django_otp.plugins.otp_totp.admin import TOTPDeviceAdmin from django_otp.admin import OTPAdminSite from aidants_connect_web.models import ( Aidant, Usager, Mandat, Journal, Connection, Organisation, ) admin_site = OTPAdminSite(OTPAdminSite.name) class AidantAdmin(DjangoUserAdmin): # The forms to add and change aidant instances form = AidantChangeForm add_form = AidantCreationForm # The fields to be used in displaying the Aidant model. # These override the definitions on the base UserAdmin # that reference specific fields on auth.User. list_display = ("email", "is_superuser", "organisation") list_filter = ("is_superuser", ) filter_horizontal = ("groups", "user_permissions") fieldsets = ( (
from django.contrib import admin from import_export.admin import ImportExportModelAdmin from django.contrib.auth.admin import UserAdmin as BaseUserAdmin from .forms import UserCreationForm, UserChangeForm from .models import User from django_otp.admin import OTPAdminSite admin_site = OTPAdminSite(name='OTP Site') @admin.register(User) class UserAdmin(BaseUserAdmin, ImportExportModelAdmin): fieldsets = ( (None, {'fields': ('email', 'username', 'password')}), ('Personal info', { 'classes': ('collapse',), 'fields': ('first_name', 'last_name', 'date_of_birth', 'phone_number', 'state', 'city', 'pincode', 'full_address', 'profile')}), ('Permissions', { 'classes': ('collapse',), 'fields': ('groups', 'user_permissions', 'is_superuser', 'is_active', 'is_staff', 'is_defaulter')}), ('Important dates', { 'classes': ('collapse',), 'fields': ('last_login', 'date_joined')}), ) add_fieldsets = ( (None, { 'classes': ('wide',), 'fields': ('username', 'email', 'password1', 'password2', 'is_superuser', 'is_staff', 'is_defaulter'), }),
def setUp(self): self.admin = OTPAdminSite(OTPAdminSite.name)
ClockedSchedule, CrontabSchedule, IntervalSchedule, 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)
from nested_admin import NestedModelAdmin, NestedTabularInline from tabbed_admin import TabbedModelAdmin from aidants_connect_web.forms import AidantChangeForm, AidantCreationForm from aidants_connect_web.models import ( Aidant, Autorisation, Connection, Journal, Mandat, Organisation, Usager, ) admin_site = OTPAdminSite(OTPAdminSite.name) class VisibleToStaff: """A mixin to make a model registered in the Admin visible to staff users.""" def has_module_permission(self, request): return request.user.is_staff 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) def has_change_permission(self, request, obj=None): return self.has_module_permission(request)