Warn when putting a draft on a telechat that is so close that directorates will probably not have time to complete a review. Fixes #2381. Commit ready for merge.
- Legacy-Id: 14539
This commit is contained in:
parent
4ce6b934b8
commit
dfc1d2aa9a
|
@ -28,6 +28,8 @@ class TelechatForm(forms.Form):
|
||||||
for d in dates:
|
for d in dates:
|
||||||
self.page_count[d] = telechat_page_count(d).for_approval
|
self.page_count[d] = telechat_page_count(d).for_approval
|
||||||
choice_display[d] = '%s (%s pages)' % (d.strftime("%Y-%m-%d"),self.page_count[d])
|
choice_display[d] = '%s (%s pages)' % (d.strftime("%Y-%m-%d"),self.page_count[d])
|
||||||
|
if d-datetime.date.today() < datetime.timedelta(days=13):
|
||||||
|
choice_display[d] += ' : WARNING - this may not leave enough time for directorate reviews!'
|
||||||
self.fields['telechat_date'].choices = [("", "(not on agenda)")] + [(d, choice_display[d]) for d in dates]
|
self.fields['telechat_date'].choices = [("", "(not on agenda)")] + [(d, choice_display[d]) for d in dates]
|
||||||
|
|
||||||
from ietf.person.models import Person
|
from ietf.person.models import Person
|
||||||
|
|
|
@ -356,6 +356,16 @@ class EditInfoTests(TestCase):
|
||||||
self.assertEqual(len(outbox),mailbox_before+1)
|
self.assertEqual(len(outbox),mailbox_before+1)
|
||||||
self.assertTrue("Telechat update" in outbox[-1]['Subject'])
|
self.assertTrue("Telechat update" in outbox[-1]['Subject'])
|
||||||
|
|
||||||
|
# Put it on an agenda that's very soon from now
|
||||||
|
next_week = datetime.date.today()+datetime.timedelta(days=7)
|
||||||
|
td = TelechatDate.objects.active()[0]
|
||||||
|
td.date = next_week
|
||||||
|
td.save()
|
||||||
|
data["telechat_date"] = next_week.isoformat()
|
||||||
|
r = self.client.post(url,data)
|
||||||
|
self.assertEqual(r.status_code, 302)
|
||||||
|
self.assertTrue("may not leave enough time" in outbox[-1].get_payload())
|
||||||
|
|
||||||
def test_start_iesg_process_on_draft(self):
|
def test_start_iesg_process_on_draft(self):
|
||||||
make_test_data()
|
make_test_data()
|
||||||
|
|
||||||
|
|
|
@ -489,8 +489,14 @@ def update_telechat(request, doc, by, new_telechat_date, new_returning_item=None
|
||||||
|
|
||||||
e.save()
|
e.save()
|
||||||
|
|
||||||
|
has_short_fuse = doc.type_id=='draft' and new_telechat_date and (( new_telechat_date - datetime.date.today() ) < datetime.timedelta(days=13))
|
||||||
|
|
||||||
from ietf.doc.mails import email_update_telechat
|
from ietf.doc.mails import email_update_telechat
|
||||||
email_update_telechat(request, doc, e.desc)
|
|
||||||
|
if has_short_fuse:
|
||||||
|
email_update_telechat(request, doc, e.desc+"\n\nWARNING: This may not leave enough time for directorate reviews!\n")
|
||||||
|
else:
|
||||||
|
email_update_telechat(request, doc, e.desc)
|
||||||
|
|
||||||
return e
|
return e
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ class SecrTelechatTestCase(TestCase):
|
||||||
d = get_next_telechat_date()
|
d = get_next_telechat_date()
|
||||||
date = d.strftime('%Y-%m-%d')
|
date = d.strftime('%Y-%m-%d')
|
||||||
by=Person.objects.get(name="(System)")
|
by=Person.objects.get(name="(System)")
|
||||||
update_telechat(None, draft, by, date)
|
update_telechat(None, draft, by, d)
|
||||||
url = reverse('ietf.secr.telechat.views.doc_detail', kwargs={'date':date, 'name':draft.name})
|
url = reverse('ietf.secr.telechat.views.doc_detail', kwargs={'date':date, 'name':draft.name})
|
||||||
self.client.login(username="secretary", password="secretary+password")
|
self.client.login(username="secretary", password="secretary+password")
|
||||||
response = self.client.get(url)
|
response = self.client.get(url)
|
||||||
|
@ -76,7 +76,7 @@ class SecrTelechatTestCase(TestCase):
|
||||||
time=last_week)
|
time=last_week)
|
||||||
d = get_next_telechat_date()
|
d = get_next_telechat_date()
|
||||||
date = d.strftime('%Y-%m-%d')
|
date = d.strftime('%Y-%m-%d')
|
||||||
update_telechat(None, charter, by, date)
|
update_telechat(None, charter, by, d)
|
||||||
url = reverse('ietf.secr.telechat.views.doc_detail', kwargs={'date':date, 'name':charter.name})
|
url = reverse('ietf.secr.telechat.views.doc_detail', kwargs={'date':date, 'name':charter.name})
|
||||||
self.client.login(username="secretary", password="secretary+password")
|
self.client.login(username="secretary", password="secretary+password")
|
||||||
response = self.client.get(url)
|
response = self.client.get(url)
|
||||||
|
|
Loading…
Reference in a new issue