60 lines
1.9 KiB
Python
60 lines
1.9 KiB
Python
"""File containing Members application views."""
|
|
|
|
from django.shortcuts import render
|
|
from django.contrib.auth.decorators import permission_required
|
|
from django.views.decorators.http import require_http_methods
|
|
from django.views.decorators.csrf import ensure_csrf_cookie
|
|
from django.http import HttpResponse, HttpResponseRedirect
|
|
from django.core.mail import send_mail
|
|
from django.conf import settings
|
|
from django.utils.translation import ugettext as _
|
|
from django.forms.models import model_to_dict
|
|
|
|
# Email validation
|
|
from django.db.models.signals import post_save
|
|
from django.dispatch import receiver
|
|
from django.utils.http import urlsafe_base64_encode
|
|
from django.utils.encoding import force_bytes
|
|
|
|
import json
|
|
import requests
|
|
import logging
|
|
import html
|
|
import csv
|
|
import pickle
|
|
from smtplib import SMTPAuthenticationError
|
|
|
|
from members.models import Member, Request, Payment
|
|
from members.forms import MemberForm, PaymentForm, ApplicationForm, CSVValidationError
|
|
from members.views.utils import send_mail_wrapper
|
|
|
|
|
|
@receiver(post_save, sender=Request)
|
|
def email_on_request(sender, instance, created, **kwargs):
|
|
"""Send email validation."""
|
|
if not settings.ENABLE_AUTOMATIC_EMAILS:
|
|
return
|
|
|
|
try:
|
|
if created:
|
|
subject = 'Test1'
|
|
message = 'Please validate your email address\r\n'
|
|
send_mail_wrapper(subject, message, instance.email)
|
|
except SMTPAuthenticationError:
|
|
logging.error('Failed to send email to accepted request!')
|
|
|
|
|
|
@receiver(post_save, sender=Member)
|
|
def email_on_accept(sender, instance, created, **kwargs):
|
|
"""Send email to accepted member."""
|
|
if not settings.ENABLE_AUTOMATIC_EMAILS:
|
|
return
|
|
|
|
try:
|
|
if created:
|
|
subject = 'Test2'
|
|
message = 'Jäsenhakemuksesi on hyväksytty!!!\r\n'
|
|
send_mail_wrapper(subject, message, instance.email)
|
|
except SMTPAuthenticationError:
|
|
logging.error('Failed to send email to accepted member!')
|