Merged in [8840] from rjsparks@nostrum.com:\n Automatically ensure Alias records exists when Person records are changed, relieving multiple code locations of that responsibility. Fixes bug #1550.

- Legacy-Id: 8873
Note: SVN reference [8840] has been migrated to Git commit b0b3a31b10bb35eb00d29f27d75d21c3cc4edc4e
This commit is contained in:
Henrik Levkowetz 2015-01-20 22:32:01 +00:00
parent a1f634f7b6
commit 0db48f3db0
5 changed files with 6 additions and 18 deletions

View file

@ -17,7 +17,7 @@ from django.shortcuts import get_object_or_404
from django.utils.encoding import smart_str
from ietf.dbtemplate.models import DBTemplate
from ietf.person.models import Email, Person, Alias
from ietf.person.models import Email, Person
from ietf.utils.pipe import pipe
from ietf.utils import unaccent
from ietf.utils.mail import send_mail_text, send_mail
@ -285,9 +285,6 @@ def get_or_create_nominee(nomcom, candidate_name, candidate_email, position, aut
address=candidate_email)
email.person = person
email.save()
Alias.objects.create(name=person.name, person=person)
if person.name != person.ascii:
Alias.objects.create(name=person.ascii, person=person)
# Add the nomination for a particular position
nominee, created = Nominee.objects.get_or_create(email=email, nomcom=nomcom)

View file

@ -91,6 +91,9 @@ class Person(PersonInfo):
settings=settings
))
send_mail_preformatted(None, msg)
self.alias_set.get_or_create(name=self.name)
if self.name != self.ascii:
self.alias_set.get_or_create(name=self.ascii)
#this variable, if not None, may be used by url() to keep the sitefqdn.
default_hostscheme = None

View file

@ -98,11 +98,6 @@ def add_proceed(request):
person.user = user
person.save()
# create the Alias
Alias.objects.create(person=person,name=name)
if person.ascii != person.name:
Alias.objects.create(person=person,name=person.ascii)
messages.success(request, 'The Rolodex entry was added successfully')
return redirect('rolodex_view', id=person.id)
else:

View file

@ -9,7 +9,7 @@ from ietf.doc.utils import add_state_change_event, rebuild_reference_relations
from ietf.group.models import Group
from ietf.ietfauth.utils import has_role
from ietf.name.models import StreamName
from ietf.person.models import Person, Alias, Email
from ietf.person.models import Person, Email
from ietf.submit.mail import announce_to_lists, announce_new_version, announce_to_authors
from ietf.submit.models import Submission, SubmissionEvent, Preapproval, DraftSubmissionStateName
from ietf.utils import unaccent
@ -238,10 +238,6 @@ def ensure_person_email_info_exists(name, email):
person.ascii = unaccent.asciify(person.name)
person.save()
Alias.objects.create(name=person.name, person=person)
if person.name != person.ascii:
Alias.objects.create(name=person.ascii, person=person)
# make sure we have an email address
if email:
addr = email.lower()

View file

@ -11,7 +11,7 @@ from ietf.iesg.models import TelechatDate
from ietf.ipr.models import HolderIprDisclosure, IprDocRel, IprDisclosureStateName, IprLicenseTypeName
from ietf.meeting.models import Meeting
from ietf.name.models import StreamName
from ietf.person.models import Person, Alias, Email
from ietf.person.models import Person, Email
def create_person(group, role_name, name=None, username=None, email_address=None, password=None):
"""Add person/user/email and role."""
@ -28,7 +28,6 @@ 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=name, user=user)
Alias.objects.create(name=name, person=person)
email = Email.objects.create(address=email_address, person=person)
Role.objects.create(group=group, name_id=role_name, person=person, email=email)
@ -50,7 +49,6 @@ def make_immutable_base_data():
# system
system_person = Person.objects.create(name="(System)", ascii="(System)", address="")
Alias.objects.create(person=system_person, name=system_person.name)
Email.objects.create(address="", person=system_person)
# high-level groups
@ -94,7 +92,6 @@ 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)
Alias.objects.create(name=p.name, person=p)
email = Email.objects.create(address="ad%s@ietf.org" % i, person=p)
if i < 6:
# active