JB Compta v1.1 - multi-activité
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
from django.contrib import admin
|
||||
from django.utils import timezone
|
||||
|
||||
from .models import (
|
||||
Bareme, Entreprise, Client, Facture, LigneFacture, Depense,
|
||||
)
|
||||
|
||||
|
||||
@admin.register(Bareme)
|
||||
class BaremeAdmin(admin.ModelAdmin):
|
||||
list_display = ("annee", "activite", "taux_urssaf", "abattement_fiscal",
|
||||
"taux_vl", "seuil_ca", "seuil_tva_base")
|
||||
list_filter = ("annee", "activite")
|
||||
|
||||
|
||||
@admin.register(Entreprise)
|
||||
class EntrepriseAdmin(admin.ModelAdmin):
|
||||
list_display = ("nom", "activite", "franchise_tva",
|
||||
"versement_liberatoire", "email")
|
||||
list_filter = ("activite", "franchise_tva", "versement_liberatoire")
|
||||
search_fields = ("nom", "siret")
|
||||
|
||||
|
||||
@admin.register(Client)
|
||||
class ClientAdmin(admin.ModelAdmin):
|
||||
list_display = ("nom", "entreprise", "email", "siret")
|
||||
list_filter = ("entreprise",)
|
||||
search_fields = ("nom", "email", "siret")
|
||||
|
||||
|
||||
class LigneFactureInline(admin.TabularInline):
|
||||
model = LigneFacture
|
||||
extra = 1
|
||||
|
||||
|
||||
@admin.action(description="Marquer comme encaissée (aujourd'hui)")
|
||||
def marquer_encaissee(modeladmin, request, queryset):
|
||||
queryset.update(statut="encaissee", date_encaissement=timezone.now().date())
|
||||
|
||||
|
||||
@admin.register(Facture)
|
||||
class FactureAdmin(admin.ModelAdmin):
|
||||
list_display = ("numero", "entreprise", "client", "date_emission",
|
||||
"date_encaissement", "statut", "montant_ht",
|
||||
"montant_tva", "montant_ttc")
|
||||
list_filter = ("entreprise", "statut", "activite", "date_emission")
|
||||
search_fields = ("numero", "client__nom")
|
||||
date_hierarchy = "date_emission"
|
||||
inlines = [LigneFactureInline]
|
||||
actions = [marquer_encaissee]
|
||||
readonly_fields = ("montant_ht", "montant_tva", "montant_ttc")
|
||||
|
||||
def save_related(self, request, form, formsets, change):
|
||||
super().save_related(request, form, formsets, change)
|
||||
# Recalcule les totaux à partir des lignes après sauvegarde
|
||||
form.instance.recompute_totaux()
|
||||
|
||||
|
||||
@admin.register(Depense)
|
||||
class DepenseAdmin(admin.ModelAdmin):
|
||||
list_display = ("date", "entreprise", "libelle", "activite", "categorie",
|
||||
"montant_ttc", "montant_tva")
|
||||
list_filter = ("entreprise", "activite", "categorie", "date")
|
||||
search_fields = ("libelle", "categorie")
|
||||
date_hierarchy = "date"
|
||||
Reference in New Issue
Block a user