def getorcreate(user):
userprefs = memcache.get(user.user_id())
if userprefs is not None:
return userprefs
else:
userprefs = UserPrefs.get_by_id(user.user_id()) # new records have user_id as id
if userprefs != None:
userprefs.updateMemcache()
return userprefs
usersresult = UserPrefs.query(UserPrefs.userid == user.user_id()).fetch() # Fetching old records from userid
if len(usersresult) == 0:
userprefs = UserPrefs.create(user, users.is_current_user_admin(), users.is_current_user_admin())
userprefs.put()
else:
olduser = usersresult[0]
# old record, update to a new with user_id as id and email
if olduser != None:
userprefs = UserPrefs.create(user, olduser.hasAccess(), olduser.isAdmin())
userprefs.activeSemester = olduser.activeSemester
userprefs.groupaccess = olduser.groupaccess
userprefs.groupadmin = olduser.groupadmin
userprefs.put()
olduser.key.delete()
userprefs.updateMemcache()
return userprefs
评论列表
文章目录