3232
3333import os , datetime , urllib , json , glob
3434
35- from django .http import HttpResponse , Http404
35+ from django .http import HttpResponse , Http404 , HttpResponseForbidden
3636from django .shortcuts import render_to_response , get_object_or_404 , redirect
3737from django .template import RequestContext
3838from 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' )
913912def 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