Fixes: 1) Remove unused `django-autocompletefilter` package and adjust imports; 2) Clean up related settings and dependency references; Extra: Minor formatting adjustments in `payments/admin.py`.
41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
from django.contrib import admin
|
|
from django.contrib.admin import ModelAdmin, register
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
from core.admin import ActivationActionsMixin
|
|
from payments.forms import TransactionForm
|
|
from payments.models import Balance, Transaction
|
|
|
|
|
|
class TransactionInline(admin.TabularInline):
|
|
model = Transaction
|
|
form = TransactionForm
|
|
extra = 1
|
|
is_navtab = True
|
|
verbose_name = _("transaction")
|
|
verbose_name_plural = _("transactions")
|
|
|
|
def get_queryset(self, request):
|
|
qs = super().get_queryset(request)
|
|
return qs.select_related("order")
|
|
|
|
|
|
@register(Balance)
|
|
class BalanceAdmin(ActivationActionsMixin, ModelAdmin):
|
|
inlines = (TransactionInline,)
|
|
list_display = ("user", "amount")
|
|
search_fields = ("user__email",)
|
|
ordering = ("user",)
|
|
|
|
def get_queryset(self, request):
|
|
qs = super().get_queryset(request)
|
|
return qs.prefetch_related("transactions", "user")
|
|
|
|
|
|
@register(Transaction)
|
|
class TransactionAdmin(ActivationActionsMixin, ModelAdmin):
|
|
list_display = ("balance", "amount", "currency", "payment_method", "order")
|
|
search_fields = ("balance__user__email", "currency", "payment_method")
|
|
list_filter = ("currency", "payment_method")
|
|
ordering = ("balance",)
|
|
form = TransactionForm
|