update: fix !8

This commit is contained in:
Jean-Baptiste Pasquier 2019-10-02 16:08:05 +02:00
parent 9ad830dbbb
commit f278f759fb
No known key found for this signature in database
GPG Key ID: F2702E6D22ED4D62
2 changed files with 28 additions and 18 deletions

View File

@ -79,22 +79,32 @@ def send_request(target, object_iri):
@receiver(post_save, sender=Notification)
def send_email_on_notification(sender, instance, created, **kwargs):
if created and instance.summary and settings.JABBER_DEFAULT_HOST and instance.user.email:
html_message = loader.render_to_string(
'email.html',
{
'on': settings.JABBER_DEFAULT_HOST,
'instance': instance,
'author': requests.get(instance.author).json()['name'] or 'Unknown user'
}
)
send_mail(
'Notification on ' + settings.JABBER_DEFAULT_HOST,
instance.summary,
settings.EMAIL_HOST_USER or "noreply@" + settings.JABBER_DEFAULT_HOST,
[instance.user.email],
fail_silently=True,
html_message=html_message
)
try:
who = requests.get(instance.author).json()['name'] or 'Unknown Person' # I've no idea how to handle dead links.
where = requests.get(instance.object).json()['name'] or 'some unknown place' # So let's get to the unknown :)
if(instance.author == instance.object):
where = "has sent you a private message"
else:
where = "mention you on " + where
html_message = loader.render_to_string(
'email.html',
{
'on': settings.JABBER_DEFAULT_HOST,
'instance': instance,
'author': who,
'object': where
}
)
send_mail(
'Notification on ' + settings.JABBER_DEFAULT_HOST,
instance.summary,
settings.EMAIL_HOST_USER or "noreply@" + settings.JABBER_DEFAULT_HOST,
[instance.user.email],
fail_silently=True,
html_message=html_message
)
except:
logging.error('Djangoldp_notifications: Can\'t mail the user')
else:
if created:
raise Exception('Misconfiguration, missing JABBER_DEFAULT_HOST or incomplete instance')
raise Exception('Djangoldp_notifications: Misconfiguration, missing JABBER_DEFAULT_HOST or no mail for user found')

View File

@ -4,7 +4,7 @@
</head>
<body>
<div>
<p style='font-style:italic;color:#777'>A new {{ instance.type }} from <b>{{ author }}</b> on {{ on }}</p>
<p style='font-style:italic;color:#777'><b>{{ author }}</b> {{ object }} from on {{ on }}</p>
<p>{{ instance.summary }}</p>
</div>
<div style='margin-top:10px;'>