Refined the state changed email message per discussion on tools-development. Fixes #2116. Commit ready for merge.
- Legacy-Id: 13888
This commit is contained in:
parent
08c7a38fc8
commit
7a11217f6f
|
@ -327,6 +327,9 @@ def get_document_content(key, filename, split=True, markup=True):
|
|||
else:
|
||||
return raw_content
|
||||
|
||||
def tags_suffix(tags):
|
||||
return (u"::" + u"::".join(t.name for t in tags)) if tags else u""
|
||||
|
||||
def add_state_change_event(doc, by, prev_state, new_state, prev_tags=[], new_tags=[], timestamp=None):
|
||||
"""Add doc event to explain that state change just happened."""
|
||||
if prev_state and new_state:
|
||||
|
@ -335,9 +338,6 @@ def add_state_change_event(doc, by, prev_state, new_state, prev_tags=[], new_tag
|
|||
if prev_state == new_state and set(prev_tags) == set(new_tags):
|
||||
return None
|
||||
|
||||
def tags_suffix(tags):
|
||||
return (u"::" + u"::".join(t.name for t in tags)) if tags else u""
|
||||
|
||||
e = StateDocEvent(doc=doc, rev=doc.rev, by=by)
|
||||
e.type = "changed_state"
|
||||
e.state_type = (prev_state or new_state).type
|
||||
|
|
|
@ -24,7 +24,7 @@ from ietf.doc.mails import ( email_pulled_from_rfc_queue, email_resurrect_reques
|
|||
from ietf.doc.utils import ( add_state_change_event, can_adopt_draft,
|
||||
get_tags_for_stream_id, nice_consensus,
|
||||
update_reminder, update_telechat, make_notify_changed_event, get_initial_notify,
|
||||
set_replaces_for_document, default_consensus )
|
||||
set_replaces_for_document, default_consensus, tags_suffix, )
|
||||
from ietf.doc.lastcall import request_last_call
|
||||
from ietf.doc.fields import SearchableDocAliasesField
|
||||
from ietf.group.models import Group, Role
|
||||
|
@ -83,6 +83,7 @@ def change_state(request, name):
|
|||
tag = form.cleaned_data['substate']
|
||||
comment = form.cleaned_data['comment'].strip()
|
||||
|
||||
msg = ""
|
||||
|
||||
# tag handling is a bit awkward since the UI still works
|
||||
# as if IESG tags are a substate
|
||||
|
@ -99,6 +100,10 @@ def change_state(request, name):
|
|||
e = add_state_change_event(doc, login, prev_state, new_state,
|
||||
prev_tags=prev_tags, new_tags=new_tags)
|
||||
|
||||
msg += "%s changed:\n\nNew State: %s\n\n"%(e.state_type.label, new_state.name + tags_suffix(new_tags))
|
||||
if prev_state:
|
||||
msg += "(The previous state was %s)\n\n"%(prev_state.name + tags_suffix(prev_tags))
|
||||
|
||||
events.append(e)
|
||||
|
||||
if comment:
|
||||
|
@ -109,12 +114,12 @@ def change_state(request, name):
|
|||
c.desc = comment
|
||||
c.save()
|
||||
|
||||
msg += c.desc + "\n"
|
||||
|
||||
events.append(c)
|
||||
|
||||
doc.save_with_history(events)
|
||||
|
||||
msg = u"\n".join(e.desc for e in events)
|
||||
|
||||
email_state_changed(request, doc, msg,'doc_state_edited')
|
||||
|
||||
if new_state.slug == "approved" and new_tags == [] and has_role(request.user, "Area Director"):
|
||||
|
|
Loading…
Reference in a new issue