diff --git a/apps/payment/admin.py b/apps/payment/admin.py index 8c38f3f3..2609fc3b 100644 --- a/apps/payment/admin.py +++ b/apps/payment/admin.py @@ -1,3 +1,36 @@ from django.contrib import admin +from polymorphic.admin import ( + PolymorphicParentModelAdmin, + PolymorphicChildModelAdmin, + PolymorphicChildModelFilter, +) -# Register your models here. +from .models import CoursePayment, SchoolPayment, Payment + + +class PaymentChildAdmin(PolymorphicChildModelAdmin): + base_model = Payment + show_in_index = True + base_fieldsets = ( + (None, {'fields': ('user', 'amount', 'status', 'data',)}), + ) + + +@admin.register(CoursePayment) +class CoursePaymentAdmin(PaymentChildAdmin): + base_model = CoursePayment + + +@admin.register(SchoolPayment) +class SchoolPaymentAdmin(PaymentChildAdmin): + base_model = SchoolPayment + + +@admin.register(Payment) +class PaymentAdmin(PolymorphicParentModelAdmin): + base_model = Payment + polymorphic_list = True + child_models = ( + CoursePayment, + SchoolPayment, + )