add send email

prod
Dmitriy Shesterkin 9 years ago
parent 3ceced5854
commit 058e363898
  1. 17
      src/customer/emails.py
  2. 35
      src/customer/models.py
  3. 8
      src/customer/tasks.py

@ -20,3 +20,20 @@ def send_offer_buy_licence_for_get_bonus(user_email, url):
email_body = render_to_string(template_name, dict_context)
email = EmailMessage(subject=subject, to=(user_email,), body=email_body)
return email.send()
@task
def send_license_successful_purchased(user_email, order_number, lic_term, activate_date):
template_name = 'emails/license_successful_purchased.txt'
subject = 'Документор: Успешная оплата лицензии'
dict_context = {'user_email': user_email,
'support_email': settings.SUPPORT_EMAIL,
'url': 'my/orders/',
'site_url': get_site_url(),
'order_number': order_number,
'lic_term': lic_term,
'activate_date': activate_date
}
email_body = render_to_string(template_name, dict_context)
email = EmailMessage(subject=subject, to=(user_email,), body=email_body)
return email.send()

@ -22,6 +22,8 @@ from myauth.models import DokUser
from commons.utils import only_numerics
from robokassa.signals import result_received, success_page_visited
from . import emails
log = logging.getLogger(__name__)
# куда сохранять загруженные изображения
@ -755,8 +757,7 @@ class Payment(models.Model):
return f'{self.user}-{self.order_number}-{self.get_status_display()}'
@receiver(result_received)
def order_completed(sender, **kwargs):
def confirmed_purchase(**kwargs):
try:
payment = Payment.objects.get(
pk=kwargs['InvId'],
@ -770,29 +771,25 @@ def order_completed(sender, **kwargs):
lic.paid_date = datetime.now().date()
lic.save()
emails.send_license_successful_purchased.delay(
payment.user.email,
lic.pk,
lic.get_term(),
lic.date_from
)
except Payment.DoesNotExist:
log.info(f"payment with id={kwargs['InvId']} not found")
except License.DoesNotExist:
log.info(f"payment with id={kwargs['InvId']} not found")
@receiver(result_received)
def order_completed(sender, **kwargs):
confirmed_purchase(**kwargs)
@receiver(success_page_visited)
def success_page_visited_completed(sender, **kwargs):
if settings.DEBUG:
try:
payment = Payment.objects.get(
pk=kwargs['InvId'],
order_amount=kwargs['OutSum']
)
payment.status = Payment.SUCCESS
payment.save()
lic = License.objects.get(pk=payment.order_number)
lic.status = consts.STATUS_PAID
lic.paid_date = datetime.now().date()
lic.save()
except Payment.DoesNotExist:
log.info(f"payment with id={kwargs['InvId']} not found")
except License.DoesNotExist:
log.info(f"payment with id={kwargs['InvId']} not found")
confirmed_purchase(**kwargs)

@ -23,14 +23,6 @@ def check_license():
profiles = UserProfile.objects.all()
now = datetime.today()
# TODO: not needed
# licenses = License.objects.filter(
# order_date__lte=now - timedelta(10),
# status=0,
# deleted=False
# )
# licenses.update(status=4)
for profile in profiles:
try:
check_one_profile(profile, now)

Loading…
Cancel
Save