diff --git a/ietf/doc/tests_status_change.py b/ietf/doc/tests_status_change.py index b3f4d23d4..4412ec951 100644 --- a/ietf/doc/tests_status_change.py +++ b/ietf/doc/tests_status_change.py @@ -106,6 +106,19 @@ class StatusChangeTestCase(TestCase): self.assertTrue(doc.latest_event(DocEvent,type="added_comment").desc.startswith('RDNK84ZD')) self.assertFalse(doc.active_ballot()) + # successful change to Last Call Requested + messages_before = len(outbox) + doc.ad = Person.objects.get(user__username='ad') + doc.save() + lc_req_pk = str(State.objects.get(slug='lc-req',type__slug='statchg').pk) + r = self.client.post(url,dict(new_state=lc_req_pk)) + self.assertEquals(r.status_code, 200) + doc = Document.objects.get(name='status-change-imaginary-mid-review') + self.assertEquals(doc.get_state('statchg').slug,'lc-req') + self.assertEquals(len(outbox), messages_before + 1) + self.assertTrue('iesg-secretary' in outbox[-1]['To']) + self.assertTrue('Last Call:' in outbox[-1]['Subject']) + # successful change to IESG Evaluation iesgeval_pk = str(State.objects.get(slug='iesgeval',type__slug='statchg').pk) r = self.client.post(url,dict(new_state=iesgeval_pk,comment='TGmZtEjt')) diff --git a/ietf/doc/views_status_change.py b/ietf/doc/views_status_change.py index f5593b6ed..8c4094fd7 100644 --- a/ietf/doc/views_status_change.py +++ b/ietf/doc/views_status_change.py @@ -80,6 +80,14 @@ def change_state(request, name, option=None): send_status_change_eval_email(request,status_change) + if new_state.slug == "lc-req": + request_last_call(request, status_change) + return render_to_response('doc/draft/last_call_requested.html', + dict(doc=status_change, + url = status_change.get_absolute_url(), + ), + context_instance=RequestContext(request)) + return redirect('doc_view', name=status_change.name) else: s = status_change.get_state()