"""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 from django.core.mail import send_mail 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 @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!')