Sith/eboutic/admin.py

55 lines
1.6 KiB
Python
Raw Permalink Normal View History

#
# Copyright 2023 © AE UTBM
# ae@utbm.fr / ae.info@utbm.fr
#
# This file is part of the website of the UTBM Student Association (AE UTBM),
# https://ae.utbm.fr.
#
# You can find the source code of the website at https://github.com/ae-utbm/sith
#
# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3)
2024-09-23 08:25:27 +00:00
# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE
# OR WITHIN THE LOCAL FILE "LICENSE"
#
#
from django.contrib import admin
from django.db.models import F, Sum
from eboutic.models import Basket, BasketItem, Invoice, InvoiceItem
2022-12-19 19:55:33 +00:00
@admin.register(Basket)
class BasketAdmin(admin.ModelAdmin):
2024-07-27 22:09:39 +00:00
list_display = ("user", "date", "total")
2024-07-29 22:56:13 +00:00
autocomplete_fields = ("user",)
2022-12-19 19:55:33 +00:00
2024-07-27 22:09:39 +00:00
def get_queryset(self, request):
return (
super()
.get_queryset(request)
.annotate(
total=Sum(
F("items__quantity") * F("items__product_unit_price"), default=0
)
)
)
2022-12-19 19:55:33 +00:00
@admin.register(BasketItem)
class BasketItemAdmin(admin.ModelAdmin):
list_display = ("basket", "product_name", "product_unit_price", "quantity")
search_fields = ("product_name",)
@admin.register(Invoice)
class InvoiceAdmin(admin.ModelAdmin):
list_display = ("user", "date", "validated")
search_fields = ("user__username", "user__first_name", "user__last_name")
2024-07-29 22:56:13 +00:00
autocomplete_fields = ("user",)
2022-12-19 19:55:33 +00:00
@admin.register(InvoiceItem)
class InvoiceItemAdmin(admin.ModelAdmin):
list_display = ("invoice", "product_name", "product_unit_price", "quantity")
search_fields = ("product_name",)