add DonProduit class

This commit is contained in:
Florian du Garage Num 2024-03-29 17:02:25 +01:00
parent 3f98ea9d29
commit 4d435a1744
2 changed files with 54 additions and 5 deletions

View File

@ -1,7 +1,7 @@
from django.contrib import admin from django.contrib import admin
# Register your models here. # Register your models here.
from .models import Pro, Association from .models import Pro, Association, Produit, DonProduit, DonFromPro
#from models import Pro, Association #from models import Pro, Association
class ProAdmin(admin.ModelAdmin): class ProAdmin(admin.ModelAdmin):
@ -11,6 +11,28 @@ class ProAdmin(admin.ModelAdmin):
] ]
list_display = ('name', 'email') list_display = ('name', 'email')
class AssoAdmin(admin.ModelAdmin):
fieldsets = [
("Nom", {'fields': ['name']}),
("Email", {'fields': ['email']}),
]
list_display = ('name', 'email')
# Inline admin for DonProduit
class DonProduitInline(admin.TabularInline): # or use admin.StackedInline
model = DonProduit
extra = 1 # Adds 1 extra row to the inline formset
# Admin model for DonFromPro
class DonFromProAdmin(admin.ModelAdmin):
inlines = [DonProduitInline]
admin.site.register(Pro, ProAdmin) admin.site.register(Pro, ProAdmin)
admin.site.register(Association) admin.site.register(Association, AssoAdmin)
admin.site.register(Produit)
admin.site.register(DonProduit)
admin.site.register(DonFromPro, DonFromProAdmin)

View File

@ -9,13 +9,40 @@ class Association(models.Model):
name = models.CharField(max_length=200) name = models.CharField(max_length=200)
email = models.EmailField("email de contact") email = models.EmailField("email de contact")
class Produit(models.Model):
name = models.CharField(max_length=100)
active = models.BooleanField(default=True)
class ProduitType(models.TextChoices):
PRODUIT_ALIMENTAIRE = "A"
OBJET = "O"
type = models.CharField(max_length=1,
choices=ProduitType,
default=ProduitType.PRODUIT_ALIMENTAIRE,
)
class DonFromPro(models.Model): class DonFromPro(models.Model):
date = models.DateTimeField("Date du don") date = models.DateField("Date du don")
donateur = models.ForeignKey("Pro", on_delete=models.RESTRICT) donateur = models.ForeignKey("Pro", on_delete=models.RESTRICT)
associations = models.ForeignKey('Association', on_delete=models.RESTRICT)
class DonProduit(models.Model):
produit = models.ForeignKey('Produit', on_delete=models.RESTRICT)
qty = models.FloatField()
date_peremption = models.DateField("Date de péremption", null=True)
class Unite(models.TextChoices):
KILOS = "K"
CAISSE = "C"
LITRE = "L"
UNITE = "U"
qty_unity = models.CharField(max_length=1, default=Unite.KILOS)
don_pro = models.ForeignKey('DonFromPro', related_name='dons_produits', on_delete=models.CASCADE)
class DonToAsso(models.Model): class DonToAsso(models.Model):
date = models.DateTimeField("Date du don") date = models.DateField("Date du don")
donateur = models.ForeignKey("Association", on_delete=models.RESTRICT) donateur = models.ForeignKey("Association", on_delete=models.RESTRICT)