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:
|
||||
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
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue