mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-01-15 13:43:28 +01:00
82 lines
1.9 KiB
Python
82 lines
1.9 KiB
Python
from django.contrib import admin
|
|
|
|
from apps.transactions.models import (
|
|
Transaction,
|
|
TransactionCategory,
|
|
TransactionTag,
|
|
InstallmentPlan,
|
|
RecurringTransaction,
|
|
TransactionEntity,
|
|
QuickTransaction,
|
|
)
|
|
from apps.common.admin import SharedObjectModelAdmin
|
|
|
|
|
|
@admin.register(Transaction)
|
|
class TransactionModelAdmin(admin.ModelAdmin):
|
|
def get_queryset(self, request):
|
|
# Use the all_objects manager to show all transactions, including deleted ones
|
|
return self.model.userless_all_objects.all()
|
|
|
|
list_filter = ["deleted", "type", "is_paid", "date", "account"]
|
|
|
|
list_display = [
|
|
"date",
|
|
"description",
|
|
"type",
|
|
"account__name",
|
|
"amount",
|
|
"account__currency__code",
|
|
"reference_date",
|
|
"deleted",
|
|
]
|
|
readonly_fields = ["deleted_at"]
|
|
|
|
actions = ["hard_delete_selected"]
|
|
|
|
def hard_delete_selected(self, request, queryset):
|
|
for obj in queryset:
|
|
obj.hard_delete()
|
|
self.message_user(
|
|
request, f"Successfully hard deleted {queryset.count()} transactions."
|
|
)
|
|
|
|
hard_delete_selected.short_description = "Hard delete selected transactions"
|
|
|
|
|
|
class TransactionInline(admin.TabularInline):
|
|
model = Transaction
|
|
extra = 0
|
|
|
|
|
|
@admin.register(InstallmentPlan)
|
|
class InstallmentPlanAdmin(admin.ModelAdmin):
|
|
inlines = [
|
|
TransactionInline,
|
|
]
|
|
|
|
|
|
@admin.register(RecurringTransaction)
|
|
class RecurringTransactionAdmin(admin.ModelAdmin):
|
|
inlines = [
|
|
TransactionInline,
|
|
]
|
|
|
|
|
|
admin.site.register(QuickTransaction)
|
|
|
|
|
|
@admin.register(TransactionCategory)
|
|
class TransactionCategoryModelAdmin(SharedObjectModelAdmin):
|
|
pass
|
|
|
|
|
|
@admin.register(TransactionTag)
|
|
class TransactionTagModelAdmin(SharedObjectModelAdmin):
|
|
pass
|
|
|
|
|
|
@admin.register(TransactionEntity)
|
|
class TransactionEntityModelAdmin(SharedObjectModelAdmin):
|
|
pass
|