admin.py 1000 B

123456789101112131415161718192021222324
  1. # -*- coding: utf-8 -*-
  2. from django.contrib import admin
  3. from coin.configuration.models import Configuration
  4. from polymorphic.admin import PolymorphicParentModelAdmin, PolymorphicChildModelAdmin
  5. class ConfigurationAdmin(PolymorphicParentModelAdmin):
  6. base_model = Configuration
  7. polymorphic_list = True
  8. list_display = ('model_name','configuration_type_name', 'offersubscription', 'offer_subscription_member')
  9. search_fields = ['polymorphic_ctype']
  10. def offer_subscription_member(self, config):
  11. return config.offersubscription.member
  12. offer_subscription_member.short_description = 'Membre'
  13. def get_child_models(self):
  14. """
  15. Renvoi la liste des modèles enfants de Configuration
  16. ex :((VPNConfiguration, VPNConfigurationAdmin),
  17. (ADSLConfiguration, ADSLConfigurationAdmin))
  18. """
  19. return (tuple((x.base_model, x) for x in PolymorphicChildModelAdmin.__subclasses__()))
  20. admin.site.register(Configuration, ConfigurationAdmin)