"""Webapp utils.""" from django.utils import timezone from django.core.mail import send_mail from datetime import timedelta import logging from django.conf import settings from django.template.loader import render_to_string from sikweb.settings import URL def month_from_now(): """Return date one month from now.""" return timezone.now() + timedelta(days=30) def send_email(to, subject, body, fail_silently=False): try: success = send_mail( subject, body, settings.DEFAULT_EMAIL_FROM, [to], fail_silently=fail_silently, ) if success == 0: raise Exception('Failed to send email!') except Exception as ex: logging.exception('Failed to send email.') def send_signup_email(to, subject, id, uuid): message = render_to_string( 'webapp:signup_email.html', { 'url': f"https://{URL}/api/signup/{id}/edit/?uuid={uuid}", } ) return send_email(to, subject, message, fail_silently=True)