本文整理汇总了Python中MaKaC.user.Avatar.addIdentity方法的典型用法代码示例。如果您正苦于以下问题:Python Avatar.addIdentity方法的具体用法?Python Avatar.addIdentity怎么用?Python Avatar.addIdentity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MaKaC.user.Avatar
的用法示例。
在下文中一共展示了Avatar.addIdentity方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: autoLogin
# 需要导入模块: from MaKaC.user import Avatar [as 别名]
# 或者: from MaKaC.user.Avatar import addIdentity [as 别名]
def autoLogin(self, rh):
"""
Login using Shibbolet.
"""
req = rh._req
req.add_common_vars()
if req.subprocess_env.has_key("ADFS_EMAIL"):
email = req.subprocess_env["ADFS_EMAIL"]
login = req.subprocess_env["ADFS_LOGIN"]
personId = req.subprocess_env["ADFS_PERSONID"]
phone = req.subprocess_env.get("ADFS_PHONENUMBER","")
fax = req.subprocess_env.get("ADFS_FAXNUMBER","")
lastname = req.subprocess_env.get("ADFS_LASTNAME","")
firstname = req.subprocess_env.get("ADFS_FIRSTNAME","")
institute = req.subprocess_env.get("ADFS_HOMEINSTITUTE","")
if personId == '-1':
personId = None
from MaKaC.user import AvatarHolder
ah = AvatarHolder()
av = ah.match({"email":email},exact=1, onlyActivated=False, forceWithoutExtAuth=True)
if av:
av = av[0]
# don't allow disabled accounts
if av.isDisabled():
return None
# # TODO: is this checking necessary?
# if av.getStatus() == 'NotCreated':
# #checking if comming from Nice
# if av.getId()[:len(self.id)] == self.id:
# av.setId("")
# ah.add(av) #XXXXX
# av.activateAccount()
# else:
# return None
# if not activated
elif not av.isActivated():
av.activateAccount()
av.clearAuthenticatorPersonalData()
av.setAuthenticatorPersonalData('phone', phone)
av.setAuthenticatorPersonalData('fax', fax)
av.setAuthenticatorPersonalData('surName', lastname)
av.setAuthenticatorPersonalData('firstName', firstname)
av.setAuthenticatorPersonalData('affiliation', institute)
if phone != '' and phone != av.getPhone() and av.isFieldSynced('phone'):
av.setTelephone(phone)
if fax != '' and fax != av.getFax() and av.isFieldSynced('fax'):
av.setFax(fax)
if lastname != '' and lastname != av.getFamilyName() and av.isFieldSynced('surName'):
av.setSurName(lastname, reindex=True)
if firstname != '' and firstname != av.getFirstName() and av.isFieldSynced('firstName'):
av.setName(firstname, reindex=True)
if institute != '' and institute != av.getAffiliation() and av.isFieldSynced('affiliation'):
av.setAffiliation(institute, reindex=True)
if personId != None and personId != av.getPersonId():
av.setPersonId(personId)
else:
avDict = {"email": email,
"name": firstname,
"surName": lastname,
"organisation": institute,
"telephone": phone,
"login": login}
av = Avatar(avDict)
ah.add(av)
av.setPersonId(personId)
av.activateAccount()
if login != "" and not self.hasKey(login):
ni=NiceIdentity(login, av)
self.add(ni)
if login != "" and self.hasKey(login) and not av.getIdentityById(login, self.getId()):
av.addIdentity(self.getById(login))
return av
return None