Merged in [14539] from rjsparks@nostrum.com:

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.
 - Legacy-Id: 14542
Note: SVN reference [14539] has been migrated to Git commit dfc1d2aa9a
This commit is contained in:
Henrik Levkowetz 2018-01-19 15:22:16 +00:00
commit 649433874f
4 changed files with 21 additions and 3 deletions

View file

@ -28,6 +28,8 @@ class TelechatForm(forms.Form):
for d in dates:
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])
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]
from ietf.person.models import Person

View file

@ -356,6 +356,16 @@ class EditInfoTests(TestCase):
self.assertEqual(len(outbox),mailbox_before+1)
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):
make_test_data()

View file

@ -489,8 +489,14 @@ def update_telechat(request, doc, by, new_telechat_date, new_returning_item=None
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
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

View file

@ -42,7 +42,7 @@ class SecrTelechatTestCase(TestCase):
d = get_next_telechat_date()
date = d.strftime('%Y-%m-%d')
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})
self.client.login(username="secretary", password="secretary+password")
response = self.client.get(url)
@ -76,7 +76,7 @@ class SecrTelechatTestCase(TestCase):
time=last_week)
d = get_next_telechat_date()
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})
self.client.login(username="secretary", password="secretary+password")
response = self.client.get(url)