improve counter dump admin

This commit is contained in:
imperosol 2024-10-16 23:10:12 +02:00
parent 9991f5dc64
commit e712f9fdb8
2 changed files with 19 additions and 1 deletions

View File

@ -63,15 +63,25 @@ class BillingInfoAdmin(admin.ModelAdmin):
@admin.register(AccountDump) @admin.register(AccountDump)
class AccountDumpAdmin(admin.ModelAdmin): class AccountDumpAdmin(admin.ModelAdmin):
date_hierarchy = "warning_mail_sent_at"
list_display = ( list_display = (
"customer", "customer",
"warning_mail_sent_at", "warning_mail_sent_at",
"warning_mail_error", "warning_mail_error",
"dump_operation", "dump_operation",
"amount",
) )
autocomplete_fields = ("customer",) autocomplete_fields = ("customer", "dump_operation")
list_filter = ("warning_mail_error",) list_filter = ("warning_mail_error",)
def get_queryset(self, request):
# the `amount` property requires to know the customer and the dump_operation
return (
super()
.get_queryset(request)
.select_related("customer", "customer__user", "dump_operation")
)
@admin.register(Counter) @admin.register(Counter)
class CounterAdmin(admin.ModelAdmin): class CounterAdmin(admin.ModelAdmin):

View File

@ -279,6 +279,14 @@ class AccountDump(models.Model):
status = "ongoing" if self.dump_operation is None else "finished" status = "ongoing" if self.dump_operation is None else "finished"
return f"{self.customer} - {status}" return f"{self.customer} - {status}"
@cached_property
def amount(self):
return (
self.dump_operation.unit_price
if self.dump_operation
else self.customer.amount
)
class ProductType(models.Model): class ProductType(models.Model):
"""A product type. """A product type.