# Copyright (C) 2018-2024 by BDE ENS Paris-Saclay # SPDX-License-Identifier: GPL-3.0-or-lateré from django.contrib import admin from note_kfet.admin import admin_site from .forms import ProductForm from .models import Invoice, NoteSummary, Product, RemittanceType, Remittance, SogeCredit @admin.register(RemittanceType, site=admin_site) class RemittanceTypeAdmin(admin.ModelAdmin): """ Admin customisation for RemittanceType """ list_display = ('note', ) @admin.register(Remittance, site=admin_site) class RemittanceAdmin(admin.ModelAdmin): """ Admin customisation for Remittance """ list_display = ('remittance_type', 'date', 'comment', 'count', 'amount', 'closed', ) def has_change_permission(self, request, obj=None): return not obj or (not obj.closed and super().has_change_permission(request, obj)) @admin.register(SogeCredit, site=admin_site) class SogeCreditAdmin(admin.ModelAdmin): """ Admin customisation for Remittance """ list_display = ('user', 'valid',) readonly_fields = ('transactions', 'credit_transaction',) def has_add_permission(self, request): # Don't create a credit manually return False class ProductInline(admin.StackedInline): """ Inline product in invoice admin """ model = Product form = ProductForm @admin.register(Invoice, site=admin_site) class InvoiceAdmin(admin.ModelAdmin): """ Admin customisation for Invoice """ list_display = ('object', 'id', 'bde', 'name', 'date', 'acquitted',) inlines = (ProductInline,) @admin.register(NoteSummary, site=admin_site) class NoteSummaryAdmin(admin.ModelAdmin): """ Admin customisation for NoteSummary """ list_display = ( 'date', 'total_positive_user', 'balance_positive_user', 'total_positive_user_bde', 'balance_positive_user_bde', 'total_zero_user', 'total_zero_user_bde', 'total_negative_user', 'balance_negative_user', 'total_negative_user_bde', 'balance_negative_user_bde', 'total_vnegative_user', 'balance_vnegative_user', 'total_vnegative_user_bde', 'balance_vnegative_user_bde', 'total_positive_club', 'balance_positive_club', 'total_positive_club_nbde', 'balance_positive_club_nbde', 'total_zero_club', 'total_zero_club_nbde', 'total_negative_club', 'balance_negative_club', 'total_negative_club_nbde', 'balance_negative_club_nbde', )