|
@@ -1,9 +1,17 @@
|
|
|
# -*- coding: utf-8 -*-
|
|
|
from django.contrib import admin
|
|
|
-from coin.configuration.models import Configuration
|
|
|
from polymorphic.admin import PolymorphicParentModelAdmin, PolymorphicChildModelAdmin
|
|
|
|
|
|
-class ConfigurationAdmin(PolymorphicParentModelAdmin):
|
|
|
+from coin.configuration.models import Configuration
|
|
|
+from coin.configuration.forms import ConfigurationForm
|
|
|
+
|
|
|
+"""
|
|
|
+Implementation note : When creating child admin class, you have to inherit
|
|
|
+ConfigurationAdminFormMixin. This make use of ConfigurationForm form that
|
|
|
+filter offersubscription select input to avoid selecting wrong subscription.
|
|
|
+"""
|
|
|
+
|
|
|
+class ParentConfigurationAdmin(PolymorphicParentModelAdmin):
|
|
|
base_model = Configuration
|
|
|
polymorphic_list = True
|
|
|
list_display = ('model_name','configuration_type_name', 'offersubscription', 'offer_subscription_member')
|
|
@@ -21,4 +29,7 @@ class ConfigurationAdmin(PolymorphicParentModelAdmin):
|
|
|
"""
|
|
|
return (tuple((x.base_model, x) for x in PolymorphicChildModelAdmin.__subclasses__()))
|
|
|
|
|
|
-admin.site.register(Configuration, ConfigurationAdmin)
|
|
|
+class ConfigurationAdminFormMixin(object):
|
|
|
+ form = ConfigurationForm
|
|
|
+
|
|
|
+admin.site.register(Configuration, ParentConfigurationAdmin)
|