diff --git a/finance/models.py b/finance/models.py index 30310e0..434e562 100755 --- a/finance/models.py +++ b/finance/models.py @@ -1,5 +1,6 @@ # coding=utf-8 from django.conf import settings +from django.core.mail import EmailMessage from django.db import models from yandex_money.models import Payment @@ -64,6 +65,17 @@ class Invoice(models.Model): return '''Вам выставлен счёт,''' if \ self.comment == "" else self.comment + def send_link(self): + msg = EmailMessage( + 'Вам выставлен новый счёт', + """%s для оплаты перейдите по ссылке + %s/api/v1/finance/payment/%s/""" % (self.get_comment(), settings.DOMAIN, self.yandex_pay.id), + to=[self.yandex_pay.cps_email], + bcc=[self.bill.opener.email], + reply_to=[self.bill.opener.email], + ) + msg.send() + def __str__(self): return '%s:%s %s' % (self.id, self.get_status_display(), self.bill.user) diff --git a/finance/signals.py b/finance/signals.py index da1b573..ea0f3cf 100644 --- a/finance/signals.py +++ b/finance/signals.py @@ -5,27 +5,11 @@ from django.dispatch import receiver from yandex_money.models import Payment from django.conf import settings -from finance.models import Invoice, InvoiceRebilling +from finance.models import Invoice from courses.models import Course from progress.models import Progress, ProgressLesson -@receiver(pre_save, sender=InvoiceRebilling) -def invoice_signal(instance, **kwargs): - """Отправка сообщения после сохранения рассрочки""" - - if instance.yandex_pay and instance.method == 'Y' and instance.status == 'P': - msg = EmailMessage( - 'Вам выставлен новый счёт', - """%s для оплаты перейдите по ссылке - %s/api/v1/finance/payment/%s/""" % (instance.get_comment(), settings.DOMAIN, instance.yandex_pay.id), - to=[instance.yandex_pay.cps_email], - bcc=[instance.bill.opener.email], - reply_to=[instance.bill.opener.email], - ) - msg.send() - - @receiver(pre_save, sender=Invoice) def invoice_signal(instance, **kwargs): """Отправка сообщения после сохранения платежа""" diff --git a/finance/views.py b/finance/views.py index 95bd1d9..4db8425 100644 --- a/finance/views.py +++ b/finance/views.py @@ -127,7 +127,7 @@ class InvoiceDetailView(APIView): is_open=is_open, pay_count=pay_count, ) - + invoice.send_link() else: try: invoice = Invoice.objects.get(id=invoice_id)