mirror of
git://git.yoctoproject.org/layerindex-web.git
synced 2025-07-19 20:59:01 +02:00
Send people an email when another user adds them as a maintainer
If someone adds you as a maintainer of a layer as a matter of courtesy it would be nice if you get an email. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
This commit is contained in:
parent
61e9b04859
commit
eeffb2d675
|
@ -114,6 +114,7 @@ def edit_layer_view(request, template_name, branch='master', slug=None):
|
||||||
if not (request.user.is_authenticated() and (request.user.has_perm('layerindex.publish_layer') or layeritem.user_can_edit(request.user))):
|
if not (request.user.is_authenticated() and (request.user.has_perm('layerindex.publish_layer') or layeritem.user_can_edit(request.user))):
|
||||||
raise PermissionDenied
|
raise PermissionDenied
|
||||||
layerbranch = get_object_or_404(LayerBranch, layer=layeritem, branch=branchobj)
|
layerbranch = get_object_or_404(LayerBranch, layer=layeritem, branch=branchobj)
|
||||||
|
old_maintainers = list(layerbranch.layermaintainer_set.values_list('email', flat=True))
|
||||||
deplistlayers = LayerItem.objects.filter(comparison=False).exclude(id=layeritem.id).order_by('name')
|
deplistlayers = LayerItem.objects.filter(comparison=False).exclude(id=layeritem.id).order_by('name')
|
||||||
returnto = request.GET.get('returnto', 'layer_item')
|
returnto = request.GET.get('returnto', 'layer_item')
|
||||||
if returnto:
|
if returnto:
|
||||||
|
@ -196,6 +197,33 @@ def edit_layer_view(request, template_name, branch='master', slug=None):
|
||||||
text_content = plaintext.render(d)
|
text_content = plaintext.render(d)
|
||||||
tasks.send_email.apply_async((subject, text_content, from_email, [to_email]))
|
tasks.send_email.apply_async((subject, text_content, from_email, [to_email]))
|
||||||
return HttpResponseRedirect(reverse('submit_layer_thanks'))
|
return HttpResponseRedirect(reverse('submit_layer_thanks'))
|
||||||
|
|
||||||
|
# Email any new maintainers (that aren't us)
|
||||||
|
new_maintainers = layerbranch.layermaintainer_set.exclude(email__in=old_maintainers + [request.user.email])
|
||||||
|
if new_maintainers:
|
||||||
|
for maintainer in new_maintainers:
|
||||||
|
layer_url = request.build_absolute_uri(reverse('layer_item', args=(layerbranch.branch.name, layeritem.name,)))
|
||||||
|
subjecttext = get_template('layerindex/maintemailsubject.txt')
|
||||||
|
bodytext = get_template('layerindex/maintemail.txt')
|
||||||
|
from_email = settings.SUBMIT_EMAIL_FROM
|
||||||
|
# create subject from subject template
|
||||||
|
d = {
|
||||||
|
'layer_name': layeritem.name,
|
||||||
|
'site_name': request.META['HTTP_HOST'],
|
||||||
|
}
|
||||||
|
subject = subjecttext.render(d).rstrip()
|
||||||
|
|
||||||
|
#create body from body template
|
||||||
|
d = {
|
||||||
|
'maintainer_name': maintainer.name,
|
||||||
|
'layer_name': layeritem.name,
|
||||||
|
'layer_url': layer_url,
|
||||||
|
'help_contact': _get_help_contact(),
|
||||||
|
}
|
||||||
|
body = bodytext.render(d)
|
||||||
|
|
||||||
|
tasks.send_email.apply_async((subject, body, from_email, [maintainer.email]))
|
||||||
|
|
||||||
messages.success(request, 'Layer %s saved successfully.' % layeritem.name)
|
messages.success(request, 'Layer %s saved successfully.' % layeritem.name)
|
||||||
if return_url:
|
if return_url:
|
||||||
if returnto == 'layer_review':
|
if returnto == 'layer_review':
|
||||||
|
|
9
templates/layerindex/maintemail.txt
Normal file
9
templates/layerindex/maintemail.txt
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Hi {{ maintainer_name }},
|
||||||
|
|
||||||
|
This is an automated notification to let you know that you have been added as a maintainer of the layer {{ layer_name }}. You can view the layer here:
|
||||||
|
|
||||||
|
{{ layer_url }}
|
||||||
|
|
||||||
|
If you think this change is in error or otherwise need any assistance, please contact {% if help_contact.first_name and help_contact.last_name %}{{ help_contact.first_name }} {{ help_contact.last_name}}{% else %}{{ help_contact.username }}{% endif %} <{{ help_contact.email }}>.
|
||||||
|
|
||||||
|
Thanks!
|
1
templates/layerindex/maintemailsubject.txt
Normal file
1
templates/layerindex/maintemailsubject.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{{ site_name }}: You have been added as maintainer of {{ layer_name }}
|
Loading…
Reference in New Issue
Block a user