diff --git a/ietf/submit/tests.py b/ietf/submit/tests.py index b9c015544..a1d06d94c 100644 --- a/ietf/submit/tests.py +++ b/ietf/submit/tests.py @@ -769,6 +769,11 @@ class SubmitTests(TestCase): self.assertEqual(r.status_code, 302) unprivileged_status_url = r['Location'] + # search with rev + r = self.client.post(urlreverse("ietf.submit.views.search_submission"), dict(name=name+'-'+rev)) + self.assertEqual(r.status_code, 302) + unprivileged_status_url = r['Location'] + # status page as unpriviliged => no edit button r = self.client.get(unprivileged_status_url) self.assertEqual(r.status_code, 200) diff --git a/ietf/submit/views.py b/ietf/submit/views.py index c58a02b2a..4a99a341b 100644 --- a/ietf/submit/views.py +++ b/ietf/submit/views.py @@ -1,4 +1,6 @@ # Copyright The IETF Trust 2007, All Rights Reserved + +import re import base64 import datetime @@ -160,6 +162,11 @@ def search_submission(request): submission = Submission.objects.filter(name=name).order_by('-pk').first() if submission: return redirect(submission_status, submission_id=submission.pk) + else: + if re.search(r'-\d\d$', name): + submission = Submission.objects.filter(name=name[:-3]).order_by('-pk').first() + if submission: + return redirect(submission_status, submission_id=submission.pk) error = 'No valid submission found for %s' % name return render(request, 'submit/search_submission.html', {'selected': 'status',