def register(cls, *, admin_model: CustomPageModelAdmin = None): """Registers this model page class in Django admin. :param admin_model: """ register(cls)(admin_model or CustomPageModelAdmin)
def test_basic_registration(self): register(Person)(NameAdmin) self.assertTrue( isinstance(self.default_site._registry[Person], admin.options.ModelAdmin) ) self.default_site.unregister(Person)
def test_multiple_registration(self): register(Traveler, Place)(NameAdmin) self.assertTrue( isinstance(self.default_site._registry[Traveler], admin.options.ModelAdmin)) self.assertTrue( isinstance(self.default_site._registry[Place], admin.options.ModelAdmin))
def test_multiple_registration(self): register(Traveler, Place)(NameAdmin) self.assertIsInstance(self.default_site._registry[Traveler], admin.ModelAdmin) self.default_site.unregister(Traveler) self.assertIsInstance(self.default_site._registry[Place], admin.ModelAdmin) self.default_site.unregister(Place)
def test_multiple_registration(self): register(Traveler, Place)(NameAdmin) self.assertTrue( isinstance(self.default_site._registry[Traveler], admin.options.ModelAdmin) ) self.assertTrue( isinstance(self.default_site._registry[Place], admin.options.ModelAdmin) )
def test_wrapped_class_not_a_model_admin(self): self.assertRaisesMessage(ValueError, "Wrapped class must subclass ModelAdmin.", register(Person), CustomSite)
def test_basic_registration(self): register(Person)(NameAdmin) self.assertTrue( isinstance(self.default_site._registry[Person], admin.options.ModelAdmin)) self.default_site.unregister(Person)
def test_empty_models_list_registration_fails(self): with self.assertRaisesMessage( ValueError, 'At least one model must be passed to register.'): register()(NameAdmin)
def test_custom_site_not_an_admin_site(self): with self.assertRaisesMessage(ValueError, 'site must subclass AdminSite'): register(Person, site=Traveler)(NameAdmin)
def test_wrapped_class_not_a_model_admin(self): with self.assertRaisesMessage( ValueError, 'Wrapped class must subclass ModelAdmin.'): register(Person)(CustomSite)
def test_custom_site_registration(self): register(Person, site=self.custom_site)(NameAdmin) self.assertTrue( isinstance(self.custom_site._registry[Person], admin.options.ModelAdmin))
def test_empty_models_list_registration_fails(self): with self.assertRaisesMessage(ValueError, 'At least one model must be passed to register.'): register()(NameAdmin)
from newsletter.models import Newsletter, Subcriber from django.contrib import admin from django.contrib.admin.decorators import register admin.site, register(Newsletter) admin.site, register(Subcriber)
if not obj: return ( (None, { 'classes': ('wide',), 'fields': ('email', 'password1', 'password2')} ), ) if request.user.is_superuser: return ( (None, {'fields': ( 'email', 'password', 'auth_token')}), ('Personal info', {'fields': ('first_name', 'last_name')}), ('Permissions', {'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions')}), ('Important dates', {'fields': ('date_joined',)}), ) if request.user.is_staff: return ( (None, {'fields': ('email',)}), ('Personal info', {'fields': ('first_name', 'last_name', 'profile_picture')}), ) return () register(IncreaseCreditViaBank) class IncreaseCreditViaBankAdmin(admin.ModelAdmin): pass
def test_custom_site_not_an_admin_site(self): self.assertRaisesMessage(ValueError, "site must subclass AdminSite", register(Person, site=Traveler), NameAdmin)
def test_custom_site_registration(self): register(Person, site=self.custom_site)(NameAdmin) self.assertTrue(isinstance(self.custom_site._registry[Person], admin.options.ModelAdmin))