You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

admin.py 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from django.contrib import admin
  2. from oscar.core.loading import import_module
  3. import_module('promotions.models', ['Promotion', 'PagePromotion', 'KeywordPromotion',
  4. 'MerchandisingBlock', 'PageMerchandisingBlock', 'KeywordMerchandisingBlock',
  5. 'MerchandisingBlockProduct'], locals())
  6. class PromotionAdmin(admin.ModelAdmin):
  7. pass
  8. class PagePromotionAdmin(admin.ModelAdmin):
  9. list_display = ['page_url', 'position', 'clicks']
  10. readonly_fields = ['clicks']
  11. class KeywordPromotionAdmin(admin.ModelAdmin):
  12. list_display = ['keyword', 'position', 'clicks']
  13. readonly_fields = ['clicks']
  14. class MerchandisingBlockProductline(admin.TabularInline):
  15. model = MerchandisingBlockProduct
  16. raw_id_fields = ("product",)
  17. extra = 1
  18. class MerchandisingBlockAdmin(admin.ModelAdmin):
  19. list_display = ['title', 'type', 'num_products']
  20. inlines = (MerchandisingBlockProductline,)
  21. class PageMerchandisingBlockAdmin(admin.ModelAdmin):
  22. list_display = ['page_url', 'block', 'display_order']
  23. admin.site.register(Promotion, PromotionAdmin)
  24. admin.site.register(PagePromotion, PagePromotionAdmin)
  25. admin.site.register(KeywordPromotion, KeywordPromotionAdmin)
  26. admin.site.register(MerchandisingBlock, MerchandisingBlockAdmin)
  27. admin.site.register(PageMerchandisingBlock, PageMerchandisingBlockAdmin)
  28. admin.site.register(KeywordMerchandisingBlock)