8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-12-26 00:43:46 +00:00

Gestion des ventes multiples sur une meme facture

This commit is contained in:
Gabriel Detraz 2016-07-05 02:22:11 +02:00
parent 824c349d9c
commit cae1f8b807

View file

@ -34,14 +34,14 @@ def is_adherent(user):
else: else:
return True return True
def create_cotis(facture, user, article): def create_cotis(facture, user, duration):
""" Update et crée l'objet cotisation associé à une facture, prend en argument l'user, la facture pour la quantitéi, et l'article pour la durée""" """ Update et crée l'objet cotisation associé à une facture, prend en argument l'user, la facture pour la quantitéi, et l'article pour la durée"""
cotisation=Cotisation(facture=facture) cotisation=Cotisation(facture=facture)
date_max = end_adhesion(user) or timezone.now() date_max = end_adhesion(user) or timezone.now()
if date_max < timezone.now(): if date_max < timezone.now():
datemax = timezone.now() datemax = timezone.now()
cotisation.date_start=date_max cotisation.date_start=date_max
cotisation.date_end = cotisation.date_start + relativedelta(months=article[0].duration*facture.number) cotisation.date_end = cotisation.date_start + relativedelta(months=duration)
cotisation.save() cotisation.save()
return return
@ -56,11 +56,12 @@ def new_facture(request, userid):
if facture_form.is_valid(): if facture_form.is_valid():
new_facture = facture_form.save(commit=False) new_facture = facture_form.save(commit=False)
article = facture_form.cleaned_data['article'] article = facture_form.cleaned_data['article']
new_facture.prix = article[0].prix new_facture.prix = sum(art.prix for art in article)
new_facture.name = article[0].name new_facture.name = ' - '.join(art.name for art in article)
new_facture.save() new_facture.save()
if article[0].cotisation == True: if any(art.cotisation for art in article):
create_cotis(new_facture, user, article) duration = sum(art.duration*facture.number for art in article if art.cotisation)
create_cotis(new_facture, user, duration)
messages.success(request, "La cotisation a été prolongée pour l'adhérent %s " % user.name ) messages.success(request, "La cotisation a été prolongée pour l'adhérent %s " % user.name )
else: else:
messages.success(request, "La facture a été crée") messages.success(request, "La facture a été crée")