Added origin information to all places where we create email address entries.
- Legacy-Id: 15127
This commit is contained in:
parent
37f0d141e9
commit
5f37a71889
|
@ -1001,7 +1001,7 @@ class IndividualInfoFormsTests(TestCase):
|
|||
doc.shepherd = Email.objects.get(person__user__username="plain")
|
||||
doc.save_with_history([DocEvent.objects.create(doc=doc, rev=doc.rev, type="changed_shepherd", by=Person.objects.get(user__username="secretary"), desc="Test")])
|
||||
|
||||
new_email = Email.objects.create(address="anotheremail@example.com", person=doc.shepherd.person)
|
||||
new_email = Email.objects.create(address="anotheremail@example.com", person=doc.shepherd.person, origin='test')
|
||||
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
@ -1436,7 +1436,7 @@ class ChangeReplacesTests(TestCase):
|
|||
group=mars_wg,
|
||||
)
|
||||
p = Person.objects.create(name="basea_author")
|
||||
e = Email.objects.create(address="basea_author@example.com", person=p)
|
||||
e = Email.objects.create(address="basea_author@example.com", person=p, origin='test')
|
||||
self.basea.documentauthor_set.create(person=p, email=e, order=1)
|
||||
|
||||
self.baseb = Document.objects.create(
|
||||
|
@ -1449,7 +1449,7 @@ class ChangeReplacesTests(TestCase):
|
|||
group=mars_wg,
|
||||
)
|
||||
p = Person.objects.create(name="baseb_author")
|
||||
e = Email.objects.create(address="baseb_author@example.com", person=p)
|
||||
e = Email.objects.create(address="baseb_author@example.com", person=p, origin='test')
|
||||
self.baseb.documentauthor_set.create(person=p, email=e, order=1)
|
||||
|
||||
self.replacea = Document.objects.create(
|
||||
|
@ -1462,7 +1462,7 @@ class ChangeReplacesTests(TestCase):
|
|||
group=mars_wg,
|
||||
)
|
||||
p = Person.objects.create(name="replacea_author")
|
||||
e = Email.objects.create(address="replacea_author@example.com", person=p)
|
||||
e = Email.objects.create(address="replacea_author@example.com", person=p, origin='test')
|
||||
self.replacea.documentauthor_set.create(person=p, email=e, order=1)
|
||||
|
||||
self.replaceboth = Document.objects.create(
|
||||
|
@ -1475,7 +1475,7 @@ class ChangeReplacesTests(TestCase):
|
|||
group=mars_wg,
|
||||
)
|
||||
p = Person.objects.create(name="replaceboth_author")
|
||||
e = Email.objects.create(address="replaceboth_author@example.com", person=p)
|
||||
e = Email.objects.create(address="replaceboth_author@example.com", person=p, origin='test')
|
||||
self.replaceboth.documentauthor_set.create(person=p, email=e, order=1)
|
||||
|
||||
self.basea.set_state(State.objects.get(used=True, type="draft", slug="active"))
|
||||
|
|
|
@ -308,7 +308,7 @@ class IetfAuthTests(TestCase):
|
|||
user.set_password("forgotten")
|
||||
user.save()
|
||||
p = Person.objects.create(name="Some One", ascii="Some One", user=user)
|
||||
Email.objects.create(address=user.username, person=p)
|
||||
Email.objects.create(address=user.username, person=p, origin='test')
|
||||
|
||||
# get
|
||||
r = self.client.get(url)
|
||||
|
@ -418,7 +418,7 @@ class IetfAuthTests(TestCase):
|
|||
user.set_password("password")
|
||||
user.save()
|
||||
p = Person.objects.create(name="Some One", ascii="Some One", user=user)
|
||||
Email.objects.create(address=user.username, person=p)
|
||||
Email.objects.create(address=user.username, person=p, origin='test')
|
||||
|
||||
# log in
|
||||
r = self.client.post(redir_url, {"username":user.username, "password":"password"})
|
||||
|
@ -465,8 +465,8 @@ class IetfAuthTests(TestCase):
|
|||
user.set_password("password")
|
||||
user.save()
|
||||
p = Person.objects.create(name="Some One", ascii="Some One", user=user)
|
||||
Email.objects.create(address=user.username, person=p)
|
||||
Email.objects.create(address="othername@example.org", person=p)
|
||||
Email.objects.create(address=user.username, person=p, origin='test')
|
||||
Email.objects.create(address="othername@example.org", person=p, origin='test')
|
||||
|
||||
# log in
|
||||
r = self.client.post(redir_url, {"username":user.username, "password":"password"})
|
||||
|
|
|
@ -172,7 +172,7 @@ def confirm_account(request, auth):
|
|||
Alias.objects.create(person=person, name=name)
|
||||
|
||||
if not email_obj:
|
||||
email_obj = Email.objects.create(address=email, person=person)
|
||||
email_obj = Email.objects.create(address=email, person=person, origin=user.username)
|
||||
else:
|
||||
if not email_obj.person:
|
||||
email_obj.person = person
|
||||
|
@ -293,7 +293,7 @@ def confirm_new_email(request, auth):
|
|||
can_confirm = form.is_valid() and email
|
||||
new_email_obj = None
|
||||
if request.method == 'POST' and can_confirm and request.POST.get("action") == "confirm":
|
||||
new_email_obj = Email.objects.create(address=email, person=person)
|
||||
new_email_obj = Email.objects.create(address=email, person=person, origin=username)
|
||||
|
||||
return render(request, 'registration/confirm_new_email.html', {
|
||||
'username': username,
|
||||
|
|
|
@ -39,18 +39,18 @@ class Command(BaseCommand):
|
|||
populate_personnel=False,
|
||||
populate_positions=False))
|
||||
|
||||
e = EmailFactory(person__name=u'Dummy Chair',address=u'dummychair@example.com',person__user__username=u'dummychair',person__default_emails=False)
|
||||
e = EmailFactory(person__name=u'Dummy Chair', address=u'dummychair@example.com', person__user__username=u'dummychair', person__default_emails=False, origin='test')
|
||||
e.person.user.set_password('password')
|
||||
e.person.user.save()
|
||||
nc.group.role_set.create(name_id=u'chair',person=e.person,email=e)
|
||||
|
||||
e = EmailFactory(person__name=u'Dummy Member',address=u'dummymember@example.com',person__user__username=u'dummymember',person__default_emails=False)
|
||||
e = EmailFactory(person__name=u'Dummy Member', address=u'dummymember@example.com', person__user__username=u'dummymember', person__default_emails=False, origin='test')
|
||||
e.person.user.set_password('password')
|
||||
e.person.user.save()
|
||||
nc.group.role_set.create(name_id=u'member',person=e.person,email=e)
|
||||
|
||||
|
||||
e = EmailFactory(person__name=u'Dummy Candidate',address=u'dummycandidate@example.com',person__user__username=u'dummycandidate',person__default_emails=False)
|
||||
e = EmailFactory(person__name=u'Dummy Candidate', address=u'dummycandidate@example.com', person__user__username=u'dummycandidate', person__default_emails=False, origin='test')
|
||||
e.person.user.set_password('password')
|
||||
e.person.user.save()
|
||||
NomineePositionFactory(nominee__nomcom=nc, nominee__person=e.person,
|
||||
|
|
|
@ -123,7 +123,7 @@ def nomcom_test_data():
|
|||
u.set_password(COMMUNITY_USER+"+password")
|
||||
u.save()
|
||||
plainman, _ = Person.objects.get_or_create(name="Plain Man", ascii="Plain Man", user=u)
|
||||
email, _ = Email.objects.get_or_create(address="plain@example.com", person=plainman)
|
||||
email, _ = Email.objects.get_or_create(address="plain@example.com", person=plainman, origin='test')
|
||||
nominee, _ = Nominee.objects.get_or_create(email=email, nomcom=nomcom)
|
||||
|
||||
# positions
|
||||
|
|
|
@ -576,7 +576,7 @@ class NomcomViewsTest(TestCase):
|
|||
if not searched_email:
|
||||
searched_email = Email.objects.filter(address=nominee_email).first()
|
||||
if not searched_email:
|
||||
searched_email = EmailFactory(address=nominee_email,primary=True)
|
||||
searched_email = EmailFactory(address=nominee_email, primary=True, origin='test')
|
||||
if not searched_email.person:
|
||||
searched_email.person = PersonFactory()
|
||||
searched_email.save()
|
||||
|
@ -967,8 +967,8 @@ class ReminderTest(TestCase):
|
|||
today = datetime.date.today()
|
||||
t_minus_3 = today - datetime.timedelta(days=3)
|
||||
t_minus_4 = today - datetime.timedelta(days=4)
|
||||
e1 = EmailFactory(address="nominee1@example.org",person=PersonFactory(name=u"Nominee 1"))
|
||||
e2 = EmailFactory(address="nominee2@example.org",person=PersonFactory(name=u"Nominee 2"))
|
||||
e1 = EmailFactory(address="nominee1@example.org", person=PersonFactory(name=u"Nominee 1"), origin='test')
|
||||
e2 = EmailFactory(address="nominee2@example.org", person=PersonFactory(name=u"Nominee 2"), origin='test')
|
||||
n = make_nomineeposition(self.nomcom,e1.person,gen,None)
|
||||
np = n.nomineeposition_set.get(position=gen)
|
||||
np.time = t_minus_3
|
||||
|
@ -1716,7 +1716,7 @@ Junk body for testing
|
|||
|
||||
def test_edit_nominee(self):
|
||||
nominee = self.nc.nominee_set.order_by('pk').first()
|
||||
new_email = EmailFactory(person=nominee.person)
|
||||
new_email = EmailFactory(person=nominee.person, origin='test')
|
||||
url = reverse('ietf.nomcom.views.edit_nominee',kwargs={'year':self.nc.year(),'nominee_id':nominee.id})
|
||||
login_testing_unauthorized(self,self.chair.user.username,url)
|
||||
response = self.client.get(url)
|
||||
|
|
|
@ -372,7 +372,7 @@ def make_nomineeposition(nomcom, candidate, position, author):
|
|||
def make_nomineeposition_for_newperson(nomcom, candidate_name, candidate_email, position, author):
|
||||
|
||||
# This is expected to fail if called with an existing email address
|
||||
email = Email.objects.create(address=candidate_email)
|
||||
email = Email.objects.create(address=candidate_email, origin=nomcom.group.acronym)
|
||||
person = Person.objects.create(name=candidate_name,
|
||||
ascii=unidecode_name(candidate_name),
|
||||
)
|
||||
|
|
|
@ -71,7 +71,7 @@ class PersonFactory(factory.DjangoModelFactory):
|
|||
extracted = True
|
||||
if create and extracted:
|
||||
make_email = getattr(EmailFactory, 'create' if create else 'build')
|
||||
make_email(person=obj,address=obj.user.email)
|
||||
make_email(person=obj, address=obj.user.email, origin='test')
|
||||
|
||||
@factory.post_generation
|
||||
def default_photo(obj, create, extracted, **kwargs): # pylint: disable=no-self-argument
|
||||
|
@ -131,4 +131,4 @@ class EmailFactory(factory.DjangoModelFactory):
|
|||
|
||||
active = True
|
||||
primary = False
|
||||
|
||||
origin = ''
|
||||
|
|
|
@ -42,9 +42,9 @@ class PersonTests(TestCase):
|
|||
|
||||
def test_default_email(self):
|
||||
person = PersonFactory()
|
||||
primary = EmailFactory(person=person,primary=True,active=True)
|
||||
EmailFactory(person=person,primary=False,active=True)
|
||||
EmailFactory(person=person,primary=False,active=False)
|
||||
primary = EmailFactory(person=person, primary=True, active=True, origin='test')
|
||||
EmailFactory(person=person, primary=False, active=True, origin='test')
|
||||
EmailFactory(person=person, primary=False, active=False, origin='test')
|
||||
self.assertTrue(primary.address in person.formatted_email())
|
||||
|
||||
def test_profile(self):
|
||||
|
|
|
@ -101,7 +101,7 @@ with db_con.cursor() as c:
|
|||
for name in new_aliases:
|
||||
Alias.objects.create(person=person, name=name)
|
||||
|
||||
email, created = Email.objects.get_or_create(address=row.email, person=person)
|
||||
email, created = Email.objects.get_or_create(address=row.email, person=person, origin=__name__)
|
||||
if created:
|
||||
print "created email", email
|
||||
|
||||
|
|
|
@ -299,18 +299,16 @@ def get_meeting_registration_data(meeting):
|
|||
person = Person.objects.create(
|
||||
name=regname,
|
||||
ascii=ascii_name,
|
||||
affiliation=affiliation,
|
||||
user=user,
|
||||
)
|
||||
|
||||
# Create an associated Email address for this Person
|
||||
email, __ = Email.objects.get_or_create(
|
||||
person=person,
|
||||
address=address[:64],
|
||||
)
|
||||
try:
|
||||
email = Email.objects.get(person=person, address=address[:64])
|
||||
except Email.DoesNotExist:
|
||||
email = Email.objects.create(person=person, address=address[:64], origin='ietf %s registration'%meeting.number)
|
||||
if email.address != address:
|
||||
debug.say("Truncated address: %s --> %s" % (address, email.address))
|
||||
|
||||
|
||||
# If this is the only email address, set primary to true.
|
||||
# If the person already existed (found through Alias) and
|
||||
|
|
|
@ -136,7 +136,7 @@ def docevent_from_submission(request, submission, desc, who=None):
|
|||
else:
|
||||
submitter_parsed = submission.submitter_parsed()
|
||||
if submitter_parsed["name"] and submitter_parsed["email"]:
|
||||
by, _ = ensure_person_email_info_exists(submitter_parsed["name"], submitter_parsed["email"])
|
||||
by, _ = ensure_person_email_info_exists(submitter_parsed["name"], submitter_parsed["email"], submission.name)
|
||||
else:
|
||||
by = system
|
||||
|
||||
|
@ -190,7 +190,7 @@ def post_submission(request, submission, approvedDesc):
|
|||
system = Person.objects.get(name="(System)")
|
||||
submitter_parsed = submission.submitter_parsed()
|
||||
if submitter_parsed["name"] and submitter_parsed["email"]:
|
||||
submitter, _ = ensure_person_email_info_exists(submitter_parsed["name"], submitter_parsed["email"])
|
||||
submitter, _ = ensure_person_email_info_exists(submitter_parsed["name"], submitter_parsed["email"], submission.name)
|
||||
submitter_info = u'%s <%s>' % (submitter_parsed["name"], submitter_parsed["email"])
|
||||
else:
|
||||
submitter = system
|
||||
|
@ -428,7 +428,7 @@ def get_person_from_name_email(name, email):
|
|||
|
||||
return None
|
||||
|
||||
def ensure_person_email_info_exists(name, email):
|
||||
def ensure_person_email_info_exists(name, email, docname):
|
||||
addr = email
|
||||
email = None
|
||||
person = get_person_from_name_email(name, addr)
|
||||
|
@ -461,7 +461,7 @@ def ensure_person_email_info_exists(name, email):
|
|||
email = Email.objects.get(address=addr,person__isnull=True)
|
||||
except Email.DoesNotExist:
|
||||
# most likely we just need to create it
|
||||
email = Email(address=addr)
|
||||
email = Email(address=addr, origin=docname)
|
||||
email.active = active
|
||||
|
||||
email.person = person
|
||||
|
@ -474,7 +474,7 @@ def ensure_person_email_info_exists(name, email):
|
|||
def update_authors(draft, submission):
|
||||
persons = []
|
||||
for order, author in enumerate(submission.authors):
|
||||
person, email = ensure_person_email_info_exists(author["name"], author.get("email"))
|
||||
person, email = ensure_person_email_info_exists(author["name"], author.get("email"), submission.name)
|
||||
|
||||
a = DocumentAuthor.objects.filter(document=draft, person=person).first()
|
||||
if not a:
|
||||
|
|
|
@ -38,7 +38,7 @@ def create_person(group, role_name, name=None, username=None, email_address=None
|
|||
user.set_password(password)
|
||||
user.save()
|
||||
person = Person.objects.create(name=name, ascii=unidecode_name(smart_text(name)), user=user)
|
||||
email = Email.objects.create(address=email_address, person=person)
|
||||
email = Email.objects.create(address=email_address, person=person, origin='test')
|
||||
Role.objects.create(group=group, name_id=role_name, person=person, email=email)
|
||||
return person
|
||||
|
||||
|
@ -61,7 +61,7 @@ def make_immutable_base_data():
|
|||
|
||||
# system
|
||||
system_person = Person.objects.create(name="(System)", ascii="(System)")
|
||||
Email.objects.create(address="", person=system_person)
|
||||
Email.objects.create(address="", person=system_person, origin='test')
|
||||
|
||||
# high-level groups
|
||||
ietf = create_group(name="IETF", acronym="ietf", type_id="ietf")
|
||||
|
@ -112,7 +112,7 @@ def make_immutable_base_data():
|
|||
for i in range(1, 10):
|
||||
u = User.objects.create(username="ad%s" % i)
|
||||
p = Person.objects.create(name="Ad No%s" % i, ascii="Ad No%s" % i, user=u)
|
||||
email = Email.objects.create(address="ad%s@ietf.org" % i, person=p)
|
||||
email = Email.objects.create(address="ad%s@ietf.org" % i, person=p, origin='test')
|
||||
if i < 6:
|
||||
# active
|
||||
Role.objects.create(name_id="ad", group=area, person=p, email=email)
|
||||
|
@ -232,7 +232,7 @@ def make_test_data():
|
|||
u.set_password("plain+password")
|
||||
u.save()
|
||||
plainman = Person.objects.create(name="Plain Man", ascii="Plain Man", user=u)
|
||||
email = Email.objects.create(address="plain@example.com", person=plainman)
|
||||
email = Email.objects.create(address="plain@example.com", person=plainman, origin='test')
|
||||
|
||||
# group personnel
|
||||
create_person(mars_wg, "chair", name="WG Cháir Man", username="marschairman")
|
||||
|
@ -473,7 +473,7 @@ def make_review_data(doc):
|
|||
u.set_password("reviewer+password")
|
||||
u.save()
|
||||
reviewer = Person.objects.create(name=u"Some Réviewer", ascii="Some Reviewer", user=u)
|
||||
email = Email.objects.create(address="reviewer@example.com", person=reviewer)
|
||||
email = Email.objects.create(address="reviewer@example.com", person=reviewer, origin='test')
|
||||
|
||||
for team in (team1, team2, team3):
|
||||
Role.objects.create(name_id="reviewer", person=reviewer, email=email, group=team)
|
||||
|
@ -496,14 +496,14 @@ def make_review_data(doc):
|
|||
u.set_password("reviewsecretary+password")
|
||||
u.save()
|
||||
reviewsecretary = Person.objects.create(name=u"Réview Secretary", ascii="Review Secretary", user=u)
|
||||
reviewsecretary_email = Email.objects.create(address="reviewsecretary@example.com", person=reviewsecretary)
|
||||
reviewsecretary_email = Email.objects.create(address="reviewsecretary@example.com", person=reviewsecretary, origin='test')
|
||||
Role.objects.create(name_id="secr", person=reviewsecretary, email=reviewsecretary_email, group=team1)
|
||||
|
||||
u = User.objects.create(username="reviewsecretary3")
|
||||
u.set_password("reviewsecretary3+password")
|
||||
u.save()
|
||||
reviewsecretary3 = Person.objects.create(name=u"Réview Secretary3", ascii="Review Secretary3", user=u)
|
||||
reviewsecretary3_email = Email.objects.create(address="reviewsecretary3@example.com", person=reviewsecretary)
|
||||
reviewsecretary3_email = Email.objects.create(address="reviewsecretary3@example.com", person=reviewsecretary, origin='test')
|
||||
Role.objects.create(name_id="secr", person=reviewsecretary3, email=reviewsecretary3_email, group=team3)
|
||||
|
||||
return review_req
|
||||
|
|
Loading…
Reference in a new issue