Finalize duplicate resolver styles
Also try-except the email sending code
This commit is contained in:
@@ -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 {
|
||||
}
|
||||
|
||||
@@ -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
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user