Skip to content

Commit 4344530

Browse files
committed
Summary: Be more careful with generating announcements for charters so
they are not saved unless we're in a POST - Legacy-Id: 10141
1 parent dfdd670 commit 4344530

3 files changed

Lines changed: 12 additions & 7 deletions

File tree

ietf/doc/tests_charter.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,8 @@ def test_edit_ballot_writeupnotes(self):
359359
url = urlreverse('ietf.doc.views_charter.ballot_writeupnotes', kwargs=dict(name=charter.name))
360360
login_testing_unauthorized(self, "secretary", url)
361361

362-
default_action_text(draft.group, charter, by)
362+
e = default_action_text(draft.group, charter, by)
363+
e.save()
363364

364365
# normal get
365366
r = self.client.get(url)

ietf/doc/utils_charter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ def default_action_text(group, charter, by):
175175
action_type=action,
176176
))
177177

178-
e.save()
178+
# caller is responsible for saving, if necessary
179179
return e
180180

181181
def default_review_text(group, charter, by):
@@ -195,7 +195,7 @@ def default_review_text(group, charter, by):
195195
review_type="new" if group.state_id == "proposed" else "recharter",
196196
)
197197
)
198-
e.save()
198+
# caller is responsible for saving, if necessary
199199
return e
200200

201201
def generate_issue_ballot_mail(request, doc, ballot):

ietf/doc/views_charter.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,10 @@ def change_state(request, name, option=None):
149149
create_ballot_if_not_open(charter, by, "r-wo-ext")
150150
else:
151151
create_ballot_if_not_open(charter, by, "r-extrev")
152-
default_review_text(group, charter, by)
153-
default_action_text(group, charter, by)
152+
e = default_review_text(group, charter, by)
153+
e.save()
154+
e = default_action_text(group, charter, by)
155+
e.save()
154156
elif charter_state.slug == "iesgrev":
155157
create_ballot_if_not_open(charter, by, "approve")
156158
elif charter_state.slug == "approved":
@@ -486,8 +488,8 @@ def announcement_text(request, name, ann):
486488
e.desc = "%s %s text was changed" % (group.type.name, ann)
487489
e.text = t
488490
e.save()
489-
490-
charter.save_with_history([e])
491+
elif existing.pk == None:
492+
existing.save()
491493

492494
if request.GET.get("next", "") == "approve":
493495
return redirect('charter_approve', name=charter.canonical_name())
@@ -497,8 +499,10 @@ def announcement_text(request, name, ann):
497499
if "regenerate_text" in request.POST:
498500
if ann == "action":
499501
e = default_action_text(group, charter, by)
502+
e.save()
500503
elif ann == "review":
501504
e = default_review_text(group, charter, by)
505+
e.save()
502506
# make sure form has the updated text
503507
form = AnnouncementTextForm(initial=dict(announcement_text=e.text))
504508

0 commit comments

Comments
 (0)