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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from django.contrib import admin
  2. from oscar.services import import_module
  3. models = import_module('offer.models', ['ConditionalOffer', 'Condition', 'Benefit', 'Range',
  4. 'Voucher', 'VoucherApplication'])
  5. class ConditionAdmin(admin.ModelAdmin):
  6. list_display = ('type', 'value', 'range')
  7. class BenefitAdmin(admin.ModelAdmin):
  8. list_display = ('__unicode__', 'type', 'value', 'range')
  9. class VoucherAdmin(admin.ModelAdmin):
  10. list_display = ('name', 'code', 'usage', 'num_basket_additions', 'num_orders', 'total_discount')
  11. readonly_fields = ('num_basket_additions', 'num_orders', 'total_discount')
  12. fieldsets = (
  13. (None, {
  14. 'fields': ('name', 'code', 'usage', 'start_date', 'end_date')
  15. }),
  16. ('Benefit', {
  17. 'fields': ('offers', 'free_shipping')
  18. }),
  19. ('Usage', {
  20. 'fields': ('num_basket_additions', 'num_orders', 'total_discount')
  21. }),
  22. )
  23. class VoucherApplicationAdmin(admin.ModelAdmin):
  24. list_display = ('voucher', 'user', 'date_created')
  25. readonly_fields = ('voucher', 'user')
  26. class ConditionalOfferAdmin(admin.ModelAdmin):
  27. list_display = ('name', 'offer_type', 'start_date', 'end_date', 'condition', 'benefit', 'total_discount')
  28. list_filter = ('offer_type',)
  29. readonly_fields = ('total_discount',)
  30. fieldsets = (
  31. (None, {
  32. 'fields': ('name', 'description', 'offer_type', 'condition', 'benefit', 'start_date', 'end_date', 'priority')
  33. }),
  34. ('Usage', {
  35. 'fields': ('total_discount',)
  36. }),
  37. )
  38. admin.site.register(models.ConditionalOffer, ConditionalOfferAdmin)
  39. admin.site.register(models.Condition, ConditionAdmin)
  40. admin.site.register(models.Benefit, BenefitAdmin)
  41. admin.site.register(models.Range)
  42. admin.site.register(models.Voucher, VoucherAdmin)
  43. admin.site.register(models.VoucherApplication, VoucherApplicationAdmin)