Changed the call signature of docevent_from_submission() to take an optional Person object, rather than person name. Added a type hint for the signature.
- Legacy-Id: 16764
This commit is contained in:
parent
a1db2d5aef
commit
e0479d8d13
|
@ -10,9 +10,12 @@ import os
|
||||||
import re
|
import re
|
||||||
import six # pyflakes:ignore
|
import six # pyflakes:ignore
|
||||||
import xml2rfc
|
import xml2rfc
|
||||||
|
if six.PY3:
|
||||||
|
from typing import Callable, Optional
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.core.validators import validate_email, ValidationError
|
from django.core.validators import validate_email, ValidationError
|
||||||
|
from django.http import HttpRequest
|
||||||
from django.utils.module_loading import import_string
|
from django.utils.module_loading import import_string
|
||||||
|
|
||||||
import debug # pyflakes:ignore
|
import debug # pyflakes:ignore
|
||||||
|
@ -161,23 +164,23 @@ def create_submission_event(request, submission, desc):
|
||||||
|
|
||||||
SubmissionEvent.objects.create(submission=submission, by=by, desc=desc)
|
SubmissionEvent.objects.create(submission=submission, by=by, desc=desc)
|
||||||
|
|
||||||
def docevent_from_submission(request, submission, desc, who=None):
|
def docevent_from_submission(request, submission, desc, who=None): # type: (HttpRequest, Submission, str, Optional[Person]) -> Optional[DocEvent]
|
||||||
system = Person.objects.get(name="(System)")
|
log.assertion('who is None or isinstance(who, Person)')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
draft = Document.objects.get(name=submission.name)
|
draft = Document.objects.get(name=submission.name)
|
||||||
except Document.DoesNotExist:
|
except Document.DoesNotExist:
|
||||||
# Assume this is revision 00 - we'll do this later
|
# Assume this is revision 00 - we'll do this later
|
||||||
return
|
return None
|
||||||
|
|
||||||
if who:
|
if who:
|
||||||
by = Person.objects.get(name=who)
|
by = who
|
||||||
else:
|
else:
|
||||||
submitter_parsed = submission.submitter_parsed()
|
submitter_parsed = submission.submitter_parsed()
|
||||||
if submitter_parsed["name"] and submitter_parsed["email"]:
|
if submitter_parsed["name"] and submitter_parsed["email"]:
|
||||||
by, _ = ensure_person_email_info_exists(submitter_parsed["name"], submitter_parsed["email"], submission.name)
|
by, _ = ensure_person_email_info_exists(submitter_parsed["name"], submitter_parsed["email"], submission.name)
|
||||||
else:
|
else:
|
||||||
by = system
|
by = Person.objects.get(name="(System)")
|
||||||
|
|
||||||
e = SubmissionDocEvent.objects.create(
|
e = SubmissionDocEvent.objects.create(
|
||||||
doc=draft,
|
doc=draft,
|
||||||
|
|
|
@ -26,6 +26,7 @@ from ietf.group.utils import group_features_group_filter
|
||||||
from ietf.ietfauth.utils import has_role, role_required
|
from ietf.ietfauth.utils import has_role, role_required
|
||||||
from ietf.mailtrigger.utils import gather_address_lists
|
from ietf.mailtrigger.utils import gather_address_lists
|
||||||
from ietf.message.models import Message, MessageAttachment
|
from ietf.message.models import Message, MessageAttachment
|
||||||
|
from ietf.person.models import Person
|
||||||
from ietf.submit.forms import ( SubmissionManualUploadForm, SubmissionAutoUploadForm, AuthorForm,
|
from ietf.submit.forms import ( SubmissionManualUploadForm, SubmissionAutoUploadForm, AuthorForm,
|
||||||
SubmitterForm, EditSubmissionForm, PreapprovalForm, ReplacesForm, SubmissionEmailForm, MessageModelForm )
|
SubmitterForm, EditSubmissionForm, PreapprovalForm, ReplacesForm, SubmissionEmailForm, MessageModelForm )
|
||||||
from ietf.submit.mail import ( send_full_url, send_manual_post_request, add_submission_email, get_reply_to )
|
from ietf.submit.mail import ( send_full_url, send_manual_post_request, add_submission_email, get_reply_to )
|
||||||
|
@ -142,7 +143,7 @@ def api_submit(request):
|
||||||
sent_to, desc, docDesc = send_confirmation_emails(request, submission, requires_group_approval, requires_prev_authors_approval)
|
sent_to, desc, docDesc = send_confirmation_emails(request, submission, requires_group_approval, requires_prev_authors_approval)
|
||||||
msg = "Set submitter to \"%s\" and %s" % (submission.submitter, desc)
|
msg = "Set submitter to \"%s\" and %s" % (submission.submitter, desc)
|
||||||
create_submission_event(request, submission, msg)
|
create_submission_event(request, submission, msg)
|
||||||
docevent_from_submission(request, submission, docDesc, who="(System)")
|
docevent_from_submission(request, submission, docDesc, who=Person.objects.get(name="(System)"))
|
||||||
|
|
||||||
return HttpResponse(
|
return HttpResponse(
|
||||||
"Upload of %s OK, confirmation requests sent to:\n %s" % (submission.name, ',\n '.join(sent_to)),
|
"Upload of %s OK, confirmation requests sent to:\n %s" % (submission.name, ',\n '.join(sent_to)),
|
||||||
|
@ -298,7 +299,7 @@ def submission_status(request, submission_id, access_token=None):
|
||||||
", ".join(prettify_std_name(r.name) for r in replaces) if replaces else "(none)",
|
", ".join(prettify_std_name(r.name) for r in replaces) if replaces else "(none)",
|
||||||
desc)
|
desc)
|
||||||
create_submission_event(request, submission, msg)
|
create_submission_event(request, submission, msg)
|
||||||
docevent_from_submission(request, submission, docDesc, who="(System)")
|
docevent_from_submission(request, submission, docDesc, who=Person.objects.get(name="(System)"))
|
||||||
|
|
||||||
if access_token:
|
if access_token:
|
||||||
return redirect("ietf.submit.views.submission_status", submission_id=submission.pk, access_token=access_token)
|
return redirect("ietf.submit.views.submission_status", submission_id=submission.pk, access_token=access_token)
|
||||||
|
|
Loading…
Reference in a new issue