Files @ 2f4ebc22afea
Branch filter:

Location: symposion_app/registrasion/admin.py

Christopher Neugebauer
Merge branch 'category_form'
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