Skip to content

Commit 6f8f195

Browse files
committed
Change the permission guards on edit_notify to reflect the policy that ietf-tools#1517 tried to establish. Fixes ietf-tools#1517 and ietf-tools#1575. Commit ready for merge.
- Legacy-Id: 8850
1 parent fd9649a commit 6f8f195

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

ietf/doc/views_doc.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
import os, datetime, urllib, json, glob
3434

35-
from django.http import HttpResponse, Http404
35+
from django.http import HttpResponse, Http404 , HttpResponseForbidden
3636
from django.shortcuts import render_to_response, get_object_or_404, redirect
3737
from django.template import RequestContext
3838
from django.template.loader import render_to_string
@@ -909,12 +909,15 @@ def telechat_date(request, name):
909909
login=login),
910910
context_instance=RequestContext(request))
911911

912-
@role_required('Area Director', 'Secretariat')
913912
def edit_notify(request, name):
914913
"""Change the set of email addresses document change notificaitions go to."""
915914

916-
login = request.user.person
915+
login = request.user
917916
doc = get_object_or_404(Document, name=name)
917+
918+
if not ( is_authorized_in_doc_stream(request.user, doc) or user_is_person(request.user, doc.shepherd and doc.shepherd.person) or has_role(request.user, ["Area Director"]) ):
919+
return HttpResponseForbidden("You do not have permission to perform this action")
920+
918921
init = { "notify" : doc.notify }
919922

920923
if request.method == 'POST':
@@ -924,7 +927,7 @@ def edit_notify(request, name):
924927
if form.is_valid():
925928
new_notify = form.cleaned_data['notify']
926929
if set(new_notify.split(',')) != set(doc.notify.split(',')):
927-
e = make_notify_changed_event(request, doc, login, new_notify)
930+
e = make_notify_changed_event(request, doc, login.person, new_notify)
928931
doc.notify = new_notify
929932
doc.time = e.time
930933
doc.save()

0 commit comments

Comments
 (0)