def get_user(self): """ Returns the user using the Graph API. """ if not self.accessToken(): return None if not self.graph: self.graph = self.GraphAPI((self.accessToken())) user = None try: user = self.graph.get_object_c("me") except self.GraphAPIError: current.session.token = None self.graph = None if user: # Check if a user with this email has already registered #session = current.session #session.facebooklogin = True auth = current.auth table = auth.settings.table_user query = (table.email == user["email"]) existent = current.db(query).select(table.id, table.password, limitby=(0, 1)).first() if existent: #session["%s_setpassword" % existent.id] = existent.password _user = dict(first_name = user.get("first_name", ""), last_name = user.get("last_name", ""), facebookid = user["id"], facebook = user.get("username", user["id"]), email = user["email"], password = existent.password ) return _user else: # b = user["birthday"] # birthday = "%s-%s-%s" % (b[-4:], b[0:2], b[-7:-5]) # if 'location' in user: # session.flocation = user['location'] #session["is_new_from"] = "facebook" auth.s3_send_welcome_email(user) # auth.initial_user_permission(user) # Called on profile page _user = dict(first_name = user.get("first_name", ""), last_name = user.get("last_name", ""), facebookid = user["id"], facebook = user.get("username", user["id"]), nickname = IS_SLUG()(user.get("username", "%(first_name)s-%(last_name)s" % user) + "-" + user['id'][:5])[0], email = user["email"], # birthdate = birthday, about = user.get("bio", ""), website = user.get("website", ""), # gender = user.get("gender", "Not specified").title(), photo_source = 3, tagline = user.get("link", ""), registration_type = 2, ) return _user
def get_user(self): """ Returns the user using the Graph API. """ token = self.accessToken() if not token: return None if not self.graph: self.graph = self.GraphAPI(token) user = None try: user = self.graph.get_object_c("me") except self.GraphAPIError: current.session.token = None self.graph = None user_dict = None if user: # Check if a user with this email has already registered #session = current.session #session.facebooklogin = True table = current.auth.settings.table_user query = (table.email == user["email"]) existing = current.db(query).select(table.id, table.password, limitby=(0, 1)).first() if existing: #session["%s_setpassword" % existing.id] = existing.password user_dict = { "first_name": user.get("first_name", ""), "last_name": user.get("last_name", ""), "facebookid": user["id"], "facebook": user.get("username", user["id"]), "email": user["email"], "password": existing.password, } else: # b = user["birthday"] # birthday = "%s-%s-%s" % (b[-4:], b[0:2], b[-7:-5]) # if 'location' in user: # session.flocation = user['location'] #session["is_new_from"] = "facebook" # Done in s3_approve_user() #auth.s3_send_welcome_email(user) user_dict = { "first_name": user.get("first_name", ""), "last_name": user.get("last_name", ""), "facebookid": user["id"], "facebook": user.get("username", user["id"]), "nickname": IS_SLUG()(user.get("username", "%(first_name)s-%(last_name)s" % user) + "-" + user['id'][:5])[0], "email": user["email"], #"birthdate": birthday, "about": user.get("bio", ""), "website": user.get("website", ""), #"gender": user.get("gender", "Not specified").title(), "photo_source": 3, "tagline": user.get("link", ""), "registration_type": 2, } return user_dict