Files
@ cc4249083219
Branch filter:
Location: symposion_app/registrasion/admin.py - annotation
cc4249083219
2.3 KiB
text/x-python
Applying a voucher to a cart now uses the voucher code rather than the voucher object. Adds tests for constraints on vouchers.
d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 d9e433659d01 8400da17da60 8400da17da60 8400da17da60 8400da17da60 8400da17da60 8400da17da60 8400da17da60 8400da17da60 8400da17da60 8400da17da60 8400da17da60 8400da17da60 | from django.contrib import admin
from django.utils.translation import ugettext_lazy as _
import nested_admin
from registrasion import models as rego
# Inventory admin
class ProductInline(admin.TabularInline):
model = rego.Product
@admin.register(rego.Category)
class CategoryAdmin(admin.ModelAdmin):
model = rego.Category
verbose_name_plural = _("Categories")
inlines = [
ProductInline,
]
admin.site.register(rego.Product)
# Discounts
class DiscountForProductInline(admin.TabularInline):
model = rego.DiscountForProduct
verbose_name = _("Product included in discount")
verbose_name_plural = _("Products included in discount")
class DiscountForCategoryInline(admin.TabularInline):
model = rego.DiscountForCategory
verbose_name = _("Category included in discount")
verbose_name_plural = _("Categories included in discount")
@admin.register(
rego.TimeOrStockLimitDiscount,
rego.IncludedProductDiscount,
)
class DiscountAdmin(admin.ModelAdmin):
inlines = [
DiscountForProductInline,
DiscountForCategoryInline,
]
# Vouchers
class VoucherDiscountInline(nested_admin.NestedStackedInline):
model = rego.VoucherDiscount
verbose_name = _("Discount")
# TODO work out why we're allowed to add more than one?
max_num = 1
extra = 1
inlines = [
DiscountForProductInline,
DiscountForCategoryInline,
]
class VoucherEnablingConditionInline(nested_admin.NestedStackedInline):
model = rego.VoucherEnablingCondition
verbose_name = _("Product and category enabled by voucher")
verbose_name_plural = _("Products and categories enabled by voucher")
# TODO work out why we're allowed to add more than one?
max_num = 1
extra = 1
@admin.register(rego.Voucher)
class VoucherAdmin(nested_admin.NestedAdmin):
model = rego.Voucher
inlines = [
VoucherDiscountInline,
VoucherEnablingConditionInline,
]
# Enabling conditions
@admin.register(rego.ProductEnablingCondition)
class ProductEnablingConditionAdmin(nested_admin.NestedAdmin):
model = rego.ProductEnablingCondition
# Enabling conditions
@admin.register(rego.CategoryEnablingCondition)
class CategoryEnablingConditionAdmin(nested_admin.NestedAdmin):
model = rego.CategoryEnablingCondition
|