Finalize duplicate resolver styles

Also try-except the email sending code
This commit is contained in:
Jan Tuomi
2017-05-29 22:59:38 +03:00
parent 3a8d988033
commit 26f4d28003
7 changed files with 163 additions and 62 deletions
+14
View File
@@ -249,4 +249,18 @@ input {
.conflict-row {
overflow: auto;
margin-bottom: 2rem;
border: 1px dotted black;
}
.table-conflict {
}
.conflict-row>div>table>tbody>tr>th,
.conflict-row>div>table>tbody>tr>td {
border-top: none;
padding: 1rem;
}
.conflict-row>div {
}
+3 -3
View File
@@ -13,14 +13,14 @@
<p>{% blocktrans %}Found conflicting member entries. Choose how to handle the problematic data.{% endblocktrans %}</p>
{% for conflict in conflicts %}
<div class="conflict-row bg-info">
<div class="conflict-row">
<div class="col-md-6">
<table class="table readonly" >
<table class="table readonly table-conflict bg-info" >
{{ conflict.first_member_form }}
</table>
</div>
<div class="col-md-6">
<table class="table readonly" >
<table class="table readonly table-conflict bg-info" >
{{ conflict.second_member_form }}
</table>
</div>
+27 -15
View File
@@ -25,6 +25,7 @@ import requests
import logging
import html
import csv
from smtplib import SMTPAuthenticationError
from members.models import Member, Request, Payment, MemberConflict
from members.forms import MemberForm, PaymentForm, ApplicationForm
@@ -490,6 +491,7 @@ def resolve_conflict(request, *args, **kwargs):
first_member.delete()
conflict.delete()
if MemberConflict.objects.exists():
return HttpResponseRedirect('/members/duplicates')
else:
@@ -505,24 +507,29 @@ def send_mail_wrapper(subject, message, email_to):
fail_silently=False)
# @receiver(post_save, sender=Request)
# def email_on_request(sender, instance, created, **kwargs):
# if created:
# subject = 'Test1'
# message = 'Please validate your email address\r\n'
# send_mail_wrapper(subject, message, instance.email)
#
#
# @receiver(post_save, sender=Member)
# def email_on_accept(sender, instance, created, **kwargs):
# if created:
# subject = 'Test2'
# message = 'Jäsenhakemuksesi on hyväksytty!!!\r\n'
# send_mail_wrapper(subject, message, instance.email)
@receiver(post_save, sender=Request)
def email_on_request(sender, instance, created, **kwargs):
try:
if created:
subject = 'Test1'
message = 'Please validate your email address\r\n'
send_mail_wrapper(subject, message, instance.email)
except SMTPAuthenticationError:
memberlogger.error('Failed to send email to accepted request!')
@receiver(post_save, sender=Member)
def check_for_duplicates(sender, instance, created, **kwargs):
def email_on_accept(sender, instance, created, **kwargs):
try:
if created:
subject = 'Test2'
message = 'Jäsenhakemuksesi on hyväksytty!!!\r\n'
send_mail_wrapper(subject, message, instance.email)
except SMTPAuthenticationError:
memberlogger.error('Failed to send email to accepted member!')
def check_for_duplicates(instance):
name_candidates = Member.objects.filter(first_name=instance.first_name,
last_name=instance.last_name)
email_candidates = Member.objects.filter(email=instance.email)
@@ -536,6 +543,11 @@ def check_for_duplicates(sender, instance, created, **kwargs):
conflict.save()
@receiver(post_save, sender=Member)
def duplicate_receiver(sender, instance, created, **kwargs):
check_for_duplicates(instance)
# Can be used to retrieve single member information via REST API
class MemberDetail(generics.RetrieveAPIView):
queryset = Member.objects.all()