diff --git a/apps/registration/admin.py b/apps/registration/admin.py index e69de29..12580d1 100644 --- a/apps/registration/admin.py +++ b/apps/registration/admin.py @@ -0,0 +1,26 @@ +from django.contrib import admin +from polymorphic.admin import PolymorphicChildModelAdmin, PolymorphicParentModelAdmin + +from registration.models import AdminRegistration, CoachRegistration, Registration, StudentRegistration + + +@admin.register(Registration) +class RegistrationAdmin(PolymorphicParentModelAdmin): + child_models = (StudentRegistration, CoachRegistration, AdminRegistration,) + list_display = ("user", "type", "email_confirmed",) + polymorphic_list = True + + +@admin.register(StudentRegistration) +class StudentRegistrationAdmin(PolymorphicChildModelAdmin): + pass + + +@admin.register(CoachRegistration) +class CoachRegistrationAdmin(PolymorphicChildModelAdmin): + pass + + +@admin.register(AdminRegistration) +class AdminRegistrationAdmin(PolymorphicChildModelAdmin): + pass diff --git a/apps/registration/models.py b/apps/registration/models.py index 5c3535a..c1540db 100644 --- a/apps/registration/models.py +++ b/apps/registration/models.py @@ -99,7 +99,6 @@ class StudentRegistration(Registration): verbose_name=_("school"), ) - # FIXME Fix permission access, mime type photo_authorization = models.FileField( verbose_name=_("photo authorization"), upload_to=get_random_filename, diff --git a/apps/registration/tests.py b/apps/registration/tests.py index db44a43..8286565 100644 --- a/apps/registration/tests.py +++ b/apps/registration/tests.py @@ -28,6 +28,22 @@ class TestRegistration(TestCase): self.coach = User.objects.create(email="coach@example.com") CoachRegistration.objects.create(user=self.coach, professional_activity="Teacher") + def test_admin_pages(self): + response = self.client.get(reverse("admin:index") + "registration/registration/") + self.assertEqual(response.status_code, 200) + + response = self.client.get(reverse("admin:index") + + f"registration/registration/{self.user.registration.pk}/change/") + self.assertEqual(response.status_code, 200) + + response = self.client.get(reverse("admin:index") + + f"registration/registration/{self.student.registration.pk}/change/") + self.assertEqual(response.status_code, 200) + + response = self.client.get(reverse("admin:index") + + f"registration/registration/{self.coach.registration.pk}/change/") + self.assertEqual(response.status_code, 200) + def test_registration(self): response = self.client.get(reverse("registration:signup")) self.assertEqual(response.status_code, 200) @@ -182,9 +198,5 @@ class TestRegistration(TestCase): def test_string_render(self): # TODO These string field tests will be removed when used in a template - str(self.user.registration) self.assertRaises(NotImplementedError, lambda: Registration().type) self.assertRaises(NotImplementedError, lambda: Registration().form_class) - str(StudentRegistration().type) - str(CoachRegistration().type) - str(self.user.registration.type) # AdminRegistration