From 6473b7b8a7035d1890415737af430ecb2cce2ede Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Wed, 21 Feb 2018 09:55:17 +0300 Subject: [PATCH] LIL-267. Add admin for payments --- apps/payment/admin.py | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) 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, + )