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.6KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from django.contrib import admin
  2. from oscar.core.loading import import_module
  3. product_models = import_module('product.models', ['Item', 'ItemClass', 'AttributeType',
  4. 'ItemAttributeValue', 'Option', 'ProductRecommendation',
  5. 'ProductImage', 'Category', 'ItemCategory'])
  6. class AttributeInline(admin.TabularInline):
  7. model = product_models.ItemAttributeValue
  8. class ProductRecommendationInline(admin.TabularInline):
  9. model = product_models.ProductRecommendation
  10. fk_name = 'primary'
  11. class CategoryInline(admin.TabularInline):
  12. model = product_models.ItemCategory
  13. extra = 1
  14. class ItemClassAdmin(admin.ModelAdmin):
  15. prepopulated_fields = {"slug": ("name",)}
  16. class ItemAdmin(admin.ModelAdmin):
  17. list_display = ('get_title', 'upc', 'get_item_class', 'is_top_level', 'is_group', 'is_variant', 'attribute_summary', 'date_created')
  18. prepopulated_fields = {"slug": ("title",)}
  19. inlines = [AttributeInline, CategoryInline, ProductRecommendationInline]
  20. class AttributeTypeAdmin(admin.ModelAdmin):
  21. prepopulated_fields = {"code": ("name",)}
  22. class OptionAdmin(admin.ModelAdmin):
  23. prepopulated_fields = {"code": ("name",)}
  24. admin.site.register(product_models.ItemClass, ItemClassAdmin)
  25. admin.site.register(product_models.Item, ItemAdmin)
  26. admin.site.register(product_models.AttributeType, AttributeTypeAdmin)
  27. admin.site.register(product_models.ItemAttributeValue)
  28. admin.site.register(product_models.Option, OptionAdmin)
  29. admin.site.register(product_models.ProductImage)
  30. admin.site.register(product_models.Category)