42 lines
1.0 KiB
Python
42 lines
1.0 KiB
Python
"""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)
|