Commit 31ba9a27 authored by Hugo LEVY-FALK's avatar Hugo LEVY-FALK

Fix get_subscription of invoice.

parent bc758a6b
...@@ -242,14 +242,16 @@ class Facture(BaseInvoice): ...@@ -242,14 +242,16 @@ class Facture(BaseInvoice):
self.__original_control = self.control self.__original_control = self.control
def get_subscription(self): def get_subscription(self):
"""Returns every subscription associated with this invoice."""
return Cotisation.objects.filter( return Cotisation.objects.filter(
vente__in=self.vente_set.filter( vente__in=self.vente_set.filter(
Q(type_cotisation='All') | Q(type_cotisation='All') |
Q(type_cotisation='Cotisation') Q(type_cotisation='Adhesion')
) )
) )
def is_subscription(self): def is_subscription(self):
"""Returns True if this invoice contains at least one subscribtion."""
return bool(self.get_subscription()) return bool(self.get_subscription())
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
...@@ -257,14 +259,15 @@ class Facture(BaseInvoice): ...@@ -257,14 +259,15 @@ class Facture(BaseInvoice):
if not self.__original_valid and self.valid: if not self.__original_valid and self.valid:
send_mail_invoice(self) send_mail_invoice(self)
if self.is_subscription() \ if self.is_subscription() \
and not self.__original_control \ and not self.__original_control \
and self.control \ and self.control \
and CotisationsOption.get_cached_value('send_voucher_mail'): and CotisationsOption.get_cached_value('send_voucher_mail'):
send_mail_voucher(self) send_mail_voucher(self)
def __str__(self): def __str__(self):
return str(self.user) + ' ' + str(self.date) return str(self.user) + ' ' + str(self.date)
@receiver(post_save, sender=Facture) @receiver(post_save, sender=Facture)
def facture_post_save(**kwargs): def facture_post_save(**kwargs):
""" """
...@@ -795,7 +798,7 @@ class Paiement(RevMixin, AclMixin, models.Model): ...@@ -795,7 +798,7 @@ class Paiement(RevMixin, AclMixin, models.Model):
if payment_method is not None and use_payment_method: if payment_method is not None and use_payment_method:
return payment_method.end_payment(invoice, request) return payment_method.end_payment(invoice, request)
## So make this invoice valid, trigger send mail # So make this invoice valid, trigger send mail
invoice.valid = True invoice.valid = True
invoice.save() invoice.save()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment