Example #1
0
    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
Example #2
0
    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