@@ -76,7 +76,8 @@ def require_field(f):
7676def submit (request , name ):
7777 bofreq = get_object_or_404 (Document , type = "bofreq" , name = name )
7878 previous_editors = bofreq_editors (bofreq )
79- if not (has_role (request .user ,('Secretariat' , 'Area Director' , 'IAB' )) or request .user .person in previous_editors ):
79+ state_id = bofreq .get_state_slug ('bofreq' )
80+ if not (has_role (request .user ,('Secretariat' , 'Area Director' , 'IAB' )) or (state_id == 'proposed' and request .user .person in previous_editors )):
8081 permission_denied (request ,"You do not have permission to upload a new revision of this BOF Request" )
8182
8283 if request .method == 'POST' :
@@ -189,7 +190,8 @@ class ChangeEditorsForm(forms.Form):
189190def change_editors (request , name ):
190191 bofreq = get_object_or_404 (Document , type = "bofreq" , name = name )
191192 previous_editors = bofreq_editors (bofreq )
192- if not (has_role (request .user ,('Secretariat' , 'Area Director' , 'IAB' )) or request .user .person in previous_editors ):
193+ state_id = bofreq .get_state_slug ('bofreq' )
194+ if not (has_role (request .user ,('Secretariat' , 'Area Director' , 'IAB' )) or (state_id == 'proposed' and request .user .person in previous_editors )):
193195 permission_denied (request ,"You do not have permission to change this document's editors" )
194196
195197 if request .method == 'POST' :
@@ -267,7 +269,8 @@ class ChangeTitleForm(forms.Form):
267269def edit_title (request , name ):
268270 bofreq = get_object_or_404 (Document , type = "bofreq" , name = name )
269271 editors = bofreq_editors (bofreq )
270- if not (has_role (request .user ,('Secretariat' , 'Area Director' , 'IAB' )) or request .user .person in editors ):
272+ state_id = bofreq .get_state_slug ('bofreq' )
273+ if not (has_role (request .user ,('Secretariat' , 'Area Director' , 'IAB' )) or (state_id == 'proposed' and request .user .person in editors )):
271274 permission_denied (request , "You do not have permission to edit this document's title" )
272275
273276 if request .method == 'POST' :
0 commit comments