Send email notification on publication
cover Send email notification on publication
The following changes since commit ad1aac4ea5d4f2b327f7bd9611aed13f7c31ff7e:
Show note if layer branch hasn't been indexed (2017-10-04 13:49:00 +1300)
are available in the git repository at:
git://git.yoctoproject.org/layerindex-web abrindle/email_notification_publication
http://git.yoctoproject.org/cgit.cgi/layerindex-web/log/?h=abrindle/email_notification_publication
Amanda Brindle (1):
Send email notification on publication
layerindex/views.py | 22 +++++++++++++++++++++- templates/layerindex/publishemail.txt | 7 +++++++ templates/layerindex/publishemailsubject.txt | 1 + 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 templates/layerindex/publishemail.txt create mode 100644 templates/layerindex/publishemailsubject.txt
Signature · 1 line
2.7.4
PATCH 1/1 Send email notification on publication
When publishing a layer, send an email notification to all of that layer's maintainers.
Fixes [YOCTO #11208]
Signed-off-by Amanda Brindle <[email protected]>
--- layerindex/views.py | 22 +++++++++++++++++++++- templates/layerindex/publishemail.txt | 7 +++++++ templates/layerindex/publishemailsubject.txt | 1 + 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 templates/layerindex/publishemail.txt create mode 100644 templates/layerindex/publishemailsubject.txt
layerindex/views.py +21 -1
@@ -5,7 +5,7 @@ # Licensed under the MIT license, see COPYING.MIT for details import sys -from django.shortcuts import get_object_or_404, render +from django.shortcuts import get_object_or_404, get_list_or_404, render from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404 from django.core.urlresolvers import reverse, reverse_lazy, resolve from django.core.exceptions import PermissionDenied
@@ -261,6 +261,26 @@ def _check_url_branch(kwargs): def publish(request, name): if not (request.user.is_authenticated() and request.user.has_perm('layerindex.publish_layer')): raise PermissionDenied + from_email = settings.SUBMIT_EMAIL_FROM + plaintext = get_template('layerindex/publishemail.txt') + subjecttext = get_template('layerindex/publishemailsubject.txt') + e = Context({ + 'layer_name': layeritem.name, + 'site_name': request.META['HTTP_HOST'], + }) + subject = subjecttext.render(e).rstrip() + layeritem = get_object_or_404(LayerItem, name=name) + layerbranch = get_object_or_404(LayerBranch, layer=layeritem) + maintainers = get_list_or_404(LayerMaintainer, layerbranch=layerbranch) + layer_url = request.build_absolute_uri(reverse('layer_item', args=(layerbranch.branch, layeritem.name))) + for m in maintainers: + d = Context({ + 'maintainer_name': m.name, + 'layer_name': layeritem.name, + 'layer_url': layer_url, + }) + text_content = plaintext.render(d) + tasks.send_email.apply_async((subject, text_content, from_email, [m.email])) return _statuschange(request, name, 'P') def _statuschange(request, name, newstatus):
templates/layerindex/publishemail.txt new file +7 -0
@@ -0,0 +1,7 @@ +Hi {{ maintainer_name }}, + +You are listed as a maintainer for the new layer, {{ layer_name }}. This layer has been published. You can view it at the following URL: + + {{ layer_url }} + +Thanks!
templates/layerindex/publishemailsubject.txt new file +1 -0
@@ -0,0 +1 @@ +{{layer_name }} was published to {{site_name}}
Signature · 1 line
2.7.4