8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-09 03:16:25 +00:00

Fix get_subscription of invoice.

This commit is contained in:
Hugo LEVY-FALK 2019-01-21 20:52:28 +01:00
parent bc758a6bcb
commit 31ba9a271f

View file

@ -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):
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):
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()