Import users/persons from LegacyLiaisonUser and LegacyWgPassword
- Legacy-Id: 3367
This commit is contained in:
parent
44b96ddc90
commit
1517c3d03b
|
@ -11,7 +11,8 @@ settings.USE_DB_REDESIGN_PROXY_CLASSES = False
|
|||
from django.core import management
|
||||
management.setup_environ(settings)
|
||||
|
||||
from ietf.idtracker.models import AreaDirector, IETFWG, PersonOrOrgInfo, IDAuthor
|
||||
from ietf.idtracker.models import IESGLogin, AreaDirector, IETFWG, PersonOrOrgInfo, IDAuthor
|
||||
from ietf.ietfauth.models import LegacyWgPassword, LegacyLiaisonUser
|
||||
from ietf.liaisons.models import LiaisonDetail, LiaisonManagers, SDOAuthorizedIndividual
|
||||
from redesign.person.models import *
|
||||
from redesign.importing.utils import *
|
||||
|
@ -54,6 +55,64 @@ system_email = Email.objects.get_or_create(
|
|||
defaults=dict(active=True, person=system_person)
|
||||
)
|
||||
|
||||
# LegacyWgPassword
|
||||
for o in LegacyWgPassword.objects.all():
|
||||
print "importing LegacyWgPassword", o.pk, o.person.first_name, o.person.last_name
|
||||
|
||||
email = get_or_create_email(o, create_fake=False)
|
||||
if not email:
|
||||
continue
|
||||
|
||||
username = o.login_name[:30]
|
||||
persons = Person.objects.filter(user__username=username)
|
||||
if persons:
|
||||
if persons[0] != email.person:
|
||||
print "SKIPPING", o.login_name, "who is connected to another person "
|
||||
continue
|
||||
|
||||
user, _ = User.objects.get_or_create(username=username)
|
||||
email.person.user = user
|
||||
email.person.save()
|
||||
|
||||
# LegacyLiaisonUser
|
||||
for o in LegacyLiaisonUser.objects.all():
|
||||
print "importing LegacyLiaisonUser", o.pk, o.person.first_name, o.person.last_name
|
||||
|
||||
email = get_or_create_email(o, create_fake=False)
|
||||
if not email:
|
||||
continue
|
||||
|
||||
username = o.login_name[:30]
|
||||
persons = Person.objects.filter(user__username=username)
|
||||
if persons:
|
||||
if persons[0] != email.person:
|
||||
print "SKIPPING", o.login_name, "who is connected to another person "
|
||||
continue
|
||||
|
||||
user, _ = User.objects.get_or_create(username=username)
|
||||
email.person.user = user
|
||||
email.person.save()
|
||||
|
||||
# IESGLogin
|
||||
for o in IESGLogin.objects.all():
|
||||
print "importing IESGLogin", o.pk, o.first_name, o.last_name
|
||||
|
||||
if not o.person:
|
||||
persons = PersonOrOrgInfo.objects.filter(first_name=o.first_name, last_name=o.last_name)
|
||||
if persons:
|
||||
o.person = persons[0]
|
||||
else:
|
||||
print "NO PERSON", o.person_id
|
||||
continue
|
||||
|
||||
email = get_or_create_email(o, create_fake=False)
|
||||
if not email:
|
||||
continue
|
||||
|
||||
user, _ = User.objects.get_or_create(username=o.login_name)
|
||||
email.person.user = user
|
||||
email.person.save()
|
||||
|
||||
# AreaDirector from IETFWG persons
|
||||
for o in AreaDirector.objects.filter(ietfwg__in=IETFWG.objects.all()).exclude(area=None).distinct().order_by("pk").iterator():
|
||||
print "importing AreaDirector (from IETFWG) persons", o.pk
|
||||
|
|
|
@ -27,11 +27,10 @@ from ietf.utils.history import *
|
|||
# - persons have been imported
|
||||
# - groups have been imported
|
||||
|
||||
# imports IESGLogin, AreaDirector, WGEditor, WGChair, IRTFChair,
|
||||
# WGSecretary, WGTechAdvisor, NomCom chairs from ChairsHistory,
|
||||
# IESGHistory, Role, LiaisonManagers, SDOAuthorizedIndividual
|
||||
|
||||
# FIXME: should probably import LegacyWgPassword, LegacyLiaisonUser
|
||||
# imports roles from IESGLogin, AreaDirector, WGEditor, WGChair,
|
||||
# IRTFChair, WGSecretary, WGTechAdvisor, NomCom chairs from
|
||||
# ChairsHistory, IESGHistory, Role, LiaisonManagers,
|
||||
# SDOAuthorizedIndividual
|
||||
|
||||
area_director_role = name(RoleName, "ad", "Area Director")
|
||||
inactive_area_director_role = name(RoleName, "ex-ad", "Ex-Area Director", desc="Inactive Area Director")
|
||||
|
@ -166,8 +165,8 @@ for o in ChairsHistory.objects.filter(chair_type=OldRole.NOMCOM_CHAIR):
|
|||
|
||||
# IESGLogin
|
||||
for o in IESGLogin.objects.all():
|
||||
print "importing IESGLogin", o.id, o.first_name, o.last_name
|
||||
|
||||
print "importing IESGLogin", o.pk, o.first_name, o.last_name
|
||||
|
||||
if not o.person:
|
||||
persons = PersonOrOrgInfo.objects.filter(first_name=o.first_name, last_name=o.last_name)
|
||||
if persons:
|
||||
|
@ -175,15 +174,8 @@ for o in IESGLogin.objects.all():
|
|||
else:
|
||||
print "NO PERSON", o.person_id
|
||||
continue
|
||||
|
||||
|
||||
email = get_or_create_email(o, create_fake=False)
|
||||
if not email:
|
||||
continue
|
||||
|
||||
user, _ = User.objects.get_or_create(username=o.login_name)
|
||||
email.person.user = user
|
||||
email.person.save()
|
||||
|
||||
# current ADs are imported below
|
||||
if o.user_level == IESGLogin.SECRETARIAT_LEVEL:
|
||||
if not Role.objects.filter(name=secretary_role, email=email):
|
||||
|
|
|
@ -21,7 +21,10 @@ def old_person_to_person(person):
|
|||
return Person.objects.get(alias__name=u"%s %s" % (person.first_name, person.last_name))
|
||||
|
||||
def old_person_to_email(person):
|
||||
hardcoded_emails = { 'Dinara Suleymanova': "dinaras@ietf.org" }
|
||||
hardcoded_emails = {
|
||||
"Dinara Suleymanova": "dinaras@ietf.org",
|
||||
"Dow Street": "dow.street@linquest.com",
|
||||
}
|
||||
|
||||
return clean_email_address(person.email()[1] or hardcoded_emails.get("%s %s" % (person.first_name, person.last_name)) or "")
|
||||
|
||||
|
|
Loading…
Reference in a new issue