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) @receiver(post_save, sender=Notification)
def send_email_on_notification(sender, instance, created, **kwargs): def send_email_on_notification(sender, instance, created, **kwargs):
if created and instance.summary and settings.JABBER_DEFAULT_HOST and instance.user.email: if created and instance.summary and settings.JABBER_DEFAULT_HOST and instance.user.email:
html_message = loader.render_to_string( try:
'email.html', 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 :)
'on': settings.JABBER_DEFAULT_HOST, if(instance.author == instance.object):
'instance': instance, where = "has sent you a private message"
'author': requests.get(instance.author).json()['name'] or 'Unknown user' else:
} where = "mention you on " + where
) html_message = loader.render_to_string(
send_mail( 'email.html',
'Notification on ' + settings.JABBER_DEFAULT_HOST, {
instance.summary, 'on': settings.JABBER_DEFAULT_HOST,
settings.EMAIL_HOST_USER or "noreply@" + settings.JABBER_DEFAULT_HOST, 'instance': instance,
[instance.user.email], 'author': who,
fail_silently=True, 'object': where
html_message=html_message }
) )
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: else:
if created: 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> </head>
<body> <body>
<div> <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> <p>{{ instance.summary }}</p>
</div> </div>
<div style='margin-top:10px;'> <div style='margin-top:10px;'>