|
@@ -22,7 +22,8 @@ def create_all_members_invoices_for_a_period(date=datetime.date.today()):
|
|
|
Q(offersubscription__resign_date__gte=date))
|
|
|
|
|
|
for member in members:
|
|
|
- create_member_invoice_for_a_period(member,date)
|
|
|
+ create_member_invoice_for_a_period(member, date)
|
|
|
+
|
|
|
|
|
|
@transaction.atomic
|
|
|
def create_member_invoice_for_a_period(member, date):
|
|
@@ -56,7 +57,7 @@ def create_member_invoice_for_a_period(member, date):
|
|
|
offersubscription__exact=offer_subscription.pk,
|
|
|
invoice__member__exact=member.pk)
|
|
|
if not invoicedetail_test_first.exists():
|
|
|
- invoice.details.create(
|
|
|
+ invoice.details.create(
|
|
|
label=offer.name + " - Frais de mise en service",
|
|
|
amount=offer.initial_fees,
|
|
|
offersubscription=offer_subscription,
|
|
@@ -73,12 +74,12 @@ def create_member_invoice_for_a_period(member, date):
|
|
|
planned_period_number_of_days = (period_to - period_from).days + 1
|
|
|
quantity = 1
|
|
|
|
|
|
- # Si la facture est le premier mois de l'abonnement, alors met la
|
|
|
+ # Si la facture est le premier mois de l'abonnement, alors met la
|
|
|
# date de début de facturation au jour de l'ouverture de
|
|
|
# l'abonnement
|
|
|
if date_first_of_month == datetime.date(
|
|
|
- offer_subscription.subscription_date.year,
|
|
|
- offer_subscription.subscription_date.month, 1):
|
|
|
+ offer_subscription.subscription_date.year,
|
|
|
+ offer_subscription.subscription_date.month, 1):
|
|
|
period_from = offer_subscription.subscription_date
|
|
|
|
|
|
# Recherche dans les factures déjà existantes de ce membre des
|
|
@@ -122,7 +123,7 @@ def create_member_invoice_for_a_period(member, date):
|
|
|
|
|
|
# Si durée de 0jours ou dates incohérentes, alors on ajoute pas
|
|
|
# (Si la period est de 0jours c'est que la facture existe déjà.)
|
|
|
- if period_from<period_to:
|
|
|
+ if period_from < period_to:
|
|
|
# Ajout l'item de l'offre correspondant à l'abonnement
|
|
|
# à la facture
|
|
|
invoice.details.create(label=offer.name,
|
|
@@ -131,7 +132,7 @@ def create_member_invoice_for_a_period(member, date):
|
|
|
offersubscription=offer_subscription,
|
|
|
period_from=period_from,
|
|
|
period_to=period_to)
|
|
|
-
|
|
|
+
|
|
|
# S'il n'y a pas d'items dans la facture, ne commit pas la transaction.
|
|
|
if invoice.details.count() > 0:
|
|
|
invoice.save()
|