Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. from django.contrib import admin
  2. from django.db.models import get_model
  3. from treebeard.admin import TreeAdmin
  4. AttributeEntity = get_model('catalogue', 'AttributeEntity')
  5. AttributeEntityType = get_model('catalogue', 'AttributeEntityType')
  6. AttributeOption = get_model('catalogue', 'AttributeOption')
  7. AttributeOptionGroup = get_model('catalogue', 'AttributeOptionGroup')
  8. Category = get_model('catalogue', 'Category')
  9. ContributorRole = get_model('catalogue', 'ContributorRole')
  10. Contributor = get_model('catalogue', 'Contributor')
  11. Option = get_model('catalogue', 'Option')
  12. Product = get_model('catalogue', 'Product')
  13. ProductAttribute = get_model('catalogue', 'ProductAttribute')
  14. ProductAttributeValue = get_model('catalogue', 'ProductAttributeValue')
  15. ProductCategory = get_model('catalogue', 'ProductCategory')
  16. ProductClass = get_model('catalogue', 'ProductClass')
  17. ProductImage = get_model('catalogue', 'ProductImage')
  18. ProductRecommendation = get_model('catalogue', 'ProductRecommendation')
  19. class AttributeInline(admin.TabularInline):
  20. model = ProductAttributeValue
  21. class ProductRecommendationInline(admin.TabularInline):
  22. model = ProductRecommendation
  23. fk_name = 'primary'
  24. class CategoryInline(admin.TabularInline):
  25. model = ProductCategory
  26. extra = 1
  27. class ProductAttributeInline(admin.TabularInline):
  28. model = ProductAttribute
  29. extra = 2
  30. class ProductClassAdmin(admin.ModelAdmin):
  31. list_display = ('name', 'requires_shipping', 'track_stock')
  32. prepopulated_fields = {"slug": ("name",)}
  33. inlines = [ProductAttributeInline]
  34. class ContributorAdmin(admin.ModelAdmin):
  35. prepopulated_fields = {"slug": ("name",)}
  36. class ContributorRoleAdmin(admin.ModelAdmin):
  37. prepopulated_fields = {"slug": ("name",)}
  38. class ProductAdmin(admin.ModelAdmin):
  39. list_display = ('get_title', 'upc', 'get_product_class', 'is_top_level',
  40. 'is_group', 'is_variant', 'attribute_summary',
  41. 'date_created')
  42. prepopulated_fields = {"slug": ("title",)}
  43. inlines = [AttributeInline, CategoryInline, ProductRecommendationInline]
  44. class ProductAttributeAdmin(admin.ModelAdmin):
  45. list_display = ('name', 'code', 'product_class', 'type')
  46. prepopulated_fields = {"code": ("name", )}
  47. class OptionAdmin(admin.ModelAdmin):
  48. exclude = ['code']
  49. class ProductAttributeValueAdmin(admin.ModelAdmin):
  50. list_display = ('product', 'attribute', 'value')
  51. class AttributeOptionInline(admin.TabularInline):
  52. model = AttributeOption
  53. class AttributeOptionGroupAdmin(admin.ModelAdmin):
  54. inlines = [AttributeOptionInline, ]
  55. class AttributeEntityAdmin(admin.ModelAdmin):
  56. list_display = ('name', )
  57. class CategoryAdmin(TreeAdmin):
  58. pass
  59. admin.site.register(ProductClass, ProductClassAdmin)
  60. admin.site.register(Product, ProductAdmin)
  61. admin.site.register(ContributorRole, ContributorRoleAdmin)
  62. admin.site.register(Contributor, ContributorAdmin)
  63. admin.site.register(ProductAttribute, ProductAttributeAdmin)
  64. admin.site.register(ProductAttributeValue, ProductAttributeValueAdmin)
  65. admin.site.register(AttributeOptionGroup, AttributeOptionGroupAdmin)
  66. admin.site.register(AttributeEntity, AttributeEntityAdmin)
  67. admin.site.register(AttributeEntityType)
  68. admin.site.register(Option, OptionAdmin)
  69. admin.site.register(ProductImage)
  70. admin.site.register(Category, CategoryAdmin)
  71. admin.site.register(ProductCategory)