2020-03-21 15:49:18 +00:00
|
|
|
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
|
2020-03-24 16:06:50 +00:00
|
|
|
# SPDX-License-Identifier: GPL-3.0-or-lateré
|
2020-03-21 15:49:18 +00:00
|
|
|
|
|
|
|
from django.contrib import admin
|
2020-07-29 09:38:59 +00:00
|
|
|
from note_kfet.admin import admin_site
|
2020-07-30 13:53:23 +00:00
|
|
|
|
2020-08-09 17:43:21 +00:00
|
|
|
from .forms import ProductForm
|
2020-08-06 19:51:53 +00:00
|
|
|
from .models import RemittanceType, Remittance, SogeCredit, Invoice, Product
|
2020-03-21 15:49:18 +00:00
|
|
|
|
|
|
|
|
2020-07-29 09:38:59 +00:00
|
|
|
@admin.register(RemittanceType, site=admin_site)
|
2020-03-24 16:06:50 +00:00
|
|
|
class RemittanceTypeAdmin(admin.ModelAdmin):
|
|
|
|
"""
|
|
|
|
Admin customisation for RemiitanceType
|
|
|
|
"""
|
|
|
|
list_display = ('note', )
|
2020-03-21 15:49:18 +00:00
|
|
|
|
|
|
|
|
2020-07-29 09:38:59 +00:00
|
|
|
@admin.register(Remittance, site=admin_site)
|
2020-03-24 16:06:50 +00:00
|
|
|
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):
|
|
|
|
if not obj:
|
|
|
|
return True
|
|
|
|
return not obj.closed and super().has_change_permission(request, obj)
|
2020-04-22 01:26:45 +00:00
|
|
|
|
|
|
|
|
2020-08-01 13:13:29 +00:00
|
|
|
@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
|
2020-08-06 19:51:53 +00:00
|
|
|
|
|
|
|
|
|
|
|
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,)
|