X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/350cd92dbbaefd12c0df8336c19e5eb39f77640a..9c07479eba71589011aec0ed120b6a1bdd78459c:/forum_modules/facebookauth/authentication.py?ds=sidebyside diff --git a/forum_modules/facebookauth/authentication.py b/forum_modules/facebookauth/authentication.py index 308c18c..4e9a44a 100644 --- a/forum_modules/facebookauth/authentication.py +++ b/forum_modules/facebookauth/authentication.py @@ -47,10 +47,33 @@ class FacebookAuthConsumer(AuthenticationConsumer): # Communicate with the access token to the Facebook oauth interface. json = load_json(urlopen('https://graph.facebook.com/me?access_token=%s' % parsed_fbs['access_token'][0])) + first_name = smart_unicode(json['first_name']) + last_name = smart_unicode(json['last_name']) + full_name = '%s %s' % (first_name, last_name) + + # There is a limit in the Django user model for the username length (no more than 30 characaters) + if len(full_name) <= 30: + username = full_name + # If the full name is too long use only the first + elif len(first_name) <= 30: + username = first_name + # If it's also that long -- only the last + elif len(last_name) <= 30: + username = last_name + # If the real name of the user is indeed that weird, let him choose something on his own =) + else: + username = '' + + # Check whether the length if the email is greater than 75, if it is -- just replace the email + # with a blank string variable, otherwise we're going to have trouble with the Django model. + email = smart_unicode(json['email']) + if len(email) > 75: + email = '' + # Return the user data. return { - 'username': '%s %s' % (smart_unicode(json['first_name']), smart_unicode(json['last_name'])), - 'email': smart_unicode(json['email']), + 'username': username, + 'email': email, } class FacebookAuthContext(ConsumerTemplateContext): @@ -59,6 +82,6 @@ class FacebookAuthContext(ConsumerTemplateContext): weight = 100 human_name = 'Facebook' code_template = 'modules/facebookauth/button.html' - extra_css = ["http://www.facebook.com/css/connect/connect_button.css"] + extra_css = [] API_KEY = settings.FB_API_KEY \ No newline at end of file