Skip to content

Commit 058a8c3

Browse files
committed
Merged in [16762] from rjsparks@nostrum.com:
Use form validation to prevent interim slide titles that end with -nn until we change interims to use the modern HREF schemes. Fixes ietf-tools#2797. - Legacy-Id: 16837 Note: SVN reference [16762] has been migrated to Git commit 40b0665
1 parent 7811f4b commit 058a8c3

1 file changed

Lines changed: 12 additions & 5 deletions

File tree

ietf/meeting/views.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1456,12 +1456,19 @@ class UploadSlidesForm(FileUploadForm):
14561456
title = forms.CharField(max_length=255)
14571457
apply_to_all = forms.BooleanField(label='Apply to all group sessions at this meeting',initial=False,required=False)
14581458

1459-
def __init__(self, show_apply_to_all_checkbox, *args, **kwargs):
1459+
def __init__(self, session, show_apply_to_all_checkbox, *args, **kwargs):
1460+
self.session = session
14601461
kwargs['doc_type'] = 'slides'
14611462
super(UploadSlidesForm, self).__init__(*args, **kwargs )
14621463
if not show_apply_to_all_checkbox:
14631464
self.fields.pop('apply_to_all')
14641465

1466+
def clean_title(self):
1467+
title = self.cleaned_data['title']
1468+
if self.session.meeting.type_id=='interim':
1469+
if re.search(r'-\d{2}$', title):
1470+
raise forms.ValidationError("Interim slides currently may not have a title that ends with something that looks like a revision number (-nn)")
1471+
return title
14651472

14661473
def upload_session_slides(request, session_id, num, name):
14671474
# num is redundant, but we're dragging it along an artifact of where we are in the current URL structure
@@ -1486,7 +1493,7 @@ def upload_session_slides(request, session_id, num, name):
14861493
slides_sp = session.sessionpresentation_set.filter(document=slides).first()
14871494

14881495
if request.method == 'POST':
1489-
form = UploadSlidesForm(show_apply_to_all_checkbox,request.POST,request.FILES)
1496+
form = UploadSlidesForm(session, show_apply_to_all_checkbox,request.POST,request.FILES)
14901497
if form.is_valid():
14911498
file = request.FILES['file']
14921499
_, ext = os.path.splitext(file.name)
@@ -1551,7 +1558,7 @@ def upload_session_slides(request, session_id, num, name):
15511558
initial = {}
15521559
if slides:
15531560
initial = {'title':slides.title}
1554-
form = UploadSlidesForm(show_apply_to_all_checkbox, initial=initial)
1561+
form = UploadSlidesForm(session, show_apply_to_all_checkbox, initial=initial)
15551562

15561563
return render(request, "meeting/upload_session_slides.html",
15571564
{'session': session,
@@ -1573,7 +1580,7 @@ def propose_session_slides(request, session_id, num):
15731580

15741581

15751582
if request.method == 'POST':
1576-
form = UploadSlidesForm(show_apply_to_all_checkbox,request.POST,request.FILES)
1583+
form = UploadSlidesForm(session, show_apply_to_all_checkbox,request.POST,request.FILES)
15771584
if form.is_valid():
15781585
file = request.FILES['file']
15791586
_, ext = os.path.splitext(file.name)
@@ -1615,7 +1622,7 @@ def propose_session_slides(request, session_id, num):
16151622
return redirect('ietf.meeting.views.session_details',num=num,acronym=session.group.acronym)
16161623
else:
16171624
initial = {}
1618-
form = UploadSlidesForm(show_apply_to_all_checkbox, initial=initial)
1625+
form = UploadSlidesForm(session, show_apply_to_all_checkbox, initial=initial)
16191626

16201627
return render(request, "meeting/propose_session_slides.html",
16211628
{'session': session,

0 commit comments

Comments
 (0)