You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

27 lines
1.3 KiB

from django.contrib import admin
from unfold.admin import ModelAdmin, TabularInline
from apps.donations.models import DonationCampaign, DonationTransaction
class DonationTransactionInline(TabularInline):
model = DonationTransaction
extra = 0
fields = ('transaction_reference', 'donor_name', 'amount', 'currency', 'payment_status', 'created_at')
readonly_fields = ('transaction_reference', 'donor_name', 'amount', 'currency', 'payment_status', 'created_at')
@admin.register(DonationCampaign)
class DonationCampaignAdmin(ModelAdmin):
list_display = ('title', 'category', 'priority', 'target_amount', 'raised_amount', 'currency', 'is_active', 'is_featured', 'deadline')
list_filter = ('category', 'priority', 'is_active', 'is_featured')
search_fields = ('title', 'description', 'organization_name', 'institution__name')
prepopulated_fields = {'slug': ('title',)}
inlines = [DonationTransactionInline]
@admin.register(DonationTransaction)
class DonationTransactionAdmin(ModelAdmin):
list_display = ('transaction_reference', 'campaign', 'donor_name', 'amount', 'currency', 'payment_status', 'created_at')
list_filter = ('payment_status', 'currency', 'created_at')
search_fields = ('transaction_reference', 'donor_name', 'donor_email', 'campaign__title')
readonly_fields = ('transaction_reference', 'created_at')