Skip to content

Commit 139bcc1

Browse files
committed
Use normal material management permissions for uploading bluesheets. Fixes ietf-tools#2975. Commit ready for merge.
- Legacy-Id: 17724
1 parent 9b14d17 commit 139bcc1

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

ietf/meeting/tests_views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2368,7 +2368,7 @@ def test_upload_bluesheets_interim(self):
23682368
def test_upload_bluesheets_interim_chair_access(self):
23692369
make_meeting_test_data()
23702370
mars = Group.objects.get(acronym='mars')
2371-
session=SessionFactory(meeting__type_id='interim',group=mars)
2371+
session=SessionFactory(meeting__type_id='interim',group=mars, meeting__date = datetime.date.today())
23722372
url = urlreverse('ietf.meeting.views.upload_session_bluesheets',kwargs={'num':session.meeting.number,'session_id':session.id})
23732373
self.client.login(username="marschairman", password="marschairman+password")
23742374
r = self.client.get(url)

ietf/meeting/views.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1645,11 +1645,15 @@ def __init__(self, *args, **kwargs):
16451645
super(UploadBlueSheetForm, self).__init__(*args, **kwargs )
16461646

16471647

1648-
@role_required('Area Director', 'Secretariat', 'IRTF Chair', 'WG Chair', 'RG Chair')
16491648
def upload_session_bluesheets(request, session_id, num):
16501649
# num is redundant, but we're dragging it along an artifact of where we are in the current URL structure
16511650
session = get_object_or_404(Session,pk=session_id)
16521651

1652+
if not session.can_manage_materials(request.user):
1653+
return HttpResponseForbidden("You don't have permission to upload bluesheets for this session.")
1654+
if session.is_material_submission_cutoff() and not has_role(request.user, "Secretariat"):
1655+
return HttpResponseForbidden("The materials cutoff for this session has passed. Contact the secretariat for further action.")
1656+
16531657
if session.meeting.type.slug == 'ietf' and not has_role(request.user, 'Secretariat'):
16541658
return HttpResponseForbidden('Restricted to role Secretariat')
16551659

0 commit comments

Comments
 (0)