Skip to content

Commit 3ecd539

Browse files
committed
Rename derived event models to be more self-explanatory, fixed a couple of bugs
- Legacy-Id: 2872
1 parent dd72649 commit 3ecd539

11 files changed

Lines changed: 162 additions & 161 deletions

File tree

ietf/idrfc/idrfc_wrapper.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -638,8 +638,8 @@ def _init(self):
638638
positions = []
639639
seen = {}
640640

641-
from doc.models import BallotPosition
642-
for pos in BallotPosition.objects.filter(doc=self.ballot, type="changed_ballot_position", time__gte=self.ballot.process_start, time__lte=self.ballot.process_end).select_related('ad').order_by("-time", '-id'):
641+
from doc.models import BallotPositionEvent
642+
for pos in BallotPositionEvent.objects.filter(doc=self.ballot, type="changed_ballot_position", time__gte=self.ballot.process_start, time__lte=self.ballot.process_end).select_related('ad').order_by("-time", '-id'):
643643
if pos.ad not in seen:
644644
p = dict(ad_name=pos.ad.get_name(),
645645
ad_username=pos.ad.pk, # ought to rename this in doc_ballot_list
@@ -676,7 +676,7 @@ def _init(self):
676676
for ad in active_ads:
677677
if ad not in seen:
678678
d = dict(ad_name=ad.get_name(),
679-
ad_username=pos.ad.pk,
679+
ad_username=ad.pk,
680680
position="No Record",
681681
)
682682
positions.append(d)

ietf/idrfc/mails.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
from ietf.utils.mail import send_mail, send_mail_text
1111
from ietf.idtracker.models import *
12-
from doc.models import Text, BallotPosition, Expiration
12+
from doc.models import WriteupEvent, BallotPositionEvent, LastCallEvent
1313
from person.models import Email
1414

1515
def email_state_changed(request, doc, text):
@@ -86,12 +86,12 @@ def full_intended_status(intended_status):
8686
return "a %s" % s
8787

8888
def generate_ballot_writeup(request, doc):
89-
e = Text()
89+
e = WriteupEvent()
9090
e.type = "changed_ballot_writeup_text"
9191
e.by = request.user.get_profile().email()
9292
e.doc = doc
9393
e.desc = u"Ballot writeup was generated by %s" % e.by.get_name()
94-
e.content = unicode(render_to_string("idrfc/ballot_writeup.txt"))
94+
e.text = unicode(render_to_string("idrfc/ballot_writeup.txt"))
9595
e.save()
9696

9797
return e
@@ -158,12 +158,12 @@ def generate_last_call_announcementREDESIGN(request, doc):
158158
)
159159
)
160160

161-
e = Text()
161+
e = WriteupEvent()
162162
e.type = "changed_last_call_text"
163163
e.by = request.user.get_profile().email()
164164
e.doc = doc
165165
e.desc = u"Last call announcement was generated by %s" % e.by.get_name()
166-
e.content = unicode(mail)
166+
e.text = unicode(mail)
167167
e.save()
168168

169169
return e
@@ -253,12 +253,12 @@ def generate_approval_mailREDESIGN(request, doc):
253253
else:
254254
mail = generate_approval_mail_approved(request, doc)
255255

256-
e = Text()
256+
e = WriteupEvent()
257257
e.type = "changed_ballot_approval_text"
258258
e.by = request.user.get_profile().email()
259259
e.doc = doc
260260
e.desc = u"Ballot approval text was generated by %s" % e.by.get_name()
261-
e.content = unicode(mail)
261+
e.text = unicode(mail)
262262
e.save()
263263

264264
return e
@@ -479,7 +479,7 @@ def generate_issue_ballot_mailREDESIGN(request, doc):
479479
active_ads = Email.objects.filter(role__name="ad", role__group__state="active")
480480

481481
e = doc.latest_event(type="started_iesg_process")
482-
positions = BallotPosition.objects.filter(doc=doc, type="changed_ballot_position", time__gte=e.time).order_by("-time", '-id').select_related('ad')
482+
positions = BallotPositionEvent.objects.filter(doc=doc, type="changed_ballot_position", time__gte=e.time).order_by("-time", '-id').select_related('ad')
483483

484484
# format positions and setup discusses and comments
485485
ad_feedback = []
@@ -519,14 +519,14 @@ def formatted(val):
519519
inactive_ad_positions.sort()
520520
ad_feedback.sort(key=lambda p: p.ad.get_name())
521521

522-
e = doc.latest_event(Expiration, type="sent_last_call")
522+
e = doc.latest_event(LastCallEvent, type="sent_last_call")
523523
last_call_expires = e.expires if e else None
524524

525-
e = doc.latest_event(Text, type="changed_ballot_approval_text")
526-
approval_text = e.content if e else ""
525+
e = doc.latest_event(WriteupEvent, type="changed_ballot_approval_text")
526+
approval_text = e.text if e else ""
527527

528-
e = doc.latest_event(Text, type="changed_ballot_writeup_text")
529-
ballot_writeup = e.content if e else ""
528+
e = doc.latest_event(WriteupEvent, type="changed_ballot_writeup_text")
529+
ballot_writeup = e.text if e else ""
530530

531531
return render_to_string("idrfc/issue_ballot_mailREDESIGN.txt",
532532
dict(doc=doc,

ietf/idrfc/testsREDESIGN.py

Lines changed: 39 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -274,30 +274,30 @@ def test_request_last_call(self):
274274
self.assertContains(r, "Your request to issue the Last Call")
275275

276276
# last call text
277-
e = draft.latest_event(Text, type="changed_last_call_text")
277+
e = draft.latest_event(WriteupEvent, type="changed_last_call_text")
278278
self.assertTrue(e)
279-
self.assertTrue("The IESG has received" in e.content)
280-
self.assertTrue(draft.title in e.content)
281-
self.assertTrue(draft.get_absolute_url() in e.content)
279+
self.assertTrue("The IESG has received" in e.text)
280+
self.assertTrue(draft.title in e.text)
281+
self.assertTrue(draft.get_absolute_url() in e.text)
282282

283283
# approval text
284-
e = draft.latest_event(Text, type="changed_ballot_approval_text")
284+
e = draft.latest_event(WriteupEvent, type="changed_ballot_approval_text")
285285
self.assertTrue(e)
286-
self.assertTrue("The IESG has approved" in e.content)
287-
self.assertTrue(draft.title in e.content)
288-
self.assertTrue(draft.get_absolute_url() in e.content)
286+
self.assertTrue("The IESG has approved" in e.text)
287+
self.assertTrue(draft.title in e.text)
288+
self.assertTrue(draft.get_absolute_url() in e.text)
289289

290290
# ballot writeup
291-
e = draft.latest_event(Text, type="changed_ballot_writeup_text")
291+
e = draft.latest_event(WriteupEvent, type="changed_ballot_writeup_text")
292292
self.assertTrue(e)
293-
self.assertTrue("Technical Summary" in e.content)
293+
self.assertTrue("Technical Summary" in e.text)
294294

295295
# mail notice
296296
self.assertTrue(len(mail_outbox) > mailbox_before)
297297
self.assertTrue("Last Call:" in mail_outbox[-1]['Subject'])
298298

299299
# comment
300-
self.assertTrue("Last call was requested" in draft.event_set.all()[0].desc)
300+
self.assertTrue("Last call was requested" in draft.latest_event().desc)
301301

302302

303303
class EditInfoTestCase(django.test.TestCase):
@@ -345,7 +345,7 @@ def test_edit_info(self):
345345
self.assertTrue(draft.tags.filter(slug="via-rfc"))
346346
self.assertEquals(draft.ad, new_ad)
347347
self.assertEquals(draft.note, "New note")
348-
self.assertTrue(not draft.latest_event(Telechat, type="telechat_date"))
348+
self.assertTrue(not draft.latest_event(TelechatEvent, type="telechat_date"))
349349
self.assertEquals(draft.event_set.count(), events_before + 4)
350350
self.assertEquals(len(mail_outbox), mailbox_before + 1)
351351
self.assertTrue(draft.name in mail_outbox[-1]['Subject'])
@@ -367,30 +367,30 @@ def test_edit_telechat_date(self):
367367
from ietf.iesg.models import TelechatDates
368368

369369
# add to telechat
370-
self.assertTrue(not draft.latest_event(Telechat, "scheduled_for_telechat"))
370+
self.assertTrue(not draft.latest_event(TelechatEvent, "scheduled_for_telechat"))
371371
data["telechat_date"] = TelechatDates.objects.all()[0].date1.isoformat()
372372
r = self.client.post(url, data)
373373
self.assertEquals(r.status_code, 302)
374374

375375
draft = Document.objects.get(name=draft.name)
376-
self.assertTrue(draft.latest_event(Telechat, "scheduled_for_telechat"))
377-
self.assertEquals(draft.latest_event(Telechat, "scheduled_for_telechat").telechat_date, TelechatDates.objects.all()[0].date1)
376+
self.assertTrue(draft.latest_event(TelechatEvent, "scheduled_for_telechat"))
377+
self.assertEquals(draft.latest_event(TelechatEvent, "scheduled_for_telechat").telechat_date, TelechatDates.objects.all()[0].date1)
378378

379379
# change telechat
380380
data["telechat_date"] = TelechatDates.objects.all()[0].date2.isoformat()
381381
r = self.client.post(url, data)
382382
self.assertEquals(r.status_code, 302)
383383

384384
draft = Document.objects.get(name=draft.name)
385-
self.assertEquals(draft.latest_event(Telechat, "scheduled_for_telechat").telechat_date, TelechatDates.objects.all()[0].date2)
385+
self.assertEquals(draft.latest_event(TelechatEvent, "scheduled_for_telechat").telechat_date, TelechatDates.objects.all()[0].date2)
386386

387387
# remove from agenda
388388
data["telechat_date"] = ""
389389
r = self.client.post(url, data)
390390
self.assertEquals(r.status_code, 302)
391391

392392
draft = Document.objects.get(name=draft.name)
393-
self.assertTrue(not draft.latest_event(Telechat, "scheduled_for_telechat").telechat_date)
393+
self.assertTrue(not draft.latest_event(TelechatEvent, "scheduled_for_telechat").telechat_date)
394394

395395
def test_start_iesg_process_on_draft(self):
396396
draft = make_test_data()
@@ -411,6 +411,7 @@ def test_start_iesg_process_on_draft(self):
411411
self.assertTrue('@' in q('form input[name=notify]')[0].get('value'))
412412

413413
# add
414+
events_before = draft.event_set.count()
414415
mailbox_before = len(mail_outbox)
415416

416417
ad = Email.objects.get(address="aread@ietf.org")
@@ -430,9 +431,10 @@ def test_start_iesg_process_on_draft(self):
430431
self.assertTrue(draft.tags.filter(slug="via-rfc"))
431432
self.assertEquals(draft.ad, ad)
432433
self.assertEquals(draft.note, "This is a note")
433-
self.assertTrue(not draft.latest_event(Telechat, type="scheduled_for_telechat"))
434-
self.assertEquals(draft.event_set.count(), 4)
435-
self.assertEquals(draft.event_set.order_by('time', '-id')[0].type, "started_iesg_process")
434+
self.assertTrue(not draft.latest_event(TelechatEvent, type="scheduled_for_telechat"))
435+
self.assertEquals(draft.event_set.count(), events_before + 4)
436+
events = list(draft.event_set.order_by('time', 'id'))
437+
self.assertEquals(events[-4].type, "started_iesg_process")
436438
self.assertEquals(len(mail_outbox), mailbox_before)
437439

438440

@@ -555,7 +557,7 @@ def test_edit_position(self):
555557
comment="This is a test."))
556558
self.assertEquals(r.status_code, 302)
557559

558-
pos = draft.latest_event(BallotPosition, ad=ad)
560+
pos = draft.latest_event(BallotPositionEvent, ad=ad)
559561
self.assertEquals(pos.pos.slug, "discuss")
560562
self.assertTrue("This is a discussion test." in pos.discuss)
561563
self.assertTrue(pos.discuss_time != None)
@@ -569,7 +571,7 @@ def test_edit_position(self):
569571
r = self.client.post(url, dict(position="noobj"))
570572
self.assertEquals(r.status_code, 302)
571573

572-
pos = draft.latest_event(BallotPosition, ad=ad)
574+
pos = draft.latest_event(BallotPositionEvent, ad=ad)
573575
self.assertEquals(pos.pos.slug, "noobj")
574576
self.assertEquals(draft.event_set.count(), events_before + 1)
575577
self.assertTrue("Position for" in pos.desc)
@@ -579,7 +581,7 @@ def test_edit_position(self):
579581
r = self.client.post(url, dict(position="norecord"))
580582
self.assertEquals(r.status_code, 302)
581583

582-
pos = draft.latest_event(BallotPosition, ad=ad)
584+
pos = draft.latest_event(BallotPositionEvent, ad=ad)
583585
self.assertEquals(pos.pos.slug, "norecord")
584586
self.assertEquals(draft.event_set.count(), events_before + 1)
585587
self.assertTrue("Position for" in pos.desc)
@@ -589,7 +591,7 @@ def test_edit_position(self):
589591
r = self.client.post(url, dict(position="norecord", comment="New comment."))
590592
self.assertEquals(r.status_code, 302)
591593

592-
pos = draft.latest_event(BallotPosition, ad=ad)
594+
pos = draft.latest_event(BallotPositionEvent, ad=ad)
593595
self.assertEquals(pos.pos.slug, "norecord")
594596
self.assertEquals(draft.event_set.count(), events_before + 2)
595597
self.assertTrue("Ballot comment text updated" in pos.desc)
@@ -612,7 +614,7 @@ def test_edit_position_as_secretary(self):
612614
r = self.client.post(url, dict(position="discuss"))
613615
self.assertEquals(r.status_code, 302)
614616

615-
pos = draft.latest_event(BallotPosition, ad=ad)
617+
pos = draft.latest_event(BallotPositionEvent, ad=ad)
616618
self.assertEquals(pos.pos.slug, "discuss")
617619
self.assertTrue("New position" in pos.desc)
618620
self.assertTrue("by Sec" in pos.desc)
@@ -624,7 +626,7 @@ def test_send_ballot_comment(self):
624626

625627
ad = Email.objects.get(address="aread@ietf.org")
626628

627-
BallotPosition.objects.create(doc=draft, type="changed_ballot_position",
629+
BallotPositionEvent.objects.create(doc=draft, type="changed_ballot_position",
628630
by=ad, ad=ad, pos=BallotPositionName.objects.get(slug="yes"),
629631
comment="Test!",
630632
comment_time=datetime.datetime.now())
@@ -730,7 +732,7 @@ def test_edit_last_call_text(self):
730732
save_last_call_text="1"))
731733
self.assertEquals(r.status_code, 200)
732734
draft = Document.objects.get(name=draft.name)
733-
self.assertTrue("This is a simple test" in draft.latest_event(Text, type="changed_last_call_text").content)
735+
self.assertTrue("This is a simple test" in draft.latest_event(WriteupEvent, type="changed_last_call_text").text)
734736

735737
# test regenerate
736738
r = self.client.post(url, dict(
@@ -739,7 +741,7 @@ def test_edit_last_call_text(self):
739741
self.assertEquals(r.status_code, 200)
740742
q = PyQuery(r.content)
741743
draft = Document.objects.get(name=draft.name)
742-
self.assertTrue("Subject: Last Call" in draft.latest_event(Text, type="changed_last_call_text").content)
744+
self.assertTrue("Subject: Last Call" in draft.latest_event(WriteupEvent, type="changed_last_call_text").text)
743745

744746

745747
def test_request_last_call(self):
@@ -755,7 +757,7 @@ def test_request_last_call(self):
755757

756758
# send
757759
r = self.client.post(url, dict(
758-
last_call_text=draft.latest_event(Text, type="changed_last_call_text").content,
760+
last_call_text=draft.latest_event(WriteupEvent, type="changed_last_call_text").text,
759761
send_last_call_request="1"))
760762
draft = Document.objects.get(name=draft.name)
761763
self.assertEquals(draft.iesg_state_id, "lc-req")
@@ -781,7 +783,7 @@ def test_edit_ballot_writeup(self):
781783
save_ballot_writeup="1"))
782784
self.assertEquals(r.status_code, 200)
783785
draft = Document.objects.get(name=draft.name)
784-
self.assertTrue("This is a simple test" in draft.latest_event(Text, type="changed_ballot_writeup_text").content)
786+
self.assertTrue("This is a simple test" in draft.latest_event(WriteupEvent, type="changed_ballot_writeup_text").text)
785787

786788
def test_issue_ballot(self):
787789
draft = make_test_data()
@@ -790,7 +792,7 @@ def test_issue_ballot(self):
790792

791793
def create_pos(num, vote, comment="", discuss=""):
792794
ad = Email.objects.get(address="ad%s@ietf.org" % num)
793-
e = BallotPosition()
795+
e = BallotPositionEvent()
794796
e.doc = draft
795797
e.by = ad
796798
e.ad = ad
@@ -815,11 +817,11 @@ def create_pos(num, vote, comment="", discuss=""):
815817
create_pos(9, "yes")
816818

817819
# we need approval text to be able to submit
818-
e = Text()
820+
e = WriteupEvent()
819821
e.doc = draft
820822
e.by = Email.objects.get(address="aread@ietf.org")
821823
e.type = "changed_ballot_approval_text"
822-
e.content = "The document has been approved."
824+
e.text = "The document has been approved."
823825
e.save()
824826

825827
mailbox_before = len(mail_outbox)
@@ -859,13 +861,13 @@ def test_edit_approval_text(self):
859861
save_approval_text="1"))
860862
self.assertEquals(r.status_code, 200)
861863
draft = Document.objects.get(name=draft.name)
862-
self.assertTrue("This is a simple test" in draft.latest_event(Text, type="changed_ballot_approval_text").content)
864+
self.assertTrue("This is a simple test" in draft.latest_event(WriteupEvent, type="changed_ballot_approval_text").text)
863865

864866
# test regenerate
865867
r = self.client.post(url, dict(regenerate_approval_text="1"))
866868
self.assertEquals(r.status_code, 200)
867869
draft = Document.objects.get(name=draft.name)
868-
self.assertTrue("Subject: Protocol Action" in draft.latest_event(Text, type="changed_ballot_approval_text").content)
870+
self.assertTrue("Subject: Protocol Action" in draft.latest_event(WriteupEvent, type="changed_ballot_approval_text").text)
869871

870872
# test regenerate when it's a disapprove
871873
draft.iesg_state_id = "nopubadw"
@@ -874,7 +876,7 @@ def test_edit_approval_text(self):
874876
r = self.client.post(url, dict(regenerate_approval_text="1"))
875877
self.assertEquals(r.status_code, 200)
876878
draft = Document.objects.get(name=draft.name)
877-
self.assertTrue("NOT be published" in draft.latest_event(Text, type="changed_ballot_approval_text").content)
879+
self.assertTrue("NOT be published" in draft.latest_event(WriteupEvent, type="changed_ballot_approval_text").text)
878880

879881
class ApproveBallotTestCase(django.test.TestCase):
880882
fixtures = ['names']
@@ -955,7 +957,7 @@ def test_make_last_call(self):
955957

956958
draft = Document.objects.get(name=draft.name)
957959
self.assertEquals(draft.iesg_state.slug, "lc")
958-
self.assertEquals(draft.latest_event(Expiration, "sent_last_call").expires.strftime("%Y-%m-%d"), expire_date)
960+
self.assertEquals(draft.latest_event(LastCallEvent, "sent_last_call").expires.strftime("%Y-%m-%d"), expire_date)
959961
self.assertEquals(len(mail_outbox), mailbox_before + 4)
960962

961963
self.assertTrue("Last Call" in mail_outbox[-4]['Subject'])

ietf/idrfc/utils.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from ietf.idtracker.models import InternetDraft, DocumentComment, BallotInfo, IESGLogin
44
from ietf.idrfc.mails import *
55

6-
from doc.models import Telechat, Event
6+
from doc.models import Event, TelechatEvent
77

88
def add_document_comment(request, doc, text, include_by=True, ballot=None):
99
if request:
@@ -114,7 +114,7 @@ def update_telechat(request, idinternal, new_telechat_date, new_returning_item=N
114114
def update_telechatREDESIGN(request, doc, by, new_telechat_date, new_returning_item=None):
115115
on_agenda = bool(new_telechat_date)
116116

117-
prev = doc.latest_event(Telechat, type="scheduled_for_telechat")
117+
prev = doc.latest_event(TelechatEvent, type="scheduled_for_telechat")
118118
prev_returning = bool(prev and prev.returning_item)
119119
prev_telechat = prev.telechat_date if prev else None
120120
prev_agenda = bool(prev_telechat)
@@ -135,7 +135,7 @@ def update_telechatREDESIGN(request, doc, by, new_telechat_date, new_returning_i
135135
and new_telechat_date != prev_telechat):
136136
returning = True
137137

138-
e = Telechat()
138+
e = TelechatEvent()
139139
e.type = "scheduled_for_telechat"
140140
e.by = by
141141
e.doc = doc

0 commit comments

Comments
 (0)