Skip to content

Commit 31808ec

Browse files
committed
Allow 1-3 digit RFCs in status change documents.
Fixes bug ietf-tools#1321 Commit ready for merge - Legacy-Id: 7292
1 parent c09bceb commit 31808ec

5 files changed

Lines changed: 27 additions & 25 deletions

File tree

ietf/doc/tests_status_change.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -364,18 +364,20 @@ def test_edit_relations(self):
364364
statchg_relation_row_blah="toexp",
365365
new_relation_row_foo="rfc9998",
366366
statchg_relation_row_foo="tobcp",
367+
new_relation_row_nob="rfc14",
368+
statchg_relation_row_nob="tohist",
367369
Submit="Submit"))
368370
self.assertEqual(r.status_code, 302)
369371
doc = Document.objects.get(name='status-change-imaginary-mid-review')
370-
self.assertEqual(doc.relateddocument_set.count(),2)
371-
verify9999 = doc.relateddocument_set.filter(target__name='rfc9999')
372-
self.assertTrue(verify9999)
373-
self.assertEqual(verify9999.count(),1)
374-
self.assertEqual(verify9999[0].relationship.slug,'toexp')
375-
verify9998 = doc.relateddocument_set.filter(target__name='rfc9998')
376-
self.assertTrue(verify9998)
377-
self.assertEqual(verify9998.count(),1)
378-
self.assertEqual(verify9998[0].relationship.slug,'tobcp')
372+
self.assertEqual(doc.relateddocument_set.count(),3)
373+
def verify_relations(doc,target_name,status):
374+
target_doc=doc.relateddocument_set.filter(target__name=target_name)
375+
self.assertTrue(target_doc)
376+
self.assertEqual(target_doc.count(),1)
377+
self.assertEqual(target_doc[0].relationship.slug,status)
378+
verify_relations(doc,'rfc9999','toexp' )
379+
verify_relations(doc,'rfc9998','tobcp' )
380+
verify_relations(doc,'rfc14' ,'tohist')
379381
self.assertTrue(doc.latest_event(DocEvent,type="added_comment").desc.startswith('Affected RFC list changed.'))
380382

381383
def setUp(self):

ietf/doc/views_status_change.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ def clean_helper(form, formtype):
430430
for k in sorted(form.data.iterkeys()):
431431
v = form.data[k]
432432
if k.startswith('new_relation_row'):
433-
if re.match('\d{4}',v):
433+
if re.match('\d{1,4}',v):
434434
v = 'rfc'+v
435435
rfc_fields[k[17:]]=v
436436
elif k.startswith('statchg_relation_row'):
@@ -444,8 +444,8 @@ def clean_helper(form, formtype):
444444
errors=[]
445445
for key in new_relations:
446446

447-
if not re.match('(?i)rfc\d{4}',key):
448-
errors.append(key+" is not a valid RFC - please use the form RFCxxxx\n")
447+
if not re.match('(?i)rfc\d{1,4}',key):
448+
errors.append(key+" is not a valid RFC - please use the form RFCn\n")
449449
elif not DocAlias.objects.filter(name=key):
450450
errors.append(key+" does not exist\n")
451451

@@ -536,7 +536,7 @@ def start_rfc_status_change(request,name):
536536
"""Start the RFC status change review process, setting the initial shepherding AD, and possibly putting the review on a telechat."""
537537

538538
if name:
539-
if not re.match("(?i)rfc[0-9]{4}",name):
539+
if not re.match("(?i)rfc[0-9]{1,4}",name):
540540
raise Http404
541541
seed_rfc = get_object_or_404(Document, type="draft", docalias__name=name)
542542

ietf/templates/doc/status_change/edit_relations.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ <h1>Edit List of RFCs Affected By Status Change</h1>
5959
</td>
6060
</tr>
6161
</tbody></table>
62-
<div class="help">Enter one of the affected RFC as RFCXXXX</div>
62+
<div class="help">Enter one of the affected RFC as RFCn</div>
6363
{{ form.non_field_errors }}
6464
</td>
6565
</tr>

ietf/templates/doc/status_change/start.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ <h1>Begin RFC status change review</h1>
6464
</td>
6565
</tr>
6666
</tbody></table>
67-
<div class="help">Enter one of the affected RFC as RFCXXXX</div>
67+
<div class="help">Enter one of the affected RFC as RFCn</div>
6868
{{ form.non_field_errors }}
6969
</td>
7070
</tr>

ietf/utils/test_data.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -289,15 +289,15 @@ def make_test_data():
289289
docalias = DocAlias.objects.create(name='status-change-imaginary-mid-review',document=doc)
290290

291291
# Some things for a status change to affect
292-
target_rfc = Document.objects.create(name='draft-ietf-random-thing', type_id='draft', std_level_id='ps')
293-
target_rfc.set_state(State.objects.get(slug='rfc',type__slug='draft'))
294-
target_rfc.save()
295-
docalias = DocAlias.objects.create(name='draft-ietf-random-thing',document=target_rfc)
296-
docalias = DocAlias.objects.create(name='rfc9999',document=target_rfc)
297-
target_rfc = Document.objects.create(name='draft-ietf-random-otherthing', type_id='draft', std_level_id='inf')
298-
target_rfc.set_state(State.objects.get(slug='rfc',type__slug='draft'))
299-
target_rfc.save()
300-
docalias = DocAlias.objects.create(name='draft-ietf-random-otherthing',document=target_rfc)
301-
docalias = DocAlias.objects.create(name='rfc9998',document=target_rfc)
292+
def rfc_for_status_change_test_factory(name,rfc_num,std_level_id):
293+
target_rfc = Document.objects.create(name=name, type_id='draft', std_level_id=std_level_id)
294+
target_rfc.set_state(State.objects.get(slug='rfc',type__slug='draft'))
295+
target_rfc.save()
296+
docalias = DocAlias.objects.create(name=name,document=target_rfc)
297+
docalias = DocAlias.objects.create(name='rfc%d'%rfc_num,document=target_rfc)
298+
return target_rfc
299+
rfc_for_status_change_test_factory('draft-ietf-random-thing',9999,'ps')
300+
rfc_for_status_change_test_factory('draft-ietf-random-otherthing',9998,'inf')
301+
rfc_for_status_change_test_factory('draft-was-never-issued',14,'unkn')
302302

303303
return draft

0 commit comments

Comments
 (0)