示例#1
0
	def get_or_create_user_from_authid( self, authId, email = None, allow_create = False ):
		user = None
		user_with_same_auth_id = EnkiModelUser.query( EnkiModelUser.auth_ids_provider == authId ).get()
		if user_with_same_auth_id:
			# if a user with the same auth id already exists but has a blank email: add the email to the account.
			# note: if the account has an email, we don't overwrite it.
			if email and user_with_same_auth_id.email == None:
				user = self.set_email( email, user_with_same_auth_id.key.id())
			else:
				user = user_with_same_auth_id
		elif email:
			# no user with the same auth id, but there is a user with the same email: add the auth id to the account
			user_with_same_email = EnkiModelUser.query( EnkiModelUser.email == email ).get()
			if user_with_same_email:
				colon = authId.find( ':' )
				provider_name = str( authId[ :colon ])
				provider_uid = str( authId[ colon+1: ])
				self.send_email( email, MSG.SEND_EMAIL_AUTH_NEW_SUBJECT(), MSG.SEND_EMAIL_AUTH_NEW_BODY( enki.libutil.get_local_url( 'profile' ), provider_name, provider_uid ) )
				user = self.set_authid( authId, user_with_same_email.key.id())
		if not user and allow_create:
			# create a new user
			user = EnkiModelUser( email = email, auth_ids_provider = [ authId ])
			user.put()
		return user
示例#2
0
文件: libuser.py 项目: charlf/enkiWS
def exist_EnkiUser(email):
    count = EnkiModelUser.query(EnkiModelUser.email == email).count(1)
    if count:
        return True
    else:
        return False
示例#3
0
文件: libuser.py 项目: charlf/enkiWS
def get_key_EnkiUser(email):
    key = EnkiModelUser.query(EnkiModelUser.email == email).get(keys_only=True)
    if key:
        return key
    else:
        return None
示例#4
0
文件: libuser.py 项目: charlf/enkiWS
def get_EnkiUser(email):
    entity = EnkiModelUser.query(EnkiModelUser.email == email).get()
    if entity:
        return entity
    else:
        return None
示例#5
0
def exist_Auth_Id( auth_id ):
	count = EnkiModelUser.query( EnkiModelUser.auth_ids_provider == auth_id ).count( 1 )
	return count > 0
示例#6
0
def get_EnkiUser_by_auth_id( auth_id ):
	entity = EnkiModelUser.query( EnkiModelUser.auth_ids_provider == auth_id ).get()
	return entity
示例#7
0
def exist_EnkiUser( email ):
	count = EnkiModelUser.query( EnkiModelUser.email == email ).count( 1 )
	return count > 0
示例#8
0
def get_key_EnkiUser( email ):
	key = EnkiModelUser.query( EnkiModelUser.email == email ).get( keys_only = True )
	return key
示例#9
0
def get_EnkiUser( email ):
	entity = EnkiModelUser.query( EnkiModelUser.email == email ).get()
	return entity